jupytergis-core 0.1.1__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/PKG-INFO +1 -1
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/__init__.py +4 -1
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/_version.py +1 -1
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/handler.py +13 -8
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/jgis_ydoc.py +0 -1
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/package.json +4 -5
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/05cd6f9ef7cee99b045d.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/1f152a2e838d5bc9734a.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/25add056a64c313112c1.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/2fd48688b8db6630a98b.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/342e1e3d19b03b1fe609.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/36.b2f6adaa2d1def5c163f.js +1 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/378afa99d57ed2ae3412.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/49aaa70fdbd358566081.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/552.9f37fbb73d9f60b6c3f3.js +1 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/57.5de96a80fc76b40d5c98.js +8 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/65a5e66f99e9379dfc35.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/6d8404aa058fc40542b5.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/777.b41e81dd6b0af001baab.js +2 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/81ffc09a91df6d865b2a.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/880b33982acf113f7814.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/91d7eac484745f2cc5be.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/936.169e398d63d619903349.js +1 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/987b25b09e2ab3aa14c7.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/991.31397828c39e542d58cd.js +1 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/9d23b9ebf800c009f835.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/a3d0ada3998dc5eedfd3.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/b55cd9c1ba258194a75b.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/c5f242778732b5dc2895.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/c6533f8919fbd9204588.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/e48a0a08bd9700f029ef.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/edf2f8b4d83dca6ed541.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/f96120c463d07664c2e3.png +0 -0
- jupytergis_core-0.1.3/jupytergis_core/labextension/static/remoteEntry.2c0a4f1ad6ed25d278ab.js +1 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/third-party-licenses.json +40 -4
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/jgisplugin/plugins.js +2 -3
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/package.json +3 -4
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/jgisplugin/plugins.ts +2 -3
- jupytergis_core-0.1.3/tsconfig.tsbuildinfo +1 -0
- jupytergis_core-0.1.1/extension.webpack.config.js +0 -52
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/037a7a10572d84466a61.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/1a50c2bb32a2f2725468.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/2bd6cc5cc336dc14664e.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/31780c7e8d2544c4aef1.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/32ef1da9016680ad72ad.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/34d618e9103c659742b2.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/36.96b959ec0acca06df9e7.js +0 -1
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/3e2abeb6f399328c6ca3.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/4d79d4897dde805afe9a.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/527.4e529cf1d6711d0091d4.js +0 -8
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/552.91f202f2e2714d760f63.js +0 -1
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/5c2774ff9757d8ca7266.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/609.d2f38c4cae8c4b9d76a8.js +0 -2
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/609.d2f38c4cae8c4b9d76a8.js.LICENSE.txt +0 -1
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/777.bc71fb7e5821a0d2d778.js +0 -2
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/801d7167d999982b47a6.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/91eea6f15a4d37354193.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/991.56c7d43ea8c85659e849.js +0 -1
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/99cba4f26941e905077c.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/a1aec2703ff3dd7cad5c.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/a35b106d2ed63c9415d8.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/a9e04491802b61881be7.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/c8b81779c65fdb3c3fa5.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/c9d6b533d9149f46ebb0.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/dbd44be87657cc8485b9.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/dc7cea97d06a8a3d2814.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/f583a55ec54e8fe27ec6.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/fd9328315a97a67c95ab.png +0 -0
- jupytergis_core-0.1.1/jupytergis_core/labextension/static/remoteEntry.f3adbeb4239acca483c6.js +0 -1
- jupytergis_core-0.1.1/tsconfig.tsbuildinfo +0 -1
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/.gitignore +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/LICENSE +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/README.md +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupyter-config/server-config/jupytergis_core.json +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/034e72037478aea1bd04.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/062a9554f6b4caac9713.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/064f37cecb8130ad66e8.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/08da2741746ddab81d04.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/154.0d16fbe1d1182d138b2c.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/197.34d9096e78e2f4b7138c.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/1d440270da19a2f22fee.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/226.280aa14a2e4c0654c374.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/27.aea9e291ba3dd16790fb.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/27.aea9e291ba3dd16790fb.js.LICENSE.txt +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/2b3d42a470b5ce14859a.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/32c7a73662cceb5bb1d7.png +0 -0
- /jupytergis_core-0.1.1/jupytergis_core/labextension/static/gdal3WebAssembly.wasm → /jupytergis_core-0.1.3/jupytergis_core/labextension/static/350eec4ce9ae4bc10bca.wasm +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/363ca7c5f78deb6fd033.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/366.33cb40029b4f4da3d3ad.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/3d48be10ffea86eb15de.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/407.fa2f7a0dc4d3371a5e2c.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/432.19e693d578a221132366.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/460.a2074380632031c05e8d.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/472.08add5249d72d563ba32.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/4ed4ae4121d38d85100b.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/509.0d58394cd3a34bdbd0b9.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/542.3038c6cef679f15b8d9a.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/555.7d0c1d2ee9e49a619cb9.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/557.fe291f5575a15c36d24c.js +0 -0
- /jupytergis_core-0.1.1/jupytergis_core/labextension/static/527.4e529cf1d6711d0091d4.js.LICENSE.txt → /jupytergis_core-0.1.3/jupytergis_core/labextension/static/57.5de96a80fc76b40d5c98.js.LICENSE.txt +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/618.86523276f857e0a3362e.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/733.9bce9fdd113869d413d0.js +0 -0
- /jupytergis_core-0.1.1/jupytergis_core/labextension/static/777.bc71fb7e5821a0d2d778.js.LICENSE.txt → /jupytergis_core-0.1.3/jupytergis_core/labextension/static/777.b41e81dd6b0af001baab.js.LICENSE.txt +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/803.959deb5eafbb3ab489c6.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/9ed013096549f2bf7c22.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/aa0d1282df07ef3c385f.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/ae2589dc6f6090080a25.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/bf9c5537f242b3244cfd.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/d0917c2edc1eee1562a2.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/d7eb57ad53f788b1fa92.png +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/d83457b1b925c1718f6d.png +0 -0
- /jupytergis_core-0.1.1/jupytergis_core/labextension/static/gdal3WebAssembly.data → /jupytergis_core-0.1.3/jupytergis_core/labextension/static/e473e1e9f20af114bbb4.data +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/jupytergis_core/labextension/static/style.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/externalcommand.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/externalcommand.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/factory.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/factory.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/index.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/index.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/jgisplugin/modelfactory.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/jgisplugin/modelfactory.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/jgisplugin/plugins.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/layerBrowserRegistry.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/layerBrowserRegistry.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/plugin.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/plugin.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/schemaregistry.d.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/lib/schemaregistry.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/pyproject.toml +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/scripts/bump-version.py +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/setup.py +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/externalcommand.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/factory.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/index.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/jgisplugin/modelfactory.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/layerBrowserRegistry.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/plugin.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/src/schemaregistry.ts +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/style/base.css +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/style/index.css +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/style/index.js +0 -0
- {jupytergis_core-0.1.1 → jupytergis_core-0.1.3}/tsconfig.json +0 -0
|
@@ -11,15 +11,18 @@ except ImportError:
|
|
|
11
11
|
|
|
12
12
|
from .handler import setup_handlers
|
|
13
13
|
|
|
14
|
+
|
|
14
15
|
def _jupyter_labextension_paths():
|
|
15
16
|
return [{"src": "labextension", "dest": "@jupytergis/jupytergis-core"}]
|
|
16
17
|
|
|
18
|
+
|
|
17
19
|
def _jupyter_server_extension_points():
|
|
18
20
|
return [{"module": "jupytergis_core"}]
|
|
19
21
|
|
|
22
|
+
|
|
20
23
|
def _load_jupyter_server_extension(server_app):
|
|
21
24
|
"""Registers the API handler to receive HTTP requests from the frontend extension.
|
|
22
|
-
|
|
25
|
+
|
|
23
26
|
Parameters
|
|
24
27
|
----------
|
|
25
28
|
server_app: jupyterlab.labapp.LabApp
|
|
@@ -3,34 +3,39 @@ from jupyter_server.utils import url_path_join
|
|
|
3
3
|
import tornado
|
|
4
4
|
import requests
|
|
5
5
|
|
|
6
|
+
|
|
6
7
|
class ProxyHandler(APIHandler):
|
|
7
8
|
@tornado.web.authenticated
|
|
8
9
|
def get(self):
|
|
9
|
-
url = self.get_argument(
|
|
10
|
+
url = self.get_argument("url")
|
|
10
11
|
print(f"Proxy request received for: {url}")
|
|
11
12
|
try:
|
|
12
13
|
response = requests.get(url)
|
|
13
14
|
response.raise_for_status()
|
|
14
15
|
|
|
15
16
|
self.set_header("Access-Control-Allow-Origin", "*")
|
|
16
|
-
self.set_header(
|
|
17
|
-
|
|
17
|
+
self.set_header(
|
|
18
|
+
"Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"
|
|
19
|
+
)
|
|
20
|
+
self.set_header(
|
|
21
|
+
"Access-Control-Allow-Headers",
|
|
22
|
+
"X-Requested-With, Content-Type, Authorization",
|
|
23
|
+
)
|
|
18
24
|
|
|
19
|
-
self.set_header(
|
|
25
|
+
self.set_header("Content-Type", response.headers["Content-Type"])
|
|
20
26
|
|
|
21
27
|
self.finish(response.content)
|
|
22
28
|
except requests.exceptions.RequestException as e:
|
|
23
29
|
self.set_status(500)
|
|
24
30
|
self.finish(str(e))
|
|
25
31
|
|
|
32
|
+
|
|
26
33
|
def setup_handlers(web_app):
|
|
27
34
|
host_pattern = ".*$"
|
|
28
35
|
|
|
29
36
|
base_url = web_app.settings["base_url"]
|
|
30
37
|
proxy_route_pattern = url_path_join(base_url, "jupytergis_core", "proxy")
|
|
31
|
-
|
|
38
|
+
|
|
32
39
|
print(f"Setting up proxy handler at: {proxy_route_pattern}")
|
|
33
|
-
handlers = [
|
|
34
|
-
(proxy_route_pattern, ProxyHandler)
|
|
35
|
-
]
|
|
40
|
+
handlers = [(proxy_route_pattern, ProxyHandler)]
|
|
36
41
|
web_app.add_handlers(host_pattern, handlers)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupytergis/jupytergis-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "JupyterGIS core extension",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@jupyter/docprovider": "^2.0.0",
|
|
56
|
-
"@jupytergis/base": "^0.1.
|
|
57
|
-
"@jupytergis/schema": "^0.1.
|
|
56
|
+
"@jupytergis/base": "^0.1.3",
|
|
57
|
+
"@jupytergis/schema": "^0.1.3",
|
|
58
58
|
"@jupyterlab/application": "^4.0.0",
|
|
59
59
|
"@jupyterlab/apputils": "^4.0.0",
|
|
60
60
|
"@jupyterlab/docregistry": "^4.0.0",
|
|
@@ -103,7 +103,6 @@
|
|
|
103
103
|
},
|
|
104
104
|
"extension": true,
|
|
105
105
|
"outputDir": "jupytergis_core/labextension",
|
|
106
|
-
"webpackConfig": "./extension.webpack.config.js",
|
|
107
106
|
"sharedPackages": {
|
|
108
107
|
"@jupytergis/base": {
|
|
109
108
|
"singleton": true,
|
|
@@ -119,7 +118,7 @@
|
|
|
119
118
|
}
|
|
120
119
|
},
|
|
121
120
|
"_build": {
|
|
122
|
-
"load": "static/remoteEntry.
|
|
121
|
+
"load": "static/remoteEntry.2c0a4f1ad6ed25d278ab.js",
|
|
123
122
|
"extension": "./extension",
|
|
124
123
|
"style": "./style"
|
|
125
124
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|