@mantou/gem 1.6.8 → 1.6.12

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 (108) hide show
  1. package/dist/gem.es.js +3266 -0
  2. package/dist/gem.umd.js +229 -0
  3. package/elements/{dialog-base.d.ts → base/dialog.d.ts} +3 -3
  4. package/elements/base/dialog.d.ts.map +1 -0
  5. package/elements/{dialog-base.js → base/dialog.js} +24 -24
  6. package/elements/base/dialog.js.map +1 -0
  7. package/elements/base/gesture.d.ts +66 -0
  8. package/elements/base/gesture.d.ts.map +1 -0
  9. package/elements/base/gesture.js +214 -0
  10. package/elements/base/gesture.js.map +1 -0
  11. package/elements/base/link.d.ts +44 -0
  12. package/elements/base/link.d.ts.map +1 -0
  13. package/elements/base/link.js +206 -0
  14. package/elements/base/link.js.map +1 -0
  15. package/elements/{modal-base.d.ts → base/modal-factory.d.ts} +17 -8
  16. package/elements/base/modal-factory.d.ts.map +1 -0
  17. package/elements/{modal-base.js → base/modal-factory.js} +4 -4
  18. package/elements/base/modal-factory.js.map +1 -0
  19. package/elements/base/reflect.d.ts +6 -0
  20. package/elements/base/reflect.d.ts.map +1 -0
  21. package/elements/base/reflect.js +34 -0
  22. package/elements/base/reflect.js.map +1 -0
  23. package/elements/base/route.d.ts +78 -0
  24. package/elements/base/route.d.ts.map +1 -0
  25. package/elements/base/route.js +220 -0
  26. package/elements/base/route.js.map +1 -0
  27. package/elements/base/title.d.ts +30 -0
  28. package/elements/base/title.d.ts.map +1 -0
  29. package/elements/base/title.js +74 -0
  30. package/elements/base/title.js.map +1 -0
  31. package/elements/base/unsafe.d.ts +14 -0
  32. package/elements/base/unsafe.d.ts.map +1 -0
  33. package/elements/base/unsafe.js +42 -0
  34. package/elements/base/unsafe.js.map +1 -0
  35. package/elements/base/use.d.ts +19 -0
  36. package/elements/base/use.d.ts.map +1 -0
  37. package/elements/base/use.js +70 -0
  38. package/elements/base/use.js.map +1 -0
  39. package/elements/gesture.d.ts +1 -67
  40. package/elements/gesture.d.ts.map +1 -1
  41. package/elements/gesture.js +3 -219
  42. package/elements/gesture.js.map +1 -1
  43. package/elements/link.d.ts +1 -45
  44. package/elements/link.d.ts.map +1 -1
  45. package/elements/link.js +4 -208
  46. package/elements/link.js.map +1 -1
  47. package/elements/reflect.d.ts +1 -8
  48. package/elements/reflect.d.ts.map +1 -1
  49. package/elements/reflect.js +3 -39
  50. package/elements/reflect.js.map +1 -1
  51. package/elements/route.d.ts +1 -81
  52. package/elements/route.d.ts.map +1 -1
  53. package/elements/route.js +4 -228
  54. package/elements/route.js.map +1 -1
  55. package/elements/title.d.ts +1 -30
  56. package/elements/title.d.ts.map +1 -1
  57. package/elements/title.js +3 -75
  58. package/elements/title.js.map +1 -1
  59. package/elements/unsafe.d.ts +1 -14
  60. package/elements/unsafe.d.ts.map +1 -1
  61. package/elements/unsafe.js +3 -46
  62. package/elements/unsafe.js.map +1 -1
  63. package/elements/use.d.ts +1 -19
  64. package/elements/use.d.ts.map +1 -1
  65. package/elements/use.js +3 -74
  66. package/elements/use.js.map +1 -1
  67. package/lib/element.d.ts.map +1 -1
  68. package/lib/element.js +1 -1
  69. package/lib/element.js.map +1 -1
  70. package/lib/history.d.ts +28 -16
  71. package/lib/history.d.ts.map +1 -1
  72. package/lib/history.js +166 -168
  73. package/lib/history.js.map +1 -1
  74. package/lib/utils.d.ts +3 -1
  75. package/lib/utils.d.ts.map +1 -1
  76. package/lib/utils.js +16 -16
  77. package/lib/utils.js.map +1 -1
  78. package/package.json +9 -6
  79. package/src/{all.ts → dist.ts} +6 -3
  80. package/src/elements/{dialog-base.ts → base/dialog.ts} +4 -4
  81. package/src/elements/base/gesture.ts +256 -0
  82. package/src/elements/base/link.ts +178 -0
  83. package/src/elements/{modal-base.ts → base/modal-factory.ts} +3 -3
  84. package/src/elements/base/reflect.ts +30 -0
  85. package/src/elements/base/route.ts +244 -0
  86. package/src/elements/base/title.ts +68 -0
  87. package/src/elements/base/unsafe.ts +37 -0
  88. package/src/elements/base/use.ts +57 -0
  89. package/src/elements/gesture.ts +3 -257
  90. package/src/elements/link.ts +4 -179
  91. package/src/elements/reflect.ts +3 -31
  92. package/src/elements/route.ts +4 -248
  93. package/src/elements/title.ts +3 -68
  94. package/src/elements/unsafe.ts +3 -37
  95. package/src/elements/use.ts +3 -57
  96. package/src/lib/element.ts +3 -1
  97. package/src/lib/history.ts +182 -194
  98. package/src/lib/utils.ts +24 -16
  99. package/src/test/history.test.ts +15 -10
  100. package/src/test/utils.test.ts +6 -2
  101. package/all.d.ts +0 -14
  102. package/all.d.ts.map +0 -1
  103. package/all.js +0 -14
  104. package/all.js.map +0 -1
  105. package/elements/dialog-base.d.ts.map +0 -1
  106. package/elements/dialog-base.js.map +0 -1
  107. package/elements/modal-base.d.ts.map +0 -1
  108. package/elements/modal-base.js.map +0 -1
