Compare commits
No commits in common. "596f89860ebb6aa4c828edef666c2e5cb9895d62" and "0c9b3cf76a6e9269eb5938e2c64ac99e1cb80ede" have entirely different histories.
596f89860e
...
0c9b3cf76a
@ -278,7 +278,7 @@ Modificar ruta **logdest** en `muevelogz.sh` y copiar en el servidor.
|
|||||||
# logdest debe ser la misma ruta especificada en config.cfg como *ruta_base*
|
# logdest debe ser la misma ruta especificada en config.cfg como *ruta_base*
|
||||||
logdest=/home/server_user/nginx_log.old
|
logdest=/home/server_user/nginx_log.old
|
||||||
```
|
```
|
||||||
Crear archivo de configuración **config.cfg**.
|
Crear archivo de configuración **config.cfg**.
|
||||||
ej. archivo de configuración `./config.cfg`
|
ej. archivo de configuración `./config.cfg`
|
||||||
```cfg
|
```cfg
|
||||||
[bash_script]
|
[bash_script]
|
||||||
@ -305,9 +305,7 @@ Correr `iploc -h` para crear base de datos.
|
|||||||
📂️ nginx_data/
|
📂️ nginx_data/
|
||||||
├── 📁️ consultas/
|
├── 📁️ consultas/
|
||||||
│ └── 📄️ querys_sqlite.py
|
│ └── 📄️ querys_sqlite.py
|
||||||
├── 📁️ log/
|
├── 📁️ maps
|
||||||
│ └── 📄️ iplocate.log
|
|
||||||
├── 📁️ maps/
|
|
||||||
│ └── 📄️ map_thumb.svg
|
│ └── 📄️ map_thumb.svg
|
||||||
├── 📄️ __init__.py
|
├── 📄️ __init__.py
|
||||||
├── 📄️ config.cfg
|
├── 📄️ config.cfg
|
||||||
@ -320,7 +318,7 @@ Correr `iploc -h` para crear base de datos.
|
|||||||
└── 📄️ sql_alch.py
|
└── 📄️ sql_alch.py
|
||||||
```
|
```
|
||||||
|
|
||||||
Seguir los pasos explicados en [Uso](#uso).
|
Seguir los pasos explicados en [Uso](#uso).
|
||||||
|
|
||||||
### Dependencias
|
### Dependencias
|
||||||
<br>
|
<br>
|
||||||
|
@ -13617,681 +13617,6 @@
|
|||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
||||||
<path d="M 289.91957333333335 511.07582653949584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
<path d="M 289.91957333333335 511.07582653949584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
||||||
</g>
|
</g>
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 228.21674666666672 554.9746323959587 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 228.21674666666672 554.9746323959587 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 228.21674666666672 554.9746323959587 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 452.49664000000007 273.9574565263052 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 452.49664000000007 273.9574565263052 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 452.49664000000007 273.9574565263052 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 643.4001066666667 387.04675029092533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 643.4001066666667 387.04675029092533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 643.4001066666667 387.04675029092533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 581.2359111111111 333.22203864978815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 581.2359111111111 333.22203864978815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 581.2359111111111 333.22203864978815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 225.23861333333338 314.9816210742327 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 225.23861333333338 314.9816210742327 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 225.23861333333338 314.9816210742327 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 516.0273066666667 519.8697678504484 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 516.0273066666667 519.8697678504484 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 516.0273066666667 519.8697678504484 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 731.1156622222222 438.80198507875235 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 731.1156622222222 438.80198507875235 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 731.1156622222222 438.80198507875235 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 655.3632711111112 418.22682239005997 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 655.3632711111112 418.22682239005997 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 655.3632711111112 418.22682239005997 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 628.794168888889 287.3829006195661 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 628.794168888889 287.3829006195661 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 628.794168888889 287.3829006195661 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 208.13809777777777 342.92839747324285 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 208.13809777777777 342.92839747324285 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 208.13809777777777 342.92839747324285 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 488.60970666666674 299.37093709938324 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 488.60970666666674 299.37093709938324 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 488.60970666666674 299.37093709938324 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 653.6017066666667 347.6297767037257 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 653.6017066666667 347.6297767037257 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 653.6017066666667 347.6297767037257 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 269.69870222222227 547.6495825626998 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 269.69870222222227 547.6495825626998 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 269.69870222222227 547.6495825626998 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 581.1938133333334 333.80664277982305 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 581.1938133333334 333.80664277982305 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 581.1938133333334 333.80664277982305 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 654.6404977777778 351.81341360530195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 654.6404977777778 351.81341360530195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 654.6404977777778 351.81341360530195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 204.99356444444447 358.703459175594 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 204.99356444444447 358.703459175594 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 204.99356444444447 358.703459175594 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 536.3286755555556 347.3520651532028 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 536.3286755555556 347.3520651532028 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 536.3286755555556 347.3520651532028 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 494.28892444444443 299.6633833942431 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 494.28892444444443 299.6633833942431 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 494.28892444444443 299.6633833942431 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 654.9343288888889 356.2785954578639 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 654.9343288888889 356.2785954578639 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 654.9343288888889 356.2785954578639 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 127.75608888888888 367.3034763904503 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 127.75608888888888 367.3034763904503 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 127.75608888888888 367.3034763904503 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 537.1293866666667 322.854070626447 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 537.1293866666667 322.854070626447 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 537.1293866666667 322.854070626447 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 490.3169422222222 287.9967551736135 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 490.3169422222222 287.9967551736135 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 490.3169422222222 287.9967551736135 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 720.0689777777778 434.0818776507533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 720.0689777777778 434.0818776507533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 720.0689777777778 434.0818776507533 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 237.36675555555553 389.062978147453 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 237.36675555555553 389.062978147453 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 237.36675555555553 389.062978147453 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 317.04590222222225 504.26676250807196 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 317.04590222222225 504.26676250807196 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 317.04590222222225 504.26676250807196 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 233.5569066666667 548.8603655112415 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 233.5569066666667 548.8603655112415 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 233.5569066666667 548.8603655112415 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 685.53344 373.1973252226195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 685.53344 373.1973252226195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 685.53344 373.1973252226195 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 651.767608888889 362.96964362142097 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 651.767608888889 362.96964362142097 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 651.767608888889 362.96964362142097 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 728.0704 426.1892130136976 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 728.0704 426.1892130136976 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 728.0704 426.1892130136976 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 462.4206222222223 283.6705495269825 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 462.4206222222223 283.6705495269825 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 462.4206222222223 283.6705495269825 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 771.7818311111112 439.74510730585143 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 771.7818311111112 439.74510730585143 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 771.7818311111112 439.74510730585143 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 270.7232711111111 519.7426393899441 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 270.7232711111111 519.7426393899441 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 270.7232711111111 519.7426393899441 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 145.2619377777778 378.7377871238627 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 145.2619377777778 378.7377871238627 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 145.2619377777778 378.7377871238627 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 651.9584711111112 349.9915256287334 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 651.9584711111112 349.9915256287334 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 651.9584711111112 349.9915256287334 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 668.4821333333333 385.6806475198034 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 668.4821333333333 385.6806475198034 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 668.4821333333333 385.6806475198034 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 648.3605333333334 307.2974125210215 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 648.3605333333334 307.2974125210215 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 648.3605333333334 307.2974125210215 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 163.1472355555556 332.09246360630397 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 163.1472355555556 332.09246360630397 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 163.1472355555556 332.09246360630397 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 518.5924266666667 314.328632306775 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 518.5924266666667 314.328632306775 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 518.5924266666667 314.328632306775 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 185.14104888888892 310.50348539151815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 185.14104888888892 310.50348539151815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 185.14104888888892 310.50348539151815 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 429.6785066666667 261.77591609417556 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 429.6785066666667 261.77591609417556 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 429.6785066666667 261.77591609417556 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 866.2563555555556 545.1571622821516 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 866.2563555555556 545.1571622821516 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 866.2563555555556 545.1571622821516 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 757.989688888889 375.18789286373584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 757.989688888889 375.18789286373584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 757.989688888889 375.18789286373584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 544.0524800000001 272.1238749687747 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 544.0524800000001 272.1238749687747 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 544.0524800000001 272.1238749687747 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 202.8593777777778 353.70307733037737 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 202.8593777777778 353.70307733037737 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 202.8593777777778 353.70307733037737 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 307.51587555555557 454.72893564952693 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 307.51587555555557 454.72893564952693 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 307.51587555555557 454.72893564952693 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 522.2782577777778 228.4932866166734 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 522.2782577777778 228.4932866166734 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 522.2782577777778 228.4932866166734 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 191.57119999999998 397.3462467647048 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 191.57119999999998 397.3462467647048 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 191.57119999999998 397.3462467647048 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 259.8418488888889 534.3929648748467 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 259.8418488888889 534.3929648748467 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 259.8418488888889 534.3929648748467 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 509.97916444444445 285.2387528404301 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 509.97916444444445 285.2387528404301 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 509.97916444444445 285.2387528404301 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 180.46250666666668 335.02031220884686 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 180.46250666666668 335.02031220884686 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 180.46250666666668 335.02031220884686 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 654.4951466666668 417.59159149849086 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 654.4951466666668 417.59159149849086 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 654.4951466666668 417.59159149849086 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 756.9173333333333 463.3646165753101 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 756.9173333333333 463.3646165753101 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 756.9173333333333 463.3646165753101 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 460.65536 277.37484737854817 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 460.65536 277.37484737854817 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 460.65536 277.37484737854817 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 659.8970311111111 360.12164099895557 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 659.8970311111111 360.12164099895557 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 659.8970311111111 360.12164099895557 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 216.02887111111113 322.1471766542584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 216.02887111111113 322.1471766542584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 216.02887111111113 322.1471766542584 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 524.0091022222222 329.5406946244213 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 524.0091022222222 329.5406946244213 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 524.0091022222222 329.5406946244213 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 270.1253688888889 548.3418196381422 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 270.1253688888889 548.3418196381422 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 270.1253688888889 548.3418196381422 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 285.17248 529.8631257995294 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 285.17248 529.8631257995294 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 285.17248 529.8631257995294 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 248.32213333333334 389.76004298773967 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 248.32213333333334 389.76004298773967 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 248.32213333333334 389.76004298773967 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 523.1031466666667 276.7189028261855 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 523.1031466666667 276.7189028261855 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 523.1031466666667 276.7189028261855 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 202.58261333333337 355.74710379918236 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 202.58261333333337 355.74710379918236 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 202.58261333333337 355.74710379918236 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 673.4528 390.1109187086162 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 673.4528 390.1109187086162 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 673.4528 390.1109187086162 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 492.13425777777775 294.41447863000167 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 492.13425777777775 294.41447863000167 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 492.13425777777775 294.41447863000167 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 655.9182222222222 357.30535121951647 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 655.9182222222222 357.30535121951647 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 655.9182222222222 357.30535121951647 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 651.1253333333333 353.23767814271406 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 651.1253333333333 353.23767814271406 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 651.1253333333333 353.23767814271406 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 501.97802666666666 305.8734781280148 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 501.97802666666666 305.8734781280148 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 501.97802666666666 305.8734781280148 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 296.1204622222223 511.42842629038995 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 296.1204622222223 511.42842629038995 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 296.1204622222223 511.42842629038995 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 557.1747555555556 252.35301824193385 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 557.1747555555556 252.35301824193385 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 557.1747555555556 252.35301824193385 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 487.22844444444445 263.15283452177 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 487.22844444444445 263.15283452177 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 487.22844444444445 263.15283452177 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 98.37212444444447 338.6672859688545 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 98.37212444444447 338.6672859688545 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 98.37212444444447 338.6672859688545 l -3.4641016151377544 -6.0 a 4 4 0 1 1 6.928203230275509 0 Z" fill="#b20101" opacity="1.0" stroke="#ffffff" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
||||||
<path d="M 797.48224 326.9801587634675 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
<path d="M 797.48224 326.9801587634675 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
||||||
</g>
|
</g>
|
||||||
@ -16416,87 +15741,6 @@
|
|||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
||||||
<path d="M 225.23861333333338 314.9816210742327 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
<path d="M 225.23861333333338 314.9816210742327 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
||||||
</g>
|
</g>
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 449.53073777777774 267.36457650849 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 523.0166755555556 275.7867917224951 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 523.0166755555556 275.7867917224951 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 523.0166755555556 275.7867917224951 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 228.24974222222227 555.1947488356493 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 448.03342222222227 269.2205824959913 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 448.03342222222227 269.2205824959913 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 448.03342222222227 269.2205824959913 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 453.31072000000006 297.1225068244542 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 285.46005333333335 524.6886745204938 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 285.46005333333335 524.6886745204938 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 285.46005333333335 524.6886745204938 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 186.85568 311.13956499435875 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 203.52810666666664 313.00230976844983 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(-1024, 0)">
|
|
||||||
<path d="M 799.6181333333333 332.55954697998345 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(0, 0)">
|
|
||||||
<path d="M 799.6181333333333 332.55954697998345 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)" transform="translate(1024, 0)">
|
|
||||||
<path d="M 799.6181333333333 332.55954697998345 l -4.330127018922193 -7.5 a 5 5 0 1 1 8.660254037844386 0 Z" fill="#00ff29" opacity="1.0" stroke="#000000" stroke-width="1"/>
|
|
||||||
</g>
|
|
||||||
<g clip-path="url(#page)">
|
<g clip-path="url(#page)">
|
||||||
<rect fill="#ffffff" fill-opacity="0.8" height="12" width="1024" x="0" y="756"/>
|
<rect fill="#ffffff" fill-opacity="0.8" height="12" width="1024" x="0" y="756"/>
|
||||||
<text fill="#000000" font-family="Arial, Helvetica, sans-serif" font-size="9px" x="2" y="765">Maps & Data (C) OpenStreetMap.org contributors</text>
|
<text fill="#000000" font-family="Arial, Helvetica, sans-serif" font-size="9px" x="2" y="765">Maps & Data (C) OpenStreetMap.org contributors</text>
|
||||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.3 MiB |
51
sql_alch.py
51
sql_alch.py
@ -25,8 +25,6 @@ Base = declarative_base()
|
|||||||
|
|
||||||
# Tabla registro ip info
|
# Tabla registro ip info
|
||||||
class Registro(Base):
|
class Registro(Base):
|
||||||
"""Definición de tabla 'Registro'"""
|
|
||||||
|
|
||||||
__tablename__ = 'registro'
|
__tablename__ = 'registro'
|
||||||
ip = Column(String, primary_key=True)
|
ip = Column(String, primary_key=True)
|
||||||
hostname = Column(String, nullable=True)
|
hostname = Column(String, nullable=True)
|
||||||
@ -46,7 +44,6 @@ class Registro(Base):
|
|||||||
cascade="all, delete, delete-orphan")
|
cascade="all, delete, delete-orphan")
|
||||||
|
|
||||||
def get_fecha(self):
|
def get_fecha(self):
|
||||||
"""Convierte fecha 'unix epoch' y devuelve en formato local"""
|
|
||||||
return time.asctime(time.localtime(int(self.fecha_reg.__repr__())))
|
return time.asctime(time.localtime(int(self.fecha_reg.__repr__())))
|
||||||
|
|
||||||
|
|
||||||
@ -65,8 +62,6 @@ class Registro(Base):
|
|||||||
|
|
||||||
|
|
||||||
class Visita(Base):
|
class Visita(Base):
|
||||||
"""Definición de tabla 'Visita'"""
|
|
||||||
|
|
||||||
__tablename__ = 'visita'
|
__tablename__ = 'visita'
|
||||||
id = Column(Integer, Sequence('visita_id_seq'), primary_key=True)
|
id = Column(Integer, Sequence('visita_id_seq'), primary_key=True)
|
||||||
ip = Column(String, ForeignKey('registro.ip'))
|
ip = Column(String, ForeignKey('registro.ip'))
|
||||||
@ -79,14 +74,12 @@ class Visita(Base):
|
|||||||
|
|
||||||
|
|
||||||
def get_fecha(self):
|
def get_fecha(self):
|
||||||
"""Convierte fecha 'unix epoch' y devuelve en formato local"""
|
|
||||||
return time.asctime(time.localtime(int(self.fecha.__repr__())))
|
return time.asctime(time.localtime(int(self.fecha.__repr__())))
|
||||||
|
|
||||||
def consulta_registro(self):
|
def consulta_registro(self):
|
||||||
return True if self.registro == 1 else False
|
return True if self.registro == 1 else False
|
||||||
|
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
"""Representación en cadena de texto del los datos en tabla"""
|
|
||||||
try:
|
try:
|
||||||
rep = f'id={self.id},ip={self.ip},html={self.cod_html},'\
|
rep = f'id={self.id},ip={self.ip},html={self.cod_html},'\
|
||||||
f'fecha={self.get_fecha()},metodo={self.metodo},request={self.consulta}'
|
f'fecha={self.get_fecha()},metodo={self.metodo},request={self.consulta}'
|
||||||
@ -112,7 +105,7 @@ fecha_access = "10/May/2022:11:42:14 -0400".split(' ')[0]
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def fecha_access_to_epoch(fecha):
|
def fecha_access_to_epoch(fecha):
|
||||||
"""Convierte la fecha del formato entregado por access.log
|
"""Convierte al fecha del formato entregado por access.log
|
||||||
y reverse_access.log(nginx) al formato unix epoch.
|
y reverse_access.log(nginx) al formato unix epoch.
|
||||||
|
|
||||||
:fecha: str Fecha
|
:fecha: str Fecha
|
||||||
@ -123,7 +116,7 @@ def fecha_access_to_epoch(fecha):
|
|||||||
return fecha_unix
|
return fecha_unix
|
||||||
|
|
||||||
def fecha_error_to_epoch(fecha):
|
def fecha_error_to_epoch(fecha):
|
||||||
"""Convierte la fecha del formato entregado por error.log
|
"""Convierte al fecha del formato entregado por error.log
|
||||||
y reverse_error.log (nginx) al formato unix epoch.
|
y reverse_error.log (nginx) al formato unix epoch.
|
||||||
|
|
||||||
:fecha_local: str Fecha
|
:fecha_local: str Fecha
|
||||||
@ -143,9 +136,6 @@ def epoch_to_local(fecha):
|
|||||||
|
|
||||||
|
|
||||||
def ip_registrada(ip):
|
def ip_registrada(ip):
|
||||||
"""Retorna respuesta a consulta valor de columna 'registro'
|
|
||||||
en tabla 'Visita' para ip pasada como argumento.
|
|
||||||
"""
|
|
||||||
try:
|
try:
|
||||||
ip_reg = session.query(Visita).filter(Visita.ip==ip).filter(Visita.registro==1).first()
|
ip_reg = session.query(Visita).filter(Visita.ip==ip).filter(Visita.registro==1).first()
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
@ -155,12 +145,6 @@ def ip_registrada(ip):
|
|||||||
|
|
||||||
|
|
||||||
def carga_access_log(log):
|
def carga_access_log(log):
|
||||||
"""Procesa logs del tipo access, filtra IPs propias (publica y locales),
|
|
||||||
acorta los donde es necesario, convierte fechas a formato unix epoch,
|
|
||||||
los añade a session para tabla 'Visita'.
|
|
||||||
Finalmente realiza la transaccion utilizando clase Progres() del modulo rich.
|
|
||||||
Y borra el log procesado.
|
|
||||||
"""
|
|
||||||
if os.path.exists(log):
|
if os.path.exists(log):
|
||||||
nombre_log = log.split('/')[-1]
|
nombre_log = log.split('/')[-1]
|
||||||
console.print(f'[yellow]Procesando [[/yellow]{nombre_log}[yellow]][/yellow]')
|
console.print(f'[yellow]Procesando [[/yellow]{nombre_log}[yellow]][/yellow]')
|
||||||
@ -237,12 +221,6 @@ def carga_access_log(log):
|
|||||||
|
|
||||||
|
|
||||||
def carga_error_logs(log):
|
def carga_error_logs(log):
|
||||||
"""Procesa logs del tipo error, acorta los donde es necesario, convierte fechas
|
|
||||||
a formato unix epoch, filtra IPs propias (publica y locales), los añade a session
|
|
||||||
para tabla 'Visita'.
|
|
||||||
Finalmente realiza la transaccion utilizando clase 'Progress' del modulo rich.
|
|
||||||
Y borra el log procesado.
|
|
||||||
"""
|
|
||||||
if os.path.exists(log):
|
if os.path.exists(log):
|
||||||
nombre_log = log.split('/')[-1]
|
nombre_log = log.split('/')[-1]
|
||||||
console.print(f'[yellow]Procesando [[/yellow]{nombre_log}[yellow]][/yellow]')
|
console.print(f'[yellow]Procesando [[/yellow]{nombre_log}[yellow]][/yellow]')
|
||||||
@ -259,6 +237,7 @@ def carga_error_logs(log):
|
|||||||
try:
|
try:
|
||||||
ip = linea.split('client: ')[1].split(',')[0]
|
ip = linea.split('client: ')[1].split(',')[0]
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
#print('Exception Ip error_log: ', ex)
|
||||||
log_usage('Exception Ip error_log {crit}', ex)
|
log_usage('Exception Ip error_log {crit}', ex)
|
||||||
ip = None
|
ip = None
|
||||||
try:
|
try:
|
||||||
@ -271,6 +250,7 @@ def carga_error_logs(log):
|
|||||||
url = url[:252]+'...'
|
url = url[:252]+'...'
|
||||||
except Exception:
|
except Exception:
|
||||||
url = ' '.join(linea.split(' ')[5:])
|
url = ' '.join(linea.split(' ')[5:])
|
||||||
|
#url = '---'
|
||||||
try:
|
try:
|
||||||
metodo = linea.split('"')[1].split(' ')[0]
|
metodo = linea.split('"')[1].split(' ')[0]
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -279,6 +259,7 @@ def carga_error_logs(log):
|
|||||||
try:
|
try:
|
||||||
ip = linea.split('client: ')[1].split(',')[0]
|
ip = linea.split('client: ')[1].split(',')[0]
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
#print('Exception Ip error_log: ', ex)
|
||||||
log_usage('Exception Ip error_log {notice}', ex)
|
log_usage('Exception Ip error_log {notice}', ex)
|
||||||
ip = None
|
ip = None
|
||||||
try:
|
try:
|
||||||
@ -329,6 +310,7 @@ def carga_error_logs(log):
|
|||||||
prog.update(task1, advance=0.1)
|
prog.update(task1, advance=0.1)
|
||||||
time.sleep(0.05)
|
time.sleep(0.05)
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
|
#print('Exception error.log - Progress session commit', ex)
|
||||||
log_usage('Exception error.log - Progress session commit', ex)
|
log_usage('Exception error.log - Progress session commit', ex)
|
||||||
console.print(f'[magenta] - Carga completa.. borrando log[/magenta]\n')
|
console.print(f'[magenta] - Carga completa.. borrando log[/magenta]\n')
|
||||||
os.remove(log)
|
os.remove(log)
|
||||||
@ -344,7 +326,6 @@ def carga_error_logs(log):
|
|||||||
|
|
||||||
|
|
||||||
def carga_logs():
|
def carga_logs():
|
||||||
"""Procesa logs existentes en directorio 'logs_dir', según nombre."""
|
|
||||||
logpath = logs_dir+'/access.log'
|
logpath = logs_dir+'/access.log'
|
||||||
if os.path.exists(logpath):
|
if os.path.exists(logpath):
|
||||||
carga_access_log(logpath)
|
carga_access_log(logpath)
|
||||||
@ -360,10 +341,6 @@ def carga_logs():
|
|||||||
|
|
||||||
|
|
||||||
def carga_registro_ip(ip_info):
|
def carga_registro_ip(ip_info):
|
||||||
"""Guarda datos del diccionario ip_info en tabla 'Registro',
|
|
||||||
Actualiza columna 'registro' a '1' en la tabla 'Visita'
|
|
||||||
para IPs guardadas en 'Registro' en esta sessión.
|
|
||||||
"""
|
|
||||||
if not ip_registrada(ip_info['ip']):
|
if not ip_registrada(ip_info['ip']):
|
||||||
info_dic = {}
|
info_dic = {}
|
||||||
info_dic['ip'] = ip_info['ip']
|
info_dic['ip'] = ip_info['ip']
|
||||||
@ -404,9 +381,6 @@ def carga_registro_ip(ip_info):
|
|||||||
|
|
||||||
|
|
||||||
def consulta_ip(ip_consulta, tkn=True):
|
def consulta_ip(ip_consulta, tkn=True):
|
||||||
"""Consulta API o base de datos por la IPs pasada como argumento,
|
|
||||||
filtra IPs validas antes de proceder.
|
|
||||||
"""
|
|
||||||
if (re.search(ip_regx, ip_consulta)):
|
if (re.search(ip_regx, ip_consulta)):
|
||||||
match tkn:
|
match tkn:
|
||||||
case True:
|
case True:
|
||||||
@ -422,10 +396,6 @@ def consulta_ip(ip_consulta, tkn=True):
|
|||||||
return resp
|
return resp
|
||||||
|
|
||||||
def consulta_db(ip):
|
def consulta_db(ip):
|
||||||
"""Consulta base de datos por la IPs pasada como argumento.
|
|
||||||
Entrega la información de Registro, seguida por todas las visitas
|
|
||||||
y sus detalles.
|
|
||||||
"""
|
|
||||||
try:
|
try:
|
||||||
statement = session.query(Registro, Visita).join('visitas').filter_by(ip=ip)
|
statement = session.query(Registro, Visita).join('visitas').filter_by(ip=ip)
|
||||||
result = session.execute(statement).all()
|
result = session.execute(statement).all()
|
||||||
@ -436,10 +406,6 @@ def consulta_db(ip):
|
|||||||
|
|
||||||
|
|
||||||
def registro_ips():
|
def registro_ips():
|
||||||
"""Consulta API, obtiene datos de IPs en tabla 'Visita'
|
|
||||||
cuya valor en columna 'registro' sea '0'. Utiliza clase
|
|
||||||
Progress() para mostrar el progreso de la transacción.
|
|
||||||
"""
|
|
||||||
statement = select(Visita).filter_by(registro=0)
|
statement = select(Visita).filter_by(registro=0)
|
||||||
with Progress() as progress:
|
with Progress() as progress:
|
||||||
total = len(session.execute(statement).scalars().all())
|
total = len(session.execute(statement).scalars().all())
|
||||||
@ -462,11 +428,6 @@ def registro_ips():
|
|||||||
|
|
||||||
|
|
||||||
def mapsgen():
|
def mapsgen():
|
||||||
"""Realiza 2 consultas de los datos de columna 'geoloc' de la tabla 'Registro',
|
|
||||||
según valor de columna 'cod_html' de la tabla 'Visita', para valores 200 y para
|
|
||||||
otros valores.
|
|
||||||
Llama a función maps_gen con estas listas de valores como argumentos.
|
|
||||||
"""
|
|
||||||
try:
|
try:
|
||||||
stmn = session.query(Registro.geoloc.distinct()).join('visitas').where(Visita.cod_html==200)
|
stmn = session.query(Registro.geoloc.distinct()).join('visitas').where(Visita.cod_html==200)
|
||||||
loc_200 = session.execute(stmn).all()
|
loc_200 = session.execute(stmn).all()
|
||||||
|
Loading…
Reference in New Issue
Block a user