dive-custom-slideshow 0.1.3__py3-none-any.whl

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.
Files changed (35) hide show
  1. dive_custom_slideshow/__init__.py +16 -0
  2. dive_custom_slideshow/_version.py +4 -0
  3. dive_custom_slideshow/labextension/package.json +206 -0
  4. dive_custom_slideshow/labextension/schemas/dive-custom-slideshow/package.json.orig +201 -0
  5. dive_custom_slideshow/labextension/schemas/dive-custom-slideshow/plugin.json +125 -0
  6. dive_custom_slideshow/labextension/static/399.ea7c7d33549b526c9419.js +1 -0
  7. dive_custom_slideshow/labextension/static/408.98c9e2d257437ef5ea89.js +2 -0
  8. dive_custom_slideshow/labextension/static/408.98c9e2d257437ef5ea89.js.LICENSE.txt +7 -0
  9. dive_custom_slideshow/labextension/static/626.fac37229a85ff01f4c4d.js +1 -0
  10. dive_custom_slideshow/labextension/static/645.53bfdb89b3df2625d4dd.js +1 -0
  11. dive_custom_slideshow/labextension/static/851.1076c315802eb66dd3ad.js +1 -0
  12. dive_custom_slideshow/labextension/static/863.b5fcfa410282486dac4a.js +1 -0
  13. dive_custom_slideshow/labextension/static/91.bdd56ecd920f8ab5ba78.js +1 -0
  14. dive_custom_slideshow/labextension/static/remoteEntry.bee60649ae27ec9d4d09.js +1 -0
  15. dive_custom_slideshow/labextension/static/style.js +4 -0
  16. dive_custom_slideshow/labextension/static/third-party-licenses.json +46 -0
  17. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/install.json +5 -0
  18. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/package.json +206 -0
  19. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/schemas/dive-custom-slideshow/package.json.orig +201 -0
  20. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/schemas/dive-custom-slideshow/plugin.json +125 -0
  21. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/399.ea7c7d33549b526c9419.js +1 -0
  22. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/408.98c9e2d257437ef5ea89.js +2 -0
  23. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/408.98c9e2d257437ef5ea89.js.LICENSE.txt +7 -0
  24. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/626.fac37229a85ff01f4c4d.js +1 -0
  25. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/645.53bfdb89b3df2625d4dd.js +1 -0
  26. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/851.1076c315802eb66dd3ad.js +1 -0
  27. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/863.b5fcfa410282486dac4a.js +1 -0
  28. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/91.bdd56ecd920f8ab5ba78.js +1 -0
  29. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/remoteEntry.bee60649ae27ec9d4d09.js +1 -0
  30. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/style.js +4 -0
  31. dive_custom_slideshow-0.1.3.data/data/share/jupyter/labextensions/dive_custom_slideshow/static/third-party-licenses.json +46 -0
  32. dive_custom_slideshow-0.1.3.dist-info/METADATA +198 -0
  33. dive_custom_slideshow-0.1.3.dist-info/RECORD +35 -0
  34. dive_custom_slideshow-0.1.3.dist-info/WHEEL +4 -0
  35. dive_custom_slideshow-0.1.3.dist-info/licenses/LICENSE +29 -0
