---
# System prepended metadata

title: Thesis Q&A - Nguyen Hoai Nam
tags: [BMW Lab.]

---

# Revision Report for Thesis

The basic items are：
1. Question
2. Your answer
3. Where do you revise your paper
4. Evidence
5. Mark the revision in red color

### Prof TY
- [x] 1. On assumption, do you callibrate the parameters by yourself?

:::success
#### Answer:


My revised version consist of calibration of path loss exponent and estimate the rogue AP's transmission power.

The parameter definition and equations can be found [here](https://hackmd.io/_vrXl7h8RSmgLTF-4xI_cA?view#Parameter-Definition).

The two main functions of the calibration: 
- Calibrate Constant Loss ($C$) and Path Loss Exponent ($n$)
    - [Algorithm](https://hackmd.io/_vrXl7h8RSmgLTF-4xI_cA?view#Phase-1-Calibrating-Path-Loss-Exponent-n-and-Constant-Loss-C)
    - [Function](https://hackmd.io/_vrXl7h8RSmgLTF-4xI_cA?view#2-Calibrate-C-and-n)
- Estimate Rogue AP's Transmission Power ($P_i$)
    - [Algorithm](https://hackmd.io/@RayCheng/Sytj5Bdnh#Phase-2-Calibrate-unknown-transmitted-power-P_i-from-calibrated-C-and-n)
    - [Function](https://hackmd.io/_vrXl7h8RSmgLTF-4xI_cA?view#4-Estimate-P_i) 

You can find detailed explanations in the provided link: [Nam Q&A - Calibration Method](https://hackmd.io/@RayCheng/Sytj5Bdnh).

#### Revised in: [Page 31, 32, 33, 34, 35, 36, 37, 38, 39](#Page-31-32-33-34-35-36-37-38-39---Q1) and [Page 61, 62, 63, 64, 65, 66](#Page-61-62-63-64-65-66---Q1)

:::

- [x] 2. You used the wrong format in ChiaWei's reference.

:::success
#### Answer:

I have followed the [format from IEEE](https://ieeeauthorcenter.ieee.org/wp-content/uploads/IEEE-Reference-Guide.pdf) to rewrite ChiaWei-s reference.

![](https://hackmd.io/_uploads/ryh2_Pw92.png)

#### Revised in: [page 76](#Page-76--Q2)


:::
- [x] 3. Do you consider transmission power of different AP?

:::success
#### Answer:


Yes. I have developed a method to be able to calibrate the transmission power of different rogue APs. The details of algorithm and function can be found below.
- [Algorithm](https://hackmd.io/@RayCheng/Sytj5Bdnh#Phase-2-Calibrate-unknown-transmitted-power-P_i-from-calibrated-C-and-n)
- [Function](https://hackmd.io/_vrXl7h8RSmgLTF-4xI_cA?view#4-Estimate-P_i) 

You can find detailed explanations in the provided link: [Nam Q&A - Calibration Method](https://hackmd.io/@RayCheng/Sytj5Bdnh).

<!-- #### Revised in: [page 43](#Page-43---Q3) -->

:::
- [x] 4. Do you find any mismatch since you use the fixed A and n from reference papers instead of practical by checking AP details? 

:::success
#### Answer:

Yes. The mismatch is in practice, each floor or room might have a unique path loss exponent, depending on the specific propagation environment [[cite]](https://ieeexplore.ieee.org/document/4151127). In addition, each rogue AP may set its unique transmission power, resulting in different values in A. The fixed values of A and n can only provide initial estimation.

In order to improve the WiFi positioning accuracy, we then calibrate the path loss exponent and estimate the rogue AP’s transmission power. The details of the calibration method is in the provided link: [Nam Q&A - Calibration Method](https://hackmd.io/@RayCheng/Sytj5Bdnh).

#### Revised in: [page 16](#Page-16---Q4)

:::

- [x] 5. Analysis for computation: What is the interval of the system and what is the latency? Why you set the interval is 5 minutes?
:::success
#### Answer:

The interval of the system is $T_{i}$ = 5 minutes, which is common used in research papers in order to analyze WiFi network [[cite]](https://ieeexplore.ieee.org/abstract/document/7577031).

The latency of the system is described in Fig. 3.2 and evaluated in Table 6.4.

![](https://hackmd.io/_uploads/SkcI6MDl6.png)

![](https://hackmd.io/_uploads/rJ_pTzDga.png)


The impact of latency on the accuracy in the system:

Latency in a tracking system can lead to delayed or inaccurate information, affecting real-time monitoring. This is critical in dynamic APs, where timely updates are crucial for efficiently tracking location. By contrast, monitoring the location of fixed APs will not be significantly affected.

#### Revised in: [page 14, 66, 67, 68](#Page-14-66-67-68---Q5)



:::

- [x] 6. You prioritized a simple method. Why the emphasis on simplification? What is the reason behind considering simplicity?


:::success
#### Answer:

In WiFi Positioning, I use simplified path loss model instead of the more complicated models. In linear scale, the model as referenced in [[cite]](https://www.google.co.id/books/edition/Wireless_Communications/n-3ZZ9i0s-cC?hl=en&gbpv=0) is:

\begin{equation}
L(d) = \frac{P_{t}}{P_r} = \left(\frac{4\pi d_{0}}{\lambda}\right)^2 \left(\frac{d}{d_0}\right)^n 
\tag{2.1}\end{equation} 

where:
- $d$ is the distance between transmitter and receiver
- $L(d)$ is the path loss at distance $d$ 
- $d_0$ is the reference distance
- $P_t$ is the transmission power in linear scale
- $P_r$ is the received power in linear scale
- $n$ is the path loss exponent
- $\lambda$ is the signal wavelength 

This is a basic model that considers only the inverse square law, neglecting factors like antenna gains, obstacles, and multipath effects. 

The reason why we adapt the simplified model is to take advantages of the low complexity and acceptable accuracy. The complexity of simplified path loss model is O(1), since it does not involve any loop that depends on the input. The mean distance error in 3D is 4.55m, which is in an acceptable accuracy.

<!-- We consider two other commonly used models:

1. [Free Space Path Loss (FSPL) Model](https://en.wikipedia.org/wiki/Free-space_path_loss):

\begin{equation} FSPL(d)=20\log_{10}PL(d)+20\log_{10}(f) + 20\log_{10}\frac{4\pi}{c}\tag{6}\end{equation}

where $d$ is the distance, $f$ is the frequency, and $c$ is the speed of light. This model consider the loss is relative to distance and frequency with no obstacles and no multipath effects.

2. [Log-distance Path Loss (LDPL) Model](https://en.wikipedia.org/wiki/Log-distance_path_loss_model):

\begin{equation} PL(d)=PL(d_0)+10n\log_{10}\frac{d}{d_0}\tag{6} + X_{f} + X_{\omega}\end{equation}

where $X_{f}$ and $X_{\omega}$ account for shadow fading and log-normal shadowing, respectively. This model considers both free space propagation and environmental factors -->

<!-- A simplified path loss model is easy to use and compute, but the accuracy is low. 
 -->
<!-- The FSPL model and the Log-Distance model offer better accuracy, but they come with increased complexity and potential calibration challenges. 
 -->


<!-- For the future work, we can develop the more complicated model, and build the table of comparison between models as below (XXX is the unknown value).

| Model | SPL Model  | Model 2 | Model 3 | ...  |
| -------- | ---- | ---- | ---- | ---- |
| Mean distance error (m)         |  4.55    |  XXX    |  XXX    |  XXX    |
| Complexity         |  O(1)    |  XXX    |   XXX   |   XXX   |
| ...     | XXX |  XXX    |   XXX   | XXX |
 -->

<!-- #### Revised in: [page 9, 10](#Page-9-10---Q6) -->


:::

- [x] 7. Can you show what is the maximum distance error in your design?
:::success
#### Answer:

Maximum distance error is the largest difference between estimated and real location of the targeted rogue AP.

Max distance error calculation:

\begin{equation} \tag{15}max\Delta d = max\sqrt{(x-x_{r})^2 + (y - y_{r})^2} \end{equation}

Where:

- $\mathbf{p} = (x,y)$ is the estimated location of the rogue AP
- $\mathbf{p_{r}} = (x_{r},y_{r})$ is the real location of the rogue AP

:::

### Prof RT

- [x] 8. Why you need a WiFi Management System? What do you want to solve by using the system? 

:::success
#### Answer:

A WiFi Management System provides  centralized interface to manage all the APs in the network. This reduces the complexity of managing each AP individually.

The system dashboard helps network administrators to solve potential issues in the WiFi network:

1. Locate and remove rogue or interfering APs.

Network administrators can use the interference map to locate the rogue or interfering APs in the campus network. Then they can come to the site and ask the user to remove or change those AP settings.

2. Solve channel busy and high noise floor

Channel Utilization trend chart in CWMS:

![](https://i.imgur.com/H70iTeP.png)
:::success

A busy channel means the radios have a channel utilization of 80% or greater [[cite]](https://www.arubanetworks.com/techdocs/ArubaOS_64_Web_Help/Content/ArubaFrameStyles/Dashboard_Monitoring/Potential_Issues.htm). In this case, we can take actions such as: [dropping broadcast and multicast](https://www.arubanetworks.com/techdocs/ArubaOS_80_Web_Help/Content/ArubaFrameStyles/VirtualAPs/Configuring_VAP_Profile.htm) since broadcast applications are not efficient and are typically designed for wired networks and waste a lot of traffic; [reducing the number of APs on a channel](https://www.arubanetworks.com/techdocs/ArubaOS_81_Web_Help/Content/ArubaFrameStyles/AP_Config/RF_Management.htm) by making the channel size 20 MHz instead of 40 or 80; [removing lower data rates](https://community.arubanetworks.com/community-home/digestviewer/viewthread?MID=35802), which help management traffic and data will be sent at higher, faster rates and use less time to do it; using the WiFi positioning to locate and remove interfering or rogue APs to prevent co-channel interference.

Noise floor trend chart in CWMS:

![](https://i.imgur.com/0tH3xUe.png)

When the CWMS shows that the noise floor is high (> -85 dBm), it means the environment having too much noise or interference. It could come from WiFi or non-WiFi devices.

The same with busy channel, network administrator should locate and remove interference like unauthorized wireless and microwave ovens and wireless video cameras.

#### Revised in:  page [57, 58, 59, 60](#Page-57-58-59-60---Q8)


:::
- [x] 9. How to identify the AP? How do you classify them? 

:::success
#### Answer:

The detected APs are identified and classified by Aruba WiFi controller.

- [x] How Aruba network detect rogue APs?

Reference: [The Definitive ArubaOS RogueAP Guide](https://higherlogicdownload.s3.amazonaws.com/HPE/MigratedAssets/PDFRogueAPGuide.pdf)

To detect wireless devices, including rogue AP type, Aruba APs scan the air looking for new devices and keeping tabs on existing devices. 

In addition to the air, Aruba APs scan the wire recording MAC addresses and looking for routers and gateways.

Each Aruba AP maintains a list of all APs, stations, gateways, and wired MAC addresses, also maintains a list of associations, ie, which stations are associated to which APs.

- [x] How Aruba network classify rogue APs?

To correctly classify and contain rogue APs, each Aruba AP must also see specific traffic on the wire. 

Reference: [The Definitive ArubaOS RogueAP Guide](https://higherlogicdownload.s3.amazonaws.com/HPE/MigratedAssets/PDFRogueAPGuide.pdf)

![](https://i.imgur.com/txAsSYy.png)

A discovered AP is classified as a rogue or a suspected rogue by the following methods:

-	Internal heuristics
-	AP classification rules
-	Manually by the user

The internal heuristics method checks if an access point (AP) is communicating with a wired device on the customer network by comparing the MAC address of devices on the AP's network with those on the user's wired network (Could be Gateway MAC addresses).

For more detail about the Match Methods, Match Types, AP classification rules: [Detecting Rogue APs](https://www.arubanetworks.com/techdocs/ArubaOS_64_Web_Help/Content/ArubaFrameStyles/New_WIP/Rogue_AP_Detection.htm)

<!-- #### Revised in: [page 33](#Page-33---Q9) -->

:::

- [x] 10. You may combine WiFi Positioning Computation and Data Visualization as the same stage in Flowchart.

:::success
#### Answer:

I already revised.

<!-- ![](https://hackmd.io/_uploads/BJkK7Ieah.png) -->

#### Revised in: [page 26](#Page-26---Q10)


:::
- [x] 11. You may be able to provide more services in your system. Can you have notification for the rogue APs?

:::success
#### Answer:


![](https://hackmd.io/_uploads/SJUQdjjcn.png)

I have created a table of suspected-rogue APs in IY building. However, WISE-PaaS Dashboard does not support alerting MongoDB so far (confirmed by Advantech engineer). 

:::

- [x] 12. In fig 8 & 9 : Please specify the parameters in the MongoDB databases used and the CWMS.

:::success
#### Answer:

- Campus WiFi management system (CWMS) system architecture (Fig. 8 in slide):
![](https://hackmd.io/_uploads/r1e0ZmveT.png)

As shown in Figure 3.1, main functions of CWMS are AP data monitoring, user data monitoring, and WiFi positioning. Figure 4.3 (Fig. 9 in slide) depicts the parameters of the functions as class diagrams.

![](https://hackmd.io/_uploads/Syd4f7wxp.png)

Figure 4.4 shows a sample of AP information stored in the MongoDB databases server:

![](https://hackmd.io/_uploads/ByYIGmPx6.png)

The samples and definitions of all the parameters used in CWMS are described in Table 4.1, Table 4.2, Table 4.3, Table 4.4, Table 4.5, and Table
4.6.

![](https://hackmd.io/_uploads/B1kjzQwxp.png)
![](https://hackmd.io/_uploads/r1dsfXweT.png)
![](https://hackmd.io/_uploads/Bym3G7Pe6.png)
![](https://hackmd.io/_uploads/rJ2hGXPg6.png)
![](https://hackmd.io/_uploads/H1tlQmvep.png)
![](https://hackmd.io/_uploads/r1rCfXwe6.png)
![](https://hackmd.io/_uploads/rkR0fmDea.png)

#### Revised in: [page 19, 20, 21, 22, 23, 24](#Page-19-20-21-22-23-24---Q12)

:::

- [x] 13. Do you think the error of 5.28 m is good enough? 

:::success
#### Answer:

Yes. The distance error of 5.28 m in 2D and 4.55 m in 3D is acceptable when applying simplified path loss model.

The sense of accuracy levels depends on the specific application's requirements. It's important to weigh the benefits of low complexity when using a simplified model.

<!-- Survey distance error from different papers:
https://hackmd.io/@OC8zKKH3TKm4VdvDPcScuw/BJSKdKuYs -->

:::
### Prof. Ferng

- [x] 14. Can you identify which procedure is special part in your WiFi Positioning? 


:::success
#### Answer:

AP location adjustment for fixed APs is the special part. My paper is focused on fixed APs that being installed in IY building for a long time.

In addition, I have developed the calibration of reference path loss, path loss exponent, and tx power. The detail is in [question 1](#Problem).

:::
- [x] 15. Do you possess the information about every AP? 

:::success
#### Answer:

No, the Aruba WiFi controller provides information of the detected rogue/interfering APs. I just display this information on the dashboard.

The command-line being used in order to get AP information from Aruba WiFi Controller: 

```show ap monitor ap-list ap-name <ap-name>```

The received data shows the information from the APs:

![](https://hackmd.io/_uploads/Sy-yTcw5h.png)

<!-- For example, the photo below shows the information of an AP being detected:

![](https://hackmd.io/_uploads/ry3oT5Dcn.png) -->


Reference: https://www.arubanetworks.com/techdocs/CLI-Bank/Content/aos8/sh-ap-mon-list.htm

<!-- #### Revised in: [page 34, 35](#Page-34-35---Q15) -->

:::

- [x] 16. The title is about rogue APs. How can you identify rogue AP? How do you know if they are rogue APs? 

:::success
#### Answer:

Same answer as question 6, the rogue APs will be identified and classified by Aruba system.

In Aruba, they provide predictions for suspected-rogue APs with varying confidence levels. The only way to confirm a rogue AP is by physically visiting the building and verifying the APs on-site.

<!-- After being detected, an AP can be marked as a suspected rogue if it is determined to be a potential threat on the wired network, or if it matches a user-defined classification rule. -->

<!-- ![](https://i.imgur.com/lmOxdAG.png)

 -->

Using ```show wms rogue-ap``` we can see which match types contributing to the confidence level. For example, the suspected rogue AP below has a confidence level of 80%, which is the contributions of 4 Match Methods with 20% each:

![](https://i.imgur.com/svjZAU6.png)

Reference: [Detecting Rogue APs](https://www.arubanetworks.com/techdocs/ArubaOS_64_Web_Help/Content/ArubaFrameStyles/New_WIP/Rogue_AP_Detection.htm)

:::

- [x] 17. We expect that you consider to have a methodology for identifying rogue APs. How do you do in case we want to increase the number of rogue APs?


:::success
#### Answer:

So far, the study scope doesn’t include the method that can identify rogue APs. It has been done by Aruba WiFi Controller.

You can plug in physically in a wireless AP or enable wireless sharing in the OS in order to create a rogue AP.

:::
- [x] 18. Your thesis's quality needs improvement by showing more performance evaluation works

:::success

#### Answer:

1. We evaluate the performance of WiFi positioning by the system latency .

![](https://hackmd.io/_uploads/BJcA4mDxT.png)

With $T_{DP}$ (s) is the data preparation latency, $T_{WP}$ (s) is the WiFi positioning computation latency, and $T_{A}$ (s) is the CWMS's WiFi positioning latency. The model from Figure 3.2 is given:

\begin{equation}
T_{A} = T_{DP} + T_{WP} 
\end{equation}

Table 5.3 shows the results of WiFi postioning system latency for different number of rogue APs as different scale of data amount. With the same number of reference APs (N = 4), $T_{DP}$ does not differ much, at around 13 to 14 seconds. On the other hand, as the number of rogue APs ($N_{AP}$) detected in the system increases, from 5 to 100, WiFi positioning processing time ($T_{WP}$) also increases, from 8.99 seconds to 173.78 seconds.

![](https://hackmd.io/_uploads/SkofLQDg6.png)

<!-- 
2. Comparison between Web Crawling (ChiaWei) and CLI data collecting (Nam)



|                         | Web Crawling                                            | CLI Data Collecting                       |
| ----------------------- | ------------------------------------------------------- | ----------------------------------------- |
| Data processing latency | Quick and stable                                        | Depends on number of monitoring APs       |
| Information             | Provide essential information of AP, User, Interference | Provide relevant information such as RSSI |
| Config                  | WiFi Controller + WebUI                                 | WiFi Controller                           | -->

We then set various numbers of partitions to test the system performance under a data size of 100 kB of WiFi positioning.

Table 5.4 shows that the more partitions, the higher throughput and the lower the WiFi positioning latency.

![](https://hackmd.io/_uploads/BytQDmvea.png)



#### Revised in: [page 53, 54, 55](#Page-53-54-55---Q18)


:::

### Prof. Ray comments:

- [8/27/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82723)
- [8/26/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82623)
- [8/25/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82523)
- [8/24/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82423)
- [8/23/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82323)
- [8/22/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82223)
- [8/21/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#82123)
- [8/18/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81823)
- [8/17/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81723)
- [8/16/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81623)
- [8/15/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81523)
- [8/14/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81423)
- [8/13/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81323)
- [8/12/23](https://hackmd.io/xkAh4r-TQk23oMhVxmI0AQ?view#81223)


## Pages

### Page 31, 32, 33, 34, 35, 36, 37, 38, 39 - Q1

![](https://hackmd.io/_uploads/HkTmFMDla.png)
![](https://hackmd.io/_uploads/Hy5B9MPga.png)
![](https://hackmd.io/_uploads/HyMIqMwe6.png)
![](https://hackmd.io/_uploads/H1L4qzPeT.png)
![](https://hackmd.io/_uploads/Bks79Mwxp.png)
![](https://hackmd.io/_uploads/HJ-75fDe6.png)
![](https://hackmd.io/_uploads/ByDfqMwx6.png)
![](https://hackmd.io/_uploads/S1ob5MDxp.png)
![](https://hackmd.io/_uploads/rkg-qMvga.png)
![](https://hackmd.io/_uploads/BJkgcGveT.png)
![](https://hackmd.io/_uploads/HJzk5fDxT.png)
![](https://hackmd.io/_uploads/H186Ffve6.png)
![](https://hackmd.io/_uploads/rJERYzvg6.png)
![](https://hackmd.io/_uploads/rJ5jtGwla.png)
![](https://hackmd.io/_uploads/SJEntGDxT.png)
![](https://hackmd.io/_uploads/By7OYzwep.png)

### Page 61, 62, 63, 64, 65, 66 - Q1
![](https://hackmd.io/_uploads/HyaRkCsfa.png)
![](https://hackmd.io/_uploads/ryfbx0iG6.png)
![](https://hackmd.io/_uploads/ryyGxAsfp.png)
![](https://hackmd.io/_uploads/BJqfeRsf6.png)
![](https://hackmd.io/_uploads/r1IQlAjGp.png)
![](https://hackmd.io/_uploads/BkJEgCiz6.png)
![](https://hackmd.io/_uploads/HkO4lAifT.png)
![](https://hackmd.io/_uploads/r1MHxAszp.png)
![](https://hackmd.io/_uploads/HkTHgRjM6.png)

### Page 76- Q2

![](https://hackmd.io/_uploads/B1ijGRsf6.png)


### Page 16 - Q4

![](https://hackmd.io/_uploads/S14mnGPeT.png)


### Page 14, 66, 67, 68 - Q5 

![](https://hackmd.io/_uploads/r1kUymvgT.png)
![](https://hackmd.io/_uploads/B19-BQvxp.png)
![](https://hackmd.io/_uploads/SkqmXRifT.png)
![](https://hackmd.io/_uploads/SyJHmRoM6.png)
![](https://hackmd.io/_uploads/HJqrmCizT.png)
![](https://hackmd.io/_uploads/HJHU7CifT.png)
![](https://hackmd.io/_uploads/B1yvXRjG6.png)



<!-- ### Page 9, 10 - Q6

![](https://hackmd.io/_uploads/H1J-x0o62.png) -->



### Page 57, 58, 59, 60 - Q8 

![](https://hackmd.io/_uploads/SJEcQAoGp.png)
![](https://hackmd.io/_uploads/SJhjmAoGT.png)
![](https://hackmd.io/_uploads/rk227RjMa.png)
![](https://hackmd.io/_uploads/SJ_07Ajz6.png)
![](https://hackmd.io/_uploads/S1WyERiMT.png)
![](https://hackmd.io/_uploads/BJKkV0jfp.png)

### Page 26 - Q10 

![](https://hackmd.io/_uploads/BkdEWmvg6.png)


### Page 19, 20, 21, 22, 23, 24 - Q12 
![](https://hackmd.io/_uploads/Syd4f7wxp.png)
![](https://hackmd.io/_uploads/ByYIGmPx6.png)
![](https://hackmd.io/_uploads/B1kjzQwxp.png)
![](https://hackmd.io/_uploads/r1dsfXweT.png)
![](https://hackmd.io/_uploads/Bym3G7Pe6.png)
![](https://hackmd.io/_uploads/rJ2hGXPg6.png)
![](https://hackmd.io/_uploads/H1tlQmvep.png)
![](https://hackmd.io/_uploads/r1rCfXwe6.png)
![](https://hackmd.io/_uploads/rkR0fmDea.png)


<!-- ### Page 34, 35 - Q15 

![](https://hackmd.io/_uploads/Hk0jbaW0n.png)
![](https://hackmd.io/_uploads/SJvhWa-Rn.png) -->

### Page 53, 54, 55 - Q18 

![](https://hackmd.io/_uploads/r1kUymvgT.png)
![](https://hackmd.io/_uploads/B19-BQvxp.png)
![](https://hackmd.io/_uploads/SkqmXRifT.png)
![](https://hackmd.io/_uploads/SyJHmRoM6.png)
![](https://hackmd.io/_uploads/HJqrmCizT.png)
![](https://hackmd.io/_uploads/HJHU7CifT.png)
![](https://hackmd.io/_uploads/B1yvXRjG6.png)