@@ -0,0 +1,229 @@
1
+ var oi=Object.defineProperty,ai=Object.defineProperties;var ci=Object.getOwnPropertyDescriptors;var us=Object.getOwnPropertySymbols;var li=Object.prototype.hasOwnProperty,hi=Object.prototype.propertyIsEnumerable;var ds=(o,f,y)=>f in o?oi(o,f,{enumerable:!0,configurable:!0,writable:!0,value:y}):o[f]=y,C=(o,f)=>{for(var y in f||(f={}))li.call(f,y)&&ds(o,y,f[y]);if(us)for(var y of us(f))hi.call(f,y)&&ds(o,y,f[y]);return o},xe=(o,f)=>ai(o,ci(f));var Xt=(o,f,y)=>{if(!f.has(o))throw TypeError("Cannot "+y)};var g=(o,f,y)=>(Xt(o,f,"read from private field"),y?y.call(o):f.get(o)),M=(o,f,y)=>{if(f.has(o))throw TypeError("Cannot add the same private member more than once");f instanceof WeakSet?f.add(o):f.set(o,y)},G=(o,f,y,J)=>(Xt(o,f,"write to private field"),J?J.call(o,y):f.set(o,y),y);var ft=(o,f,y)=>(Xt(o,f,"access private method"),y);(function(o,f){typeof exports=="object"&&typeof module!="undefined"?f(exports):typeof define=="function"&&define.amd?define(["exports"],f):(o=typeof globalThis!="undefined"?globalThis:o||self,f(o.Gem={}))})(this,function(o){var ee,te,le,Se,en,Ee,ht,_e,ve,he,hs,be,tn,ut,ui,dt,di,ue,mt,Pe,nn;"use strict";var f=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",get StoreListenerMap(){return ne},get createStore(){return z},get createStoreSet(){return Cn},get updateStore(){return P},get connect(){return se},get disconnect(){return kt},get history(){return E},get titleStore(){return ae},get basePathStore(){return Ut},get html(){return N},get svg(){return yn},get render(){return qe},get directive(){return J},get TemplateResult(){return ke},get SVGTemplateResult(){return yt},get repeat(){return Nn},get guard(){return On},get ifDefined(){return Ot},get GemElement(){return A},get defineAttribute(){return et},get defineProperty(){return ye},get defineRef(){return tt},get defineCSSState(){return nt},get nativeDefineElement(){return st},get refobject(){return Hn},get attribute(){return k},get boolattribute(){return In},get numattribute(){return Vn},get property(){return x},get state(){return Ge},get slot(){return Wn},get part(){return Dt},get emitter(){return He},get globalemitter(){return jn},get adoptedStyle(){return xn},get connectStore(){return oe},get rootElement(){return qn},get customElement(){return Un},get addMicrotask(){return H},get addMicrotaskToStack(){return wn},get absoluteLocation(){return Ue},get LinkedList(){return _t},get PropProxyMap(){return vt},get QueryString(){return fe},get raw(){return me},get css(){return Sn},get SheetToken(){return Be},get useNativeCSSStyleSheet(){return o.useNativeCSSStyleSheet},get createCSSSheet(){return En},get randomStr(){return Me},get styled(){return vn},get camelToKebabCase(){return I},get kebabToCamelCase(){return pe},get cleanObject(){return Ne},get GemError(){return K},get isArrayChange(){return Pt},get removeItems(){return Tt},get objectMapToString(){return Oe},get styleMap(){return bn},get classMap(){return Ct},get partMap(){return Pn},get exportPartsMap(){return Tn},get version(){return ls}});/**
2
+ * @license
3
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
4
+ * This code may only be used under the BSD style license found at
5
+ * http://polymer.github.io/LICENSE.txt
6
+ * The complete set of authors may be found at
7
+ * http://polymer.github.io/AUTHORS.txt
8
+ * The complete set of contributors may be found at
9
+ * http://polymer.github.io/CONTRIBUTORS.txt
10
+ * Code distributed by Google as part of the polymer project is also
11
+ * subject to an additional IP rights grant found at
12
+ * http://polymer.github.io/PATENTS.txt
13
+ */const y=new WeakMap,J=n=>(...e)=>{const t=n(...e);return y.set(t,!0),t},Te=n=>typeof n=="function"&&y.has(n);/**
14
+ * @license
15
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
16
+ * This code may only be used under the BSD style license found at
17
+ * http://polymer.github.io/LICENSE.txt
18
+ * The complete set of authors may be found at
19
+ * http://polymer.github.io/AUTHORS.txt
20
+ * The complete set of contributors may be found at
21
+ * http://polymer.github.io/CONTRIBUTORS.txt
22
+ * Code distributed by Google as part of the polymer project is also
23
+ * subject to an additional IP rights grant found at
24
+ * http://polymer.github.io/PATENTS.txt
25
+ */const sn=typeof window!="undefined"&&window.customElements!=null&&window.customElements.polyfillWrapFlushCallback!==void 0,rn=(n,e,t=null,s=null)=>{for(;e!==t;){const i=e.nextSibling;n.insertBefore(e,s),e=i}},pt=(n,e,t=null)=>{for(;e!==t;){const s=e.nextSibling;n.removeChild(e),e=s}};/**
26
+ * @license
27
+ * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
28
+ * This code may only be used under the BSD style license found at
29
+ * http://polymer.github.io/LICENSE.txt
30
+ * The complete set of authors may be found at
31
+ * http://polymer.github.io/AUTHORS.txt
32
+ * The complete set of contributors may be found at
33
+ * http://polymer.github.io/CONTRIBUTORS.txt
34
+ * Code distributed by Google as part of the polymer project is also
35
+ * subject to an additional IP rights grant found at
36
+ * http://polymer.github.io/PATENTS.txt
37
+ */const j={},on={};/**
38
+ * @license
39
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
40
+ * This code may only be used under the BSD style license found at
41
+ * http://polymer.github.io/LICENSE.txt
42
+ * The complete set of authors may be found at
43
+ * http://polymer.github.io/AUTHORS.txt
44
+ * The complete set of contributors may be found at
45
+ * http://polymer.github.io/CONTRIBUTORS.txt
46
+ * Code distributed by Google as part of the polymer project is also
47
+ * subject to an additional IP rights grant found at
48
+ * http://polymer.github.io/PATENTS.txt
49
+ */const Q=`{{lit-${String(Math.random()).slice(2)}}}`,an=`<!--${Q}-->`,cn=new RegExp(`${Q}|${an}`),Ce="$lit$";class fs{constructor(e,t){this.parts=[],this.element=t;const s=[],i=[],r=document.createTreeWalker(t.content,133,null,!1);let a=0,c=-1,l=0;const{strings:h,values:{length:m}}=e;for(;l<m;){const u=r.nextNode();if(u===null){r.currentNode=i.pop();continue}if(c++,u.nodeType===1){if(u.hasAttributes()){const $=u.attributes,{length:w}=$;let S=0;for(let p=0;p<w;p++)ln($[p].name,Ce)&&S++;for(;S-- >0;){const p=h[l],_=gt.exec(p)[2],b=_.toLowerCase()+Ce,U=u.getAttribute(b);u.removeAttribute(b);const W=U.split(cn);this.parts.push({type:"attribute",index:c,name:_,strings:W}),l+=W.length-1}}u.tagName==="TEMPLATE"&&(i.push(u),r.currentNode=u.content)}else if(u.nodeType===3){const $=u.data;if($.indexOf(Q)>=0){const w=u.parentNode,S=$.split(cn),p=S.length-1;for(let _=0;_<p;_++){let b,U=S[_];if(U==="")b=B();else{const W=gt.exec(U);W!==null&&ln(W[2],Ce)&&(U=U.slice(0,W.index)+W[1]+W[2].slice(0,-Ce.length)+W[3]),b=document.createTextNode(U)}w.insertBefore(b,u),this.parts.push({type:"node",index:++c})}S[p]===""?(w.insertBefore(B(),u),s.push(u)):u.data=S[p],l+=p}}else if(u.nodeType===8)if(u.data===Q){const $=u.parentNode;(u.previousSibling===null||c===a)&&(c++,$.insertBefore(B(),u)),a=c,this.parts.push({type:"node",index:c}),u.nextSibling===null?u.data="":(s.push(u),c--),l++}else{let $=-1;for(;($=u.data.indexOf(Q,$+1))!==-1;)this.parts.push({type:"node",index:-1}),l++}}for(const u of s)u.parentNode.removeChild(u)}}const ln=(n,e)=>{const t=n.length-e.length;return t>=0&&n.slice(t)===e},ms=n=>n.index!==-1,B=()=>document.createComment(""),gt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/;/**
50
+ * @license
51
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
52
+ * This code may only be used under the BSD style license found at
53
+ * http://polymer.github.io/LICENSE.txt
54
+ * The complete set of authors may be found at
55
+ * http://polymer.github.io/AUTHORS.txt
56
+ * The complete set of contributors may be found at
57
+ * http://polymer.github.io/CONTRIBUTORS.txt
58
+ * Code distributed by Google as part of the polymer project is also
59
+ * subject to an additional IP rights grant found at
60
+ * http://polymer.github.io/PATENTS.txt
61
+ */class hn{constructor(e,t,s){this.__parts=[],this.template=e,this.processor=t,this.options=s}update(e){let t=0;for(const s of this.__parts)s!==void 0&&s.setValue(e[t]),t++;for(const s of this.__parts)s!==void 0&&s.commit()}_clone(){const e=sn?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),t=[],s=this.template.parts,i=document.createTreeWalker(e,133,null,!1);let r=0,a=0,c,l=i.nextNode();for(;r<s.length;){if(c=s[r],!ms(c)){this.__parts.push(void 0),r++;continue}for(;a<c.index;)a++,l.nodeName==="TEMPLATE"&&(t.push(l),i.currentNode=l.content),(l=i.nextNode())===null&&(i.currentNode=t.pop(),l=i.nextNode());if(c.type==="node"){const h=this.processor.handleTextExpression(this.options);h.insertAfterNode(l.previousSibling),this.__parts.push(h)}else this.__parts.push(...this.processor.handleAttributeExpressions(l,c.name,c.strings,this.options));r++}return sn&&(document.adoptNode(e),customElements.upgrade(e)),e}}/**
62
+ * @license
63
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
64
+ * This code may only be used under the BSD style license found at
65
+ * http://polymer.github.io/LICENSE.txt
66
+ * The complete set of authors may be found at
67
+ * http://polymer.github.io/AUTHORS.txt
68
+ * The complete set of contributors may be found at
69
+ * http://polymer.github.io/CONTRIBUTORS.txt
70
+ * Code distributed by Google as part of the polymer project is also
71
+ * subject to an additional IP rights grant found at
72
+ * http://polymer.github.io/PATENTS.txt
73
+ */const un=window.trustedTypes&&trustedTypes.createPolicy("lit-html",{createHTML:n=>n}),ps=` ${Q} `;class ke{constructor(e,t,s,i){this.strings=e,this.values=t,this.type=s,this.processor=i}getHTML(){const e=this.strings.length-1;let t="",s=!1;for(let i=0;i<e;i++){const r=this.strings[i],a=r.lastIndexOf("<!--");s=(a>-1||s)&&r.indexOf("-->",a+1)===-1;const c=gt.exec(r);c===null?t+=r+(s?ps:an):t+=r.substr(0,c.index)+c[1]+c[2]+Ce+c[3]+Q}return t+=this.strings[e],t}getTemplateElement(){const e=document.createElement("template");let t=this.getHTML();return un!==void 0&&(t=un.createHTML(t)),e.innerHTML=t,e}}class yt extends ke{getHTML(){return`<svg>${super.getHTML()}</svg>`}getTemplateElement(){const e=super.getTemplateElement(),t=e.content,s=t.firstChild;return t.removeChild(s),rn(t,s.firstChild),e}}/**
74
+ * @license
75
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
76
+ * This code may only be used under the BSD style license found at
77
+ * http://polymer.github.io/LICENSE.txt
78
+ * The complete set of authors may be found at
79
+ * http://polymer.github.io/AUTHORS.txt
80
+ * The complete set of contributors may be found at
81
+ * http://polymer.github.io/CONTRIBUTORS.txt
82
+ * Code distributed by Google as part of the polymer project is also
83
+ * subject to an additional IP rights grant found at
84
+ * http://polymer.github.io/PATENTS.txt
85
+ */const wt=n=>n===null||!(typeof n=="object"||typeof n=="function"),St=n=>Array.isArray(n)||!!(n&&n[Symbol.iterator]);class dn{constructor(e,t,s){this.dirty=!0,this.element=e,this.name=t,this.strings=s,this.parts=[];for(let i=0;i<s.length-1;i++)this.parts[i]=this._createPart()}_createPart(){return new Et(this)}_getValue(){const e=this.strings,t=e.length-1,s=this.parts;if(t===1&&e[0]===""&&e[1]===""){const r=s[0].value;if(typeof r=="symbol")return String(r);if(typeof r=="string"||!St(r))return r}let i="";for(let r=0;r<t;r++){i+=e[r];const a=s[r];if(a!==void 0){const c=a.value;if(wt(c)||!St(c))i+=typeof c=="string"?c:String(c);else for(const l of c)i+=typeof l=="string"?l:String(l)}}return i+=e[t],i}commit(){this.dirty&&(this.dirty=!1,this.element.setAttribute(this.name,this._getValue()))}}class Et{constructor(e){this.value=void 0,this.committer=e}setValue(e){e!==j&&(!wt(e)||e!==this.value)&&(this.value=e,Te(e)||(this.committer.dirty=!0))}commit(){for(;Te(this.value);){const e=this.value;this.value=j,e(this)}this.value!==j&&this.committer.commit()}}class de{constructor(e){this.value=void 0,this.__pendingValue=void 0,this.options=e}appendInto(e){this.startNode=e.appendChild(B()),this.endNode=e.appendChild(B())}insertAfterNode(e){this.startNode=e,this.endNode=e.nextSibling}appendIntoPart(e){e.__insert(this.startNode=B()),e.__insert(this.endNode=B())}insertAfterPart(e){e.__insert(this.startNode=B()),this.endNode=e.endNode,e.endNode=this.startNode}setValue(e){this.__pendingValue=e}commit(){if(this.startNode.parentNode===null)return;for(;Te(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=j,t(this)}const e=this.__pendingValue;e!==j&&(wt(e)?e!==this.value&&this.__commitText(e):e instanceof ke?this.__commitTemplateResult(e):e instanceof Node?this.__commitNode(e):St(e)?this.__commitIterable(e):e===on?(this.value=on,this.clear()):this.__commitText(e))}__insert(e){this.endNode.parentNode.insertBefore(e,this.endNode)}__commitNode(e){this.value!==e&&(this.clear(),this.__insert(e),this.value=e)}__commitText(e){const t=this.startNode.nextSibling;e=e==null?"":e;const s=typeof e=="string"?e:String(e);t===this.endNode.previousSibling&&t.nodeType===3?t.data=s:this.__commitNode(document.createTextNode(s)),this.value=e}__commitTemplateResult(e){const t=this.options.templateFactory(e);if(this.value instanceof hn&&this.value.template===t)this.value.update(e.values);else{const s=new hn(t,e.processor,this.options),i=s._clone();s.update(e.values),this.__commitNode(i),this.value=s}}__commitIterable(e){Array.isArray(this.value)||(this.value=[],this.clear());const t=this.value;let s=0,i;for(const r of e)i=t[s],i===void 0&&(i=new de(this.options),t.push(i),s===0?i.appendIntoPart(this):i.insertAfterPart(t[s-1])),i.setValue(r),i.commit(),s++;s<t.length&&(t.length=s,this.clear(i&&i.endNode))}clear(e=this.startNode){pt(this.startNode.parentNode,e.nextSibling,this.endNode)}}class gs{constructor(e,t,s){if(this.value=void 0,this.__pendingValue=void 0,s.length!==2||s[0]!==""||s[1]!=="")throw new Error("Boolean attributes can only contain a single expression");this.element=e,this.name=t,this.strings=s}setValue(e){this.__pendingValue=e}commit(){for(;Te(this.__pendingValue);){const t=this.__pendingValue;this.__pendingValue=j,t(this)}if(this.__pendingValue===j)return;const e=!!this.__pendingValue;this.value!==e&&(e?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=e),this.__pendingValue=j}}class ys extends dn{constructor(e,t,s){super(e,t,s);this.single=s.length===2&&s[0]===""&&s[1]===""}_createPart(){return new ws(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class ws extends Et{}let fn=!1;(()=>{try{const n={get capture(){return fn=!0,!1}};window.addEventListener("test",n,n),window.removeEventListener("test",n,n)}catch{}})();class Ss{constructor(e,t,s){this.value=void 0,this.__pendingValue=void 0,this.element=e,this.eventName=t,this.eventContext=s,this.__boundHandleEvent=i=>this.handleEvent(i)}setValue(e){this.__pendingValue=e}commit(){for(;Te(this.__pendingValue);){const r=this.__pendingValue;this.__pendingValue=j,r(this)}if(this.__pendingValue===j)return;const e=this.__pendingValue,t=this.value,s=e==null||t!=null&&(e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive),i=e!=null&&(t==null||s);s&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),i&&(this.__options=Es(e),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=e,this.__pendingValue=j}handleEvent(e){typeof this.value=="function"?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}const Es=n=>n&&(fn?{capture:n.capture,passive:n.passive,once:n.once}:n.capture);/**
86
+ * @license
87
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
88
+ * This code may only be used under the BSD style license found at
89
+ * http://polymer.github.io/LICENSE.txt
90
+ * The complete set of authors may be found at
91
+ * http://polymer.github.io/AUTHORS.txt
92
+ * The complete set of contributors may be found at
93
+ * http://polymer.github.io/CONTRIBUTORS.txt
94
+ * Code distributed by Google as part of the polymer project is also
95
+ * subject to an additional IP rights grant found at
96
+ * http://polymer.github.io/PATENTS.txt
97
+ */class _s{handleAttributeExpressions(e,t,s,i){const r=t[0];return r==="."?new ys(e,t.slice(1),s).parts:r==="@"?[new Ss(e,t.slice(1),i.eventContext)]:r==="?"?[new gs(e,t.slice(1),s)]:new dn(e,t,s).parts}handleTextExpression(e){return new de(e)}}const mn=new _s;/**
98
+ * @license
99
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
100
+ * This code may only be used under the BSD style license found at
101
+ * http://polymer.github.io/LICENSE.txt
102
+ * The complete set of authors may be found at
103
+ * http://polymer.github.io/AUTHORS.txt
104
+ * The complete set of contributors may be found at
105
+ * http://polymer.github.io/CONTRIBUTORS.txt
106
+ * Code distributed by Google as part of the polymer project is also
107
+ * subject to an additional IP rights grant found at
108
+ * http://polymer.github.io/PATENTS.txt
109
+ */function vs(n){let e=pn.get(n.type);e===void 0&&(e={stringsArray:new WeakMap,keyString:new Map},pn.set(n.type,e));let t=e.stringsArray.get(n.strings);if(t!==void 0)return t;const s=n.strings.join(Q);return t=e.keyString.get(s),t===void 0&&(t=new fs(n,n.getTemplateElement()),e.keyString.set(s,t)),e.stringsArray.set(n.strings,t),t}const pn=new Map;/**
110
+ * @license
111
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
112
+ * This code may only be used under the BSD style license found at
113
+ * http://polymer.github.io/LICENSE.txt
114
+ * The complete set of authors may be found at
115
+ * http://polymer.github.io/AUTHORS.txt
116
+ * The complete set of contributors may be found at
117
+ * http://polymer.github.io/CONTRIBUTORS.txt
118
+ * Code distributed by Google as part of the polymer project is also
119
+ * subject to an additional IP rights grant found at
120
+ * http://polymer.github.io/PATENTS.txt
121
+ */const gn=new WeakMap,qe=(n,e,t)=>{let s=gn.get(e);s===void 0&&(pt(e,e.firstChild),gn.set(e,s=new de(Object.assign({templateFactory:vs},t))),s.appendInto(e)),s.setValue(n),s.commit()};/**
122
+ * @license
123
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
124
+ * This code may only be used under the BSD style license found at
125
+ * http://polymer.github.io/LICENSE.txt
126
+ * The complete set of authors may be found at
127
+ * http://polymer.github.io/AUTHORS.txt
128
+ * The complete set of contributors may be found at
129
+ * http://polymer.github.io/CONTRIBUTORS.txt
130
+ * Code distributed by Google as part of the polymer project is also
131
+ * subject to an additional IP rights grant found at
132
+ * http://polymer.github.io/PATENTS.txt
133
+ */typeof window!="undefined"&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const N=(n,...e)=>new ke(n,e,"html",mn),yn=(n,...e)=>new yt(n,e,"svg",mn),Le=new Set;function H(n){typeof n=="function"&&(Le.size||globalThis.queueMicrotask(()=>{Le.forEach(e=>e()),Le.clear()}),Le.delete(n),Le.add(n))}const $e=[];function bs(){for(let n=$e.length-1;n>=0;n--)$e[n]();$e.length=0}function wn(n){$e.length||H(bs),$e.push(n)}function Ue(n="",e=""){const{pathname:t,search:s,hash:i}=new URL(e,location.origin+n);return t+s+i}class _t extends(globalThis.EventTarget||Object){constructor(){super(...arguments);M(this,Se);M(this,ee,void 0);M(this,te,void 0);M(this,le,void 0);G(this,ee,new Map)}get size(){return g(this,ee).size}add(e){g(this,le)||this.dispatchEvent(new CustomEvent("start"));const t=ft(this,Se,en).call(this,e)||{value:e};t.prev=g(this,le),t.prev&&(t.prev.next=t),t.next=void 0,G(this,le,t),g(this,te)||G(this,te,t),g(this,ee).set(e,t)}delete(e){const t=ft(this,Se,en).call(this,e);return g(this,te)||this.dispatchEvent(new CustomEvent("end")),t}get(){const e=g(this,te);if(!!e)return ft(this,Se,en).call(this,e.value),e.value}}ee=new WeakMap,te=new WeakMap,le=new WeakMap,Se=new WeakSet,en=function(e){const t=g(this,ee).get(e);return t&&(t.prev?t.prev.next=t.next:G(this,te,t.next),t.next?t.next.prev=t.prev:G(this,le,t.prev),g(this,ee).delete(e)),t};class vt extends WeakMap{get(e){let t=super.get(e);return t||(t={},this.set(e,t)),t}}class fe extends URLSearchParams{constructor(e){super(e);M(this,Ee,e=>typeof e=="string"?e:JSON.stringify(e));M(this,ht,e=>{if(!e)return null;try{return JSON.parse(e)}catch{return null}})}concat(e){let t;typeof e=="string"?t=Object.fromEntries(new URLSearchParams(e).entries()):t=e,Object.entries(t).forEach(([s,i])=>{this.append(s,g(this,Ee).call(this,i))})}setAny(e,t){if(Array.isArray(t))this.delete(e),t.forEach(s=>this.append(e,g(this,Ee).call(this,s)));else{const s=g(this,Ee).call(this,t);s?this.set(e,s):this.delete(e)}}getAny(e){return this.getAnyAll(e)[0]}getAnyAll(e){return this.getAll(e).filter(t=>t!=="").map(t=>g(this,ht).call(this,t))}toString(){const e=super.toString();return e?`?${e}`:""}toJSON(){return this.toString()}}Ee=new WeakMap,ht=new WeakMap;function me(n,...e){return n.reduce((t,s,i)=>{var r;return t+((r=e[i-1])!=null?r:"")+s})}function Sn(n,...e){return me(n,...e)}const Be=Symbol.for("gem@sheetToken");o.useNativeCSSStyleSheet=!0;let bt=window.CSSStyleSheet;try{new bt}catch{o.useNativeCSSStyleSheet=!1,bt=class{constructor(){this.media={mediaText:""},this.style="",this.replaceSync=n=>this.style=n}}}function En(n,e=""){const t=new bt,s={};t.media.mediaText=e;let i="";return typeof n=="string"?i=n:Object.keys(n).forEach(r=>{s[r]=`${r}-${Me()}`,i+=n[r].styledContent.replace(/&/g,s[r])}),t.replaceSync(i),s[Be]=t,s}function Me(n=5,e="0123456789abcdefghijklmnopqrstuvwxyz"){const t=e.length;let s="";for(let i=0;i<n;i++)s+=e[Math.floor(Math.random()*t)];return s}const Ps=new RegExp(`&.*{((.|
134
+ )*)}`,"g");function _n(n,e){const t=[];let s=`& {${n.replace(Ps,i=>(t.push(i),""))}}`+t.join("");return s=s.replace(/&/g,e==="class"?".&":"#&"),{styledContent:s,type:e}}const vn={class:(n,...e)=>{const t=me(n,...e);return _n(t,"class")},id:(n,...e)=>{const t=me(n,...e);return _n(t,"id")},keyframes:(n,...e)=>({styledContent:`@keyframes & {${me(n,...e)}}`,type:"keyframes"})};function I(n){return n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())}function pe(n){return n.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function Ne(n){return Object.keys(n).forEach(e=>{const t=e;delete n[t]}),n}class K extends Error{constructor(e){super(e);this.message=`gem: ${this.message}`}}function Pt(n,e){const t=n.length;if(e.length!==t)return!0;for(let s=0;s<t;s++)if(n[s]!==e[s])return!0;return!1}function Tt(n,e){const t=new Set(e);return n.filter(s=>t.has(s)?(t.delete(s),!1):!0)}function Oe(n,e,t){let s=e;for(const i in n){const r=t(i,n[i]);s+=r?r+e:""}return s}function bn(n){return Oe(n,";",(e,t)=>t!==void 0?`${I(e)}:${t}`:"")}function Ct(n){return Oe(n," ",(e,t)=>t?e:"")}const Pn=Ct;function Tn(n){return Oe(n,",",(e,t)=>t!==void 0?`${e}:${t}`:"")}const ne=new WeakMap;function z(n){if(ne.has(n))throw new K("argument error");return ne.set(n,new Set),n}function Cn(n){return Object.keys(n).forEach(t=>{z(n[t])}),n}function P(n,e){Object.assign(n,e);const t=ne.get(n);t==null||t.forEach(s=>{H(s)})}function se(n,e){const t=ne.get(n);t==null||t.add(e)}function kt(n,e){const t=ne.get(n);t==null||t.delete(e)}/**
135
+ * @license
136
+ * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
137
+ * This code may only be used under the BSD style license found at
138
+ * http://polymer.github.io/LICENSE.txt
139
+ * The complete set of authors may be found at
140
+ * http://polymer.github.io/AUTHORS.txt
141
+ * The complete set of contributors may be found at
142
+ * http://polymer.github.io/CONTRIBUTORS.txt
143
+ * Code distributed by Google as part of the polymer project is also
144
+ * subject to an additional IP rights grant found at
145
+ * http://polymer.github.io/PATENTS.txt
146
+ */const kn=(n,e)=>{const t=n.startNode.parentNode,s=e===void 0?n.endNode:e.startNode,i=t.insertBefore(B(),s);t.insertBefore(B(),s);const r=new de(n.options);return r.insertAfterNode(i),r},ie=(n,e)=>(n.setValue(e),n.commit(),n),Lt=(n,e,t)=>{const s=n.startNode.parentNode,i=t?t.startNode:n.endNode,r=e.endNode.nextSibling;r!==i&&rn(s,e.startNode,r,i)},$t=n=>{pt(n.startNode.parentNode,n.startNode,n.endNode.nextSibling)},Ln=(n,e,t)=>{const s=new Map;for(let i=e;i<=t;i++)s.set(n[i],i);return s},$n=new WeakMap,Mn=new WeakMap,Nn=J((n,e,t)=>{let s;return t===void 0?t=e:e!==void 0&&(s=e),i=>{if(!(i instanceof de))throw new Error("repeat can only be used in text bindings");const r=$n.get(i)||[],a=Mn.get(i)||[],c=[],l=[],h=[];let m=0;for(const b of n)h[m]=s?s(b,m):m,l[m]=t(b,m),m++;let u,$,w=0,S=r.length-1,p=0,_=l.length-1;for(;w<=S&&p<=_;)if(r[w]===null)w++;else if(r[S]===null)S--;else if(a[w]===h[p])c[p]=ie(r[w],l[p]),w++,p++;else if(a[S]===h[_])c[_]=ie(r[S],l[_]),S--,_--;else if(a[w]===h[_])c[_]=ie(r[w],l[_]),Lt(i,r[w],c[_+1]),w++,_--;else if(a[S]===h[p])c[p]=ie(r[S],l[p]),Lt(i,r[S],r[w]),S--,p++;else if(u===void 0&&(u=Ln(h,p,_),$=Ln(a,w,S)),!u.has(a[w]))$t(r[w]),w++;else if(!u.has(a[S]))$t(r[S]),S--;else{const b=$.get(h[p]),U=b!==void 0?r[b]:null;if(U===null){const W=kn(i,r[w]);ie(W,l[p]),c[p]=W}else c[p]=ie(U,l[p]),Lt(i,U,r[w]),r[b]=null;p++}for(;p<=_;){const b=kn(i,c[_+1]);ie(b,l[p]),c[p++]=b}for(;w<=S;){const b=r[w++];b!==null&&$t(b)}$n.set(i,c),Mn.set(i,h)}});/**
147
+ * @license
148
+ * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
149
+ * This code may only be used under the BSD style license found at
150
+ * http://polymer.github.io/LICENSE.txt
151
+ * The complete set of authors may be found at
152
+ * http://polymer.github.io/AUTHORS.txt
153
+ * The complete set of contributors may be found at
154
+ * http://polymer.github.io/CONTRIBUTORS.txt
155
+ * Code distributed by Google as part of the polymer project is also
156
+ * subject to an additional IP rights grant found at
157
+ * http://polymer.github.io/PATENTS.txt
158
+ */const Mt=new WeakMap,On=J((n,e)=>t=>{const s=Mt.get(t);if(Array.isArray(n)){if(Array.isArray(s)&&s.length===n.length&&n.every((i,r)=>i===s[r]))return}else if(s===n&&(n!==void 0||Mt.has(t)))return;t.setValue(e()),Mt.set(t,Array.isArray(n)?Array.from(n):n)});/**
159
+ * @license
160
+ * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
161
+ * This code may only be used under the BSD style license found at
162
+ * http://polymer.github.io/LICENSE.txt
163
+ * The complete set of authors may be found at
164
+ * http://polymer.github.io/AUTHORS.txt
165
+ * The complete set of contributors may be found at
166
+ * http://polymer.github.io/CONTRIBUTORS.txt
167
+ * Code distributed by Google as part of the polymer project is also
168
+ * subject to an additional IP rights grant found at
169
+ * http://polymer.github.io/PATENTS.txt
170
+ */const Nt=new WeakMap,Ot=J(n=>e=>{const t=Nt.get(e);if(n===void 0&&e instanceof Et){if(t!==void 0||!Nt.has(e)){const s=e.committer.name;e.committer.element.removeAttribute(s)}}else n!==t&&e.setValue(n);Nt.set(e,n)});var Rn=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)},d=(n,e,t)=>(Rn(n,e,"read from private field"),t?t.call(n):e.get(n)),T=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},F=(n,e,t,s)=>(Rn(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),ge,re,Re,Ae,Y,Z,Ke,ze,Rt,At,Gt,Fe,Ht,Je,X,It,Qe;function Ts(){}function Vt(n){typeof n=="function"&&n()}const Ye=new _t,Wt=(n=performance.now())=>{if(performance.now()>n+16)return requestAnimationFrame(Wt);const e=Ye.get();e&&(e(),Wt(n))};Ye.addEventListener("start",()=>H(Wt));const Ze=Symbol("init"),An=Symbol("update");class A extends HTMLElement{constructor({isAsync:e,isLight:t,delegatesFocus:s}={}){super();T(this,ge,void 0),T(this,re,void 0),T(this,Re,void 0),T(this,Ae,void 0),T(this,Y,void 0),T(this,Z,void 0),T(this,Ke,void 0),this.setState=r=>{if(!this.state)throw new K("`state` not initialized");Object.assign(this.state,r),H(d(this,X))},T(this,ze,r=>{r==null||r.forEach(a=>{const{callback:c,getDep:l,values:h,preCallback:m}=a,u=l==null?void 0:l();(!l||!h||Pt(h,u))&&(Vt(m),a.preCallback=c(u,h),a.values=u)})}),T(this,Rt,()=>{d(this,ze).call(this,d(this,Y))}),T(this,At,()=>{d(this,ze).call(this,d(this,Z))}),this.effect=(r,a)=>{d(this,Y)||F(this,Y,[]);const c={callback:r,getDep:a,values:void 0,initialized:!!this.isConnected};this.isConnected&&(c.values=a==null?void 0:a(),c.preCallback=r(c.values)),d(this,Y).push(c)},this.memo=(r,a)=>{d(this,Z)||F(this,Z,[]),d(this,Z).push({callback:r,getDep:a,values:[Symbol()],initialized:this.isConnected})},T(this,Gt,()=>{var r;(r=d(this,Y))==null||r.forEach(a=>{const{callback:c,getDep:l,initialized:h}=a;h||(a.values=l==null?void 0:l(),a.preCallback=c(a.values),a.initialized=!0)})}),T(this,Fe,()=>{var a,c;d(this,At).call(this);const r=o.useNativeCSSStyleSheet?"":N`${(c=(a=this.shadowRoot)==null?void 0:a.adoptedStyleSheets)==null?void 0:c.map(l=>N`
171
+ <style media=${l.media.mediaText}>
172
+ ${l.style}
173
+ </style>
174
+ `)}`;return this.render?N`${this.render()}${r}`:d(this,ge)===this?void 0:N`<slot></slot>${r}`}),T(this,Ht,()=>this.shouldUpdate?this.shouldUpdate():!0),T(this,Je,()=>{if(this.isConnected&&d(this,Ht).call(this)){const r=d(this,Fe).call(this);r!==void 0&&qe(r,d(this,ge)),H(d(this,It)),H(d(this,Rt))}}),T(this,X,()=>{d(this,Ae)?Ye.add(d(this,Je)):d(this,Je).call(this)}),this.update=()=>{H(d(this,X))},T(this,It,()=>{var r;(r=this.updated)==null||r.call(this)}),T(this,Qe,()=>{var l,h,m;if(d(this,Re)){F(this,Re,!1);return}(l=this.willMount)==null||l.call(this);const{observedStores:r,rootElement:a}=this.constructor;r==null||r.forEach(u=>{se(u,d(this,X))});const c=d(this,Fe).call(this);if(c!==void 0&&qe(c,d(this,ge)),F(this,Ke,(h=this.mounted)==null?void 0:h.call(this)),d(this,Gt).call(this),a&&((m=this.getRootNode().host)==null?void 0:m.tagName)!==a.toUpperCase())throw new K("not allow current root type")}),H(()=>this[Ze]=!1),this[Ze]=!0,this[An]=()=>{this.isConnected&&H(d(this,X))},F(this,Ae,e),F(this,ge,t?this:this.attachShadow({mode:"open",delegatesFocus:s}));const{adoptedStyleSheets:i}=new.target;if(i){const r=i.map(a=>a[Be]||a);this.shadowRoot?this.shadowRoot.adoptedStyleSheets=r:this.effect(()=>{const a=this.getRootNode();if(o.useNativeCSSStyleSheet)return a.adoptedStyleSheets=[...a.adoptedStyleSheets,...r],()=>{a.adoptedStyleSheets=Tt(a.adoptedStyleSheets,r)};{const c=a===document?document.body:a;return c._sheets=c._sheets||{},r.forEach(({style:l,media:h})=>{if(c._sheets[l])c._sheets[l].count++;else{const m=document.createElement("style");m.innerHTML=l,m.media=h.mediaText,c.append(m),c._sheets[l]={ele:m,count:1}}}),()=>{r.forEach(({style:l})=>{c._sheets[l].count--,c._sheets[l].count||delete c._sheets[l]})}}},()=>[])}}get internals(){if(!d(this,re)){const e=()=>{const t=s=>s.replace(/-/g,"");return{has:s=>t(s)in this.dataset,add:s=>{this.dataset[t(s)]=""},delete:s=>delete this.dataset[t(s)]}};this.attachInternals||(this.attachInternals=()=>({states:e()})),F(this,re,this.attachInternals()),d(this,re).states||(d(this,re).states=e())}return d(this,re)}attributeChangedCallback(){this.isConnected&&H(d(this,X))}closestElement(e){const t=typeof e=="function",s=typeof e=="string"&&e.toUpperCase(),i=r=>{const a=r.parentElement||r.getRootNode().host;if(!a)return null;if(t){if(a.constructor===e)return a}else if(a.tagName===s)return a;return i(a)};return i(this)}connectedCallback(){d(this,Ae)?Ye.add(d(this,Qe)):d(this,Qe).call(this)}disconnectedCallback(){var t,s,i;if(this.isConnected){F(this,Re,!0);return}const{observedStores:e}=this.constructor;e==null||e.forEach(r=>{kt(r,d(this,X))}),Vt(d(this,Ke)),(t=this.unmounted)==null||t.call(this),(s=d(this,Y))==null||s.forEach(r=>{Vt(r.preCallback)}),F(this,Z,(i=d(this,Z))==null?void 0:i.filter(({initialized:r})=>!r))}}ge=new WeakMap,re=new WeakMap,Re=new WeakMap,Ae=new WeakMap,Y=new WeakMap,Z=new WeakMap,Ke=new WeakMap,ze=new WeakMap,Rt=new WeakMap,At=new WeakMap,Gt=new WeakMap,Fe=new WeakMap,Ht=new WeakMap,Je=new WeakMap,X=new WeakMap,It=new WeakMap,Qe=new WeakMap;const Xe=new vt;function et(n,e,t){const{booleanAttributes:s,numberAttributes:i}=n.constructor;Object.defineProperty(n,e,{configurable:!0,get(){if(!(Ze in this))return;const a=this.getAttribute(t);return(s==null?void 0:s.has(t))?a!==null:(i==null?void 0:i.has(t))?Number(a):a||""},set(r){const a=this,c=Xe.get(this),l=c[e],h=a.getAttribute(t);if(this[Ze]&&h!==null&&!l)return;c[e]=!0;const m=s==null?void 0:s.has(t);r==null?a.removeAttribute(t):m?a.toggleAttribute(t,!!r):h!==String(r)&&a.setAttribute(t,String(r))}})}const Gn=Symbol("event handle");function ye(n,e,t,s){Object.defineProperty(n,e,{configurable:!0,get(){const i=Xe.get(this)[e];return i||!t?i:(this[e]=Ts,this[e])},set(i){const r=this,a=Xe.get(r);i!==a[e]&&(t?(a[e]=(i==null?void 0:i[Gn])?i:(c,l)=>{const h=new CustomEvent(t,xe(C(C({},l),s),{detail:c}));r.dispatchEvent(h),i(c,l)},a[e][Gn]=!0):(a[e]=i,this[An]()))}})}function tt(n,e,t){Object.defineProperty(n,e,{configurable:!0,get(){const s=Xe.get(this);let i=s[e];if(!i){const r=this,a=r.shadowRoot||r;i={get ref(){return t},get element(){const c=[...a.querySelectorAll("[data-gemreflect]")].map(l=>l.target);for(const l of[a,...c]){const h=l.querySelector(`[ref=${t}]`);if(h)return h}}},s[e]=i}return i}})}function nt(n,e,t){Object.defineProperty(n,e,{configurable:!0,get(){var r;const s=this,{states:i}=s.internals;return(r=i.has)==null?void 0:r.call(i,t)},set(s){const i=this,{states:r}=i.internals;s?r.add(t):r.delete(t)}})}const st=customElements.define.bind(customElements);customElements.define=(n,e,t)=>{if(e.prototype instanceof A){const{observedAttributes:s,observedPropertys:i,defineEvents:r,defineCSSStates:a,defineRefs:c}=e;s==null||s.forEach(l=>et(e.prototype,pe(l),l)),i==null||i.forEach(l=>ye(e.prototype,l)),r==null||r.forEach(l=>ye(e.prototype,pe(l),l)),a==null||a.forEach(l=>nt(e.prototype,pe(l),`--${l}`)),c==null||c.forEach(l=>tt(e.prototype,pe(l),l))}st(n,e,t)};function D(n,e,t,s=!1){const i=n.constructor,r=i[e];i.hasOwnProperty(e)||Object.defineProperty(i,e,{value:s?new Set(r):r?Array.from(r):[]}),i[e][s?"add":"push"](t)}function Hn(n,e){const t=`${I(e)}-${Me()}`;D(n,"defineRefs",t),tt(n,e,t)}function jt(n,e,t){D(n,"observedAttributes",t),et(n,e,t)}function k(n,e){jt(n,e,I(e))}function In(n,e){const t=I(e);D(n,"booleanAttributes",t,!0),jt(n,e,t)}function Vn(n,e){const t=I(e);D(n,"numberAttributes",t,!0),jt(n,e,t)}function x(n,e){D(n,"observedPropertys",e),ye(n,e)}function Ge(n,e){const t=I(e);D(n,"defineCSSStates",t),nt(n,e,`--${t}`)}function Wn(n,e){const t=I(n[e]||e);n[e]=t,D(n instanceof A?n:n.prototype,"defineSlots",t)}function Dt(n,e){const t=I(n[e]||e);n[e]=t,D(n instanceof A?n:n.prototype,"defineParts",t)}function He(n,e){Dn(n,e)}function jn(n,e){Dn(n,e,{bubbles:!0,composed:!0})}function Dn(n,e,t){const s=I(e);D(n,"defineEvents",s),ye(n,e,s,t)}function xn(n){return function(e){D(e.prototype,"adoptedStyleSheets",n)}}function oe(n){return function(e){D(e.prototype,"observedStores",n)}}function qn(n){return function(e){const t=e;t.rootElement=n}}function Un(n){return function(e){st(n,e)}}const V=window.history,Bn=V.pushState.bind(V),Kn=V.replaceState.bind(V);let Cs=0;const xt=()=>`${performance.now()}-${++Cs}`,v=z({$hasCloseHandle:!1,$hasOpenHandle:!1,$hasShouldCloseHandle:!1,$key:""}),O=new Map;function zn({$key:n,$hasCloseHandle:e,$hasOpenHandle:t,$hasShouldCloseHandle:s}={}){if(v.$key!==n){if(n)throw new K("`$key` is not allowed");if(e)throw new K("`$hasCloseHandle` is not allowed");if(t)throw new K("`$hasOpenHandle` is not allowed");if(s)throw new K("`$hasShouldCloseHandle` is not allowed")}}function Fn(n){return q.basePath?q.basePath+n:n}function Jn(n){return n===q.basePath?"/":n.replace(new RegExp(`^${q.basePath}/`),"/")}function it(n){const e=O.get(v.$key)||{},t=n.path?Ue(e.path,n.path):Jn(location.pathname),s=new fe(n.query||(n.path?"":location.search)),i=n.path&&n.path!==e.path||n.query&&String(n.query)!==String(e.query),r=n.title||(i?"":document.title),a=n.close||n.data||n.open||n.shouldClose,c=n.hash||(!i&&a?decodeURIComponent(location.hash):"");return xe(C({},n),{title:r,path:t,query:s,hash:c})}function Qn(n,e){zn(n.data);const t=it(n),{title:s,path:i,query:r,hash:a,close:c,open:l,shouldClose:h,data:m}=t,u=C({$hasCloseHandle:!!c,$hasOpenHandle:!!l,$hasShouldCloseHandle:!!h,$key:xt()},m);O.set(u.$key,t),P(Ne(v),u);const $=Fn(i)+new fe(r)+a,w=decodeURIComponent(location.hash);e(u,s,$),w!==a&&window.dispatchEvent(new CustomEvent("hashchange"))}function Yn(n,e,t,s){zn(n);const i=C({$key:xt()},n||{}),{pathname:r,search:a,hash:c}=new URL(t,location.origin+location.pathname),l=it({path:r,query:new fe(a),hash:c,title:e,data:n});O.set(i.$key,l),P(Ne(v),i);const h=Fn(r)+l.query+c,m=location.hash;s(i,e,h),m!==c&&window.dispatchEvent(new CustomEvent("hashchange"))}const qt=z({basePath:""});class ks{get store(){return v}get basePath(){return qt.basePath}set basePath(e){P(qt,{basePath:e}),Object.assign(O.get(v.$key),{path:Jn(location.pathname)})}getParams(){return O.get(v.$key)}updateParams(e){Object.assign(O.get(v.$key),e),P(v,{})}push(e){Qn(e,Bn)}replace(e){Qn(e,Kn)}pushIgnoreCloseHandle(e){var t,s;v.$hasCloseHandle?((s=(t=O.get(v.$key))==null?void 0:t.close)==null||s.call(t),this.replace(e)):this.push(e)}forward(){V.forward()}back(){V.back()}}const q=new ks,Ie=z({title:""}),Ls={history:q,titleStore:Ie,basePathStore:qt};if(!window._GEMHISTORY){if(window._GEMHISTORY=Ls,V.pushState=function(e,t,s){Yn(e,t,s,Bn)},V.replaceState=function(e,t,s){Yn(e,t,s,Kn)},window.addEventListener("hashchange",({isTrusted:e})=>{e&&q.replace({hash:decodeURIComponent(location.hash)})}),V.state)if(V.state.$hasCloseHandle){P(v,V.state);const e=it({title:document.title});O.set(v.$key,e),q.back()}else{const e=it({title:document.title,hash:location.hash});P(v,C({$key:xt()},V.state||{})),O.set(v.$key,e)}else{const{pathname:e,search:t,hash:s}=location;q.replace({path:e,query:t,hash:s})}se(Ie,()=>{const e=O.get(v.$key);e&&(e.title=Ie.title)}),se(v,()=>{const{title:e}=q.getParams();e!==Ie.title&&P(Ie,{title:e})});let n=!1;window.addEventListener("popstate",e=>{var i,r;const t=e.state;if(!(t==null?void 0:t.$key))return;if(n){n=!1;return}if(!O.has(t.$key)){const{pathname:a,search:c,hash:l}=location;O.set(t.$key,{path:a,query:new fe(c),hash:l,title:document.title,data:t})}const s=v;if(parseFloat(t.$key)>parseFloat(s.$key)&&t.$hasOpenHandle)(r=(i=O.get(t.$key))==null?void 0:i.open)==null||r.call(i);else if(s.$hasCloseHandle){const a=O.get(s.$key),c=a==null?void 0:a.close,l=a==null?void 0:a.shouldClose;if(l&&!l()){n=!0,q.forward();return}else c?c():t.$hasCloseHandle&&(n=!0,q.back())}P(Ne(v),t)})}const{history:E,titleStore:ae,basePathStore:Ut}=window._GEMHISTORY;var $s=Object.defineProperty,Ms=Object.getOwnPropertyDescriptor,ce=(n,e,t,s)=>{for(var i=s>1?void 0:s?Ms(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&$s(e,t,i),i},Zn=(n,e,t)=>{if(!e.has(n))throw TypeError("Cannot "+t)},Ve=(n,e,t)=>(Zn(n,e,"read from private field"),t?t.call(n):e.get(n)),Bt=(n,e,t)=>{if(e.has(n))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(n):e.set(n,t)},Xn=(n,e,t,s)=>(Zn(n,e,"write to private field"),s?s.call(n,t):e.set(n,t),t),We,rt,ot;class Ns extends RegExp{constructor(e){const t={};let s=0;super(`^${e.replace(/:([^/$]+)/g,(i,r)=>(t[r]=s++,"([^/]+)")).replace("*",".*")}$`,"i");this.namePosition=t}}function Kt(n,e){const t=new Ns(n),s=e.match(t)||`${e}/`.match(t);if(!s)return null;const i={};return s&&Object.keys(t.namePosition).forEach(r=>{i[r]=s[t.namePosition[r]+1]}),i}function zt(n,e){let t=n.pattern;const s=e==null?void 0:e.params;return s&&Object.keys(s).forEach(i=>{t=t.replace(new RegExp(`:${i}`,"g"),s[i])}),t}function es(n,e){const t=zt(n,e);return C({path:t},e)}o.GemRouteElement=class extends A{constructor({isLight:n,routes:e}={}){super({isLight:n});this.currentParams={},Bt(this,We,void 0),this.state={content:void 0},Bt(this,rt,()=>{if(this.locationStore){const{path:t,query:s,data:i}=E.getParams();P(this.locationStore,{path:t,params:this.currentParams,query:s,data:i})}}),Bt(this,ot,(t,s,i)=>{Xn(this,We,void 0),this.currentRoute=t,this.currentParams=s,this.setState({content:i}),this.routechange(this.currentRoute),Ve(this,rt).call(this)}),this.routes=e}mounted(){this.effect(([n,e],t)=>{if(t&&n===t[0]&&e===t[1]){Ve(this,rt).call(this);return}const{route:s,params:i={}}=o.GemRouteElement.findRoute(this.routes,e),{redirect:r,content:a,getContent:c}=s||{};if(r){E.replace({path:r});return}const l=s==null?void 0:s.title;l&&P(ae,{title:l});const h=a||(c==null?void 0:c(i));if(h instanceof Promise){this.loading(s),Xn(this,We,h);const m=()=>Ve(this,We)===h;h.then(u=>{m()&&Ve(this,ot).call(this,s,i,u)}).catch(u=>{m()&&this.error(u)});return}Ve(this,ot).call(this,s,i,h)},()=>{const{path:n}=E.getParams();return[this.key,n,location.search]})}shouldUpdate(){return!this.inert}render(){const{content:n}=this.state;return this.shadowRoot?N`
175
+ <style>
176
+ :host,
177
+ :not(:defined) {
178
+ display: contents;
179
+ }
180
+ </style>
181
+ ${n!=null?n:N`<slot></slot>`}
182
+ `:N`${n}`}},We=new WeakMap,rt=new WeakMap,ot=new WeakMap,o.GemRouteElement.createLocationStore=()=>{const{path:n,query:e,data:t}=E.getParams();return z({path:n,query:e,data:t,params:{}})},o.GemRouteElement.findRoute=(n=[],e)=>{let t=null,s;n instanceof Array?s=n:s=Object.values(n);for(const i of s)if(i.pattern==="*")t=i;else{const r=Kt(i.pattern,e);if(r)return{route:i,params:r}}return{route:t}},ce([x],o.GemRouteElement.prototype,"routes",2),ce([x],o.GemRouteElement.prototype,"locationStore",2),ce([x],o.GemRouteElement.prototype,"key",2),ce([He],o.GemRouteElement.prototype,"routechange",2),ce([He],o.GemRouteElement.prototype,"loading",2),ce([He],o.GemRouteElement.prototype,"error",2),o.GemRouteElement=ce([oe(E.store)],o.GemRouteElement);class ts extends o.GemRouteElement{constructor(e={}){super(xe(C({},e),{isLight:!0}))}}var Os=Object.defineProperty,Rs=Object.getOwnPropertyDescriptor,L=(n,e,t,s)=>{for(var i=s>1?void 0:s?Rs(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&Os(e,t,i),i};o.GemLinkElement=class extends A{constructor(){super();this.clickHandle=async n=>{var r;const e=this.getPathInfo();if(!e)return;if(this.isExternal(e))switch(this.target){case"_self":window.location.href=e;return;case"_parent":window.parent.location.href=e;return;case"_top":window.top.location.href=e;return;default:window.open(e);return}const{path:t,query:s,hash:i}=E.getParams();if(t+s+i!==e)if(n.stopPropagation(),await((r=this.prepare)==null?void 0:r.call(this)),this.route)E.pushIgnoreCloseHandle(xe(C({},es(this.route,this.options)),{title:this.route.title||this.docTitle}));else if(this.href){const{pathname:a,search:c,hash:l}=new URL(e,location.origin);E.pushIgnoreCloseHandle({path:a,query:c,hash:l,title:this.docTitle})}else E.pushIgnoreCloseHandle({path:this.path,query:this.query,hash:this.hash,title:this.docTitle})},this.preventDefault=n=>{n.preventDefault()},this.tabIndex=0,this.addEventListener("click",this.clickHandle)}getPathInfo(){var n,e;if(this.route){const t=((n=this.options)==null?void 0:n.query)||"",s=((e=this.options)==null?void 0:e.hash)||"";return zt(this.route,this.options)+t+s}else{const t=this.href||this.path+this.query+this.hash,{path:s,query:i}=E.getParams();return t.startsWith("#")?`${s}${i}${t}`:t.startsWith("?")?`${s}${t}`:t.startsWith(".")?Ue(s,t):t}}isExternal(n){return!n.startsWith("/")}render(n=this.getPathInfo()){return N`
183
+ <style>
184
+ :host {
185
+ /* link default style */
186
+ cursor: pointer;
187
+ color: blue;
188
+ text-decoration: underline;
189
+ }
190
+ a {
191
+ all: unset;
192
+ display: contents;
193
+ }
194
+ a:visited {
195
+ color: unset;
196
+ }
197
+ </style>
198
+ <a
199
+ part=${this.link}
200
+ @click=${this.preventDefault}
201
+ href=${Ot(this.hint==="off"?void 0:this.isExternal(n)?n:new URL(E.basePath+n,location.origin).toString())}
202
+ >
203
+ <slot></slot>
204
+ </a>
205
+ `}},L([k],o.GemLinkElement.prototype,"href",2),L([k],o.GemLinkElement.prototype,"target",2),L([k],o.GemLinkElement.prototype,"path",2),L([k],o.GemLinkElement.prototype,"query",2),L([k],o.GemLinkElement.prototype,"hash",2),L([k],o.GemLinkElement.prototype,"docTitle",2),L([k],o.GemLinkElement.prototype,"hint",2),L([x],o.GemLinkElement.prototype,"route",2),L([x],o.GemLinkElement.prototype,"options",2),L([x],o.GemLinkElement.prototype,"prepare",2),L([Dt],o.GemLinkElement.prototype,"link",2),o.GemLinkElement=L([oe(Ut)],o.GemLinkElement),o.GemActiveLinkElement=class extends o.GemLinkElement{render(){const{path:n,query:e,hash:t}=E.getParams(),s=this.pattern&&Kt(this.pattern,n),i=this.getPathInfo();return s||n+e+t===i?this.active=!0:this.active=!1,super.render(i)}},L([k],o.GemActiveLinkElement.prototype,"pattern",2),L([Ge],o.GemActiveLinkElement.prototype,"active",2),o.GemActiveLinkElement=L([oe(E.store)],o.GemActiveLinkElement),customElements.define("gem-link",o.GemLinkElement),customElements.define("gem-active-link",o.GemActiveLinkElement),customElements.define("gem-route",o.GemRouteElement),customElements.define("gem-light-route",ts);var As=Object.defineProperty,Gs=Object.getOwnPropertyDescriptor,ns=(n,e,t,s)=>{for(var i=s>1?void 0:s?Gs(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&As(e,t,i),i};o.GemTitleElement=class extends A{static setTitle(n){P(ae,{title:n})}static updateTitle(n="",e=""){const{title:t}=ae;t&&t!==o.GemTitleElement.defaultTitle?(o.GemTitleElement.title=t,document.title=o.GemTitleElement.title+e):n?(o.GemTitleElement.title=n,document.title=o.GemTitleElement.title+e):(o.GemTitleElement.title=o.GemTitleElement.defaultTitle,document.title=o.GemTitleElement.title)}constructor(){super();new MutationObserver(()=>this.update()).observe(this,{childList:!0,characterData:!0,subtree:!0})}render(){return o.GemTitleElement.updateTitle(this.textContent||"",this.suffix),this.hidden?N``:N`${o.GemTitleElement.title}`}},o.GemTitleElement.title=document.title,o.GemTitleElement.defaultTitle=document.title,o.GemTitleElement.defaultSuffix=` - ${document.title}`,ns([k],o.GemTitleElement.prototype,"suffix",2),o.GemTitleElement=ns([oe(ae)],o.GemTitleElement),se(ae,o.GemTitleElement.updateTitle),customElements.define("gem-title",o.GemTitleElement);var Hs=Object.defineProperty,Is=Object.getOwnPropertyDescriptor,at=(n,e,t,s)=>{for(var i=s>1?void 0:s?Is(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&Hs(e,t,i),i};const ss=new Map;class we extends A{getContent(){const e=this.element||(this.selector?(this.root||document).querySelector(this.selector):null);if(typeof e=="string"){let t=ss.get(e);return t||(t=document.createElement("template"),t.innerHTML=e,ss.set(e,t)),t.content.cloneNode(!0)}else return e instanceof HTMLTemplateElement?e.content.cloneNode(!0):e==null?void 0:e.cloneNode(!0)}render(){return N`
206
+ <style>
207
+ :host {
208
+ position: relative;
209
+ }
210
+ :host(:not([hidden])) {
211
+ display: inline-flex;
212
+ align-items: center;
213
+ }
214
+ svg {
215
+ width: 100%;
216
+ height: 100%;
217
+ }
218
+ </style>
219
+ ${this.getContent()}
220
+ <slot></slot>
221
+ `}}at([k],we.prototype,"selector",2),at([x],we.prototype,"root",2),at([x],we.prototype,"element",2),at([Ge],we.prototype,"active",2),customElements.define("gem-use",we);var Vs=Object.defineProperty,Ws=Object.getOwnPropertyDescriptor,is=(n,e,t,s)=>{for(var i=s>1?void 0:s?Ws(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&Vs(e,t,i),i};class ct extends A{constructor(){super();this.effect(()=>{this.shadowRoot&&(this.shadowRoot.innerHTML=`
222
+ <style>
223
+ :host {
224
+ display: contents;
225
+ }
226
+ ${this.contentcss}
227
+ </style>
228
+ ${this.content}
229
+ `)},()=>[this.content,this.contentcss])}render(){}}is([k],ct.prototype,"content",2),is([k],ct.prototype,"contentcss",2),customElements.define("gem-unsafe",ct);var js=Object.defineProperty,Ds=Object.getOwnPropertyDescriptor,xs=(n,e,t,s)=>{for(var i=s>1?void 0:s?Ds(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&js(e,t,i),i};document.querySelectorAll("[data-reflect]").forEach(n=>n.remove());class Ft extends A{constructor(){super({isLight:!0});this.target=document.head,this.hidden=!0,this.dataset.gemreflect="",this.effect(()=>{const e=[...this.childNodes];return e.forEach(t=>{t instanceof HTMLElement&&(t.dataset.reflect=""),this.target.append(t)}),()=>{e.forEach(t=>t.remove())}},()=>[this.target])}}xs([x],Ft.prototype,"target",2),customElements.define("gem-reflect",Ft);const lt=Symbol("open mark");function qs(n){var e;return e=class extends A{constructor(){super();this.label="",this.internals.role="alertdialog",this.internals.ariaModal="true"}static get isOpen(){return this.store[lt]}static get observedStores(){return[E.store,this.store]}static open(t){const s=new this;this.instance=s,this.inertStore=[...document.body.children].filter(r=>!r.inert),this.inertStore.forEach(r=>r.inert=!0),document.body.append(s);const i=()=>P(this.store,C({[lt]:!0},t));setTimeout(()=>{i(),E.push({title:s.label,open:i,close:this.closeHandle.bind(this),shouldClose:this.shouldClose.bind(this)})},100)}static close(){E.back()}static closeHandle(){var t;this.inertStore.forEach(s=>s.inert=!1),(t=this.instance)==null||t.remove(),P(this.store,C({[lt]:!1},n))}static shouldClose(){return!0}},e.inertStore=[],e.instance=null,e.store=z(C({[lt]:!1},n)),e}var Us=Object.defineProperty,Bs=Object.getOwnPropertyDescriptor,Jt=(n,e,t,s)=>{for(var i=s>1?void 0:s?Bs(e,t):e,r=n.length-1,a;r>=0;r--)(a=n[r])&&(i=(s?a(e,t,i):a(i))||i);return s&&i&&Us(e,t,i),i};o.GemDialogBaseElement=(hs=class extends A{constructor(){super();M(this,_e,void 0);M(this,ve,void 0);M(this,he,void 0);this.inert=!0,G(this,he,[]),this.closeHandle=()=>{var n;this.inert=!0,g(this,he).forEach(e=>e.inert=!1),g(this,_e)?g(this,_e).before(this):g(this,ve)&&((n=g(this,ve))==null||n.appendChild(this)),this.dispatchEvent(new CustomEvent("close")),this.opened=!1},this.openHandle=()=>{this.hidden=!1,this.inert=!1,G(this,_e,this.nextSibling),G(this,ve,this.parentElement||this.getRootNode()),G(this,he,[...document.body.children].filter(n=>!n.inert)),g(this,he).forEach(n=>n.inert=!0),document.body.append(this),this.dispatchEvent(new CustomEvent("open")),this.opened=!0},this.open=()=>{this.opened||(this.openHandle(),E.push({title:this.label,open:this.openHandle,close:this.closeHandle,shouldClose:this.shouldClose}))},this.close=()=>{E.back()},this.forceClose=()=>{this.opened=!1,setTimeout(this.close,100)},this.internals.role="dialog",this.internals.ariaModal="true"}shouldClose(){return!0}},_e=new WeakMap,ve=new WeakMap,he=new WeakMap,hs),Jt([k],o.GemDialogBaseElement.prototype,"label",2),Jt([Ge],o.GemDialogBaseElement.prototype,"opened",2),o.GemDialogBaseElement=Jt([oe(E.store)],o.GemDialogBaseElement);const Qt=new WeakMap;function rs(n){return Qt.get(n)}const Yt=new WeakMap;function Ks(n){return Yt.get(n)}function zs(n,e){const t=Qt.get(e),s=Yt.get(e),i=Object.keys(t).reduce((r,a)=>t[a]?r+`${s[a]}:${t[a]};`:r,"");n.textContent=`:root, :host {${i}}`}function Fs(n){const e=Me(),t=document.createElement("style"),s=z(n),i={},r={};Yt.set(i,r),Qt.set(i,s),Object.keys(s).forEach(c=>{r[c]=`--${I(c)}-${e}`,i[c]=`var(${r[c]})`});const a=()=>zs(t,i);return se(s,a),a(),(document.head||document.documentElement).append(t),i}function Js(n,e){const t=rs(n);P(t,e)}const Qs=/\$\d(?:<[^>]*>)?/,Ys=/\$(\d)(<([^>]*)>)?/g,Zs=3;function os(n,...e){const t=n.split(Qs),s=[];let i;for(;i=Ys.exec(n);){const r=i[Zs],a=Number(i[1])-1,c=e[a];s.push(typeof c=="string"?c:c(r))}return N(t,...s)}const je=new Set,Zt=class{constructor(e){M(this,be);M(this,ut);M(this,dt);M(this,ue);M(this,Pe);if(this.cachePrefix="gem-i18n",!e.resources[e.fallbackLanguage])throw new K("i18n: fallbackLanguage invalid");this.store=z(this),Object.assign(this,e);let t=g(this,ut,ui)||this.currentLanguage||g(this,dt,di);const s=document.querySelector(`[type*=${this.cachePrefix}]`);if(s)try{const i=JSON.parse(s.textContent||"");t=i.currentLanguage,this.resources[i.currentLanguage]=i.currentLanguagePack}catch{}t?(G(this,Pe,t,nn),this.setLanguage(t)):this.resetLanguage()}get(e,...t){const s=this.resources[this.currentLanguage],i=this.resources[this.fallbackLanguage],r=s[e]||i[e],a=(r==null?void 0:r.message)||r||`[${e}]`;return t.length?os(a,...t):a}detectLanguage(){const e=Object.keys(this.resources),t=navigator.languages.map(s=>s.replace(/-(.*)/,i=>i.toUpperCase()));for(const s of t){const i=e.find(r=>r===s||s.startsWith(`${r}-`));if(i)return i}return this.fallbackLanguage}async setLanguage(e){g(this,ue,mt)&&je.forEach(async i=>await i.setLanguage(e));let t;const s=this.resources[e];if(!s)return console.warn(`${this.cachePrefix}: not found \`${e}\``),this.resetLanguage();if(typeof s=="string"){const i=`${this.cachePrefix}:`,r=`${i}${s}`,a=localStorage.getItem(r),c=async()=>{const l=await(await fetch(s)).json();if(this.cache){for(let h=0;h<localStorage.length;h++){const m=localStorage.key(h);m.startsWith(i)&&localStorage.removeItem(m)}localStorage.setItem(r,JSON.stringify(l))}return l};if(a)try{t=JSON.parse(a)}catch{t=await c()}else t=await c()}else t=s;return this.resources[e]=t,P(this.store,{}),e!==this.currentLanguage&&G(this,Pe,e,nn),this.cache===!0&&this.setCache(),e}resetLanguage(){return g(this,ue,mt)&&je.forEach(e=>e.resetLanguage()),G(this,Pe,this.fallbackLanguage,nn),this.cache&&localStorage.removeItem(g(this,be,tn)),this.setLanguage(this.detectLanguage())}setCache(){g(this,ue,mt)&&je.forEach(e=>e.setCache()),localStorage.setItem(g(this,be,tn),this.currentLanguage)}createSubModule(e,t){const s=new Zt({resources:t,cachePrefix:`${this.cachePrefix}-${e}`,currentLanguage:this.currentLanguage,fallbackLanguage:this.fallbackLanguage,cache:this.cache});return je.add(s),s}toJSON(){return{currentLanguage:this.currentLanguage,currentLanguagePack:this.resources[this.currentLanguage]}}};let as=Zt;be=new WeakSet,tn=function(){return`${this.cachePrefix}:current`},ut=new WeakSet,ui=function(){const{hostname:e,pathname:t,search:s}=location,i=e.split(".");switch(this.urlParamsType){case"ccTLD":return i.pop();case"gTLD":return i.shift();case"path":return t.split("/")[1];default:const r=this.urlParamsName&&new URLSearchParams(s).get(this.urlParamsName)||"";return r in this.resources?r:""}},dt=new WeakSet,di=function(){return this.cache&&localStorage.getItem(g(this,be,tn))||""},ue=new WeakSet,mt=function(){return!je.has(this)},Pe=new WeakSet,nn=function(e){var t;g(this,ue,mt)&&(document.documentElement.lang=e),this.currentLanguage=e,(t=this.onChange)==null||t.call(this,e)};const Xs={credentials:"include",mode:"cors"};async function De(n,e={}){const t=await fetch(n,C(C({},Xs),e));if(t.status===0)throw new Error("Request fail");if(t.status>=500)throw new Error(t.statusText);if(t.status>=400)throw new Error(await t.text()||t.statusText);return await t.json()}const ei=Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array));function cs(n){return n instanceof FormData||n instanceof Blob||n instanceof ei||n instanceof URLSearchParams||n instanceof ReadableStream||n instanceof ArrayBuffer?n:typeof n=="object"?JSON.stringify(n):n}function ti(n,e){const{origin:t,pathname:s,search:i}=new URL(n,location.origin),r=new URLSearchParams(e).toString();return De(`${t}${s}${i?`${i}&`:r?"?":""}${r}`,{method:"GET"})}function ni(n){return De(n,{method:"DELETE"})}function si(n,e){return De(n,{method:"PUT",body:cs(e)})}function ii(n,e){return De(n,{method:"POST",body:cs(e)})}const R=n=>window.matchMedia(n).matches,ri={PRINT:"print",get isPrint(){return R(this.PRINT)},HOVER:"(hover: hover)",get isHover(){return R(this.HOVER)},PHONE:"(min-width: 319px) and (max-width: 480px)",get isPhone(){return R(this.PHONE)},LAPTOP:"(min-width: 1023px) and (max-width: 1280px) and (orientation: landscape)",get isLaptop(){return R(this.LAPTOP)},DESKTOP:"(min-width: 1279px) and (orientation: landscape)",get isDesktop(){return R(this.DESKTOP)},WIDTHSCREEN:"(min-width: 1919px) and (orientation: landscape)",get isWidthScreen(){return R(this.WIDTHSCREEN)},PHONE_LANDSCAPE:"(min-width: 479px) and (max-width: 767px) and (orientation: landscape)",get isPhoneLandscape(){return R(this.PHONE_LANDSCAPE)},TABLET:"(min-width: 768px) and (max-width: 1024px)",get isTablet(){return R(this.TABLET)},SMALL_PHONE:"(min-width: 319px) and (max-width: 480px) and (max-height: 640px)",get isSmallPhone(){return R(this.SMALL_PHONE)},WATCH:"(max-width: 319px)",get isWatch(){return R(this.WATCH)},SHORT:"(min-width: 479px) and (max-height: 320px)",get isShort(){return R(this.SHORT)},PWA:"(display-mode: standalone)",get isPWA(){return R(this.PWA)},MOTION_REDUCE:"(prefers-reduced-motion: reduce)",get isMotionReduce(){return R(this.MOTION_REDUCE)},DATA_REDUCE:"(prefers-reduced-data: reduce)",get isDataReduce(){return R(this.DATA_REDUCE)}},ls="1.6.5";window.__GEM_DEVTOOLS__HOOK__&&Object.assign(window.__GEM_DEVTOOLS__HOOK__,C({},f)),o.GemElement=A,o.GemError=K,o.GemLightRouteElement=ts,o.GemReflectElement=Ft,o.GemUnsafeElement=ct,o.GemUseElement=we,o.I18n=as,o.LinkedList=_t,o.PropProxyMap=vt,o.QueryString=fe,o.SVGTemplateResult=yt,o.SheetToken=Be,o.StoreListenerMap=ne,o.TemplateResult=ke,o.absoluteLocation=Ue,o.addMicrotask=H,o.addMicrotaskToStack=wn,o.adoptedStyle=xn,o.attribute=k,o.basePathStore=Ut,o.boolattribute=In,o.camelToKebabCase=I,o.classMap=Ct,o.cleanObject=Ne,o.connect=se,o.connectStore=oe,o.createCSSSheet=En,o.createHistoryParams=es,o.createModalClass=qs,o.createPath=zt,o.createStore=z,o.createStoreSet=Cn,o.createTheme=Fs,o.css=Sn,o.customElement=Un,o.defineAttribute=et,o.defineCSSState=nt,o.defineProperty=ye,o.defineRef=tt,o.del=ni,o.directive=J,o.disconnect=kt,o.emitter=He,o.exportPartsMap=Tn,o.get=ti,o.getThemeProp=Ks,o.getThemeStore=rs,o.globalemitter=jn,o.guard=On,o.history=E,o.html=N,o.ifDefined=Ot,o.isArrayChange=Pt,o.kebabToCamelCase=pe,o.matchPath=Kt,o.mediaQuery=ri,o.nativeDefineElement=st,o.numattribute=Vn,o.objectMapToString=Oe,o.part=Dt,o.partMap=Pn,o.post=ii,o.property=x,o.put=si,o.randomStr=Me,o.raw=me,o.refobject=Hn,o.removeItems=Tt,o.render=qe,o.repeat=Nn,o.request=De,o.rootElement=qn,o.slot=Wn,o.splice=os,o.state=Ge,o.styleMap=bn,o.styled=vn,o.svg=yn,o.titleStore=ae,o.updateStore=P,o.updateTheme=Js,o.version=ls,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
@@ -1,4 +1,4 @@
1
- import { GemElement } from '../lib/element';
1
+ import { GemElement } from '../../lib/element';
2
2
  /**
3
3
  * 在模版中声明的 dialog,使用 `open` 方法 打开;
4
4
  * 如果要应用关闭动画,可以在动画执行完后设置 `hidden` 属性;
@@ -6,7 +6,7 @@ import { GemElement } from '../lib/element';
6
6
  *
7
7
  * @attr label
8
8
  */
9
- export declare abstract class DialogBaseElement extends GemElement {
9
+ export declare abstract class GemDialogBaseElement extends GemElement {
10
10
  #private;
11
11
  label: string;
12
12
  opened: boolean;
@@ -35,4 +35,4 @@ export declare abstract class DialogBaseElement extends GemElement {
35
35
  */
36
36
  forceClose: () => void;
37
37
  }
38
- //# sourceMappingURL=dialog-base.d.ts.map
38
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C;;;;;;GAMG;AACH,8BACsB,oBAAqB,SAAQ,UAAU;;IAChD,KAAK,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAEvB,KAAK,UAAQ;;IAYb;;;OAGG;IACH,WAAW,aAUT;IAEF;;;OAGG;IACH,UAAU,aAUR;IAEF,YAAY;IACZ,IAAI,aASF;IAEF,WAAW;IAIX,YAAY;IACZ,KAAK,aAEH;IAEF;;;;;OAKG;IACH,UAAU,aAGR;CACH"}
@@ -15,10 +15,10 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
15
15
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
16
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
17
  };
18
- var _DialogBaseElement_nextSibling, _DialogBaseElement_parentElement, _DialogBaseElement_inertStore;
19
- import { GemElement } from '../lib/element';
20
- import { attribute, state, connectStore } from '../lib/decorators';
21
- import { history } from '../lib/history';
18
+ var _GemDialogBaseElement_nextSibling, _GemDialogBaseElement_parentElement, _GemDialogBaseElement_inertStore;
19
+ import { GemElement } from '../../lib/element';
20
+ import { attribute, state, connectStore } from '../../lib/decorators';
21
+ import { history } from '../../lib/history';
22
22
  /**
23
23
  * 在模版中声明的 dialog,使用 `open` 方法 打开;
24
24
  * 如果要应用关闭动画,可以在动画执行完后设置 `hidden` 属性;
@@ -26,13 +26,13 @@ import { history } from '../lib/history';
26
26
  *
27
27
  * @attr label
28
28
  */
29
- let DialogBaseElement = class DialogBaseElement extends GemElement {
29
+ let GemDialogBaseElement = class GemDialogBaseElement extends GemElement {
30
30
  constructor() {
31
31
  super();
32
32
  this.inert = true;
33
- _DialogBaseElement_nextSibling.set(this, void 0);
34
- _DialogBaseElement_parentElement.set(this, void 0);
35
- _DialogBaseElement_inertStore.set(this, []);
33
+ _GemDialogBaseElement_nextSibling.set(this, void 0);
34
+ _GemDialogBaseElement_parentElement.set(this, void 0);
35
+ _GemDialogBaseElement_inertStore.set(this, []);
36
36
  /**
37
37
  * @final
38
38
  * 进入关闭状态
@@ -40,12 +40,12 @@ let DialogBaseElement = class DialogBaseElement extends GemElement {
40
40
  this.closeHandle = () => {
41
41
  var _a;
42
42
  this.inert = true;
43
- __classPrivateFieldGet(this, _DialogBaseElement_inertStore, "f").forEach((e) => (e.inert = false));
44
- if (__classPrivateFieldGet(this, _DialogBaseElement_nextSibling, "f")) {
45
- __classPrivateFieldGet(this, _DialogBaseElement_nextSibling, "f").before(this);
43
+ __classPrivateFieldGet(this, _GemDialogBaseElement_inertStore, "f").forEach((e) => (e.inert = false));
44
+ if (__classPrivateFieldGet(this, _GemDialogBaseElement_nextSibling, "f")) {
45
+ __classPrivateFieldGet(this, _GemDialogBaseElement_nextSibling, "f").before(this);
46
46
  }
47
- else if (__classPrivateFieldGet(this, _DialogBaseElement_parentElement, "f")) {
48
- (_a = __classPrivateFieldGet(this, _DialogBaseElement_parentElement, "f")) === null || _a === void 0 ? void 0 : _a.appendChild(this);
47
+ else if (__classPrivateFieldGet(this, _GemDialogBaseElement_parentElement, "f")) {
48
+ (_a = __classPrivateFieldGet(this, _GemDialogBaseElement_parentElement, "f")) === null || _a === void 0 ? void 0 : _a.appendChild(this);
49
49
  }
50
50
  this.dispatchEvent(new CustomEvent('close'));
51
51
  this.opened = false;
@@ -57,10 +57,10 @@ let DialogBaseElement = class DialogBaseElement extends GemElement {
57
57
  this.openHandle = () => {
58
58
  this.hidden = false;
59
59
  this.inert = false;
60
- __classPrivateFieldSet(this, _DialogBaseElement_nextSibling, this.nextSibling, "f");
61
- __classPrivateFieldSet(this, _DialogBaseElement_parentElement, this.parentElement || this.getRootNode(), "f");
62
- __classPrivateFieldSet(this, _DialogBaseElement_inertStore, [...document.body.children].filter((e) => !e.inert), "f");
63
- __classPrivateFieldGet(this, _DialogBaseElement_inertStore, "f").forEach((e) => (e.inert = true));
60
+ __classPrivateFieldSet(this, _GemDialogBaseElement_nextSibling, this.nextSibling, "f");
61
+ __classPrivateFieldSet(this, _GemDialogBaseElement_parentElement, this.parentElement || this.getRootNode(), "f");
62
+ __classPrivateFieldSet(this, _GemDialogBaseElement_inertStore, [...document.body.children].filter((e) => !e.inert), "f");
63
+ __classPrivateFieldGet(this, _GemDialogBaseElement_inertStore, "f").forEach((e) => (e.inert = true));
64
64
  document.body.append(this);
65
65
  this.dispatchEvent(new CustomEvent('open'));
66
66
  this.opened = true;
@@ -98,15 +98,15 @@ let DialogBaseElement = class DialogBaseElement extends GemElement {
98
98
  return true;
99
99
  }
100
100
  };
101
- _DialogBaseElement_nextSibling = new WeakMap(), _DialogBaseElement_parentElement = new WeakMap(), _DialogBaseElement_inertStore = new WeakMap();
101
+ _GemDialogBaseElement_nextSibling = new WeakMap(), _GemDialogBaseElement_parentElement = new WeakMap(), _GemDialogBaseElement_inertStore = new WeakMap();
102
102
  __decorate([
103
103
  attribute
104
- ], DialogBaseElement.prototype, "label", void 0);
104
+ ], GemDialogBaseElement.prototype, "label", void 0);
105
105
  __decorate([
106
106
  state
107
- ], DialogBaseElement.prototype, "opened", void 0);
108
- DialogBaseElement = __decorate([
107
+ ], GemDialogBaseElement.prototype, "opened", void 0);
108
+ GemDialogBaseElement = __decorate([
109
109
  connectStore(history.store)
110
- ], DialogBaseElement);
111
- export { DialogBaseElement };
112
- //# sourceMappingURL=dialog-base.js.map
110
+ ], GemDialogBaseElement);
111
+ export { GemDialogBaseElement };
112
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/elements/base/dialog.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;;;GAMG;AAEH,IAAsB,oBAAoB,GAA1C,MAAsB,oBAAqB,SAAQ,UAAU;IAU3D;QACE,KAAK,EAAE,CAAC;QAPV,UAAK,GAAG,IAAI,CAAC;QAEb,oDAA+B;QAC/B,sDAA4B;QAC5B,2CAA6B,EAAE,EAAC;QAQhC;;;WAGG;QACH,gBAAW,GAAG,GAAG,EAAE;;YACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,uBAAA,IAAI,wCAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACnD,IAAI,uBAAA,IAAI,yCAAa,EAAE;gBACrB,uBAAA,IAAI,yCAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC;iBAAM,IAAI,uBAAA,IAAI,2CAAe,EAAE;gBAC9B,MAAA,uBAAA,IAAI,2CAAe,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACtB,CAAC,CAAC;QAEF;;;WAGG;QACH,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,uBAAA,IAAI,qCAAgB,IAAI,CAAC,WAAW,MAAA,CAAC;YACrC,uBAAA,IAAI,uCAAkB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,MAAA,CAAC;YAC/D,uBAAA,IAAI,oCAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAA,CAAC;YAC1F,uBAAA,IAAI,wCAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;QAEF,YAAY;QACZ,SAAI,GAAG,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,KAAK,EAAE,IAAI,CAAC,WAAW;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC,CAAC;QAMF,YAAY;QACZ,UAAK,GAAG,GAAG,EAAE;YACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC,CAAC;QAEF;;;;;WAKG;QACH,eAAU,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC;QAlEA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,MAAM,CAAC;IACpC,CAAC;IA8CD,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;CAiBF,CAAA;;AA9EY;IAAV,SAAS;mDAAe;AAClB;IAAN,KAAK;oDAAiB;AAFH,oBAAoB;IADzC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;GACN,oBAAoB,CA+EzC;SA/EqB,oBAAoB"}
@@ -0,0 +1,66 @@
1
+ import { GemElement } from '../../lib/element';
2
+ import { Emitter } from '../../lib/decorators';
3
+ export declare type PanEventDetail = {
4
+ x: number;
5
+ y: number;
6
+ clientX: number;
7
+ clientY: number;
8
+ timeStamp: number;
9
+ isPrimary: boolean;
10
+ pointerId: number;
11
+ };
12
+ export interface SwipeEventDetail {
13
+ direction: 'top' | 'right' | 'bottom' | 'left';
14
+ speed: number;
15
+ }
16
+ export interface PinchEventDetail {
17
+ x: number;
18
+ y: number;
19
+ scale: number;
20
+ }
21
+ export interface RotateEventDetail {
22
+ x: number;
23
+ y: number;
24
+ rotate: number;
25
+ }
26
+ /**
27
+ * 块级元素,如果要设置成 `contents`,则内容块要设置 `touch-action: none`
28
+ * https://javascript.info/pointer-events#event-pointercancel
29
+ *
30
+ * 在移动端上,必须设置 `touch-action` 以允许滚动等原生动作
31
+ *
32
+ * 为什么空白区域会自动触发 `pointercancel`?
33
+ *
34
+ * @event pan
35
+ * @event pinch
36
+ * @event rotate
37
+ * @event swipe
38
+ * @event press
39
+ * @event end
40
+ *
41
+ * @attr touch-action
42
+ */
43
+ export declare class GemGestureElement extends GemElement {
44
+ pan: Emitter<PanEventDetail>;
45
+ pinch: Emitter<PinchEventDetail>;
46
+ rotate: Emitter<RotateEventDetail>;
47
+ swipe: Emitter<SwipeEventDetail>;
48
+ press: Emitter<null>;
49
+ end: Emitter<null>;
50
+ touchAction: string;
51
+ pressed: boolean;
52
+ pressTimer: number;
53
+ startEventMap: Map<number, PointerEvent>;
54
+ movesMap: Map<number, PanEventDetail[]>;
55
+ constructor();
56
+ getMoves(pointerId: number): PanEventDetail[];
57
+ getStartEvent(pointerId: number): PointerEvent;
58
+ getOtherLastmove(pointerId: number): PanEventDetail | undefined;
59
+ getMovementX(x: number, y: number): number;
60
+ getMovementY(x: number, y: number): number;
61
+ onStart(evt: PointerEvent): void;
62
+ onMove(evt: PointerEvent): void;
63
+ onEnd(evt: PointerEvent): void;
64
+ render(): import("lit-html/lib/template-result").TemplateResult;
65
+ }
66
+ //# sourceMappingURL=gesture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture.d.ts","sourceRoot":"","sources":["../../src/elements/base/gesture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAsB,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE,oBAAY,cAAc,GAAG;IAE3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,gBAAgB;IAE/B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,iBAAiB;IAEhC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IACtC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,WAAW,EAAE,MAAM,CAAC;IAE/B,OAAO,UAAS;IAChB,UAAU,SAAK;IAEf,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IACrD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAa;;IAWpD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAI1B,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,gBAAgB,CAAC,SAAS,EAAE,MAAM;IASlC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAgBjC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAgBjC,OAAO,CAAC,GAAG,EAAE,YAAY;IAczB,MAAM,CAAC,GAAG,EAAE,YAAY;IAkDxB,KAAK,CAAC,GAAG,EAAE,YAAY;IA2CvB,MAAM;CAYP"}