glass-easel-devtools-panel 0.12.1 → 0.17.2
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.
- package/dist/bootstrap.js +2 -2
- package/dist/index.css +17 -15
- package/dist/pages/tree/multiline-editable.d.ts +0 -0
- package/package.json +5 -5
- package/src/bootstrap.ts +1 -0
- package/src/events.ts +6 -2
- package/src/message_channel.ts +16 -13
- package/src/pages/detail/detail.ts +2 -2
- package/src/pages/detail/editable.ts +3 -4
- package/src/pages/detail/value.ts +1 -4
- package/src/pages/index/index.ts +5 -2
- package/src/pages/tree/element.json +2 -1
- package/src/pages/tree/element.ts +9 -5
- package/src/pages/tree/element.wxml +1 -1
- package/src/pages/tree/multiline-editable.json +3 -0
- package/src/pages/tree/multiline-editable.ts +66 -0
- package/src/pages/tree/multiline-editable.wxml +7 -0
- package/src/pages/tree/multiline-editable.wxss +43 -0
- package/.eslintignore +0 -2
- package/dist/global_components/image/image.d.ts +0 -1
- package/dist/global_components/view/view.d.ts +0 -2
- package/dist/pages/index/checkbox.d.ts +0 -1
- package/dist/pages/index/index.d.ts +0 -1
- package/dist/pages/index/options.d.ts +0 -1
- package/dist/pages/tree/element.d.ts +0 -1
package/dist/index.css
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
[wx-host="A"]{display:block;}
|
|
2
2
|
|
|
3
|
+
[wx-host="C"]{display:block;}
|
|
4
|
+
[wx-host="D"]{display:inline-block;cursor:text;position:relative;}
|
|
5
|
+
[wx-host="E"]{display:block;}
|
|
3
6
|
|
|
4
|
-
[wx-host="D"]{display:block;}
|
|
5
|
-
[wx-host="E"]{display:block;position:absolute;left:0;top:100%;width:auto;}
|
|
6
|
-
[wx-host="F"]{display:block;}
|
|
7
|
-
[wx-host="G"]{display:inline-block;cursor:text;position:relative;}
|
|
8
7
|
|
|
9
8
|
|
|
10
|
-
[wx-host="
|
|
9
|
+
[wx-host="I"]{display:block;position:absolute;left:0;top:100%;width:auto;}
|
|
10
|
+
[wx-host="J"]{display:block;position:relative;}
|
|
11
|
+
[wx-host="K"]{display:block;}
|
|
11
12
|
|
|
12
|
-
@keyframes update-ani{to{background:transparent;}}.A--updated{background-color:#dd8;animation-duration:1s;animation-fill-mode:both;animation-name:update-ani;animation-timing-function:ease;}@media(prefers-color-scheme: dark){.A--updated{background-color:#772;}}.A--tag{color:#808080;white-space:nowrap;}@media(prefers-color-scheme: dark){.A--tag{color:#808080;}}.A--fold-arrow{display:inline-block;width:1em;height:1em;line-height:1em;color:#444;text-align:center;user-select:none;}.A--fold-arrow-icon{width:1em;transition:transform 200ms ease;}.A--fold-arrow-icon_open{transform:rotate(90deg);}.A--tag-body{display:inline-block;}.A--tag-body_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.A--tag-body_hover{background-color:#246;}}.A--tag-body_selected{background-color:#add;}@media(prefers-color-scheme: dark){.A--tag-body_selected{background-color:#255;}}.A--tag-body_highlight{background-color:rgba(0,128,192,0.25);}@media(prefers-color-scheme: dark){.A--tag-body_highlight{background-color:rgba(128,192,255,0.25);}}.A--tag-text{display:inline;}.A--tag-name{display:inline-block;color:#408;}@media(prefers-color-scheme: dark){.A--tag-name{color:#c8e;}}.A--tag-var-name-wrapper{display:inline;}.A--tag-var-name{display:inline-block;margin-left:0.25em;height:1em;line-height:1em;min-width:1em;text-align:center;font-size:0.8em;font-style:italic;color:#222;}@media(prefers-color-scheme: dark){.A--tag-var-name{color:#ddd;}}.A--tag-var-name_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.A--tag-var-name_hover{background-color:#246;}}.A--attribute{display:inline-block;margin-left:0.5em;}.A--attribute-name{display:inline-block;color:#084;}@media(prefers-color-scheme: dark){.A--attribute-name{color:#6ea;}}.A--attribute-name_property{color:#06a;}@media(prefers-color-scheme: dark){.A--attribute-name_property{color:#6ce;}}.A--attribute-value{display:inline-block;color:#840;}@media(prefers-color-scheme: dark){.A--attribute-value{color:#ea6;}}.A--children_indent{margin-left:1em;}.A--virtual-tag-name{display:inline-block;font-style:italic;}.A--virtual-tag-name_hover{background-color:#add;}@media(prefers-color-scheme: dark){.A--virtual-tag-name_hover{background-color:#255;}}.A--text-content{color:#222;padding:1px 0;}@media(prefers-color-scheme: dark){.A--text-content{color:#ddd;}}
|
|
13
|
-
body{margin:0;height:100vh;}.wrapper{font-family:monospace;font-size:12px;background-color:#eee;height:100%;cursor:default;user-select:none;}@media(prefers-color-scheme: dark){.wrapper{background-color:#222;}}.empty{color:#808080;font-style:italic;padding:5px;}@media(prefers-color-scheme: dark){.empty{color:#808080;}}.main{height:100%;}.tree-detail{display:flex;height:100%;overflow:hidden;}.tree-detail-split{width:2px;background-color:#888;cursor:w-resize;}.left{flex:1 1 0;display:flex;flex-direction:column;overflow-x:hidden;}.toolbar{flex:none;background-color:#ccc;color:#222;border-bottom:2px solid#888;display:flex;}@media(prefers-color-scheme: dark){.toolbar{background-color:#444;}}@media(prefers-color-scheme: dark){.toolbar{color:#ddd;}}.tool-space{flex:auto;}.tool{flex:none;display:inline-block;padding:5px 10px;position:relative;}.tool_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.tool_hover{background-color:#246;}}.tool_active{background-color:#add;}@media(prefers-color-scheme: dark){.tool_active{background-color:#255;}}.tree{flex:auto;margin:5px;overflow:auto;user-select:text;}.detail{flex:none;box-sizing:border-box;overflow:auto;}
|
|
14
|
-
.C--wrapper{display:block;white-space:nowrap;padding:3px;}.C--hover{background-color:rgba(0,128,192,0.25);}@media(prefers-color-scheme: dark){.C--hover{background-color:rgba(128,192,255,0.25);}}.C--check{display:inline-block;width:1em;height:1em;vertical-align:middle;margin:0 0.5em;border:1px solid transparent;border-color:#222;color:#222;line-height:1em;text-align:center;}@media(prefers-color-scheme: dark){.C--check{border-color:#ddd;}}@media(prefers-color-scheme: dark){.C--check{color:#ddd;}}
|
|
15
|
-
.D--section{margin-bottom:2px;color:#808080;}@media(prefers-color-scheme: dark){.D--section{color:#808080;}}.D--section-item{white-space:nowrap;user-select:text;}.D--section-key{display:inline;color:#06a;}@media(prefers-color-scheme: dark){.D--section-key{color:#6ce;}}.D--section-key-core{display:inline;color:#084;}@media(prefers-color-scheme: dark){.D--section-key-core{color:#6ea;}}.D--section-value{display:inline;color:#840;}@media(prefers-color-scheme: dark){.D--section-value{color:#ea6;}}.D--section-value-extra{color:#222;}@media(prefers-color-scheme: dark){.D--section-value-extra{color:#ddd;}}.D--section-empty{text-align:center;font-style:italic;}.D--box-model{margin:0 auto;}.D--box-model-text{flex:none;text-align:center;white-space:nowrap;color:#222;margin:1px;}@media(prefers-color-scheme: dark){.D--box-model-text{color:#ddd;}}.D--box-model-content{display:flex;border:1px solid#888;padding:1px;}.D--box-model-padding{border:1px solid#888;padding:1px;background-color:#eee;}@media(prefers-color-scheme: dark){.D--box-model-padding{background-color:#222;}}.D--box-model-border{border:1px solid#888;padding:1px;background-color:#ccc;}@media(prefers-color-scheme: dark){.D--box-model-border{background-color:#444;}}.D--box-model-margin{padding:1px;}.D--box-model-line{display:flex;justify-content:center;align-items:center;}.D--class-external-hint{display:inline;font-style:italic;}.D--class-value-item{color:#840;}@media(prefers-color-scheme: dark){.D--class-value-item{color:#ea6;}}.D--style-rule{margin:5px 0;user-select:text;}.D--style-rule_inactive{opacity:0.5;}.D--style-rule-prefix{font-style:italic;user-select:none;}.D--style-rule-disabled{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center;cursor:pointer;user-select:none;color:#a40;}@media(prefers-color-scheme: dark){.D--style-rule-disabled{color:#e82;}}.D--style-rule-enabled{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center;cursor:pointer;user-select:none;color:transparent;}.D--style-rule-enabled_hover{color:#a40;}@media(prefers-color-scheme: dark){.D--style-rule-enabled_hover{color:#e82;}}.D--style-rule-scope{display:inline;font-style:italic;user-select:none;}.D--style-rule-title{display:inline;color:#222;}@media(prefers-color-scheme: dark){.D--style-rule-title{color:#ddd;}}.D--style-rule-property_disabled{opacity:0.5;}.D--style-rule-item-add{display:inline-block;cursor:text;}.D--style-rule-inline-add{font-style:normal;display:inline-block;}.D--style-rule-inline-add_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.D--style-rule-inline-add_hover{background-color:#246;}}
|
|
16
|
-
.E--wrapper{background-color:#ccc;border:2px solid#888;padding:2px;}@media(prefers-color-scheme: dark){.E--wrapper{background-color:#444;}}
|
|
17
|
-
.F--title{padding:0 5px;background-color:#ccc;color:#222;line-height:1.5;white-space:nowrap;}@media(prefers-color-scheme: dark){.F--title{background-color:#444;}}@media(prefers-color-scheme: dark){.F--title{color:#ddd;}}.F--title-text{display:inline-block;}.F--title-refresh{display:inline-block;font-size:1.5em;width:1em;height:1em;line-height:1;text-align:center;margin-left:0.5em;}.F--title-refresh_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.F--title-refresh_hover{background-color:#246;}}.F--arrow{display:inline-block;width:1em;height:1.5em;text-align:center;transition:transform 200ms ease;margin-right:0.25em;}.F--arrow_open{transform:rotate(90deg);}.F--body{padding:0 5px;overflow:hidden;}.F--body_collapsed{height:0;}
|
|
18
|
-
.G--measure{color:transparent;position:absolute;left:0;top:0;font-family:monospace;white-space:nowrap;}.G--edit{box-sizing:content-box;position:absolute;left:-2px;top:-2px;right:-2px;border:1px solid#808080;padding:1px;background-color:#ccc;color:#222;font-size:1em;font-family:monospace;border-radius:none;outline:none;}@media(prefers-color-scheme: dark){.G--edit{background-color:#444;}}@media(prefers-color-scheme: dark){.G--edit{color:#ddd;}}
|
|
19
|
-
@keyframes value-update-ani{to{background-color:transparent;}}.H--updated{background-color:#dd8;animation-duration:1s;animation-fill-mode:both;animation-name:value-update-ani;animation-timing-function:ease;}@media(prefers-color-scheme: dark){.H--updated{background-color:#772;}}.H--wrapper{display:inline-block;}.H--slice{display:inline;color:#808080;}@media(prefers-color-scheme: dark){.H--slice{color:#808080;}}.H--slice_dynamic{color:#840;}@media(prefers-color-scheme: dark){.H--slice_dynamic{color:#ea6;}}.H--var-name{display:inline-block;margin-left:0.25em;height:1em;line-height:1em;min-width:1em;text-align:center;font-size:0.8em;font-style:italic;color:#222;}@media(prefers-color-scheme: dark){.H--var-name{color:#ddd;}}.H--var-name_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.H--var-name_hover{background-color:#246;}}
|
|
20
|
-
.I--base:focus{outline:none;}
|
|
21
13
|
|
|
14
|
+
.B--base:focus{outline:none;}
|
|
15
|
+
.C--section{margin-bottom:2px;color:#808080;}@media(prefers-color-scheme: dark){.C--section{color:#808080;}}.C--section-item{white-space:nowrap;user-select:text;}.C--section-key{display:inline;color:#06a;}@media(prefers-color-scheme: dark){.C--section-key{color:#6ce;}}.C--section-key-core{display:inline;color:#084;}@media(prefers-color-scheme: dark){.C--section-key-core{color:#6ea;}}.C--section-value{display:inline;color:#840;}@media(prefers-color-scheme: dark){.C--section-value{color:#ea6;}}.C--section-value-extra{color:#222;}@media(prefers-color-scheme: dark){.C--section-value-extra{color:#ddd;}}.C--section-empty{text-align:center;font-style:italic;}.C--box-model{margin:0 auto;}.C--box-model-text{flex:none;text-align:center;white-space:nowrap;color:#222;margin:1px;}@media(prefers-color-scheme: dark){.C--box-model-text{color:#ddd;}}.C--box-model-content{display:flex;border:1px solid#888;padding:1px;}.C--box-model-padding{border:1px solid#888;padding:1px;background-color:#eee;}@media(prefers-color-scheme: dark){.C--box-model-padding{background-color:#222;}}.C--box-model-border{border:1px solid#888;padding:1px;background-color:#ccc;}@media(prefers-color-scheme: dark){.C--box-model-border{background-color:#444;}}.C--box-model-margin{padding:1px;}.C--box-model-line{display:flex;justify-content:center;align-items:center;}.C--class-external-hint{display:inline;font-style:italic;}.C--class-value-item{color:#840;}@media(prefers-color-scheme: dark){.C--class-value-item{color:#ea6;}}.C--style-rule{margin:5px 0;user-select:text;}.C--style-rule_inactive{opacity:0.5;}.C--style-rule-prefix{font-style:italic;user-select:none;}.C--style-rule-disabled{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center;cursor:pointer;user-select:none;color:#a40;}@media(prefers-color-scheme: dark){.C--style-rule-disabled{color:#e82;}}.C--style-rule-enabled{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center;cursor:pointer;user-select:none;color:transparent;}.C--style-rule-enabled_hover{color:#a40;}@media(prefers-color-scheme: dark){.C--style-rule-enabled_hover{color:#e82;}}.C--style-rule-scope{display:inline;font-style:italic;user-select:none;}.C--style-rule-title{display:inline;color:#222;}@media(prefers-color-scheme: dark){.C--style-rule-title{color:#ddd;}}.C--style-rule-property_disabled{opacity:0.5;}.C--style-rule-item-add{display:inline-block;cursor:text;}.C--style-rule-inline-add{font-style:normal;display:inline-block;}.C--style-rule-inline-add_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.C--style-rule-inline-add_hover{background-color:#246;}}
|
|
16
|
+
.D--measure{color:transparent;position:absolute;left:0;top:0;font-family:monospace;white-space:nowrap;}.D--edit{box-sizing:content-box;position:absolute;left:-2px;top:-2px;right:-2px;border:1px solid#808080;padding:1px;background-color:#ccc;color:#222;font-size:1em;font-family:monospace;border-radius:none;outline:none;}@media(prefers-color-scheme: dark){.D--edit{background-color:#444;}}@media(prefers-color-scheme: dark){.D--edit{color:#ddd;}}
|
|
17
|
+
.E--title{padding:0 5px;background-color:#ccc;color:#222;line-height:1.5;white-space:nowrap;}@media(prefers-color-scheme: dark){.E--title{background-color:#444;}}@media(prefers-color-scheme: dark){.E--title{color:#ddd;}}.E--title-text{display:inline-block;}.E--title-refresh{display:inline-block;font-size:1.5em;width:1em;height:1em;line-height:1;text-align:center;margin-left:0.5em;}.E--title-refresh_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.E--title-refresh_hover{background-color:#246;}}.E--arrow{display:inline-block;width:1em;height:1.5em;text-align:center;transition:transform 200ms ease;margin-right:0.25em;}.E--arrow_open{transform:rotate(90deg);}.E--body{padding:0 5px;overflow:hidden;}.E--body_collapsed{height:0;}
|
|
18
|
+
.F--wrapper{display:block;white-space:nowrap;padding:3px;}.F--hover{background-color:rgba(0,128,192,0.25);}@media(prefers-color-scheme: dark){.F--hover{background-color:rgba(128,192,255,0.25);}}.F--check{display:inline-block;width:1em;height:1em;vertical-align:middle;margin:0 0.5em;border:1px solid transparent;border-color:#222;color:#222;line-height:1em;text-align:center;}@media(prefers-color-scheme: dark){.F--check{border-color:#ddd;}}@media(prefers-color-scheme: dark){.F--check{color:#ddd;}}
|
|
19
|
+
@keyframes value-update-ani{to{background-color:transparent;}}.G--updated{background-color:#dd8;animation-duration:1s;animation-fill-mode:both;animation-name:value-update-ani;animation-timing-function:ease;}@media(prefers-color-scheme: dark){.G--updated{background-color:#772;}}.G--wrapper{display:inline-block;}.G--slice{display:inline;color:#808080;}@media(prefers-color-scheme: dark){.G--slice{color:#808080;}}.G--slice_dynamic{color:#840;}@media(prefers-color-scheme: dark){.G--slice_dynamic{color:#ea6;}}.G--var-name{display:inline-block;margin-left:0.25em;height:1em;line-height:1em;min-width:1em;text-align:center;font-size:0.8em;font-style:italic;color:#222;}@media(prefers-color-scheme: dark){.G--var-name{color:#ddd;}}.G--var-name_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.G--var-name_hover{background-color:#246;}}
|
|
20
|
+
body{margin:0;height:100vh;}.wrapper{font-family:monospace;font-size:12px;background-color:#eee;height:100%;cursor:default;user-select:none;}@media(prefers-color-scheme: dark){.wrapper{background-color:#222;}}.empty{color:#808080;font-style:italic;padding:5px;}@media(prefers-color-scheme: dark){.empty{color:#808080;}}.main{height:100%;}.tree-detail{display:flex;height:100%;overflow:hidden;}.tree-detail-split{width:2px;background-color:#888;cursor:w-resize;}.left{flex:1 1 0;display:flex;flex-direction:column;overflow-x:hidden;}.toolbar{flex:none;background-color:#ccc;color:#222;border-bottom:2px solid#888;display:flex;}@media(prefers-color-scheme: dark){.toolbar{background-color:#444;}}@media(prefers-color-scheme: dark){.toolbar{color:#ddd;}}.tool-space{flex:auto;}.tool{flex:none;display:inline-block;padding:5px 10px;position:relative;}.tool_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.tool_hover{background-color:#246;}}.tool_active{background-color:#add;}@media(prefers-color-scheme: dark){.tool_active{background-color:#255;}}.tree{flex:auto;margin:5px;overflow:auto;user-select:text;}.detail{flex:none;box-sizing:border-box;overflow:auto;}
|
|
21
|
+
.I--wrapper{background-color:#ccc;border:2px solid#888;padding:2px;}@media(prefers-color-scheme: dark){.I--wrapper{background-color:#444;}}
|
|
22
|
+
.J--content{display:inline-block;cursor:text;white-space:pre-wrap;margin-right:2px;}.J--measure{color:transparent;position:absolute;left:0;top:0;right:0;font-family:monospace;white-space:pre-wrap;}.J--edit{box-sizing:content-box;position:absolute;left:-2px;top:-2px;right:-2px;bottom:-2px;border:1px solid#808080;padding:1px;background-color:#ccc;color:#222;font-size:1em;font-family:monospace;white-space:pre-wrap;overflow:hidden;border-radius:none;outline:none;resize:none;}@media(prefers-color-scheme: dark){.J--edit{background-color:#444;}}@media(prefers-color-scheme: dark){.J--edit{color:#ddd;}}
|
|
23
|
+
@keyframes update-ani{to{background:transparent;}}.K--updated{background-color:#dd8;animation-duration:1s;animation-fill-mode:both;animation-name:update-ani;animation-timing-function:ease;}@media(prefers-color-scheme: dark){.K--updated{background-color:#772;}}.K--tag{color:#808080;white-space:nowrap;}@media(prefers-color-scheme: dark){.K--tag{color:#808080;}}.K--fold-arrow{display:inline-block;width:1em;height:1em;line-height:1em;color:#444;text-align:center;user-select:none;}.K--fold-arrow-icon{width:1em;transition:transform 200ms ease;}.K--fold-arrow-icon_open{transform:rotate(90deg);}.K--tag-body{display:inline-block;}.K--tag-body_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.K--tag-body_hover{background-color:#246;}}.K--tag-body_selected{background-color:#add;}@media(prefers-color-scheme: dark){.K--tag-body_selected{background-color:#255;}}.K--tag-body_highlight{background-color:rgba(0,128,192,0.25);}@media(prefers-color-scheme: dark){.K--tag-body_highlight{background-color:rgba(128,192,255,0.25);}}.K--tag-text{display:inline;}.K--tag-name{display:inline-block;color:#408;}@media(prefers-color-scheme: dark){.K--tag-name{color:#c8e;}}.K--tag-var-name-wrapper{display:inline;}.K--tag-var-name{display:inline-block;margin-left:0.25em;height:1em;line-height:1em;min-width:1em;text-align:center;font-size:0.8em;font-style:italic;color:#222;}@media(prefers-color-scheme: dark){.K--tag-var-name{color:#ddd;}}.K--tag-var-name_hover{background-color:#ace;}@media(prefers-color-scheme: dark){.K--tag-var-name_hover{background-color:#246;}}.K--attribute{display:inline-block;margin-left:0.5em;}.K--attribute-name{display:inline-block;color:#084;}@media(prefers-color-scheme: dark){.K--attribute-name{color:#6ea;}}.K--attribute-name_property{color:#06a;}@media(prefers-color-scheme: dark){.K--attribute-name_property{color:#6ce;}}.K--attribute-value{display:inline-block;color:#840;}@media(prefers-color-scheme: dark){.K--attribute-value{color:#ea6;}}.K--children_indent{margin-left:1em;}.K--virtual-tag-name{display:inline-block;font-style:italic;}.K--virtual-tag-name_hover{background-color:#add;}@media(prefers-color-scheme: dark){.K--virtual-tag-name_hover{background-color:#255;}}.K--text-content{color:#222;padding:1px 0;}@media(prefers-color-scheme: dark){.K--text-content{color:#ddd;}}
|
|
22
24
|
|
|
23
|
-
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Q0UsV0FERixDQUFvQyxDT3VCdEMsbUJQeEJFLHNCT3dCRixDUHZCRSxzREFDRSxzQkFERixDQUFvQyxDO0FRakJ0QyxlQUNFLGFBREcsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL19fZ2xhc3NfZWFzZWxfaG9zdF9zdHlsZXNfXy53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL3RyZWUvZWxlbWVudC53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL2NvbW1vbi53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL2luZGV4L2luZGV4Lnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvaW5kZXgvY2hlY2tib3gud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy9kZXRhaWwvZGV0YWlsLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvaW5kZXgvb3B0aW9ucy53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL2RldGFpbC9zZWN0aW9uLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvZGV0YWlsL2VkaXRhYmxlLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvZGV0YWlsL3ZhbHVlLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvZ2xvYmFsX2NvbXBvbmVudHMvdmlldy92aWV3Lnd4c3MiXSwic291cmNlc0NvbnRlbnQiOlsiW3d4LWhvc3Q9XCJBXCJde2Rpc3BsYXk6YmxvY2s7fVxuXG5cblt3eC1ob3N0PVwiRFwiXXtkaXNwbGF5OmJsb2NrO31cblt3eC1ob3N0PVwiRVwiXXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDphdXRvO31cblt3eC1ob3N0PVwiRlwiXXtkaXNwbGF5OmJsb2NrO31cblt3eC1ob3N0PVwiR1wiXXtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6dGV4dDtwb3NpdGlvbjpyZWxhdGl2ZTt9XG5cblxuW3d4LWhvc3Q9XCJKXCJde2Rpc3BsYXk6YmxvY2s7fSIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG5Aa2V5ZnJhbWVzIHVwZGF0ZS1hbmkge1xuICBmcm9tIHtcbiAgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbi51cGRhdGVkIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHVwZGF0ZS1iZyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1uYW1lOiB1cGRhdGUtYW5pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGFnIHtcbiAgLmNvbG9yLW1vZGUoY29sb3IsICBAY29tbW9uLXRleHQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZm9sZC1hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGNvbG9yOiAjNDQ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmZvbGQtYXJyb3ctaWNvbiB7XG4gIHdpZHRoOiAxZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xufVxuLmZvbGQtYXJyb3ctaWNvbl9vcGVuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4udGFnLWJvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udGFnLWJvZHlfaG92ZXIge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAaG92ZXItYmcpO1xufVxuLnRhZy1ib2R5X3NlbGVjdGVkIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlbGVjdGVkLWJnKTtcbn1cbi50YWctYm9keV9oaWdobGlnaHQge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAaGlnaGxpZ2h0LWJnKTtcbn1cbi50YWctdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi50YWctbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEB0YWctbmFtZSk7XG59XG5cbi50YWctdmFyLW5hbWUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cbi50YWctdmFyLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gIGhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtaW4td2lkdGg6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xufVxuLnRhZy12YXItbmFtZV9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBob3Zlci1iZyk7XG59XG5cbi5hdHRyaWJ1dGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbi5hdHRyaWJ1dGUtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBjb3JlLWF0dHJpYnV0ZS1uYW1lKTtcbn1cbi5hdHRyaWJ1dGUtbmFtZV9wcm9wZXJ0eSB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAcHJvcGVydHktbmFtZSk7XG59XG4uYXR0cmlidXRlLXZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGF0dHJpYnV0ZS12YWx1ZSk7XG59XG5cbi5jaGlsZHJlbl9pbmRlbnQge1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuXG4udmlydHVhbC10YWctbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLnZpcnR1YWwtdGFnLW5hbWVfaG92ZXIge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAc2VsZWN0ZWQtYmcpO1xufVxuXG4udGV4dC1jb250ZW50IHtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG4gIHBhZGRpbmc6IDFweCAwO1xufVxuIiwiQGNvbW1vbi10ZXh0OiB7IGRlZmF1bHQ6ICM4MDgwODA7IGRhcms6ICM4MDgwODA7IH07XG5AaW1wb3J0YW50LXRleHQ6IHsgZGVmYXVsdDogIzIyMjsgZGFyazogI2RkZDsgfTtcbkB3YXJuLXRleHQ6IHsgZGVmYXVsdDogI2E0MDsgZGFyazogI2U4MjsgfTtcbkBwcmltYXJ5LWJnOiB7IGRlZmF1bHQ6ICNlZWU7IGRhcms6ICMyMjI7IH07XG5Ac2Vjb25kYXJ5LWJnOiB7IGRlZmF1bHQ6ICNjY2M7IGRhcms6ICM0NDQ7IH07XG5Ac2VsZWN0ZWQtYmc6IHsgZGVmYXVsdDogI2FkZDsgZGFyazogIzI1NTsgfTtcbkBob3Zlci1iZzogeyBkZWZhdWx0OiAjYWNlOyBkYXJrOiAjMjQ2OyB9O1xuQHVwZGF0ZS1iZzogeyBkZWZhdWx0OiAjZGQ4OyBkYXJrOiAjNzcyOyB9O1xuQGhpZ2hsaWdodC1iZzogeyBkZWZhdWx0OiByZ2JhKDAsIDEyOCwgMTkyLCAwLjI1KTsgZGFyazogcmdiYSgxMjgsIDE5MiwgMjU1LCAwLjI1KTsgfTtcblxuQHRhZy1uYW1lOiB7IGRlZmF1bHQ6ICM0MDg7IGRhcms6ICNjOGU7IH07XG5AY29yZS1hdHRyaWJ1dGUtbmFtZTogeyBkZWZhdWx0OiAjMDg0OyBkYXJrOiAjNmVhOyB9O1xuQHByb3BlcnR5LW5hbWU6IHsgZGVmYXVsdDogIzA2YTsgZGFyazogIzZjZTsgfTtcbkBhdHRyaWJ1dGUtdmFsdWU6IHsgZGVmYXVsdDogIzg0MDsgZGFyazogI2VhNjsgfTtcblxuLmNvbG9yLW1vZGUoQHAsIEB2KSB7XG4gIEB7cH06IEB2W2RlZmF1bHRdO1xuICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgQHtwfTogQHZbZGFya107XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ud3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHByaW1hcnktYmcpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uZW1wdHkge1xuICAuY29sb3ItbW9kZShjb2xvciwgQGNvbW1vbi10ZXh0KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnRyZWUtZGV0YWlsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnRyZWUtZGV0YWlsLXNwbGl0IHtcbiAgd2lkdGg6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbn1cbi5sZWZ0IHtcbiAgZmxleDogMSAxIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLnRvb2xiYXIge1xuICBmbGV4OiBub25lO1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAc2Vjb25kYXJ5LWJnKTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjODg4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRvb2wtc3BhY2Uge1xuICBmbGV4OiBhdXRvO1xufVxuLnRvb2wge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udG9vbF9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBob3Zlci1iZyk7XG59XG4udG9vbF9hY3RpdmUge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAc2VsZWN0ZWQtYmcpO1xufVxuXG4udHJlZSB7XG4gIGZsZXg6IGF1dG87XG4gIG1hcmdpbjogNXB4O1xuICBvdmVyZmxvdzogYXV0bztcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG5cbi5kZXRhaWwge1xuICBmbGV4OiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG4ud3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAzcHg7XG59XG5cbi5ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBoaWdobGlnaHQtYmcpO1xufVxuXG4uY2hlY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMC41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAuY29sb3ItbW9kZShib3JkZXItY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAY29tbW9uLXRleHQpO1xufVxuLnNlY3Rpb24taXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuLnNlY3Rpb24ta2V5IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICAuY29sb3ItbW9kZShjb2xvciwgQHByb3BlcnR5LW5hbWUpO1xufVxuLnNlY3Rpb24ta2V5LWNvcmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAY29yZS1hdHRyaWJ1dGUtbmFtZSk7XG59XG4uc2VjdGlvbi12YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBhdHRyaWJ1dGUtdmFsdWUpO1xufVxuLnNlY3Rpb24tdmFsdWUtZXh0cmEge1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbn1cblxuLnNlY3Rpb24tZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmJveC1tb2RlbCB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmJveC1tb2RlbC10ZXh0IHtcbiAgZmxleDogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbiAgbWFyZ2luOiAxcHg7XG59XG4uYm94LW1vZGVsLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICBwYWRkaW5nOiAxcHg7XG59XG4uYm94LW1vZGVsLXBhZGRpbmcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICBwYWRkaW5nOiAxcHg7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBwcmltYXJ5LWJnKTtcbn1cbi5ib3gtbW9kZWwtYm9yZGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcbiAgcGFkZGluZzogMXB4O1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAc2Vjb25kYXJ5LWJnKTtcbn1cbi5ib3gtbW9kZWwtbWFyZ2luIHtcbiAgcGFkZGluZzogMXB4O1xufVxuLmJveC1tb2RlbC1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jbGFzcy1leHRlcm5hbC1oaW50IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uY2xhc3MtdmFsdWUtaXRlbSB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAYXR0cmlidXRlLXZhbHVlKTtcbn1cblxuLnN0eWxlLXJ1bGUge1xuICBtYXJnaW46IDVweCAwO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbi5zdHlsZS1ydWxlX2luYWN0aXZlIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLnN0eWxlLXJ1bGUtcHJlZml4IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zdHlsZS1ydWxlLWRpc2FibGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAuY29sb3ItbW9kZShjb2xvciwgQHdhcm4tdGV4dCk7XG59XG4uc3R5bGUtcnVsZS1lbmFibGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc3R5bGUtcnVsZS1lbmFibGVkX2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEB3YXJuLXRleHQpO1xufVxuLnN0eWxlLXJ1bGUtc2NvcGUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc3R5bGUtcnVsZS10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG59XG4uc3R5bGUtcnVsZS1wcm9wZXJ0eV9kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5zdHlsZS1ydWxlLWl0ZW0tYWRkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHRleHQ7XG59XG4uc3R5bGUtcnVsZS1pbmxpbmUtYWRkIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uc3R5bGUtcnVsZS1pbmxpbmUtYWRkX2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQGhvdmVyLWJnKTtcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi53cmFwcGVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4ODg7XG4gIHBhZGRpbmc6IDJweDtcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGl0bGUge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRpdGxlLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udGl0bGUtcmVmcmVzaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbi50aXRsZS1yZWZyZXNoX2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQGhvdmVyLWJnKTtcbn1cbi5hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG4uYXJyb3dfb3BlbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLmJvZHkge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ib2R5X2NvbGxhcHNlZCB7XG4gIGhlaWdodDogMDtcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiB0ZXh0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZWFzdXJlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmVkaXQge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMnB4O1xuICB0b3A6IC0ycHg7XG4gIHJpZ2h0OiAtMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODA4MDgwO1xuICBwYWRkaW5nOiAxcHg7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBzZWNvbmRhcnktYmcpO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGJvcmRlci1yYWRpdXM6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuQGtleWZyYW1lcyB2YWx1ZS11cGRhdGUtYW5pIHtcbiAgZnJvbSB7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udXBkYXRlZCB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEB1cGRhdGUtYmcpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tbmFtZTogdmFsdWUtdXBkYXRlLWFuaTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cblxuLndyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zbGljZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBjb21tb24tdGV4dCk7XG59XG4uc2xpY2VfZHluYW1pYyB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAYXR0cmlidXRlLXZhbHVlKTtcbn1cblxuLnZhci1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWluLXdpZHRoOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbn1cbi52YXItbmFtZV9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBob3Zlci1iZyk7XG59XG4iLCIuYmFzZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/
|
|
25
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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LENRNER0Qyx1QlI3REUsc0JRNkRGLENSNURFLDBEQUNFLHNCQURGLENBQW9DLENRZ0V0QyxjQUNFLHFCQUNBLGtCQUZGLENBSUEsbUJBQ0UscUJSdEVBLFdRcUVGLENScEVFLHNEQUNFLFdBREYsQ0FBb0MsQ1F3RXRDLDRCUnpFRSxXUXlFRixDUnhFRSwrREFDRSxXQURGLENBQW9DLENRMkV0QyxvQkFDRSxxQlI3RUEsV1E0RUYsQ1IzRUUsdURBQ0UsV0FERixDQUFvQyxDUWdGdEMsb0JBQ0UsZ0JBREYsQ0FJQSxxQkFDRSxxQkFDQSxrQkFGRixDQUlBLDJCUnpGRSxzQlF5RkYsQ1J4RkUsOERBQ0Usc0JBREYsQ0FBb0MsQ1E0RnRDLGlCUjdGRSxXUStGQSxjQUZGLENSNUZFLG9EQUNFLFdBREYsQ0FBb0MsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL19fZ2xhc3NfZWFzZWxfaG9zdF9zdHlsZXNfXy53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL2dsb2JhbF9jb21wb25lbnRzL3ZpZXcvdmlldy53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL2RldGFpbC9kZXRhaWwud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy9jb21tb24ud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy9kZXRhaWwvZWRpdGFibGUud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy9kZXRhaWwvc2VjdGlvbi53eHNzIiwid2VicGFjazovL2dsYXNzLWVhc2VsLWRldnRvb2xzLXBhbmVsLy4vc3JjL3BhZ2VzL2luZGV4L2NoZWNrYm94Lnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvZGV0YWlsL3ZhbHVlLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvaW5kZXgvaW5kZXgud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy9pbmRleC9vcHRpb25zLnd4c3MiLCJ3ZWJwYWNrOi8vZ2xhc3MtZWFzZWwtZGV2dG9vbHMtcGFuZWwvLi9zcmMvcGFnZXMvdHJlZS9tdWx0aWxpbmUtZWRpdGFibGUud3hzcyIsIndlYnBhY2s6Ly9nbGFzcy1lYXNlbC1kZXZ0b29scy1wYW5lbC8uL3NyYy9wYWdlcy90cmVlL2VsZW1lbnQud3hzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJbd3gtaG9zdD1cIkFcIl17ZGlzcGxheTpibG9jazt9XG5cblt3eC1ob3N0PVwiQ1wiXXtkaXNwbGF5OmJsb2NrO31cblt3eC1ob3N0PVwiRFwiXXtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6dGV4dDtwb3NpdGlvbjpyZWxhdGl2ZTt9XG5bd3gtaG9zdD1cIkVcIl17ZGlzcGxheTpibG9jazt9XG5cblxuXG5bd3gtaG9zdD1cIklcIl17ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjEwMCU7d2lkdGg6YXV0bzt9XG5bd3gtaG9zdD1cIkpcIl17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt9XG5bd3gtaG9zdD1cIktcIl17ZGlzcGxheTpibG9jazt9IiwiLmJhc2U6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiQGltcG9ydCB1cmwoJy4uL2NvbW1vbi53eHNzJyk7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAuY29sb3ItbW9kZShjb2xvciwgQGNvbW1vbi10ZXh0KTtcbn1cbi5zZWN0aW9uLWl0ZW0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbi5zZWN0aW9uLWtleSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBwcm9wZXJ0eS1uYW1lKTtcbn1cbi5zZWN0aW9uLWtleS1jb3JlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGNvcmUtYXR0cmlidXRlLW5hbWUpO1xufVxuLnNlY3Rpb24tdmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAYXR0cmlidXRlLXZhbHVlKTtcbn1cbi5zZWN0aW9uLXZhbHVlLWV4dHJhIHtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG59XG5cbi5zZWN0aW9uLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5ib3gtbW9kZWwge1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5ib3gtbW9kZWwtdGV4dCB7XG4gIGZsZXg6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG4gIG1hcmdpbjogMXB4O1xufVxuLmJveC1tb2RlbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcbiAgcGFkZGluZzogMXB4O1xufVxuLmJveC1tb2RlbC1wYWRkaW5nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcbiAgcGFkZGluZzogMXB4O1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAcHJpbWFyeS1iZyk7XG59XG4uYm94LW1vZGVsLWJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gIHBhZGRpbmc6IDFweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG59XG4uYm94LW1vZGVsLW1hcmdpbiB7XG4gIHBhZGRpbmc6IDFweDtcbn1cbi5ib3gtbW9kZWwtbGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY2xhc3MtZXh0ZXJuYWwtaGludCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLmNsYXNzLXZhbHVlLWl0ZW0ge1xuICAuY29sb3ItbW9kZShjb2xvciwgQGF0dHJpYnV0ZS12YWx1ZSk7XG59XG5cbi5zdHlsZS1ydWxlIHtcbiAgbWFyZ2luOiA1cHggMDtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG4uc3R5bGUtcnVsZV9pbmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5zdHlsZS1ydWxlLXByZWZpeCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG4uc3R5bGUtcnVsZS1kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEB3YXJuLXRleHQpO1xufVxuLnN0eWxlLXJ1bGUtZW5hYmxlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnN0eWxlLXJ1bGUtZW5hYmxlZF9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAd2Fybi10ZXh0KTtcbn1cbi5zdHlsZS1ydWxlLXNjb3BlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnN0eWxlLXJ1bGUtdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xufVxuLnN0eWxlLXJ1bGUtcHJvcGVydHlfZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG4uc3R5bGUtcnVsZS1pdGVtLWFkZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiB0ZXh0O1xufVxuLnN0eWxlLXJ1bGUtaW5saW5lLWFkZCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnN0eWxlLXJ1bGUtaW5saW5lLWFkZF9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBob3Zlci1iZyk7XG59XG4iLCJAY29tbW9uLXRleHQ6IHsgZGVmYXVsdDogIzgwODA4MDsgZGFyazogIzgwODA4MDsgfTtcbkBpbXBvcnRhbnQtdGV4dDogeyBkZWZhdWx0OiAjMjIyOyBkYXJrOiAjZGRkOyB9O1xuQHdhcm4tdGV4dDogeyBkZWZhdWx0OiAjYTQwOyBkYXJrOiAjZTgyOyB9O1xuQHByaW1hcnktYmc6IHsgZGVmYXVsdDogI2VlZTsgZGFyazogIzIyMjsgfTtcbkBzZWNvbmRhcnktYmc6IHsgZGVmYXVsdDogI2NjYzsgZGFyazogIzQ0NDsgfTtcbkBzZWxlY3RlZC1iZzogeyBkZWZhdWx0OiAjYWRkOyBkYXJrOiAjMjU1OyB9O1xuQGhvdmVyLWJnOiB7IGRlZmF1bHQ6ICNhY2U7IGRhcms6ICMyNDY7IH07XG5AdXBkYXRlLWJnOiB7IGRlZmF1bHQ6ICNkZDg7IGRhcms6ICM3NzI7IH07XG5AaGlnaGxpZ2h0LWJnOiB7IGRlZmF1bHQ6IHJnYmEoMCwgMTI4LCAxOTIsIDAuMjUpOyBkYXJrOiByZ2JhKDEyOCwgMTkyLCAyNTUsIDAuMjUpOyB9O1xuXG5AdGFnLW5hbWU6IHsgZGVmYXVsdDogIzQwODsgZGFyazogI2M4ZTsgfTtcbkBjb3JlLWF0dHJpYnV0ZS1uYW1lOiB7IGRlZmF1bHQ6ICMwODQ7IGRhcms6ICM2ZWE7IH07XG5AcHJvcGVydHktbmFtZTogeyBkZWZhdWx0OiAjMDZhOyBkYXJrOiAjNmNlOyB9O1xuQGF0dHJpYnV0ZS12YWx1ZTogeyBkZWZhdWx0OiAjODQwOyBkYXJrOiAjZWE2OyB9O1xuXG4uY29sb3ItbW9kZShAcCwgQHYpIHtcbiAgQHtwfTogQHZbZGVmYXVsdF07XG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICBAe3B9OiBAdltkYXJrXTtcbiAgfVxufVxuIiwiQGltcG9ydCB1cmwoJy4uL2NvbW1vbi53eHNzJyk7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHRleHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lYXN1cmUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZWRpdCB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0ycHg7XG4gIHRvcDogLTJweDtcbiAgcmlnaHQ6IC0ycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODA7XG4gIHBhZGRpbmc6IDFweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG46aG9zdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udGl0bGUge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnRpdGxlLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udGl0bGUtcmVmcmVzaCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cbi50aXRsZS1yZWZyZXNoX2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQGhvdmVyLWJnKTtcbn1cbi5hcnJvdyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG59XG4uYXJyb3dfb3BlbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLmJvZHkge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5ib2R5X2NvbGxhcHNlZCB7XG4gIGhlaWdodDogMDtcbn1cbiIsIkBpbXBvcnQgdXJsKCcuLi9jb21tb24ud3hzcycpO1xuXG4ud3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiAzcHg7XG59XG5cbi5ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBoaWdobGlnaHQtYmcpO1xufVxuXG4uY2hlY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMC41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAuY29sb3ItbW9kZShib3JkZXItY29sb3IsIEBpbXBvcnRhbnQtdGV4dCk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuQGtleWZyYW1lcyB2YWx1ZS11cGRhdGUtYW5pIHtcbiAgZnJvbSB7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udXBkYXRlZCB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEB1cGRhdGUtYmcpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tbmFtZTogdmFsdWUtdXBkYXRlLWFuaTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cblxuLndyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zbGljZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBjb21tb24tdGV4dCk7XG59XG4uc2xpY2VfZHluYW1pYyB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAYXR0cmlidXRlLXZhbHVlKTtcbn1cblxuLnZhci1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWluLXdpZHRoOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbn1cbi52YXItbmFtZV9ob3ZlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBob3Zlci1iZyk7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLndyYXBwZXIge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBwcmltYXJ5LWJnKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLmVtcHR5IHtcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBjb21tb24tdGV4dCk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZzogNXB4O1xufVxuXG4ubWFpbiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi50cmVlLWRldGFpbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi50cmVlLWRldGFpbC1zcGxpdCB7XG4gIHdpZHRoOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODg7XG4gIGN1cnNvcjogdy1yZXNpemU7XG59XG4ubGVmdCB7XG4gIGZsZXg6IDEgMSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi50b29sYmFyIHtcbiAgZmxleDogbm9uZTtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzg4ODtcbiAgZGlzcGxheTogZmxleDtcbn1cbi50b29sLXNwYWNlIHtcbiAgZmxleDogYXV0bztcbn1cbi50b29sIHtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnRvb2xfaG92ZXIge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAaG92ZXItYmcpO1xufVxuLnRvb2xfYWN0aXZlIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlbGVjdGVkLWJnKTtcbn1cblxuLnRyZWUge1xuICBmbGV4OiBhdXRvO1xuICBtYXJnaW46IDVweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuXG4uZGV0YWlsIHtcbiAgZmxleDogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud3JhcHBlciB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBzZWNvbmRhcnktYmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCAjODg4O1xuICBwYWRkaW5nOiAycHg7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiB0ZXh0O1xuICB3aGl0ZS1zcGFjZTpwcmUtd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5tZWFzdXJlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmVkaXQge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMnB4O1xuICB0b3A6IC0ycHg7XG4gIHJpZ2h0OiAtMnB4O1xuICBib3R0b206IC0ycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4MDgwODA7XG4gIHBhZGRpbmc6IDFweDtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlY29uZGFyeS1iZyk7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICByZXNpemU6IG5vbmU7XG59XG4iLCJAaW1wb3J0IHVybCgnLi4vY29tbW9uLnd4c3MnKTtcblxuQGtleWZyYW1lcyB1cGRhdGUtYW5pIHtcbiAgZnJvbSB7XG4gIH1cbiAgdG8ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG4udXBkYXRlZCB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEB1cGRhdGUtYmcpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tbmFtZTogdXBkYXRlLWFuaTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnRhZyB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCAgQGNvbW1vbi10ZXh0KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZvbGQtYXJyb3cge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBjb2xvcjogIzQ0NDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5mb2xkLWFycm93LWljb24ge1xuICB3aWR0aDogMWVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTtcbn1cbi5mb2xkLWFycm93LWljb25fb3BlbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnRhZy1ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnRhZy1ib2R5X2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQGhvdmVyLWJnKTtcbn1cbi50YWctYm9keV9zZWxlY3RlZCB7XG4gIC5jb2xvci1tb2RlKGJhY2tncm91bmQtY29sb3IsIEBzZWxlY3RlZC1iZyk7XG59XG4udGFnLWJvZHlfaGlnaGxpZ2h0IHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQGhpZ2hsaWdodC1iZyk7XG59XG4udGFnLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4udGFnLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAdGFnLW5hbWUpO1xufVxuXG4udGFnLXZhci1uYW1lLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4udGFnLXZhci1uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWluLXdpZHRoOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICAuY29sb3ItbW9kZShjb2xvciwgQGltcG9ydGFudC10ZXh0KTtcbn1cbi50YWctdmFyLW5hbWVfaG92ZXIge1xuICAuY29sb3ItbW9kZShiYWNrZ3JvdW5kLWNvbG9yLCBAaG92ZXItYmcpO1xufVxuXG4uYXR0cmlidXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG4uYXR0cmlidXRlLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAY29yZS1hdHRyaWJ1dGUtbmFtZSk7XG59XG4uYXR0cmlidXRlLW5hbWVfcHJvcGVydHkge1xuICAuY29sb3ItbW9kZShjb2xvciwgQHByb3BlcnR5LW5hbWUpO1xufVxuLmF0dHJpYnV0ZS12YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmNvbG9yLW1vZGUoY29sb3IsIEBhdHRyaWJ1dGUtdmFsdWUpO1xufVxuXG4uY2hpbGRyZW5faW5kZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cblxuLnZpcnR1YWwtdGFnLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi52aXJ0dWFsLXRhZy1uYW1lX2hvdmVyIHtcbiAgLmNvbG9yLW1vZGUoYmFja2dyb3VuZC1jb2xvciwgQHNlbGVjdGVkLWJnKTtcbn1cblxuLnRleHQtY29udGVudCB7XG4gIC5jb2xvci1tb2RlKGNvbG9yLCBAaW1wb3J0YW50LXRleHQpO1xuICBwYWRkaW5nOiAxcHggMDtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glass-easel-devtools-panel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.2",
|
|
4
4
|
"main": "dist/bootstrap.js",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"css-loader": "^7.1.2",
|
|
7
|
-
"glass-easel": ">=0.
|
|
8
|
-
"glass-easel-miniprogram-adapter": ">=0.
|
|
9
|
-
"glass-easel-miniprogram-webpack-plugin": ">=0.
|
|
7
|
+
"glass-easel": ">=0.17.2",
|
|
8
|
+
"glass-easel-miniprogram-adapter": ">=0.17.2",
|
|
9
|
+
"glass-easel-miniprogram-webpack-plugin": ">=0.17.2",
|
|
10
10
|
"less": "^4.2.0",
|
|
11
11
|
"less-loader": "^12.2.0",
|
|
12
12
|
"mini-css-extract-plugin": "^2.9.1",
|
|
13
13
|
"mobx-miniprogram": "^6.12.3",
|
|
14
14
|
"mobx-miniprogram-bindings": "^3.0.1",
|
|
15
|
-
"glass-easel-devtools-agent": "0.
|
|
15
|
+
"glass-easel-devtools-agent": "0.17.2"
|
|
16
16
|
},
|
|
17
17
|
"scripts": {
|
|
18
18
|
"build": "webpack --config webpack.config.js",
|
package/src/bootstrap.ts
CHANGED
|
@@ -39,6 +39,7 @@ const insertInto = (
|
|
|
39
39
|
const parent = backendElement as glassEasel.domlikeBackend.Element
|
|
40
40
|
placeholder = ctx.document.createElement('glass-easel-devtools-panel')
|
|
41
41
|
parent.appendChild(placeholder)
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
42
43
|
} else if (backendContext.mode === glassEasel.BackendMode.Shadow) {
|
|
43
44
|
const parent = backendElement as glassEasel.backend.Element
|
|
44
45
|
const sr = parent.getShadowRoot()
|
package/src/events.ts
CHANGED
|
@@ -9,7 +9,9 @@ export class EventDispatcher<
|
|
|
9
9
|
T extends { [k in N]: K },
|
|
10
10
|
> {
|
|
11
11
|
private keyName: N
|
|
12
|
-
private listeners = Object.create(null) as {
|
|
12
|
+
private listeners = Object.create(null) as {
|
|
13
|
+
[key: string | number]: ((args: T) => void)[] | undefined
|
|
14
|
+
}
|
|
13
15
|
|
|
14
16
|
constructor(keyName: N) {
|
|
15
17
|
this.keyName = keyName
|
|
@@ -40,7 +42,9 @@ export class EventDispatcher<
|
|
|
40
42
|
|
|
41
43
|
dispatch(args: T) {
|
|
42
44
|
const funcArr = this.listeners[args[this.keyName]]
|
|
43
|
-
funcArr?.forEach((f) =>
|
|
45
|
+
funcArr?.forEach((f) => {
|
|
46
|
+
f(deepCopy(args))
|
|
47
|
+
})
|
|
44
48
|
}
|
|
45
49
|
}
|
|
46
50
|
|
package/src/message_channel.ts
CHANGED
|
@@ -12,15 +12,15 @@ export interface MessageChannel {
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
let messageChannel: MessageChannel | null = null
|
|
15
|
-
const eventHandlers =
|
|
16
|
-
const requestCallbacks =
|
|
15
|
+
const eventHandlers = new Map<string, (data: any) => void>()
|
|
16
|
+
const requestCallbacks = new Map<number, (data: any) => void>()
|
|
17
17
|
let requestIdInc = 1
|
|
18
18
|
|
|
19
19
|
export const setMessageChannel = (mc: MessageChannel) => {
|
|
20
20
|
messageChannel = mc
|
|
21
21
|
messageChannel.recv((data) => {
|
|
22
22
|
if (data.kind === 'event') {
|
|
23
|
-
const handler = eventHandlers
|
|
23
|
+
const handler = eventHandlers.get(data.name)
|
|
24
24
|
if (!handler) {
|
|
25
25
|
warn(`missing event handler for ${data.name}`)
|
|
26
26
|
} else {
|
|
@@ -29,21 +29,24 @@ export const setMessageChannel = (mc: MessageChannel) => {
|
|
|
29
29
|
}
|
|
30
30
|
} else if (data.kind === 'response') {
|
|
31
31
|
const requestId = data.id
|
|
32
|
-
const callback = requestCallbacks
|
|
32
|
+
const callback = requestCallbacks.get(requestId)
|
|
33
33
|
if (!callback) {
|
|
34
|
-
warn(`illegal response for request ${requestId}`)
|
|
34
|
+
warn(`illegal response for request ${requestId.toString()}`)
|
|
35
35
|
} else {
|
|
36
|
-
delete
|
|
37
|
-
debug(`recv response ${requestId}`, data.detail)
|
|
36
|
+
requestCallbacks.delete(requestId)
|
|
37
|
+
debug(`recv response ${requestId.toString()}`, data.detail)
|
|
38
38
|
callback(data.detail)
|
|
39
39
|
}
|
|
40
40
|
} else if (data.kind === 'error') {
|
|
41
41
|
const requestId = data.id
|
|
42
|
-
const callback = requestCallbacks
|
|
42
|
+
const callback = requestCallbacks.get(requestId)
|
|
43
43
|
if (!callback) {
|
|
44
|
-
warn(`illegal error response for request ${requestId}`)
|
|
44
|
+
warn(`illegal error response for request ${requestId.toString()}`)
|
|
45
45
|
} else {
|
|
46
|
-
error(
|
|
46
|
+
error(
|
|
47
|
+
`request error for request ${requestId.toString()}: ${data.message || '(unknown)'}`,
|
|
48
|
+
data.stack,
|
|
49
|
+
)
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
})
|
|
@@ -53,7 +56,7 @@ export const setEventHandler = <T extends keyof protocol.AgentEventKind>(
|
|
|
53
56
|
name: T,
|
|
54
57
|
handler: (detail: protocol.AgentEventKind[T]['detail']) => void,
|
|
55
58
|
) => {
|
|
56
|
-
eventHandlers
|
|
59
|
+
eventHandlers.set(name, handler)
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
export const sendRequest = <T extends keyof protocol.AgentRequestKind>(
|
|
@@ -63,8 +66,8 @@ export const sendRequest = <T extends keyof protocol.AgentRequestKind>(
|
|
|
63
66
|
const requestId = requestIdInc
|
|
64
67
|
requestIdInc += 1
|
|
65
68
|
return new Promise((resolve): void => {
|
|
66
|
-
requestCallbacks
|
|
67
|
-
debug(`send request ${requestId}`, name, detail)
|
|
69
|
+
requestCallbacks.set(requestId, resolve)
|
|
70
|
+
debug(`send request ${requestId.toString()}`, name, detail)
|
|
68
71
|
messageChannel?.send({ kind: 'request', id: requestId, name, detail })
|
|
69
72
|
})
|
|
70
73
|
}
|
|
@@ -113,14 +113,14 @@ Component()
|
|
|
113
113
|
})
|
|
114
114
|
}
|
|
115
115
|
} else if (nameType === 'dataset' && name.startsWith('data:')) {
|
|
116
|
-
const index = data.info.dataset.map((x) => x.name).indexOf(name.slice(5))
|
|
116
|
+
const index = data.info.dataset.map((x) => x.name).indexOf(name.slice(5))
|
|
117
117
|
if (index >= 0) {
|
|
118
118
|
self.groupUpdates(() => {
|
|
119
119
|
self.replaceDataOnPath(['info', 'dataset', index, 'value'], detail)
|
|
120
120
|
})
|
|
121
121
|
}
|
|
122
122
|
} else if (nameType === 'mark' && name.startsWith('mark:')) {
|
|
123
|
-
const index = data.info.marks.map((x) => x.name).indexOf(name.slice(5))
|
|
123
|
+
const index = data.info.marks.map((x) => x.name).indexOf(name.slice(5))
|
|
124
124
|
if (index >= 0) {
|
|
125
125
|
self.groupUpdates(() => {
|
|
126
126
|
self.replaceDataOnPath(['info', 'marks', index, 'value'], detail)
|
|
@@ -11,9 +11,9 @@ Component()
|
|
|
11
11
|
observer('edit', (v) => {
|
|
12
12
|
if (v) {
|
|
13
13
|
self.setData({}, () => {
|
|
14
|
-
const editInput = self._
|
|
14
|
+
const editInput = self._$.getShadowRoot()?.getElementById('edit')?.getBackendElement()
|
|
15
15
|
if (editInput) {
|
|
16
|
-
self._
|
|
16
|
+
self._$.getBackendContext()?.setFocusedNode?.(editInput as any)
|
|
17
17
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
18
18
|
;(editInput as any).select?.()
|
|
19
19
|
}
|
|
@@ -26,7 +26,7 @@ Component()
|
|
|
26
26
|
})
|
|
27
27
|
|
|
28
28
|
const getInputValue = () => {
|
|
29
|
-
const editInput = self._
|
|
29
|
+
const editInput = self._$.getShadowRoot()?.getElementById('edit')?.getBackendElement()
|
|
30
30
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
31
31
|
return (editInput as any)?.value as string | undefined
|
|
32
32
|
}
|
|
@@ -47,7 +47,6 @@ Component()
|
|
|
47
47
|
.createSelectorQuery()
|
|
48
48
|
.select('#measure')
|
|
49
49
|
.boundingClientRect((rect) => {
|
|
50
|
-
if (!rect) return
|
|
51
50
|
const width =
|
|
52
51
|
rect.width > PRESERVED_RIGHT_WIDTH
|
|
53
52
|
? rect.width + PRESERVED_RIGHT_WIDTH
|
|
@@ -29,10 +29,6 @@ Component()
|
|
|
29
29
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
30
30
|
value: data.primitiveValue,
|
|
31
31
|
}
|
|
32
|
-
if (!v) {
|
|
33
|
-
setData({ slices: [], allowInspect: false })
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
32
|
if (data.nodeId === prevNodeId) {
|
|
37
33
|
updatedAni()
|
|
38
34
|
} else {
|
|
@@ -68,6 +64,7 @@ Component()
|
|
|
68
64
|
setData({ slices: [{ dynamic: true, str: 'Function' }], allowInspect: data.nodeId > 0 })
|
|
69
65
|
} else if (v.type === 'object') {
|
|
70
66
|
setData({ slices: [{ dynamic: true, str: 'Object' }], allowInspect: data.nodeId > 0 })
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
71
68
|
} else if (v.type === 'array') {
|
|
72
69
|
setData({ slices: [{ dynamic: true, str: 'Array' }], allowInspect: data.nodeId > 0 })
|
|
73
70
|
}
|
package/src/pages/index/index.ts
CHANGED
|
@@ -75,11 +75,14 @@ export const componentDefinition = Component()
|
|
|
75
75
|
// eslint-disable-next-line @typescript-eslint/no-floating-promises, promise/catch-or-return
|
|
76
76
|
Promise.resolve().then(async () => {
|
|
77
77
|
await rec(backendNodeId)
|
|
78
|
-
const tree = self.selectComponent(
|
|
78
|
+
const tree = self.selectComponent(
|
|
79
|
+
`#mount-point-${nodePath[0].nodeId.toString()}`,
|
|
80
|
+
treeCompDef,
|
|
81
|
+
)
|
|
79
82
|
if (tree) {
|
|
80
83
|
await tree.visitChildNodePath(nodePath, inComposedTree)
|
|
81
84
|
} else {
|
|
82
|
-
error(`cannot find child node id ${nodePath[0].nodeId}`)
|
|
85
|
+
error(`cannot find child node id ${nodePath[0].nodeId.toString()}`)
|
|
83
86
|
}
|
|
84
87
|
return undefined
|
|
85
88
|
})
|
|
@@ -49,7 +49,6 @@ export const compDef = Component()
|
|
|
49
49
|
hideSelf: false,
|
|
50
50
|
}))
|
|
51
51
|
.init((ctx) => {
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
53
52
|
const { self, data, setData, observer, listener, method } = ctx
|
|
54
53
|
let nodeId = 0
|
|
55
54
|
const initNodeId = (n: protocol.NodeId) => {
|
|
@@ -93,7 +92,7 @@ export const compDef = Component()
|
|
|
93
92
|
self.groupUpdates(() => {
|
|
94
93
|
self.spliceArrayDataOnPath(['children'], before, 0, [node])
|
|
95
94
|
})
|
|
96
|
-
const childComp = self.selectComponent(`#child-${node.nodeId}`, compDef)
|
|
95
|
+
const childComp = self.selectComponent(`#child-${node.nodeId.toString()}`, compDef)
|
|
97
96
|
childComp?.tagUpdatedAni()
|
|
98
97
|
},
|
|
99
98
|
)
|
|
@@ -235,7 +234,7 @@ export const compDef = Component()
|
|
|
235
234
|
// hide self node mode for virtual nodes
|
|
236
235
|
observer(
|
|
237
236
|
['kind', 'isShadowRoot', 'userConfig'] as any,
|
|
238
|
-
(kind: DisplayKind, isShadowRoot: boolean, userConfig
|
|
237
|
+
(kind: DisplayKind, isShadowRoot: boolean, userConfig?: UserConfig) => {
|
|
239
238
|
let hideSelf = false
|
|
240
239
|
if (userConfig) {
|
|
241
240
|
if (
|
|
@@ -297,11 +296,11 @@ export const compDef = Component()
|
|
|
297
296
|
if (composed && data.nodeInfo?.distributedNodes) {
|
|
298
297
|
await updateChildren()
|
|
299
298
|
}
|
|
300
|
-
const childComp = self.selectComponent(`#child-${childPath[0].nodeId}`, compDef)
|
|
299
|
+
const childComp = self.selectComponent(`#child-${childPath[0].nodeId.toString()}`, compDef)
|
|
301
300
|
if (childComp) {
|
|
302
301
|
await childComp.visitChildNodePath(childPath, composed)
|
|
303
302
|
} else {
|
|
304
|
-
error(`cannot find child node id ${childPath[0].nodeId}`)
|
|
303
|
+
error(`cannot find child node id ${childPath[0].nodeId.toString()}`)
|
|
305
304
|
}
|
|
306
305
|
})
|
|
307
306
|
|
|
@@ -319,6 +318,10 @@ export const compDef = Component()
|
|
|
319
318
|
const { varName } = await sendRequest('DOM.useGlassEaselElementInConsole', { nodeId })
|
|
320
319
|
setData({ tagVarName: varName })
|
|
321
320
|
})
|
|
321
|
+
const textContentChange = listener<{ value: string }>((ev) => {
|
|
322
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
323
|
+
sendRequest('DOM.setNodeValue', { nodeId, value: ev.detail.value })
|
|
324
|
+
})
|
|
322
325
|
|
|
323
326
|
return {
|
|
324
327
|
toggleChildren,
|
|
@@ -327,6 +330,7 @@ export const compDef = Component()
|
|
|
327
330
|
startHoverTag,
|
|
328
331
|
endHoverTag,
|
|
329
332
|
useElementInConsole,
|
|
333
|
+
textContentChange,
|
|
330
334
|
tagUpdatedAni,
|
|
331
335
|
}
|
|
332
336
|
})
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
</view>
|
|
52
52
|
|
|
53
53
|
<view wx:elif="{{ kind === 0 }}" class="text-content {{ tagUpdateHighlight ? 'updated' : '' }}">
|
|
54
|
-
<
|
|
54
|
+
<multiline-editable model:value="{{ textContent }}" bind:change="textContentChange">{{ textContent }}</multiline-editable>
|
|
55
55
|
</view>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
Component()
|
|
2
|
+
.property('edit', Boolean)
|
|
3
|
+
.property('value', String)
|
|
4
|
+
.data(() => ({
|
|
5
|
+
height: 16,
|
|
6
|
+
previewValue: '\n',
|
|
7
|
+
}))
|
|
8
|
+
.init(({ self, data, observer, listener, method }) => {
|
|
9
|
+
observer('edit', (v) => {
|
|
10
|
+
if (v) {
|
|
11
|
+
self.setData({}, () => {
|
|
12
|
+
const editInput = self._$.getShadowRoot()?.getElementById('edit')?.getBackendElement()
|
|
13
|
+
if (editInput) {
|
|
14
|
+
self._$.getBackendContext()?.setFocusedNode?.(editInput as any)
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
16
|
+
;(editInput as any).select?.()
|
|
17
|
+
}
|
|
18
|
+
})
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
observer(['edit', 'value'], () => {
|
|
23
|
+
updateSize()
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
const getInputValue = () => {
|
|
27
|
+
const editInput = self._$.getShadowRoot()?.getElementById('edit')?.getBackendElement()
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
29
|
+
return (editInput as any)?.value as string | undefined
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const startEdit = listener(() => {
|
|
33
|
+
self.setData({ edit: true, height: 16, previewValue: `${data.value}\n` })
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
const inputBlur = listener(() => {
|
|
37
|
+
commit()
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
const updateSize = method(() => {
|
|
41
|
+
if (!data.edit) return
|
|
42
|
+
const previewValue = `${getInputValue() ?? data.value}\n`
|
|
43
|
+
self.setData({ previewValue }, () => {
|
|
44
|
+
self
|
|
45
|
+
.createSelectorQuery()
|
|
46
|
+
.select('#measure')
|
|
47
|
+
.boundingClientRect((rect) => {
|
|
48
|
+
const height = rect.height
|
|
49
|
+
self.setData({ height })
|
|
50
|
+
})
|
|
51
|
+
.exec()
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
const commit = method(() => {
|
|
56
|
+
setTimeout(() => {
|
|
57
|
+
const value = getInputValue()
|
|
58
|
+
if (value === undefined) return
|
|
59
|
+
self.setData({ edit: false, value })
|
|
60
|
+
self.triggerEvent('change', { value }, {})
|
|
61
|
+
}, 0)
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
return { startEdit, inputBlur, updateSize, commit }
|
|
65
|
+
})
|
|
66
|
+
.register()
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<view class="content" catch:tap="startEdit">
|
|
2
|
+
<slot />
|
|
3
|
+
</view>
|
|
4
|
+
<block wx:if="{{ edit }}">
|
|
5
|
+
<div id="measure" class="measure">{{ previewValue }}</div>
|
|
6
|
+
<textarea id="edit" class="edit" style="height: {{ height }}px" bind:blur="inputBlur" bind:keyup="updateSize" bind:change="commit">{{ value }}</textarea>
|
|
7
|
+
</block>
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
@import url('../common.wxss');
|
|
2
|
+
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
position: relative;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.content {
|
|
9
|
+
display: inline-block;
|
|
10
|
+
cursor: text;
|
|
11
|
+
white-space:pre-wrap;
|
|
12
|
+
margin-right: 2px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.measure {
|
|
16
|
+
color: transparent;
|
|
17
|
+
position: absolute;
|
|
18
|
+
left: 0;
|
|
19
|
+
top: 0;
|
|
20
|
+
right: 0;
|
|
21
|
+
font-family: monospace;
|
|
22
|
+
white-space: pre-wrap;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.edit {
|
|
26
|
+
box-sizing: content-box;
|
|
27
|
+
position: absolute;
|
|
28
|
+
left: -2px;
|
|
29
|
+
top: -2px;
|
|
30
|
+
right: -2px;
|
|
31
|
+
bottom: -2px;
|
|
32
|
+
border: 1px solid #808080;
|
|
33
|
+
padding: 1px;
|
|
34
|
+
.color-mode(background-color, @secondary-bg);
|
|
35
|
+
.color-mode(color, @important-text);
|
|
36
|
+
font-size: 1em;
|
|
37
|
+
font-family: monospace;
|
|
38
|
+
white-space: pre-wrap;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
border-radius: none;
|
|
41
|
+
outline: none;
|
|
42
|
+
resize: none;
|
|
43
|
+
}
|
package/.eslintignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const componentDefinition: {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const componentDefinition: {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const componentDefinition: {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const componentDefinition: {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const compDef: {};
|