@@ -0,0 +1,16 @@
1
+ try:
2
+ from ..custom_slideshow._version import __version__
3
+ except ImportError:
4
+ # Fallback when using the package in dev mode without installing
5
+ # in editable mode with pip. It is highly recommended to install
6
+ # the package from a stable release or in editable mode: https://pip.pypa.io/en/stable/topics/local-project-installs/#editable-installs
7
+ import warnings
8
+ warnings.warn("Importing 'dive_custom_slideshow' outside a proper installation.")
9
+ __version__ = "dev"
10
+
11
+
12
+ def _jupyter_labextension_paths():
13
+ return [{
14
+ "src": "labextension",
15
+ "dest": "dive_custom_slideshow"
16
+ }]
@@ -0,0 +1,4 @@
1
+ # This file is auto-generated by Hatchling. As such, do not:
2
+ # - modify
3
+ # - track in version control e.g. be sure to add to .gitignore
4
+ __version__ = VERSION = '0.1.3'
@@ -0,0 +1,206 @@
1
+ {
2
+ "name": "dive-custom-slideshow",
3
+ "version": "0.1.3",
4
+ "description": "JupyterLab extension for animated slideshow.",
5
+ "keywords": [
6
+ "jupyter",
7
+ "jupyterlab",
8
+ "jupyterlab-extension"
9
+ ],
10
+ "homepage": "https://github.com/ccha23/fyp-custom-slideshow",
11
+ "bugs": {
12
+ "url": "https://github.com/ccha23/fyp-custom-slideshow/issues"
13
+ },
14
+ "license": "BSD-3-Clause",
15
+ "author": {
16
+ "name": "ltshum",
17
+ "email": "ltshum6-c@my.cityu.edu.hk"
18
+ },
19
+ "files": [
20
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
21
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
22
+ "src/**/*.{ts,tsx}",
23
+ "schema/*.json"
24
+ ],
25
+ "main": "lib/index.js",
26
+ "types": "lib/index.d.ts",
27
+ "style": "style/index.css",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/ccha23/fyp-custom-slideshow.git"
31
+ },
32
+ "scripts": {
33
+ "build": "jlpm build:lib && jlpm build:labextension:dev",
34
+ "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
35
+ "build:labextension": "jupyter labextension build .",
36
+ "build:labextension:dev": "jupyter labextension build --development True .",
37
+ "build:lib": "tsc --sourceMap",
38
+ "build:lib:prod": "tsc",
39
+ "clean": "jlpm clean:lib",
40
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
41
+ "clean:lintcache": "rimraf .eslintcache .stylelintcache",
42
+ "clean:labextension": "rimraf dive_custom_slideshow/labextension dive_custom_slideshow/_version.py",
43
+ "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
+ "eslint": "jlpm eslint:check --fix",
45
+ "eslint:check": "eslint . --cache --ext .ts,.tsx",
46
+ "install:extension": "jlpm build",
47
+ "lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
48
+ "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
49
+ "prettier": "jlpm prettier:base --write --list-different",
50
+ "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
51
+ "prettier:check": "jlpm prettier:base --check",
52
+ "stylelint": "jlpm stylelint:check --fix",
53
+ "stylelint:check": "stylelint --cache \"style/**/*.css\"",
54
+ "test": "jest --coverage",
55
+ "watch": "run-p watch:src watch:labextension",
56
+ "watch:src": "tsc -w --sourceMap",
57
+ "watch:labextension": "jupyter labextension watch ."
58
+ },
59
+ "dependencies": {
60
+ "@jupyterlab/application": "^4.5.0",
61
+ "@jupyterlab/settingregistry": "^4.5.0",
62
+ "@mathjax/src": "4",
63
+ "@svgdotjs/svg.js": "^3.2.5",
64
+ "@types/reveal.js": "^5.2.2",
65
+ "reveal.js": "^5.2.1"
66
+ },
67
+ "devDependencies": {
68
+ "@jupyterlab/builder": "^4.5.0",
69
+ "@jupyterlab/testutils": "^4.5.0",
70
+ "@types/jest": "^29.2.0",
71
+ "@types/json-schema": "^7.0.11",
72
+ "@types/react": "^18.0.26",
73
+ "@types/react-addons-linked-state-mixin": "^0.14.22",
74
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
75
+ "@typescript-eslint/parser": "^6.1.0",
76
+ "css-loader": "^6.7.1",
77
+ "eslint": "^8.36.0",
78
+ "eslint-config-prettier": "^8.8.0",
79
+ "eslint-plugin-prettier": "^5.0.0",
80
+ "jest": "^29.2.0",
81
+ "npm-run-all2": "^7.0.1",
82
+ "prettier": "^3.0.0",
83
+ "rimraf": "^5.0.1",
84
+ "source-map-loader": "^1.0.2",
85
+ "style-loader": "^3.3.1",
86
+ "stylelint": "^15.10.1",
87
+ "stylelint-config-recommended": "^13.0.0",
88
+ "stylelint-config-standard": "^34.0.0",
89
+ "stylelint-csstree-validator": "^3.0.0",
90
+ "stylelint-prettier": "^4.0.0",
91
+ "typescript": "~5.8.0",
92
+ "yjs": "^13.5.0"
93
+ },
94
+ "sideEffects": [
95
+ "style/*.css",
96
+ "style/index.js"
97
+ ],
98
+ "styleModule": "style/index.js",
99
+ "publishConfig": {
100
+ "access": "public"
101
+ },
102
+ "jupyterlab": {
103
+ "extension": true,
104
+ "outputDir": "dive_custom_slideshow/labextension",
105
+ "schemaDir": "schema",
106
+ "_build": {
107
+ "load": "static/remoteEntry.bee60649ae27ec9d4d09.js",
108
+ "extension": "./extension",
109
+ "style": "./style"
110
+ }
111
+ },
112
+ "eslintIgnore": [
113
+ "node_modules",
114
+ "dist",
115
+ "coverage",
116
+ "**/*.d.ts",
117
+ "tests",
118
+ "**/__tests__",
119
+ "ui-tests"
120
+ ],
121
+ "eslintConfig": {
122
+ "extends": [
123
+ "eslint:recommended",
124
+ "plugin:@typescript-eslint/eslint-recommended",
125
+ "plugin:@typescript-eslint/recommended",
126
+ "plugin:prettier/recommended"
127
+ ],
128
+ "parser": "@typescript-eslint/parser",
129
+ "parserOptions": {
130
+ "project": "tsconfig.json",
131
+ "sourceType": "module"
132
+ },
133
+ "plugins": [
134
+ "@typescript-eslint"
135
+ ],
136
+ "rules": {
137
+ "@typescript-eslint/naming-convention": [
138
+ "error",
139
+ {
140
+ "selector": "interface",
141
+ "format": [
142
+ "PascalCase"
143
+ ],
144
+ "custom": {
145
+ "regex": "^I[A-Z]",
146
+ "match": true
147
+ }
148
+ }
149
+ ],
150
+ "@typescript-eslint/no-unused-vars": [
151
+ "warn",
152
+ {
153
+ "args": "none"
154
+ }
155
+ ],
156
+ "@typescript-eslint/no-explicit-any": "off",
157
+ "@typescript-eslint/no-namespace": "off",
158
+ "@typescript-eslint/no-use-before-define": "off",
159
+ "@typescript-eslint/quotes": [
160
+ "error",
161
+ "single",
162
+ {
163
+ "avoidEscape": true,
164
+ "allowTemplateLiterals": false
165
+ }
166
+ ],
167
+ "curly": [
168
+ "error",
169
+ "all"
170
+ ],
171
+ "eqeqeq": "error",
172
+ "prefer-arrow-callback": "error"
173
+ }
174
+ },
175
+ "prettier": {
176
+ "singleQuote": true,
177
+ "trailingComma": "none",
178
+ "arrowParens": "avoid",
179
+ "endOfLine": "auto",
180
+ "overrides": [
181
+ {
182
+ "files": "package.json",
183
+ "options": {
184
+ "tabWidth": 4
185
+ }
186
+ }
187
+ ]
188
+ },
189
+ "stylelint": {
190
+ "extends": [
191
+ "stylelint-config-recommended",
192
+ "stylelint-config-standard",
193
+ "stylelint-prettier/recommended"
194
+ ],
195
+ "plugins": [
196
+ "stylelint-csstree-validator"
197
+ ],
198
+ "rules": {
199
+ "csstree/validator": true,
200
+ "property-no-vendor-prefix": null,
201
+ "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
202
+ "selector-no-vendor-prefix": null,
203
+ "value-no-vendor-prefix": null
204
+ }
205
+ }
206
+ }
@@ -0,0 +1,201 @@
1
+ {
2
+ "name": "dive-custom-slideshow",
3
+ "version": "0.1.3",
4
+ "description": "JupyterLab extension for animated slideshow.",
5
+ "keywords": [
6
+ "jupyter",
7
+ "jupyterlab",
8
+ "jupyterlab-extension"
9
+ ],
10
+ "homepage": "https://github.com/ccha23/fyp-custom-slideshow",
11
+ "bugs": {
12
+ "url": "https://github.com/ccha23/fyp-custom-slideshow/issues"
13
+ },
14
+ "license": "BSD-3-Clause",
15
+ "author": {
16
+ "name": "ltshum",
17
+ "email": "ltshum6-c@my.cityu.edu.hk"
18
+ },
19
+ "files": [
20
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
21
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}",
22
+ "src/**/*.{ts,tsx}",
23
+ "schema/*.json"
24
+ ],
25
+ "main": "lib/index.js",
26
+ "types": "lib/index.d.ts",
27
+ "style": "style/index.css",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/ccha23/fyp-custom-slideshow.git"
31
+ },
32
+ "scripts": {
33
+ "build": "jlpm build:lib && jlpm build:labextension:dev",
34
+ "build:prod": "jlpm clean && jlpm build:lib:prod && jlpm build:labextension",
35
+ "build:labextension": "jupyter labextension build .",
36
+ "build:labextension:dev": "jupyter labextension build --development True .",
37
+ "build:lib": "tsc --sourceMap",
38
+ "build:lib:prod": "tsc",
39
+ "clean": "jlpm clean:lib",
40
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
41
+ "clean:lintcache": "rimraf .eslintcache .stylelintcache",
42
+ "clean:labextension": "rimraf dive_custom_slideshow/labextension dive_custom_slideshow/_version.py",
43
+ "clean:all": "jlpm clean:lib && jlpm clean:labextension && jlpm clean:lintcache",
44
+ "eslint": "jlpm eslint:check --fix",
45
+ "eslint:check": "eslint . --cache --ext .ts,.tsx",
46
+ "install:extension": "jlpm build",
47
+ "lint": "jlpm stylelint && jlpm prettier && jlpm eslint",
48
+ "lint:check": "jlpm stylelint:check && jlpm prettier:check && jlpm eslint:check",
49
+ "prettier": "jlpm prettier:base --write --list-different",
50
+ "prettier:base": "prettier \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
51
+ "prettier:check": "jlpm prettier:base --check",
52
+ "stylelint": "jlpm stylelint:check --fix",
53
+ "stylelint:check": "stylelint --cache \"style/**/*.css\"",
54
+ "test": "jest --coverage",
55
+ "watch": "run-p watch:src watch:labextension",
56
+ "watch:src": "tsc -w --sourceMap",
57
+ "watch:labextension": "jupyter labextension watch ."
58
+ },
59
+ "dependencies": {
60
+ "@jupyterlab/application": "^4.5.0",
61
+ "@jupyterlab/settingregistry": "^4.5.0",
62
+ "@mathjax/src": "4",
63
+ "@svgdotjs/svg.js": "^3.2.5",
64
+ "@types/reveal.js": "^5.2.2",
65
+ "reveal.js": "^5.2.1"
66
+ },
67
+ "devDependencies": {
68
+ "@jupyterlab/builder": "^4.5.0",
69
+ "@jupyterlab/testutils": "^4.5.0",
70
+ "@types/jest": "^29.2.0",
71
+ "@types/json-schema": "^7.0.11",
72
+ "@types/react": "^18.0.26",
73
+ "@types/react-addons-linked-state-mixin": "^0.14.22",
74
+ "@typescript-eslint/eslint-plugin": "^6.1.0",
75
+ "@typescript-eslint/parser": "^6.1.0",
76
+ "css-loader": "^6.7.1",
77
+ "eslint": "^8.36.0",
78
+ "eslint-config-prettier": "^8.8.0",
79
+ "eslint-plugin-prettier": "^5.0.0",
80
+ "jest": "^29.2.0",
81
+ "npm-run-all2": "^7.0.1",
82
+ "prettier": "^3.0.0",
83
+ "rimraf": "^5.0.1",
84
+ "source-map-loader": "^1.0.2",
85
+ "style-loader": "^3.3.1",
86
+ "stylelint": "^15.10.1",
87
+ "stylelint-config-recommended": "^13.0.0",
88
+ "stylelint-config-standard": "^34.0.0",
89
+ "stylelint-csstree-validator": "^3.0.0",
90
+ "stylelint-prettier": "^4.0.0",
91
+ "typescript": "~5.8.0",
92
+ "yjs": "^13.5.0"
93
+ },
94
+ "sideEffects": [
95
+ "style/*.css",
96
+ "style/index.js"
97
+ ],
98
+ "styleModule": "style/index.js",
99
+ "publishConfig": {
100
+ "access": "public"
101
+ },
102
+ "jupyterlab": {
103
+ "extension": true,
104
+ "outputDir": "dive_custom_slideshow/labextension",
105
+ "schemaDir": "schema"
106
+ },
107
+ "eslintIgnore": [
108
+ "node_modules",
109
+ "dist",
110
+ "coverage",
111
+ "**/*.d.ts",
112
+ "tests",
113
+ "**/__tests__",
114
+ "ui-tests"
115
+ ],
116
+ "eslintConfig": {
117
+ "extends": [
118
+ "eslint:recommended",
119
+ "plugin:@typescript-eslint/eslint-recommended",
120
+ "plugin:@typescript-eslint/recommended",
121
+ "plugin:prettier/recommended"
122
+ ],
123
+ "parser": "@typescript-eslint/parser",
124
+ "parserOptions": {
125
+ "project": "tsconfig.json",
126
+ "sourceType": "module"
127
+ },
128
+ "plugins": [
129
+ "@typescript-eslint"
130
+ ],
131
+ "rules": {
132
+ "@typescript-eslint/naming-convention": [
133
+ "error",
134
+ {
135
+ "selector": "interface",
136
+ "format": [
137
+ "PascalCase"
138
+ ],
139
+ "custom": {
140
+ "regex": "^I[A-Z]",
141
+ "match": true
142
+ }
143
+ }
144
+ ],
145
+ "@typescript-eslint/no-unused-vars": [
146
+ "warn",
147
+ {
148
+ "args": "none"
149
+ }
150
+ ],
151
+ "@typescript-eslint/no-explicit-any": "off",
152
+ "@typescript-eslint/no-namespace": "off",
153
+ "@typescript-eslint/no-use-before-define": "off",
154
+ "@typescript-eslint/quotes": [
155
+ "error",
156
+ "single",
157
+ {
158
+ "avoidEscape": true,
159
+ "allowTemplateLiterals": false
160
+ }
161
+ ],
162
+ "curly": [
163
+ "error",
164
+ "all"
165
+ ],
166
+ "eqeqeq": "error",
167
+ "prefer-arrow-callback": "error"
168
+ }
169
+ },
170
+ "prettier": {
171
+ "singleQuote": true,
172
+ "trailingComma": "none",
173
+ "arrowParens": "avoid",
174
+ "endOfLine": "auto",
175
+ "overrides": [
176
+ {
177
+ "files": "package.json",
178
+ "options": {
179
+ "tabWidth": 4
180
+ }
181
+ }
182
+ ]
183
+ },
184
+ "stylelint": {
185
+ "extends": [
186
+ "stylelint-config-recommended",
187
+ "stylelint-config-standard",
188
+ "stylelint-prettier/recommended"
189
+ ],
190
+ "plugins": [
191
+ "stylelint-csstree-validator"
192
+ ],
193
+ "rules": {
194
+ "csstree/validator": true,
195
+ "property-no-vendor-prefix": null,
196
+ "selector-class-pattern": "^([a-z][A-z\\d]*)(-[A-z\\d]+)*$",
197
+ "selector-no-vendor-prefix": null,
198
+ "value-no-vendor-prefix": null
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,125 @@
1
+ {
2
+ "jupyter.lab.shortcuts": [],
3
+ "title": "dive-custom-slideshow",
4
+ "description": "dive-custom-slideshow settings.",
5
+ "type": "object",
6
+ "properties": {
7
+ "dummy": {
8
+ "type": "boolean",
9
+ "title": "Dummy",
10
+ "description": "Placeholder",
11
+ "default": false
12
+ },
13
+ "default_transition": {
14
+ "title": "Default slide transition type",
15
+ "type": "string",
16
+ "enum": ["none", "slide", "fade", "zoom"],
17
+ "enumNames": ["None", "Slide", "Fade", "Zoom"],
18
+ "default": "slide"
19
+ }
20
+ },
21
+ "additionalProperties": false,
22
+ "jupyter.lab.menus": {
23
+ "main": [
24
+ {
25
+ "id": "slideshow-menu",
26
+ "label": "Slideshow",
27
+ "rank": 80,
28
+ "items": [
29
+ {
30
+ "command": "slideshow:start-first"
31
+ },
32
+ {
33
+ "command": "slideshow:start-current"
34
+ },
35
+ {
36
+ "command": "slideshow:exit"
37
+ }
38
+ ]
39
+ }
40
+ ]
41
+ },
42
+ "jupyter.lab.metadataforms": [
43
+ {
44
+ "id": "slideshow-metadata-form:plugin",
45
+ "label": "Slideshow Tools",
46
+ "uiSchema": {
47
+ "ui:order": [
48
+ "/slideshow/transition",
49
+ "/slideshow/transition_out",
50
+ "/slideshow/slide_dir",
51
+ "/slideshow/transition_duration",
52
+ "/slideshow/hide_code"
53
+ ]
54
+ },
55
+ "metadataSchema": {
56
+ "type": "object",
57
+ "properties": {
58
+ "/slideshow/transition": {
59
+ "title": "Transition Type",
60
+ "type": "string",
61
+ "enum": ["", "none", "slide", "fade", "zoom"],
62
+ "enumNames": ["Default", "None", "Slide", "Fade", "Zoom"],
63
+ "default": ""
64
+ },
65
+ "/slideshow/transition_out": {
66
+ "title": "Transition-out Type",
67
+ "description": "Does not apply to fragments",
68
+ "type": "string",
69
+ "enum": ["", "none", "slide", "fade", "zoom"],
70
+ "enumNames": ["Inherit", "None", "Slide", "Fade", "Zoom"],
71
+ "default": ""
72
+ },
73
+ "/slideshow/transition_duration": {
74
+ "title": "Transition Duration (seconds)",
75
+ "description": "Default: 0.5 seconds",
76
+ "type": "number",
77
+ "minimum": 0
78
+ },
79
+ "/slideshow/hide_code": {
80
+ "title": "Hide Code Cell",
81
+ "type": "boolean",
82
+ "default": false
83
+ }
84
+ },
85
+ "allOf": [
86
+ {
87
+ "if": {
88
+ "anyOf": [
89
+ {
90
+ "properties": {
91
+ "/slideshow/transition": {
92
+ "const": "slide"
93
+ }
94
+ }
95
+ },
96
+ {
97
+ "properties": {
98
+ "/slideshow/transition_out": {
99
+ "const": "slide"
100
+ }
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ "then": {
106
+ "properties": {
107
+ "/slideshow/slide_dir": {
108
+ "title": "Slide Direction",
109
+ "type": "string",
110
+ "enum": ["horizontal", "vertical"],
111
+ "enumNames": ["Horizontal", "Vertical"]
112
+ }
113
+ }
114
+ }
115
+ }
116
+ ]
117
+ },
118
+ "metadataOptions": {
119
+ "/slideshow/hide_code": {
120
+ "cellTypes": ["code"]
121
+ }
122
+ }
123
+ }
124
+ ]
125
+ }
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkdive_custom_slideshow=self.webpackChunkdive_custom_slideshow||[]).push([[399],{247:(e,t,n)=>{n.r(t),n.d(t,{default:()=>M});var o=n(9615),i=n(8997);const s="dive-custom-slideshow";var l,A;!function(e){e.SLIDE="slide",e.SUBSLIDE="subslide",e.FRAGMENT="fragment",e.NOTES="notes",e.SKIP="skip",e.HIDDEN="hidden",e.VISIBLE="fragment-visible"}(l||(l={})),function(e){e.NONE="none",e.SLIDE="slide",e.FADE="fade",e.ZOOM="zoom"}(A||(A={}));class a{constructor(e,t){this.index=e,this.cell=t}}class d extends a{constructor(e,t,n,o,i){super(e,t),this.transition=n,this.transitionOut=o,this.transitionDuration=i,this.fragments=[],this.children=[]}}class r extends a{constructor(e,t,n,o,i){super(e,t),this.transition=n,this.transitionOut=o,this.transitionDuration=i,this.fragments=[],this.children=[]}}class c extends a{constructor(e,t,n,o){super(e,t),this.transition=n,this.transitionDuration=o,this.children=[]}}var h=n(3268),g=n.n(h);n(5923),n(9941);var u=n(1480),m=n(9019),I=n(7775),w=(n(5188),n(1089)),C=n(1048),D=n(6612),E=n(3716);m.S.handlers.register((0,C.C)(new D.O((0,E.G)())));class B{constructor(){const e=new w.t4,t=new I.o({inlineMath:[["$","$"],["\\(","\\)"]],displayMath:[["$$","$$"],["\\[","\\]"]],packages:["base","html"],processEscapes:!0,processEnvironments:!0});this._html=m.S.document(window.document,{InputJax:t,OutputJax:e})}typeset(e){this._html.clear().findMath({elements:[e]}).compile().getMetrics().typeset().updateDocument()}}const S={id:`${s}:mathjax`,description:"MathJax 4 typesetter",requires:[],provides:u.ILatexTypesetter,activate:()=>new B,autoStart:!0},p={id:`${s}:plugin`,description:"JupyterLab extension for animated slideshow.",autoStart:!0,requires:[o.INotebookTracker,i.ISettingRegistry],activate:(e,t,o)=>{console.log("JupyterLab extension dive-custom-slideshow is activated!"),((e,t,o)=>{const{commands:i}=e;let h,u,m,I={},w=!1,C=[],D=[],E=null;n.e(91).then(n.bind(n,3091)),n.e(645).then(n.bind(n,9645));const B=e=>({dummy:e.get("dummy").composite,default_transition:e.get("default_transition").composite});Promise.all([e.restored,o.load(`${s}:plugin`)]).then(([,e])=>{I=B(e),e.changed.connect(()=>{console.log("dive-custom-slideshow settings updated:"),I=B(e),console.log(I)}),i.addCommand("slideshow:start-first",{label:"Start from first cell",isEnabled:()=>!w,execute:async()=>{try{S()}catch(e){console.error("Error starting slideshow:"),console.error(e)}}}),i.addCommand("slideshow:start-current",{label:"Start from current cell",isEnabled:()=>!w,execute:()=>{try{S("current")}catch(e){console.error("Error starting slideshow:"),console.error(e)}}}),i.addCommand("slideshow:exit",{label:"Exit slideshow",isEnabled:()=>w,execute:()=>{try{N()}catch(e){console.error("Error exiting slideshow: "),console.error(e)}}})});const S=(e="first")=>{w=!0,C=[],D=[],t.currentWidget&&(h=t.currentWidget,h.context.ready.then(async()=>{f(h),await v(h).then(async t=>{var n;t.forEach((e,t)=>{var n,o,i,s,A;const h=null===(n=e.model.metadata.slideshow)||void 0===n?void 0:n.slide_type,g=null===(o=e.model.metadata.slideshow)||void 0===o?void 0:o.transition,u=null===(i=e.model.metadata.slideshow)||void 0===i?void 0:i.transition_out,m=null!==(A=null===(s=e.model.metadata.slideshow)||void 0===s?void 0:s.transition_duration)&&void 0!==A?A:.5;switch(h){case l.SLIDE:C.push(new d(t,e,g,u,m));break;case l.SUBSLIDE:C.push(0===C.length?new d(t,e,g,u,m):new r(t,e,g,u,m));break;case l.FRAGMENT:0===C.length?C.push(new d(t,e,g,u,m)):C[C.length-1].fragments.push(new c(t,e,g,m));break;case l.SKIP:break;default:if(0===C.length)C.push(new d(t,e,g,u,m));else{const n=C[C.length-1];n.fragments.length>0?n.fragments[n.fragments.length-1].children.push(new a(t,e)):n.children.push(new a(t,e))}}});for(let e=0;e<C.length;e++)if(C[e]instanceof d){const t=document.createElement("section");if(C[e].transition){let o=C[e].transition;C[e].transitionOut&&(o+=`-in ${C[e].transitionOut}-out`),t.setAttribute("data-transition",o),(null===(n=C[e].cell.model.metadata.slideshow)||void 0===n?void 0:n.slide_dir)&&t.classList.add(C[e].cell.model.metadata.slideshow.slide_dir)}t.style.transitionDuration=`${C[e].transitionDuration}s`;const o=document.createElement("section");t.appendChild(o),M(o,C[e]),D.push(t)}else if(C[e]instanceof r){const t=document.createElement("section");M(t,C[e]),D[D.length-1].appendChild(t)}const o=document.createElement("div");o.className="reveal";const i=document.createElement("div");i.className="slides";for(let e=0;e<D.length;e++)i.appendChild(D[e]);o.appendChild(i),h.content.node.insertBefore(o,h.content.node.firstChild),E=new(g())(o,{animate:{autoplay:!0},plugins:[window.RevealLoadContent,window.RevealAnimate],transition:I.default_transition||"slide"}),await E.initialize().then(()=>{var n;if(null!==E)if("first"===e)E.slide(0);else if("current"===e){let e=h.content.activeCellIndex||0;for(;![l.SLIDE,l.SUBSLIDE,l.FRAGMENT].includes(null===(n=t[e].model.metadata.slideshow)||void 0===n?void 0:n.slide_type)&&e>0;)e--;const o=t[e],i=E.getHorizontalSlides();let s=!1;for(let e=0;e<i.length&&!s;e++)for(let t=0;t<i[e].children.length;t++)if(i[e].children[t].innerHTML.includes(o.node.innerHTML)){let n;if(i[e].children[t].children.length>1)for(let s=0;s<i[e].children[t].children.length;s++)if(i[e].children[t].children[s].innerHTML.includes(o.node.innerHTML)){n=s-1;break}E.slide(e,t,n),s=!0;break}}})}),document.addEventListener("fullscreenchange",p),await h.content.node.requestFullscreen()}))},p=()=>{document.fullscreenElement||N()},M=(e,t)=>{var n,o,i,s;if("code"===t.cell.model.type&&(null===(n=t.cell.model.metadata.slideshow)||void 0===n?void 0:n.hide_code)&&t.cell.node.classList.add("hide-code"),t.transition){let n=t.transition;t.transitionOut&&(n+=`-in ${t.transitionOut}-out`),e.setAttribute("data-transition",n),(null===(o=t.cell.model.metadata.slideshow)||void 0===o?void 0:o.slide_dir)&&e.classList.add(t.cell.model.metadata.slideshow.slide_dir)}e.style.transitionDuration=`${t.transitionDuration}s`;const l=document.createElement("div");l.appendChild(t.cell.node),null===(i=t.children)||void 0===i||i.forEach(e=>{M(l,e)}),e.appendChild(l),null===(s=t.fragments)||void 0===s||s.forEach(t=>{var n;const o=document.createElement("div");switch(o.classList.add("fragment"),t.transition){case A.SLIDE:o.classList.add("vertical"===(null===(n=t.cell.model.metadata.slideshow)||void 0===n?void 0:n.slide_dir)?"fade-up":"fade-left");break;case A.ZOOM:o.classList.add("zoom");break;case A.NONE:o.classList.add("none")}M(o,t),e.appendChild(o)})},L=(e,t=!0)=>{var n,o;document.querySelectorAll(`\n .cell${e.index} .cm-scroller,\n .cell${e.index} .jp-RenderedMarkdown,\n .cell${e.index} .jp-RenderedText *\n `).forEach(e=>{t?e.setAttribute("style","font-size: 200%;"):e.removeAttribute("style")}),t||e.cell.node.classList.remove(`cell${e.index}`),null===(n=e.children)||void 0===n||n.forEach(e=>{L(e,t)}),null===(o=e.fragments)||void 0===o||o.forEach(e=>{L(e,t)})},N=()=>{w=!1,k(h),document.removeEventListener("fullscreenchange",p),h.content.node.removeChild(h.content.node.firstChild),null==E||E.destroy()},f=async(e,t=!0)=>{var n,o,i;if(t){e.content.addClass("slide-container"),e.toolbar.addClass(l.HIDDEN),m=e.content.notebookConfig.windowingMode,e.content.notebookConfig={...e.content.notebookConfig,windowingMode:"none"},u=document.querySelector(".slide-container .jp-WindowedPanel-viewport"),await v(e).then(e=>{e.forEach(e=>{try{u.removeChild(e.node)}catch(e){}})});const t=document.querySelectorAll(".jp-Notebook-footer");for(let e=0;e<t.length;e++)null===(n=t.item(e))||void 0===n||n.classList.add(l.HIDDEN)}else{e.content.removeClass("slide-container"),e.toolbar.removeClass(l.HIDDEN),e.content.notebookConfig={...e.content.notebookConfig,windowingMode:m},await v(e).then(e=>{e.forEach(e=>{u.appendChild(e.node)})});for(let t=0;t<e.content.node.children.length;t++)null===(o=e.content.node.children.item(t))||void 0===o||o.classList.remove(l.HIDDEN);const t=document.querySelectorAll(".jp-Notebook-footer");for(let e=0;e<t.length;e++)null===(i=t.item(e))||void 0===i||i.classList.remove(l.HIDDEN)}},v=async e=>{let t=[];return await e.context.ready,await Promise.all(e.content.widgets.map(e=>e.ready)).then(()=>{t=[...e.content.widgets]}),t},k=async e=>{f(e,!1),C.forEach(e=>{L(e,!1)}),await v(e).then(e=>{e.forEach(e=>{((e,t=!0)=>{t&&e.classList.remove(...Object.values(l)),e.style.removeProperty("transition-duration"),e.classList.remove(l.HIDDEN),["in","out"].forEach(t=>{e.classList.remove(...Object.values(A).map(e=>`${e}-${t}`)),["left","right","up","down"].forEach(n=>{e.classList.remove(`${A.SLIDE}-${t}-${n}`)})})})(e.node),e.node.classList.remove("hide-code")})})}})(e,t,o),o&&o.load(p.id).then(e=>{console.log("dive-custom-slideshow settings loaded:",e.composite)}).catch(e=>{console.error("Failed to load settings for dive-custom-slideshow.",e)})}},M=[p,S]},1041:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMyAyYTEgMSAwIDAgMC0xIDF2OWExIDEgMCAwIDAgMSAxaDlhMSAxIDAgMCAwIDEtMVY4LjVhLjUuNSAwIDAgMC0xIDBWMTJIM1YzaDMuNWEuNS41IDAgMCAwIDAtMUgzWm05Ljg1NC4xNDZhLjUuNSAwIDAgMSAuMTQ2LjM1MVY1LjVhLjUuNSAwIDAgMS0xIDBWMy43MDdMNi44NTQgOC44NTRhLjUuNSAwIDEgMS0uNzA4LS43MDhMMTEuMjkzIDNIOS41YS41LjUgMCAwIDEgMC0xaDNhLjQ5OS40OTkgMCAwIDEgLjM1NC4xNDZaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4="},2314:e=>{e.exports="data:image/gif;base64,R0lGODlhIAAgAPMAAJmZmf%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D"},7870:e=>{e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTIuODU0IDIuODU0YS41LjUgMCAwIDAtLjcwOC0uNzA4TDcuNSA2Ljc5MyAyLjg1NCAyLjE0NmEuNS41IDAgMSAwLS43MDguNzA4TDYuNzkzIDcuNWwtNC42NDcgNC42NDZhLjUuNSAwIDAgMCAuNzA4LjcwOEw3LjUgOC4yMDdsNC42NDYgNC42NDdhLjUuNSAwIDAgMCAuNzA4LS43MDhMOC4yMDcgNy41bDQuNjQ3LTQuNjQ2WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+"}}]);