@covet-pics/covet-pics-widget 0.130.0 → 0.130.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/cjs/covet-pics-widget.cjs.entry.js +4 -4
- package/dist/cjs/covet-pics-widget.cjs.entry.js.map +1 -1
- package/dist/collection/components/covet-pics-widget/covet-pics-widget.js +4 -4
- package/dist/collection/components/covet-pics-widget/covet-pics-widget.js.map +1 -1
- package/dist/covet-pics-widget/covet-pics-widget.esm.js +1 -1
- package/dist/covet-pics-widget/{p-617a9c6d.entry.js → p-5ce779d5.entry.js} +2 -2
- package/dist/covet-pics-widget/{p-617a9c6d.entry.js.map → p-5ce779d5.entry.js.map} +1 -1
- package/dist/covet-pics-widget/{p-0c64651c.system.entry.js → p-840ffe13.system.entry.js} +2 -2
- package/dist/covet-pics-widget/{p-0c64651c.system.entry.js.map → p-840ffe13.system.entry.js.map} +1 -1
- package/dist/covet-pics-widget/p-8e2f5a57.system.js +1 -1
- package/dist/esm/covet-pics-widget.entry.js +4 -4
- package/dist/esm/covet-pics-widget.entry.js.map +1 -1
- package/dist/esm-es5/covet-pics-widget.entry.js +1 -1
- package/dist/esm-es5/covet-pics-widget.entry.js.map +1 -1
- package/package.json +1 -1
|
@@ -960,12 +960,12 @@ const CovetPicsWidget = class {
|
|
|
960
960
|
this.loader.setCustomSettings(JSON.parse(this.customSettings));
|
|
961
961
|
}
|
|
962
962
|
if (typeof this.galleryEmbedId === "undefined") {
|
|
963
|
-
if (
|
|
964
|
-
this.loader.productHandle = uri.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1];
|
|
965
|
-
}
|
|
966
|
-
else {
|
|
963
|
+
if (this.el.getAttribute("data-product") !== null) {
|
|
967
964
|
this.loader.productHandle = this.el.getAttribute("data-product");
|
|
968
965
|
}
|
|
966
|
+
else if (uri.pathname.indexOf("/products/") !== -1) {
|
|
967
|
+
this.loader.productHandle = uri.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1];
|
|
968
|
+
}
|
|
969
969
|
if (this.el.hasAttribute("data-shop")) {
|
|
970
970
|
this.shop = this.el.getAttribute("data-shop");
|
|
971
971
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"covet-pics-widget.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;AAEA,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;MAEpD,oBAAoB;EAoB/B,YAAY,GAAW,EAAE,WAAqB;IAbvC,SAAI,GAAG,CAAC,CAAC;IACT,cAAS,GAAG,KAAK,CAAC;IAClB,eAAU,GAAG,CAAC,CAAC;IACf,oBAAe,GAAG,EAAE,CAAC;IACrB,qBAAgB,GAAY,KAAK,CAAC;IAClC,qBAAgB,GAAY,KAAK,CAAC;IAClC,gBAAW,GAAY,KAAK,CAAC;IAC7B,aAAQ,GAAW,EAAE,CAAC;IAGrB,oBAAe,GAAW,EAAE,CAAC;IAC7B,qBAAgB,GAAkB,EAAE,CAAC;IAG3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAEjC,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;MAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAAE;IAEzE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAACA,mBAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;MACvE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;KACzB;GACF;EAED,IAAI,OAAO;IACT,OAAOA,mBAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GACzC;;EAGD,IAAI,WAAW;IACb,OAAO,IAAI,CAAC,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;GACpE;EAED,iBAAiB,CAAC,QAAgB;IAChC,IAAI,CAAC,eAAe,qBAAQ,QAAQ,CAAE,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,eAAe,CAAC;GAC7B;EAED,kBAAkB,CAAC,OAAsB;IACvC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE;GAC/C;EAED,kBAAkB;IAChB,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;GAC1D;EAED,iBAAiB;IACf,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;GACrG;EAED,UAAU;IACR,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;MAAE,OAAO,6BAA6B,CAAC;IAE1E,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IACvB,IAAI,CAAC,aAAa;QACd,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC/B,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,WAAW;MAAE,GAAG,IAAI,UAAU,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;MAAE,GAAG,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7D,OAAO,GAAG,CAAC;GACZ;EAED,eAAe;IACb,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;GACrB;EAED,MAAM,UAAU;IACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;MAAE,OAAO;KAAE;IAE/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAEf,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;MAAE,cAAc,CAAC,IAAI,CAAC,QAAS,IAAI,CAAC,IAAK,EAAE,CAAC,CAAC;KAAE;IAElE,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;MACpC,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;OACzD;WAAM;QACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;OACpG;KACF;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;MAAE,GAAG,IAAI,IAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC;KAAE;IAE3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,IAAI,qBAAQ,IAAI,CAAE,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAC,eAAe,CAAE,CAAC;IACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAE3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACvB,OAAO,IAAI,CAAC;GACb;EAEO,uBAAuB,CAAC,KAAK;IACnC,MAAM,aAAa,GAAG,CAAC,GAAW;MAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;MAC1C,IAAI,SAAS,GAAG,GAAG,CAAC;MACpB,MAAM,OAAO,GAAI,MAAc,CAAC,OAAO,CAAC;MACxC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;QAC1G,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;OAC/E;MACD,OAAO,SAAS,CAAC;KAClB,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,IAAI;MAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;UACrB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACrC,OAAO,IAAI,CAAC;SACb,CAAC,CAAC;OACJ;MACD,OAAO,IAAI,CAAC;KACb,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;GACd;EAED,IAAY,YAAY;IACtB,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,WAAW,EAAE;MACpB,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;MACjC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;MAElE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG;UACd,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;UAC7E,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;OAC1D;KACF;IAED,OAAO,aAAa,CAAC;GACtB;;;ACjKH,IAAI,eAAe,GAAG,EAAE;;ACCxB,IAAI,qBAAqB,GAAG,YAAY;AACxC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;;ACFD,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;;ACHD,IAAI,GAAG,GAAG,+DAA+D,CAAC;AAC1E,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,QAAQ,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;AACxC,YAAY,OAAO,EAAE,GAAG;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,SAAS;AACT,QAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/C,QAAQ,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;;ACdD,IAAI,wBAAwB,CAAC;AAC7B,CAAC,UAAU,wBAAwB,EAAE;AACrC,IAAI,wBAAwB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAC1D,IAAI,wBAAwB,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC5D,IAAI,wBAAwB,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;AACtF,CAAC,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,EAAE,CAAC,CAAC;;ACLxD,IAAI,MAAM,GAAG,UAAU,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;;ACCjE,IAAI,kBAAkB,IAAI,YAAY;AACtC,IAAI,SAAS,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE;AACvD,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC;AAC9B,CAAC,EAAE,CAAC;;ACPJ,IAAI,eAAe,IAAI,YAAY;AACnC,IAAI,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5C,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;AACnD,QAAQ,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACpJ,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChH,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,QAAQ,GAAG,UAAU,SAAS,EAAE;AACpD,QAAQ,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAChG,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC,EAAE,CAAC;;ACrBJ,IAAI,KAAK,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,YAAY,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;AAC9F,IAAI,QAAQ,GAAG,UAAU,MAAM,EAAE;AACjC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACvB,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACxE,QAAQ,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;AAClF,IAAI,OAAO,EAAE,WAAW,IAAI,YAAY,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,UAAU,GAAG,EAAE;AAC/B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,GAAG,YAAY,OAAO,EAAE;AAChC,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;AACvI,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,GAAG,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC;AACF,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE;AAC1C,IAAI,QAAQ,MAAM,CAAC,OAAO;AAC1B,QAAQ,KAAK,OAAO;AACpB,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AACzC,gBAAgB,MAAM;AACtB,aAAa;AACb,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,KAAK;AAClB,YAAY,OAAO,IAAI,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;ACjCM,IAAI,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,EAAE;;ACM/D,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,IAAI,YAAY,GAAG,aAAa,CAAC;AACjC,IAAI,cAAc,GAAG,cAAc,CAAC;AACpC,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,IAAI,cAAc,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,IAAI,IAAI,GAAG,UAAU,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;AACzD,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE;AAClD,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE;AAChD,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE;AACxD,IAAI,OAAO,IAAI,kBAAkB,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AAC5H,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,MAAM,CAAC;AACvB,IAAI,yBAAyB,EAAE,IAAI,EAAE;AACrC,IAAI,aAAa,EAAE,IAAI,EAAE;AACzB,IAAI,cAAc,EAAE,IAAI,EAAE;AAC1B,IAAI,WAAW,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AACH,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE,kBAAkB,EAAE;AAC9D,IAAI,IAAI,kBAAkB,KAAK,KAAK,CAAC,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,EAAE;AACtE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAClD,QAAQ,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAQ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrC,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1E,IAAI,IAAI,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,YAAY,CAAC;AAC7D,IAAI,IAAI,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,mBAAmB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC5E,IAAI,IAAI,qBAAqB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC9E,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;AAC7D,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AACjE,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AACnE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAC/D,IAAI,IAAI,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAChE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACpE,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;AACtE,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;AAClE,IAAI,IAAI,iBAAiB,GAAG,WAAW,GAAG,YAAY,CAAC;AACvD,IAAI,IAAI,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AACrD,IAAI,IAAI,oBAAoB,GAAG,UAAU,GAAG,WAAW,CAAC;AACxD,IAAI,IAAI,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AACtD,IAAI,IAAI,4BAA4B,GAAG,CAAC,qBAAqB,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;AACnI,IAAI,IAAI,0BAA0B,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC;AAC/H,IAAI,IAAI,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,CAAC,CAAC;AACtF,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,GAAG,CAAC,CAAC;AACnF,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,cAAc,GAAG,0BAA0B,CAAC;AAChH,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,4BAA4B,CAAC;AACtH,IAAI,IAAI,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,oBAAoB,CAAC;AAC9G,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,4BAA4B,GAAG,kBAAkB,CAAC;AAC9G,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC;AACvB,QAAQ,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,WAAW,CAAC;AAC/I,QAAQ,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC;AACzE,QAAQ,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;AACtE,QAAQ,WAAW,EAAE,IAAI,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;AAC9F,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,UAAU,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAC1E,IAAI,IAAI,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,EAAE,CAAC,cAAc,EAAE,yBAAyB,GAAG,EAAE,CAAC,yBAAyB,CAAC;AAC3L,IAAI,QAAQ,WAAW;AACvB,QAAQ,KAAK,wBAAwB,CAAC,wBAAwB;AAC9D,YAAY,OAAO,yBAAyB,CAAC;AAC7C,QAAQ,KAAK,wBAAwB,CAAC,UAAU;AAChD,YAAY,OAAO,aAAa,CAAC;AACjC,QAAQ;AACR,YAAY,OAAO,cAAc,CAAC;AAClC,KAAK;AACL,CAAC;;AC3ED,IAAI,mBAAmB,IAAI,YAAY;AACvC,IAAI,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzC,QAAQ,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,QAAQ,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC;;ACXJ,IAAI,qBAAqB,GAAG,UAAU,IAAI,EAAE;AAC5C,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,IAAI,OAAO,MAAM,EAAE;AACnB,QAAQ,KAAK,IAAI,CAAC,CAAC;AACnB,QAAQ,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;ACRD,IAAI,2BAA2B,GAAG,YAAY;AAC9C,IAAI,IAAI,eAAe,GAAG,QAAQ,CAAC;AACnC,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC;AACzB,QAAQ,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AAC5D,YAAY,IAAI,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC3D,YAAY,IAAI,WAAW,GAAG,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,YAAY,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC9E,YAAY,IAAI,WAAW,GAAG,eAAe,EAAE;AAC/C,gBAAgB,eAAe,GAAG,WAAW,CAAC;AAC9C,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,SAAS,CAAC,IAAI,CAAC,SAAS,sBAAsB,GAAG;AACzD,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChE,SAAS,CAAC,CAAC;AACX,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC7E,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,KAAK;AACL,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC;;AC7BD,IAAI,+BAA+B,GAAG,UAAU,KAAK,EAAE;AACvD,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9D,QAAQ,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AACjE,YAAY,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;AAC/B,gBAAgB,IAAI,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE;AAC9D,oBAAoB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;;ACZD,IAAI,OAAO,GAAG,YAAY;AAC1B,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,qBAAqB,EAAE,EAAE;AACpC,QAAQ,KAAK,GAAG,2BAA2B,EAAE,CAAC;AAC9C,QAAQ,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,sBAAsB,EAAE,EAAE;AAClC,QAAQ,sBAAsB,EAAE,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;AACrB,CAAC;;AChBD,IAAI,OAAO,CAAC;AACZ,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,MAAM,GAAG,YAAY,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjG,IAAI,cAAc,GAAG,UAAU,QAAQ,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAQ,IAAI,MAAM,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC7C,QAAQ,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrF,QAAQ,OAAO,GAAG,YAAY,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AACpG,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAI,OAAO,EAAE,CAAC;AACd,CAAC;;ACZD,IAAI,mBAAmB,GAAG,UAAU,EAAE,EAAE;AACxC,IAAI,cAAc,CAAC,SAAS,cAAc,GAAG;AAC7C,QAAQ,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACFD,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,UAAU,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpD,IAAI,YAAY,GAAG,GAAG,CAAC;AACvB,IAAI,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/F,IAAI,MAAM,GAAG;AACb,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,CAAC,CAAC;AACF,IAAI,IAAI,GAAG,UAAU,OAAO,EAAE;AAC9B,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE;AAC5C,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;AAChC,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,SAAS,IAAI,YAAY;AAC7B,IAAI,SAAS,SAAS,GAAG;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;AACjE,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,OAAO,EAAE;AACjD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE;AAC3D,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,SAAS,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,QAAQ,mBAAmB,CAAC,YAAY;AACxC,YAAY,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAC5C,YAAY,IAAI;AAChB,gBAAgB,mBAAmB,GAAG,OAAO,EAAE,CAAC;AAChD,aAAa;AACb,oBAAoB;AACpB,gBAAgB,SAAS,GAAG,KAAK,CAAC;AAClC,gBAAgB,OAAO,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;AACzC,gBAAgB,IAAI,CAAC,UAAU,EAAE,EAAE;AACnC,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,oBAAoB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,OAAO,GAAG,CAAC,EAAE;AACtC,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC;AAClC,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAC9C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;AACjH,QAAQ,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAC5C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChE,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;AAC3C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAY,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AACxD,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/G,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC,CAAC;AACL,IAAI,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAChC,IAAI,WAAW,GAAG,UAAU,CAAC,EAAE;AAC/B,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5C,IAAI,QAAQ,IAAI,CAAC,CAAC;AAClB,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;;AC/FD,IAAI,mBAAmB,GAAG,UAAU,MAAM,EAAE;AAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACzB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACrC,WAAW,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACzD,CAAC,CAAC;AACF,IAAI,iBAAiB,IAAI,YAAY;AACrC,IAAI,SAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,wBAAwB,CAAC,WAAW,CAAC;AAC/E,QAAQ,IAAI,CAAC,gBAAgB,GAAG;AAChC,YAAY,UAAU,EAAE,CAAC;AACzB,YAAY,SAAS,EAAE,CAAC;AACxB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,iBAAiB,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACvD,QAAQ,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACzE,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC9C,YAAY,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACzC,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;AAChE,eAAe,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK,CAAC;AACN,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,EAAE,CAAC;;AC7BJ,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,SAAS,oBAAoB,CAAC,cAAc,EAAE,QAAQ,EAAE;AAC5D,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACvC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC;AAChC,CAAC,EAAE,CAAC;;ACLJ,IAAI,WAAW,GAAG,IAAI,OAAO,EAAE,CAAC;AAChC,IAAI,mBAAmB,GAAG,UAAU,kBAAkB,EAAE,MAAM,EAAE;AAChE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3D,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;AACrD,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AACF,IAAI,wBAAwB,IAAI,YAAY;AAC5C,IAAI,SAAS,wBAAwB,GAAG;AACxC,KAAK;AACL,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,QAAQ,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,IAAI,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACxE,QAAQ,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChD,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE;AAClF,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACtE,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;AACxE,YAAY,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,YAAY,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAClG,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC;AACjC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3E,QAAQ,IAAI,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACrE,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;AACxB,YAAY,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,YAAY,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,UAAU,GAAG,UAAU,cAAc,EAAE;AACpE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACxH,QAAQ,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACpE,KAAK,CAAC;AACN,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC;;AC7CJ,IAAI,cAAc,IAAI,YAAY;AAClC,IAAI,SAAS,cAAc,CAAC,QAAQ,EAAE;AACtC,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,gFAAgF,CAAC,CAAC;AAClH,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C,YAAY,MAAM,IAAI,SAAS,CAAC,+FAA+F,CAAC,CAAC;AACjI,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;AAClE,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,2FAA2F,CAAC,CAAC;AAC7H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,sFAAsF,CAAC,CAAC;AACxH,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,MAAM,EAAE;AAC3D,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,6FAA6F,CAAC,CAAC;AAC/H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,wFAAwF,CAAC,CAAC;AAC1H,SAAS;AACT,QAAQ,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY;AACtD,QAAQ,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,QAAQ,GAAG,YAAY;AAC1C,QAAQ,OAAO,gDAAgD,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,EAAE,CAAC;;ACnCJ,MAAMC,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,UAAU;EAChB,YAAY,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;GACb;EACD,QAAQ,EAAE;IACR,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM;MAChC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;MAC9D,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;MAC3B,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;MACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;KAClC;IACD,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM;MACvC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACrC;IACD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM;MACpC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;KAClC;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC9F,wBAAeA,OAAK,CAAC,OAAO;;AC1B5B,MAAM,aAAa,GAAG;EACpB,YAAY,EAAE,wBAAwB;EACtC,aAAa,EAAE,uBAAuB;EACtC,SAAS,EAAE,wCAAwC;EACnD,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,KAAK;EACX,YAAY,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;GACnB;EACD,QAAQ,EAAE;IACR,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM;MAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;MAC3B,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;UAC/D,GAAG,CAAC,WAAW,GAAG,GAAG;UACrB,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC;MAEnC,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;MAC7C,GAAG,CAAC,cAAc,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,CAAC;MAExE,OAAO,GAAG,CAAC;KACZ;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,cAAc,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAChD,mBAAeA,OAAK,CAAC,OAAO;;AChC5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,MAAM;EACZ,YAAY,EAAE;IACZ,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,eAAe,EAAE,IAAI;GACtB;EACD,QAAQ,EAAE;IACR,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM;MAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;MAClC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;KAC9C;IACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM;MAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AACzE,oBAAeA,OAAK,CAAC,OAAO;;ACnB5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,SAAS;EACf,YAAY,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,KAAK;GACZ;EACD,QAAQ,EAAE;IACR,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM;MACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;IACD,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM;MACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;IACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM;MAC9B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;KAC/B;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC1F,uBAAeA,OAAK,CAAC,OAAO;;ACtB5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,WAAW;EACjB,YAAY,EAAE,KAAK;EACnB,QAAQ,EAAE;IACR,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM;MAC9B,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;MAC3B,OAAO,SAAS,CAAC;KAClB;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,YAAY,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC9C,yBAAeA,OAAK,CAAC,OAAO;;ACX5B,MAAM,YAAY,GAAa;EAC7B,0BAA0B,EAAE,aAAa;EACzC,iBAAiB,EAAE,OAAO;EAC1B,sBAAsB,EAAE,SAAS;EACjC,kBAAkB,EAAE,SAAS;EAC7B,mBAAmB,EAAE,QAAQ;EAC7B,UAAU,EAAE,UAAU;EACtB,iBAAiB,EAAE,EAAE;EACrB,wBAAwB,EAAE,UAAU;EACpC,6BAA6B,EAAE,SAAS;EACxC,yBAAyB,EAAE,SAAS;EACpC,qBAAqB,EAAE,MAAM;EAC7B,iBAAiB,EAAE,UAAU;EAC7B,iBAAiB,EAAE,YAAY;EAC/B,sBAAsB,EAAE,QAAQ;EAChC,kBAAkB,EAAE,IAAI;EACxB,WAAW,EAAE,iBAAiB;EAC9B,aAAa,EAAE,KAAK;EACpB,iBAAiB,EAAE,KAAK;EACxB,QAAQ,EAAE;IACR,OAAO,EAAE,KAAK;IACd,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,SAAS;GACtB;EACD,wBAAwB,EAAE,WAAW;EACrC,6BAA6B,EAAE,SAAS;EACxC,yBAAyB,EAAE,SAAS;EACpC,0BAA0B,EAAE,YAAY;EACxC,qBAAqB,EAAE,SAAS;EAChC,YAAY,EAAE,YAAY;EAC1B,eAAe,EAAE,IAAI;EACrB,sBAAsB,EAAE,SAAS;EACjC,wBAAwB,EAAE,EAAE;EAC5B,iCAAiC,EAAE,SAAS;EAC5C,uCAAuC,EAAE,SAAS;EAClD,2BAA2B,EAAE,SAAS;EACtC,iCAAiC,EAAE,SAAS;EAC5C,uBAAuB,EAAE,OAAO;EAChC,gBAAgB,EAAE,YAAY;EAC9B,6BAA6B,EAAE,SAAS;EACxC,oBAAoB,EAAE,gBAAgB;EACtC,6BAA6B,EAAE,KAAK;EACpC,sBAAsB,EAAE,iBAAiB;EACzC,wBAAwB,EAAE,WAAW;EACrC,mBAAmB,EAAE,OAAO;EAC5B,oBAAoB,EAAE,QAAQ;EAC9B,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;AACA,MAAM,+BAA+B,GAAG,CAAC,QAAkB;EACzD,QAAQ,CAAC,kBAAkB,GAAG,UAAU,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;EACpG,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;EACvF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;EACrG,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;EACpG,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;EAC/F,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACzH,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACrG,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACvF,QAAQ,CAAC,sBAAsB,GAAG,4BAA4B,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;EACjI,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,UAAU;EAChB,YAAY,EAAE,+BAA+B,CAAC,YAAY,CAAC;EAC3D,QAAQ,EAAE;IACR,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM;MAC5B,QAAQ,GAAG,+BAA+B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;MAC3D,OAAO,QAAQ,CAAC;KACjB;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;AAC7C,wBAAe,KAAK,CAAC,OAAO;;ACjE5B,MAAM,WAAW,GAAGC,gCAAe,CAAC;EAClC,SAAS,EAAE,gBAAgB;EAC3B,IAAI,EAAE,WAAW;EACjB,IAAI,EAAEC,gBAAW;EACjB,GAAG,EAAE,UAAU;EACf,OAAO,EAAE,cAAc;EACvB,KAAK,EAAEC,WAAK;EACZ,MAAM,EAAEC,oBAAa;EACrB,MAAM,EAAEC,oBAAa;EACrB,QAAQ,EAAE,eAAe;EACzB,QAAQ,EAAE,eAAe;CAC1B,CAAC;;;ECrBA,MAAM,KAAK,GAAUC,+BAAc,CAAC,WAAEC,WAAO,EAAE,CAAC,CAAC;EACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;ACRA,MAAM,kBAAkB,GAAG,qIAAqI;;MCqBnJ,eAAe;;;;;IAiFlB,gBAAW,GAAY,KAAK,CAAC;;;;;;uBAjDN,KAAK;qBAEN,IAAI;;iBAEF,EAAE;;;EAgBlC,MAAM,kBAAkB,CAAC,KAAkB;IACzC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;MAChB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACvD;GACF;EAGD,MAAM,qBAAqB;IACzB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;MAChB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACvD;GACF;EAGD,MAAM,eAAe;IACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7C;GACF;;;;EAWD,MAAM,8BAA8B,CAAC,QAAiB;IACpD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;MAChC,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;GACJ;;;;EAMD,MAAM,qBAAqB,CAAC,QAAgB,EAAE,YAAqB,EAAE,YAAqB;IACxF,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC;IAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,eAAe,mCACtB,IAAI,CAAC,MAAM,CAAC,eAAe,GAC3B,QAAQ,CACZ,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,iBAAiB;IACf,IAAI,CAAC,YAAY,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,gBAAgB;IACd,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;MACvC,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,WAAW,CAAC;MACrF,IAAI,qBAAqB,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;OACjE;MAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;MAC9G,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,cAAc,EAAE;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;OAC3B;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;MAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;KACpD;GACF;EAED,oBAAoB;IAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;GAClC;EAEO,YAAY;IAClB,IAAI,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,cAAc,GAAGC,sBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;MACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE,CAAC;GACvB;EAEO,WAAW;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAE3E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;MAC3C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;KAChE;IAED,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;MAC9C,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7C,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC;OACvF;WAAM;QACL,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;OAClE;MAED,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;OAC/C;MAED,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;OAAE;MACnE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;KACpC;SAAM;MACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;KAC3C;GACF;EAEO,MAAM,QAAQ;IACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAEtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;;IAG5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;MAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAClE;SAAM;MACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7C;;IAED,IAAI,OAAO,IAAI,KAAK,WAAW;MAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAAE;IAC3C,IAAI,IAAI,CAAC,eAAe,IAAIC,uBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;MAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC;MACtC,MAAM,MAAM,GAAG,yBAAyB,CAAC;MACzC,MAAM,KAAK,GAAG,4BAA4B,GAAG,IAAI,CAAC,cAAc,CAAC;MACjEC,2BAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,IAAI,CAAC,eAAe,EAAE;MACxBC,qBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,WAAW;QAClD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAG1D,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAEzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACvB,OAAO,IAAI,CAAC;GACb;EAEO,MAAM,uBAAuB;IACnC,OAAO,IAAI,OAAO,CAAC,OAAM,OAAO;MAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAChC,MAAM,KAAK,GAAI,IAAI,CAAC,KAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,WAAW;YACvC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;YACnB,MAAM,CAAC,CAAC;OACb;MAED,MAAM,MAAM,GAAGC,yBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;MACjF,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;MAC5C,MAAM,YAAY,GAAI,IAAI,CAAC,KAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;MAEvG,IAAI,YAAY;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;MAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;MAC5C,IAAI,OAAO,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;MACxD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;KAChD,CAAC,CAAC;GACJ;EAEO,cAAc;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;QACnD,GAAG,CAAC;IACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;GAC1D;EAEO,iBAAiB;IACvB,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,YAAY,WAAW,EAAE;GAC9F;EAED,IAAY,eAAe;IACzB,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;MAAE,OAAO,IAAI,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;MAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;MAAE,OAAO,KAAK,CAAC;IAE3I,OAAO,IAAI,CAAC;GACb;EAEO,QAAQ;IACd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;MACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACtD,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;MACjD,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,2CAA2C,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,oCAAoC,CAAC,CAAC;MACrL,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;KAC3C;IACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;GACzB;EAEO,qBAAqB;IAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,EAAE,EAAE;MACzF,YAAY,CAAC,0BAA0B,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,cAAc,CAAC;KACnG;IACD,OAAO,YAAY,CAAC;GACrB;EAEO,kBAAkB,CAAC,KAAoB;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B;MAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG,CAAC,CAAC;IAC/E,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAEC,yBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;GACd;EAEO,mBAAmB;IACzB,QACEC,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,YAAY,gEAC3DD,uCACE,KAAK,EAAE,IAAI,CAAC,KAAK,4BACO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,0BACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,2BACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,yBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,eAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,EAC9D,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,oBACnF,IAAI,CAAC,YAAY,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAEG,CACvB,EACP;GACH;EAEO,iBAAiB;;IACvB,QACEA,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,YAAY,gEAC3DD,qCACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,kBAC1B,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,YAAY,mBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAC7C,SAAS,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,SAAS,4BACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,0BAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,2BACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,yBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,sBAEhD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,qBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,yBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,0BAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,uBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,qBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,qBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,uBAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,qBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,2BAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,oBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,yBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,yBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,mBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,qBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,uBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,yBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,iBAElD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,gCACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,2BACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,sBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAEvE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,oBACnF,IAAI,CAAC,YAAY,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,GACK,CACrB,EACP;GACH;EAEO,iBAAiB;IACvB,QACEA,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,aAAa,IAC5DD,oCACE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAC5C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC1C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACzD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAC3E,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAC3D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAClD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EACnE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EACxD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EACnE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EACzE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EACpE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAC7B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAEA,CACnB,EACR;GACH;EAEO,mBAAmB;IACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE;MACb,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACvD;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAE9F,IAAI,OAAO,IAAI,QAAQ,KAAK,EAAE,EAAE;MAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAA4B,CAAC;MAC7E,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;KACpD;GACF;EAED,MAAM;IACJ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE;MAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;MAC3D,IAAI,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;MAChE,IAAI,WAAW,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;MACjE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;KACjC;GACF;;;;;;;","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","getUploadWidgetItem","h","Host"],"sources":["./src/services/gallery-loader-service.ts","./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","./node_modules/@juggle/resize-observer/lib/utils/freeze.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","./node_modules/@juggle/resize-observer/lib/utils/element.js","./node_modules/@juggle/resize-observer/lib/utils/global.js","./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","./node_modules/@juggle/resize-observer/lib/utils/process.js","./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","./src/store/widgetId.ts","./src/store/url.ts","./src/store/size.ts","./src/store/preview.ts","./src/store/analytics.ts","./src/store/settings.ts","./src/store/reducer.ts","./src/store/configureStore.ts","./src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","./src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + f));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items);\n\n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null\n },\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n },\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\n },\n widgetShopIdUpdated: (widgetId, action) => {\n widgetId.shopId = action.payload;\n }\n }\n});\n\nexport const { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst BASE_API_URLS = {\n \"production\": \"https://app.covet.pics\",\n \"development\": \"http://localhost:3000\",\n \"staging\": \"https://covetstaging.spacesquirrel.net\",\n \"testing\": \"http://localhost:3000/testing_db\"\n};\n\nconst BEACONS_URL = \"/api/v1/beacons\";\n\nconst slice = createSlice({\n name: \"url\",\n initialState: {\n baseUrl: \"\",\n environment: \"\",\n baseBeaconsUrl: \"\"\n },\n reducers: {\n setEnvironment: (url, action) => {\n const env = action.payload;\n typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)\n ? url.environment = env\n : url.environment = \"production\";\n\n url.baseUrl = BASE_API_URLS[url.environment];\n url.baseBeaconsUrl = `${BASE_API_URLS[url.environment]}${BEACONS_URL}/`;\n\n return url;\n },\n }\n});\n\nexport const { setEnvironment } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"size\",\n initialState: {\n widgetWidth: 320,\n windowHeight: 600,\n isDesktopScreen: true // check default value and default width\n },\n reducers: {\n widgetWidthUpdated: (size, action) => {\n size.widgetWidth = action.payload;\n size.isDesktopScreen = action.payload >= 800;\n },\n windowHeightUpdated: (size, action) => {\n size.windowHeight = action.payload;\n },\n }\n});\n\nexport const { widgetWidthUpdated, windowHeightUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"preview\",\n initialState: {\n settings: {},\n hoverMode: false,\n popupMode: false,\n mode: false\n },\n reducers: {\n setPreviewHoverMode: (preview, action) => {\n preview.hoverMode = action.payload;\n },\n setPreviewPopupMode: (preview, action) => {\n preview.popupMode = action.payload;\n },\n setPreviewMode: (preview, action) => {\n preview.mode = action.payload;\n }\n }\n});\n\nexport const { setPreviewHoverMode, setPreviewPopupMode, setPreviewMode } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"analytics\",\n initialState: false,\n reducers: {\n setAnalytics: (analytics, action) => {\n analytics = action.payload;\n return analytics;\n },\n }\n});\n\nexport const { setAnalytics } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\nimport { Settings } from \"../utils/types\";\n\nconst initialState: Settings = {\n add_to_cart_button_caption: \"Add to cart\",\n arrow_color_theme: \"light\",\n arrow_custom_box_color: \"#000000\",\n arrow_custom_color: \"#d3d3d3\",\n arrow_graphics_type: \"type_1\",\n arrow_size: \"standard\",\n arrow_size_custom: 48,\n close_button_color_theme: \"dark_btn\", \n close_button_custom_box_color: \"#000000\",\n close_button_custom_color: \"#d3d3d3\",\n close_button_position: \"side\",\n close_button_size: \"standard\",\n close_button_type: \"btn_type_1\",\n desktop_arrow_position: \"middle\",\n direct_add_to_cart: true,\n font_family: \"Source Sans Pro\",\n hide_branding: false,\n hide_social_links: false,\n hotspots: {\n enabled: false,\n background_color: \"#000000\",\n show_numbers: false,\n text_color: \"#ffffff\" \n },\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n select_label_caption: \"Select\",\n show_price_in_popup: true\n};\n\n// converted properies based on BE settings\nconst settingsWithConvertedProperties = (settings: Settings): Settings => {\n settings._arrowsDesktopType = `arrows-${settings.arrow_graphics_type.toString().replace(\"_\", \"-\")}`;\n settings._arrowsDesktopSizeType = settings.arrow_size.toString().replace(\"_arrow\", \"\");\n settings._arrowsDesktopPosition = settings.desktop_arrow_position.toString().replace(\"sidebar_\", \"\");\n settings._arrowsMobileColorTheme = settings.mobile_arrow_color_theme.toString().replace(\"mob_\", \"\");\n settings._arrowsMobilePosition = settings.mobile_arrow_position.toString().replace(\"mob_\", \"\");\n settings._arrowsMobileType = settings.mobile_arrow_graphics_type.toString().replace(\"mob_\", \"arrows-\").replace(\"_\", \"-\");\n settings._buyButtonStyle = settings.popup_buy_button_style.replace(\"buy_btn_\", \"\").replace(\"_\", \"-\");\n settings._closeButtonType = settings.close_button_type.toString().split(\"_\").join(\"-\");\n settings._closeButtonСolorTheme = `close-button-color-theme-${settings.close_button_color_theme.toString().replace(\"_btn\", \"\")}`;\n return settings;\n};\n\nconst slice = createSlice({\n name: \"settings\",\n initialState: settingsWithConvertedProperties(initialState),\n reducers: {\n setSettings: (settings, action) => {\n settings = settingsWithConvertedProperties(action.payload);\n return settings;\n },\n }\n});\n\nexport const { setSettings } = slice.actions;\nexport default slice.reducer;","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, getUploadWidgetItem, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n})\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler() {\n this.loader.resetPagination();\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"nextPage\")\n async nextPageHandler() {\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n }\n }\n\n private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.parentElement.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.el);\n this.appStore.dispatch(widgetIdUpdated(widgetIdParams));\n this.appStore.dispatch(setEnvironment(this.environment));\n this.appStore.dispatch(setPreviewMode(this.previewMode));\n this.appState = this.appStore.getState(); \n this.unsubscribe = this.appStore.subscribe(() => {\n this.appState = this.appStore.getState(); \n });\n this.setWidgetWidth();\n }\n\n private setupLoader() {\n const uri = window.location;\n\n this.loader = new GalleryLoaderService(this.environment, this.previewMode);\n\n if (typeof this.customSettings === \"string\") {\n this.loader.setCustomSettings(JSON.parse(this.customSettings));\n }\n\n if (typeof this.galleryEmbedId === \"undefined\") {\n if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n } else {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n }\n\n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") { this.shop = uri.hostname; }\n this.loader.shopDomain = this.shop;\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n this.isLoading = true;\n\n const json = await this.loader.fetchItems();\n\n //TODO test set settings after call endpoint use loader\n this.appStore.dispatch(widgetGalleryIdUpdated(this.loader.galleryId));\n this.appStore.dispatch(widgetShopIdUpdated(this.loader.shopId));\n if (this.loader.data.analytics) {\n this.appStore.dispatch(setAnalytics(this.loader.data.analytics));\n } else {\n this.appStore.dispatch(setAnalytics(false));\n }\n //TODO test set settings after call endpoint use loader END\n if (typeof json === \"undefined\") return false;\n this.appStore.dispatch(setSettings(json.settings));\n this.minNumberOfPhotos = json.settings.min_number_of_photos;\n this.hideElementsIfEmpty();\n if (!this.fontsLoaded) { this.loadFont(); }\n if (this.hasEnoughPhotos && getUseAnalytics(this.appState)) {\n const category = \"Covet.pics Gallery\";\n const action = \"Covet.pics Gallery View\";\n const label = \"Covet.pics Gallery View - \" + this.galleryEmbedId;\n sendToGoogleAnalytics(action, category, label);\n }\n\n if (this.hasEnoughPhotos) {\n sendBeacon(this.appState, \"gallery_view\");\n }\n\n this.loader.data.settings.display_type === \"highlight\"\n ? this.items = [...json.items]\n : this.items = [...this.getItemsWithUpload(json.items)];\n\n \n this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver\n \n this.isLoading = false;\n return true;\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.parentElement.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n items.splice(uploadIndex, 0, getUploadWidgetItem(this.loader));\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n desktop-photos-per-row={this.loader.data.settings.slideshow_photos_per_row}\n desktop-item-padding={this.loader.data.settings.item_padding}\n mobile-photos-per-row={this.loader.data.settings.slideshow_mobile_photos_per_row}\n mobile-item-padding={this.loader.data.settings.item_mobile_padding}\n auto-load-more={this.loader.data.settings.slideshow_load_more.toString()}\n auto-play={this.loader.data.settings.slideshow_autoplay * 1000}\n loader={this.loader}\n itemStyle={this.loader.data.settings.item_style ? this.loader.data.settings.item_style : \"standard\"}\n shared-item-id={this.sharedItemId}\n appStore={this.appStore}\n >\n </covet-pics-gallery-slider>\n </Host>\n );\n }\n\n private renderGridGallery() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-grid\n layout={this.loader.data.settings.display_type}\n items={this.items}\n rating={this.loader.data.reviews?.rating}\n rating-count={this.loader.data.reviews?.rating_count}\n product-title={this.loader.data.product_title}\n breakdown={this.loader.data.reviews?.breakdown}\n desktop-photos-per-row={this.loader.data.settings.gallery_photos_per_row}\n desktop-item-padding={this.loader.data.settings.item_padding}\n mobile-photos-per-row={this.loader.data.settings.gallery_mobile_photos_per_row}\n mobile-item-padding={this.loader.data.settings.item_mobile_padding}\n\n load-more-border={this.loader.data.settings.load_more_border_width}\n load-more-color={this.loader.data.settings.load_more_button_color}\n load-more-font-size={this.loader.data.settings.load_more_font_size}\n load-more-font-style={this.loader.data.settings.load_more_font_style}\n load-more-padding={this.loader.data.settings.load_more_padding}\n load-more-label={this.loader.data.settings.load_more_text}\n load-more-style={this.loader.data.settings.load_more_button_style}\n load-more-mode={this.loader.data.settings.pagination}\n\n highlight-enabled={this.loader.data.settings.gallery_highlight}\n highlight-every={this.loader.data.settings.gallery_highlight_every}\n highlight-starts-from={this.loader.data.settings.gallery_highlight_every_start}\n images-to-show={this.loader.data.settings.gallery_photos_count}\n\n filters-enabled={this.loader.data.filters.enabled}\n filters-multiselect={this.loader.data.settings.multiple_filter_enabled}\n filters-reset-label={this.loader.data.settings.tags_reset_button_text}\n filters-color={this.loader.data.settings.tags_color}\n filters-padding={this.loader.data.settings.tags_padding}\n filters-font-size={this.loader.data.settings.tags_font_size}\n filters-font-weight={this.loader.data.settings.tags_font_weight}\n\n show-header={this.loader.data.settings.show_header.toString()}\n header-type={this.loader.data.settings.header_type}\n header-show-average-rating={this.loader.data.settings.header_show_average_rating.toString()}\n header-show-breakdown={this.loader.data.settings.header_show_breakdown.toString()}\n header-show-sort={this.loader.data.settings.header_show_sort.toString()}\n\n itemStyle={this.loader.data.settings.item_style ? this.loader.data.settings.item_style : \"standard\"}\n shared-item-id={this.sharedItemId}\n appStore={this.appStore}\n loader={this.loader}>\n </covet-pics-gallery-grid>\n </Host>\n );\n }\n\n private renderHighlighted() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"highlighted\">\n <covet-pics-highlighted\n numberOfPages={this.loader.data.items.length}\n padding={this.loader.data.settings.padding}\n primaryColor={this.loader.data.settings.primary_color}\n secondaryColor={this.loader.data.settings.secondary_color}\n hotspotsBackgoundColor={this.loader.data.settings.hotspots.background_color}\n backgroundColor={this.loader.data.settings.background_color}\n layout={this.loader.data.settings.highlight_layout}\n productsLayout={this.loader.data.settings.highlight_products_layout}\n showHotspots={this.loader.data.settings.hotspots.enabled}\n hotspotsLayout={this.loader.data.settings.highlight_hotspots_layout}\n showPrice={this.loader.data.settings.show_price}\n hideProductTitle={this.loader.data.settings.popup_products_title_disabled}\n productsTitle={this.loader.data.settings.popup_products_title}\n btnBuyLabel={this.loader.data.settings.popup_products_button_caption}\n items={this.loader.data.items}\n hideBranding={this.loader.data.settings.hide_branding}\n showReview={this.loader.data.settings.show_review}\n appStore={this.appStore}\n >\n </covet-pics-highlighted>\n </Host >\n );\n }\n\n private hideElementsIfEmpty() {\n let selector = this.hideElements;\n if (!selector) {\n selector = this.loader.data.settings.selector_to_hide;\n }\n const items = this.loader.data.items;\n const isEmpty = (typeof items !== \"undefined\" && items.length === 0) || !this.hasEnoughPhotos;\n\n if (isEmpty && selector !== \"\") {\n const nodes = document.querySelectorAll(selector) as NodeListOf<HTMLElement>;\n nodes.forEach(node => node.style.display = \"none\");\n }\n }\n\n render() {\n if (!this.isLoading && this.hasEnoughPhotos) {\n const displayType = this.loader.data.settings.display_type;\n if (displayType === \"slider\") return this.renderSliderGallery();\n if (displayType === \"highlight\") return this.renderHighlighted();\n return this.renderGridGallery();\n }\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"covet-pics-widget.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;AAEA,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD,MAAM,mBAAmB,GAAG,oCAAoC,CAAC;MAEpD,oBAAoB;EAoB/B,YAAY,GAAW,EAAE,WAAqB;IAbvC,SAAI,GAAG,CAAC,CAAC;IACT,cAAS,GAAG,KAAK,CAAC;IAClB,eAAU,GAAG,CAAC,CAAC;IACf,oBAAe,GAAG,EAAE,CAAC;IACrB,qBAAgB,GAAY,KAAK,CAAC;IAClC,qBAAgB,GAAY,KAAK,CAAC;IAClC,gBAAW,GAAY,KAAK,CAAC;IAC7B,aAAQ,GAAW,EAAE,CAAC;IAGrB,oBAAe,GAAW,EAAE,CAAC;IAC7B,qBAAgB,GAAkB,EAAE,CAAC;IAG3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAEjC,IAAI,OAAO,WAAW,KAAK,SAAS,EAAE;MAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAAE;IAEzE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAACA,mBAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;MACvE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;KACzB;GACF;EAED,IAAI,OAAO;IACT,OAAOA,mBAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GACzC;;EAGD,IAAI,WAAW;IACb,OAAO,IAAI,CAAC,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;GACpE;EAED,iBAAiB,CAAC,QAAgB;IAChC,IAAI,CAAC,eAAe,qBAAQ,QAAQ,CAAE,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,IAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,IAAI;QAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,eAAe,CAAC;GAC7B;EAED,kBAAkB,CAAC,OAAsB;IACvC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE;GAC/C;EAED,kBAAkB;IAChB,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;GAC1D;EAED,iBAAiB;IACf,OAAO,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;GACrG;EAED,UAAU;IACR,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;MAAE,OAAO,6BAA6B,CAAC;IAE1E,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;IACvB,IAAI,CAAC,aAAa;QACd,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC/B,GAAG,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAErC,IAAI,IAAI,CAAC,WAAW;MAAE,GAAG,IAAI,UAAU,CAAC;IACxC,IAAI,IAAI,CAAC,QAAQ,KAAK,EAAE;MAAE,GAAG,IAAI,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7D,OAAO,GAAG,CAAC;GACZ;EAED,eAAe;IACb,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;GACrB;EAED,MAAM,UAAU;IACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;MAAE,OAAO;KAAE;IAE/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAEf,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;MAAE,cAAc,CAAC,IAAI,CAAC,QAAS,IAAI,CAAC,IAAK,EAAE,CAAC,CAAC;KAAE;IAElE,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;MACpC,IAAI,IAAI,CAAC,WAAW,EAAE;QACpB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;OACzD;WAAM;QACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;OACpG;KACF;IAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;MAAE,GAAG,IAAI,IAAK,cAAc,CAAC,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC;KAAE;IAE3E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,IAAI,qBAAQ,IAAI,CAAE,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAC,eAAe,CAAE,CAAC;IACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;IACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAE3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACvB,OAAO,IAAI,CAAC;GACb;EAEO,uBAAuB,CAAC,KAAK;IACnC,MAAM,aAAa,GAAG,CAAC,GAAW;MAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;MAC1C,IAAI,SAAS,GAAG,GAAG,CAAC;MACpB,MAAM,OAAO,GAAI,MAAc,CAAC,OAAO,CAAC;MACxC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE;QAC1G,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;OAC/E;MACD,OAAO,SAAS,CAAC;KAClB,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,IAAI;MAChB,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;UACrB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UACrC,OAAO,IAAI,CAAC;SACb,CAAC,CAAC;OACJ;MACD,OAAO,IAAI,CAAC;KACb,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;GACd;EAED,IAAY,YAAY;IACtB,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAE/C,IAAI,IAAI,CAAC,WAAW,EAAE;MACpB,aAAa,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;MACjC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;MAElE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG;UACd,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;UAC7E,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;SAC3D,CAAC,CAAC;QACH,aAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;OAC1D;KACF;IAED,OAAO,aAAa,CAAC;GACtB;;;ACjKH,IAAI,eAAe,GAAG,EAAE;;ACCxB,IAAI,qBAAqB,GAAG,YAAY;AACxC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC;;ACFD,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC;;ACHD,IAAI,GAAG,GAAG,+DAA+D,CAAC;AAC1E,IAAI,sBAAsB,GAAG,YAAY;AACzC,IAAI,IAAI,KAAK,CAAC;AACd,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,QAAQ,KAAK,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;AACxC,YAAY,OAAO,EAAE,GAAG;AACxB,SAAS,CAAC,CAAC;AACX,KAAK;AACL,SAAS;AACT,QAAQ,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAQ,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/C,QAAQ,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AAC5B,KAAK;AACL,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;;ACdD,IAAI,wBAAwB,CAAC;AAC7B,CAAC,UAAU,wBAAwB,EAAE;AACrC,IAAI,wBAAwB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AAC1D,IAAI,wBAAwB,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC5D,IAAI,wBAAwB,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;AACtF,CAAC,EAAE,wBAAwB,KAAK,wBAAwB,GAAG,EAAE,CAAC,CAAC;;ACLxD,IAAI,MAAM,GAAG,UAAU,GAAG,EAAE,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;;ACCjE,IAAI,kBAAkB,IAAI,YAAY;AACtC,IAAI,SAAS,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE;AACvD,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,QAAQ,MAAM,CAAC,IAAI,CAAC,CAAC;AACrB,KAAK;AACL,IAAI,OAAO,kBAAkB,CAAC;AAC9B,CAAC,EAAE,CAAC;;ACPJ,IAAI,eAAe,IAAI,YAAY;AACnC,IAAI,SAAS,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;AAClD,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACnB,QAAQ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AAC3B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;AAC7C,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;AAC5C,QAAQ,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5B,KAAK;AACL,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,GAAG,YAAY;AACnD,QAAQ,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACpJ,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAChH,KAAK,CAAC;AACN,IAAI,eAAe,CAAC,QAAQ,GAAG,UAAU,SAAS,EAAE;AACpD,QAAQ,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AAChG,KAAK,CAAC;AACN,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC,EAAE,CAAC;;ACrBJ,IAAI,KAAK,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,MAAM,YAAY,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;AAC9F,IAAI,QAAQ,GAAG,UAAU,MAAM,EAAE;AACjC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACvB,QAAQ,IAAI,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;AACxE,QAAQ,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,MAAM,EAAE,WAAW,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC;AAClF,IAAI,OAAO,EAAE,WAAW,IAAI,YAAY,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;AAC5E,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,UAAU,GAAG,EAAE;AAC/B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,GAAG,YAAY,OAAO,EAAE;AAChC,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;AACvI,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,GAAG,YAAY,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC,CAAC;AACF,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE;AAC1C,IAAI,QAAQ,MAAM,CAAC,OAAO;AAC1B,QAAQ,KAAK,OAAO;AACpB,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AACzC,gBAAgB,MAAM;AACtB,aAAa;AACb,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,OAAO,CAAC;AACrB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,QAAQ,CAAC;AACtB,QAAQ,KAAK,KAAK;AAClB,YAAY,OAAO,IAAI,CAAC;AACxB,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;ACjCM,IAAI,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,EAAE;;ACM/D,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,IAAI,YAAY,GAAG,aAAa,CAAC;AACjC,IAAI,cAAc,GAAG,cAAc,CAAC;AACpC,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,IAAI,cAAc,GAAG,UAAU,KAAK,EAAE,EAAE,OAAO,UAAU,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;AAC3E,IAAI,IAAI,GAAG,UAAU,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;AACzD,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE;AAClD,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE;AAChD,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE;AACxD,IAAI,OAAO,IAAI,kBAAkB,CAAC,CAAC,WAAW,GAAG,SAAS,GAAG,UAAU,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,UAAU,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AAC5H,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,MAAM,CAAC;AACvB,IAAI,yBAAyB,EAAE,IAAI,EAAE;AACrC,IAAI,aAAa,EAAE,IAAI,EAAE;AACzB,IAAI,cAAc,EAAE,IAAI,EAAE;AAC1B,IAAI,WAAW,EAAE,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AACH,IAAI,iBAAiB,GAAG,UAAU,MAAM,EAAE,kBAAkB,EAAE;AAC9D,IAAI,IAAI,kBAAkB,KAAK,KAAK,CAAC,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,EAAE;AACtE,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAClD,QAAQ,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC1B,QAAQ,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrC,QAAQ,OAAO,SAAS,CAAC;AACzB,KAAK;AACL,IAAI,IAAI,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1E,IAAI,IAAI,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,KAAK,YAAY,CAAC;AAC7D,IAAI,IAAI,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;AAChE,IAAI,IAAI,mBAAmB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC5E,IAAI,IAAI,qBAAqB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AAC9E,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;AAC7D,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AACjE,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;AACnE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AAC/D,IAAI,IAAI,SAAS,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;AAChE,IAAI,IAAI,WAAW,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;AACpE,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;AACtE,IAAI,IAAI,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC;AAClE,IAAI,IAAI,iBAAiB,GAAG,WAAW,GAAG,YAAY,CAAC;AACvD,IAAI,IAAI,eAAe,GAAG,UAAU,GAAG,aAAa,CAAC;AACrD,IAAI,IAAI,oBAAoB,GAAG,UAAU,GAAG,WAAW,CAAC;AACxD,IAAI,IAAI,kBAAkB,GAAG,SAAS,GAAG,YAAY,CAAC;AACtD,IAAI,IAAI,4BAA4B,GAAG,CAAC,qBAAqB,GAAG,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,kBAAkB,GAAG,MAAM,CAAC,YAAY,CAAC;AACnI,IAAI,IAAI,0BAA0B,GAAG,CAAC,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,WAAW,GAAG,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC;AAC/H,IAAI,IAAI,cAAc,GAAG,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,GAAG,CAAC,CAAC;AACtF,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,kBAAkB,GAAG,CAAC,CAAC;AACnF,IAAI,IAAI,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,GAAG,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,cAAc,GAAG,0BAA0B,CAAC;AAChH,IAAI,IAAI,aAAa,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,eAAe,GAAG,4BAA4B,CAAC;AACtH,IAAI,IAAI,cAAc,GAAG,YAAY,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,oBAAoB,CAAC;AAC9G,IAAI,IAAI,eAAe,GAAG,aAAa,GAAG,eAAe,GAAG,4BAA4B,GAAG,kBAAkB,CAAC;AAC9G,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC;AACvB,QAAQ,yBAAyB,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,WAAW,CAAC;AAC/I,QAAQ,aAAa,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE,WAAW,CAAC;AACzE,QAAQ,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;AACtE,QAAQ,WAAW,EAAE,IAAI,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC;AAC9F,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF,IAAI,gBAAgB,GAAG,UAAU,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;AAC1E,IAAI,IAAI,EAAE,GAAG,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,aAAa,GAAG,EAAE,CAAC,aAAa,EAAE,cAAc,GAAG,EAAE,CAAC,cAAc,EAAE,yBAAyB,GAAG,EAAE,CAAC,yBAAyB,CAAC;AAC3L,IAAI,QAAQ,WAAW;AACvB,QAAQ,KAAK,wBAAwB,CAAC,wBAAwB;AAC9D,YAAY,OAAO,yBAAyB,CAAC;AAC7C,QAAQ,KAAK,wBAAwB,CAAC,UAAU;AAChD,YAAY,OAAO,aAAa,CAAC;AACjC,QAAQ;AACR,YAAY,OAAO,cAAc,CAAC;AAClC,KAAK;AACL,CAAC;;AC3ED,IAAI,mBAAmB,IAAI,YAAY;AACvC,IAAI,SAAS,mBAAmB,CAAC,MAAM,EAAE;AACzC,QAAQ,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;AAC7C,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;AAC7D,QAAQ,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACnF,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC;AAC/B,CAAC,EAAE,CAAC;;ACXJ,IAAI,qBAAqB,GAAG,UAAU,IAAI,EAAE;AAC5C,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;AACxB,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACjC,IAAI,OAAO,MAAM,EAAE;AACnB,QAAQ,KAAK,IAAI,CAAC,CAAC;AACnB,QAAQ,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;AACnC,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC;;ACRD,IAAI,2BAA2B,GAAG,YAAY;AAC9C,IAAI,IAAI,eAAe,GAAG,QAAQ,CAAC;AACnC,IAAI,IAAI,SAAS,GAAG,EAAE,CAAC;AACvB,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,GAAG,EAAE,CAAC;AACzB,QAAQ,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AAC5D,YAAY,IAAI,KAAK,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC3D,YAAY,IAAI,WAAW,GAAG,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAC/D,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,YAAY,EAAE,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;AAC9E,YAAY,IAAI,WAAW,GAAG,eAAe,EAAE;AAC/C,gBAAgB,eAAe,GAAG,WAAW,CAAC;AAC9C,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,SAAS,CAAC,IAAI,CAAC,SAAS,sBAAsB,GAAG;AACzD,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;AAChE,SAAS,CAAC,CAAC;AACX,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,KAAK,CAAC,CAAC;AACP,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC7E,QAAQ,IAAI,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AACvC,QAAQ,QAAQ,EAAE,CAAC;AACnB,KAAK;AACL,IAAI,OAAO,eAAe,CAAC;AAC3B,CAAC;;AC7BD,IAAI,+BAA+B,GAAG,UAAU,KAAK,EAAE;AACvD,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,EAAE,EAAE;AACzD,QAAQ,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC9D,QAAQ,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,EAAE,EAAE;AACjE,YAAY,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;AAC/B,gBAAgB,IAAI,qBAAqB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE;AAC9D,oBAAoB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/C,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;;ACZD,IAAI,OAAO,GAAG,YAAY;AAC1B,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AAClB,IAAI,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI,OAAO,qBAAqB,EAAE,EAAE;AACpC,QAAQ,KAAK,GAAG,2BAA2B,EAAE,CAAC;AAC9C,QAAQ,+BAA+B,CAAC,KAAK,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,sBAAsB,EAAE,EAAE;AAClC,QAAQ,sBAAsB,EAAE,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;AACrB,CAAC;;AChBD,IAAI,OAAO,CAAC;AACZ,IAAI,SAAS,GAAG,EAAE,CAAC;AACnB,IAAI,MAAM,GAAG,YAAY,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACjG,IAAI,cAAc,GAAG,UAAU,QAAQ,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,IAAI,QAAQ,GAAG,CAAC,CAAC;AACzB,QAAQ,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAQ,IAAI,MAAM,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AAC7C,QAAQ,IAAI,gBAAgB,CAAC,YAAY,EAAE,OAAO,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrF,QAAQ,OAAO,GAAG,YAAY,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;AACpG,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAI,OAAO,EAAE,CAAC;AACd,CAAC;;ACZD,IAAI,mBAAmB,GAAG,UAAU,EAAE,EAAE;AACxC,IAAI,cAAc,CAAC,SAAS,cAAc,GAAG;AAC7C,QAAQ,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,CAAC;;ACFD,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAI,UAAU,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpD,IAAI,YAAY,GAAG,GAAG,CAAC;AACvB,IAAI,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC/F,IAAI,MAAM,GAAG;AACb,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,oBAAoB;AACxB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,WAAW;AACf,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,OAAO;AACX,CAAC,CAAC;AACF,IAAI,IAAI,GAAG,UAAU,OAAO,EAAE;AAC9B,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,EAAE;AAC5C,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;AAChC,CAAC,CAAC;AACF,IAAI,SAAS,GAAG,KAAK,CAAC;AACtB,IAAI,SAAS,IAAI,YAAY;AAC7B,IAAI,SAAS,SAAS,GAAG;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAC5B,QAAQ,IAAI,CAAC,QAAQ,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;AACjE,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,GAAG,UAAU,OAAO,EAAE;AACjD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,YAAY,CAAC,EAAE;AAC3D,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,SAAS,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AAClC,QAAQ,mBAAmB,CAAC,YAAY;AACxC,YAAY,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAC5C,YAAY,IAAI;AAChB,gBAAgB,mBAAmB,GAAG,OAAO,EAAE,CAAC;AAChD,aAAa;AACb,oBAAoB;AACpB,gBAAgB,SAAS,GAAG,KAAK,CAAC;AAClC,gBAAgB,OAAO,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;AACzC,gBAAgB,IAAI,CAAC,UAAU,EAAE,EAAE;AACnC,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,IAAI,mBAAmB,EAAE;AACzC,oBAAoB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,iBAAiB;AACjB,qBAAqB,IAAI,OAAO,GAAG,CAAC,EAAE;AACtC,oBAAoB,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC;AAClC,iBAAiB;AACjB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AAC/C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AACpB,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO,GAAG,YAAY;AAC9C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,GAAG,YAAY,EAAE,OAAO,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;AACjH,QAAQ,QAAQ,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC/E,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,YAAY;AAC5C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;AAC1B,YAAY,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACjC,YAAY,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChE,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC;AAC3B,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC5G,SAAS;AACT,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY;AAC3C,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAY,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;AACxD,YAAY,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/G,YAAY,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC,CAAC;AACL,IAAI,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAChC,IAAI,WAAW,GAAG,UAAU,CAAC,EAAE;AAC/B,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5C,IAAI,QAAQ,IAAI,CAAC,CAAC;AAClB,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;;AC/FD,IAAI,mBAAmB,GAAG,UAAU,MAAM,EAAE;AAC5C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;AACzB,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACrC,WAAW,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC;AACzD,CAAC,CAAC;AACF,IAAI,iBAAiB,IAAI,YAAY;AACrC,IAAI,SAAS,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,wBAAwB,CAAC,WAAW,CAAC;AAC/E,QAAQ,IAAI,CAAC,gBAAgB,GAAG;AAChC,YAAY,UAAU,EAAE,CAAC;AACzB,YAAY,SAAS,EAAE,CAAC;AACxB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,iBAAiB,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACvD,QAAQ,IAAI,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACzE,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AAC9C,YAAY,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACzC,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;AAChE,eAAe,IAAI,CAAC,gBAAgB,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE;AACnE,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK,CAAC;AACN,IAAI,OAAO,iBAAiB,CAAC;AAC7B,CAAC,EAAE,CAAC;;AC7BJ,IAAI,oBAAoB,IAAI,YAAY;AACxC,IAAI,SAAS,oBAAoB,CAAC,cAAc,EAAE,QAAQ,EAAE;AAC5D,QAAQ,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;AACvC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK;AACL,IAAI,OAAO,oBAAoB,CAAC;AAChC,CAAC,EAAE,CAAC;;ACLJ,IAAI,WAAW,GAAG,IAAI,OAAO,EAAE,CAAC;AAChC,IAAI,mBAAmB,GAAG,UAAU,kBAAkB,EAAE,MAAM,EAAE;AAChE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3D,QAAQ,IAAI,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE;AACrD,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,CAAC,CAAC;AACF,IAAI,wBAAwB,IAAI,YAAY;AAC5C,IAAI,SAAS,wBAAwB,GAAG;AACxC,KAAK;AACL,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,QAAQ,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,IAAI,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AACxE,QAAQ,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAChD,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,OAAO,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE;AAClF,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACtE,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE;AACxE,YAAY,gBAAgB,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7D,YAAY,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAClG,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAY,SAAS,CAAC,QAAQ,EAAE,CAAC;AACjC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,SAAS,GAAG,UAAU,cAAc,EAAE,MAAM,EAAE;AAC3E,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,IAAI,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;AAC3E,QAAQ,IAAI,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC;AACrE,QAAQ,IAAI,KAAK,IAAI,CAAC,EAAE;AACxB,YAAY,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1F,YAAY,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACvD,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,SAAS;AACT,KAAK,CAAC;AACN,IAAI,wBAAwB,CAAC,UAAU,GAAG,UAAU,cAAc,EAAE;AACpE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACrD,QAAQ,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AACxH,QAAQ,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACpE,KAAK,CAAC;AACN,IAAI,OAAO,wBAAwB,CAAC;AACpC,CAAC,EAAE,CAAC;;AC7CJ,IAAI,cAAc,IAAI,YAAY;AAClC,IAAI,SAAS,cAAc,CAAC,QAAQ,EAAE;AACtC,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,gFAAgF,CAAC,CAAC;AAClH,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C,YAAY,MAAM,IAAI,SAAS,CAAC,+FAA+F,CAAC,CAAC;AACjI,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzD,KAAK;AACL,IAAI,cAAc,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;AAClE,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,2FAA2F,CAAC,CAAC;AAC7H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,sFAAsF,CAAC,CAAC;AACxH,SAAS;AACT,QAAQ,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,MAAM,EAAE;AAC3D,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AACpC,YAAY,MAAM,IAAI,SAAS,CAAC,6FAA6F,CAAC,CAAC;AAC/H,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;AAChC,YAAY,MAAM,IAAI,SAAS,CAAC,wFAAwF,CAAC,CAAC;AAC1H,SAAS;AACT,QAAQ,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACzD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,GAAG,YAAY;AACtD,QAAQ,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAClD,KAAK,CAAC;AACN,IAAI,cAAc,CAAC,QAAQ,GAAG,YAAY;AAC1C,QAAQ,OAAO,gDAAgD,CAAC;AAChE,KAAK,CAAC;AACN,IAAI,OAAO,cAAc,CAAC;AAC1B,CAAC,EAAE,CAAC;;ACnCJ,MAAMC,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,UAAU;EAChB,YAAY,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;GACb;EACD,QAAQ,EAAE;IACR,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM;MAChC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;MAC9D,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;MAC3B,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;MACvC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;KAClC;IACD,sBAAsB,EAAE,CAAC,QAAQ,EAAE,MAAM;MACvC,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACrC;IACD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM;MACpC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;KAClC;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC9F,wBAAeA,OAAK,CAAC,OAAO;;AC1B5B,MAAM,aAAa,GAAG;EACpB,YAAY,EAAE,wBAAwB;EACtC,aAAa,EAAE,uBAAuB;EACtC,SAAS,EAAE,wCAAwC;EACnD,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,KAAK;EACX,YAAY,EAAE;IACZ,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,EAAE;GACnB;EACD,QAAQ,EAAE;IACR,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM;MAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;MAC3B,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;UAC/D,GAAG,CAAC,WAAW,GAAG,GAAG;UACrB,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC;MAEnC,GAAG,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;MAC7C,GAAG,CAAC,cAAc,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,WAAW,GAAG,CAAC;MAExE,OAAO,GAAG,CAAC;KACZ;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,cAAc,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAChD,mBAAeA,OAAK,CAAC,OAAO;;AChC5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,MAAM;EACZ,YAAY,EAAE;IACZ,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,eAAe,EAAE,IAAI;GACtB;EACD,QAAQ,EAAE;IACR,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM;MAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;MAClC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;KAC9C;IACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM;MAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AACzE,oBAAeA,OAAK,CAAC,OAAO;;ACnB5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,SAAS;EACf,YAAY,EAAE;IACZ,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,KAAK;GACZ;EACD,QAAQ,EAAE;IACR,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM;MACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;IACD,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM;MACnC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;KACpC;IACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM;MAC9B,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;KAC/B;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC1F,uBAAeA,OAAK,CAAC,OAAO;;ACtB5B,MAAMA,OAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,WAAW;EACjB,YAAY,EAAE,KAAK;EACnB,QAAQ,EAAE;IACR,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM;MAC9B,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;MAC3B,OAAO,SAAS,CAAC;KAClB;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,YAAY,EAAE,GAAGD,OAAK,CAAC,OAAO,CAAC;AAC9C,yBAAeA,OAAK,CAAC,OAAO;;ACX5B,MAAM,YAAY,GAAa;EAC7B,0BAA0B,EAAE,aAAa;EACzC,iBAAiB,EAAE,OAAO;EAC1B,sBAAsB,EAAE,SAAS;EACjC,kBAAkB,EAAE,SAAS;EAC7B,mBAAmB,EAAE,QAAQ;EAC7B,UAAU,EAAE,UAAU;EACtB,iBAAiB,EAAE,EAAE;EACrB,wBAAwB,EAAE,UAAU;EACpC,6BAA6B,EAAE,SAAS;EACxC,yBAAyB,EAAE,SAAS;EACpC,qBAAqB,EAAE,MAAM;EAC7B,iBAAiB,EAAE,UAAU;EAC7B,iBAAiB,EAAE,YAAY;EAC/B,sBAAsB,EAAE,QAAQ;EAChC,kBAAkB,EAAE,IAAI;EACxB,WAAW,EAAE,iBAAiB;EAC9B,aAAa,EAAE,KAAK;EACpB,iBAAiB,EAAE,KAAK;EACxB,QAAQ,EAAE;IACR,OAAO,EAAE,KAAK;IACd,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,SAAS;GACtB;EACD,wBAAwB,EAAE,WAAW;EACrC,6BAA6B,EAAE,SAAS;EACxC,yBAAyB,EAAE,SAAS;EACpC,0BAA0B,EAAE,YAAY;EACxC,qBAAqB,EAAE,SAAS;EAChC,YAAY,EAAE,YAAY;EAC1B,eAAe,EAAE,IAAI;EACrB,sBAAsB,EAAE,SAAS;EACjC,wBAAwB,EAAE,EAAE;EAC5B,iCAAiC,EAAE,SAAS;EAC5C,uCAAuC,EAAE,SAAS;EAClD,2BAA2B,EAAE,SAAS;EACtC,iCAAiC,EAAE,SAAS;EAC5C,uBAAuB,EAAE,OAAO;EAChC,gBAAgB,EAAE,YAAY;EAC9B,6BAA6B,EAAE,SAAS;EACxC,oBAAoB,EAAE,gBAAgB;EACtC,6BAA6B,EAAE,KAAK;EACpC,sBAAsB,EAAE,iBAAiB;EACzC,wBAAwB,EAAE,WAAW;EACrC,mBAAmB,EAAE,OAAO;EAC5B,oBAAoB,EAAE,QAAQ;EAC9B,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEF;AACA,MAAM,+BAA+B,GAAG,CAAC,QAAkB;EACzD,QAAQ,CAAC,kBAAkB,GAAG,UAAU,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;EACpG,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;EACvF,QAAQ,CAAC,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;EACrG,QAAQ,CAAC,uBAAuB,GAAG,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;EACpG,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;EAC/F,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACzH,QAAQ,CAAC,eAAe,GAAG,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;EACrG,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACvF,QAAQ,CAAC,sBAAsB,GAAG,4BAA4B,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;EACjI,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAGC,4BAAW,CAAC;EACxB,IAAI,EAAE,UAAU;EAChB,YAAY,EAAE,+BAA+B,CAAC,YAAY,CAAC;EAC3D,QAAQ,EAAE;IACR,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM;MAC5B,QAAQ,GAAG,+BAA+B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;MAC3D,OAAO,QAAQ,CAAC;KACjB;GACF;CACF,CAAC,CAAC;AAEI,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;AAC7C,wBAAe,KAAK,CAAC,OAAO;;ACjE5B,MAAM,WAAW,GAAGC,gCAAe,CAAC;EAClC,SAAS,EAAE,gBAAgB;EAC3B,IAAI,EAAE,WAAW;EACjB,IAAI,EAAEC,gBAAW;EACjB,GAAG,EAAE,UAAU;EACf,OAAO,EAAE,cAAc;EACvB,KAAK,EAAEC,WAAK;EACZ,MAAM,EAAEC,oBAAa;EACrB,MAAM,EAAEC,oBAAa;EACrB,QAAQ,EAAE,eAAe;EACzB,QAAQ,EAAE,eAAe;CAC1B,CAAC;;;ECrBA,MAAM,KAAK,GAAUC,+BAAc,CAAC,WAAEC,WAAO,EAAE,CAAC,CAAC;EACjD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;ACRA,MAAM,kBAAkB,GAAG,qIAAqI;;MCqBnJ,eAAe;;;;;IAiFlB,gBAAW,GAAY,KAAK,CAAC;;;;;;uBAjDN,KAAK;qBAEN,IAAI;;iBAEF,EAAE;;;EAgBlC,MAAM,kBAAkB,CAAC,KAAkB;IACzC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;MAChB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACvD;GACF;EAGD,MAAM,qBAAqB;IACzB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;MAChB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACvD;GACF;EAGD,MAAM,eAAe;IACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC5C,IAAI,OAAO,IAAI,KAAK,WAAW,EAAE;MAC/B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7C;GACF;;;;EAWD,MAAM,8BAA8B,CAAC,QAAiB;IACpD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;MAChC,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;GACJ;;;;EAMD,MAAM,qBAAqB,CAAC,QAAgB,EAAE,YAAqB,EAAE,YAAqB;IACxF,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC;IAC5C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,eAAe,mCACtB,IAAI,CAAC,MAAM,CAAC,eAAe,GAC3B,QAAQ,CACZ,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,iBAAiB;IACf,IAAI,CAAC,YAAY,EAAE,CAAC;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;GACjB;EAED,gBAAgB;IACd,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;MACvC,MAAM,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,WAAW,CAAC;MACrF,IAAI,qBAAqB,EAAE;QACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;OACjE;MAED,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;MAC9G,IAAI,IAAI,CAAC,iBAAiB,EAAE,IAAI,cAAc,EAAE;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;OAC3B;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;MAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;KACpD;GACF;EAED,oBAAoB;IAClB,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;GAClC;EAEO,YAAY;IAClB,IAAI,CAAC,QAAQ,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,cAAc,GAAGC,sBAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;MACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAC1C,CAAC,CAAC;IACH,IAAI,CAAC,cAAc,EAAE,CAAC;GACvB;EAEO,WAAW;IACjB,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;IAE5B,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAE3E,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;MAC3C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;KAChE;IAED,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;MAE9C,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;QACjD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;OAClE;WAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;QACpD,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC;OACvF;MAED,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;OAC/C;MAED,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;QAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;OAAE;MACnE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;KACpC;SAAM;MACL,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;KAC3C;GACF;EAEO,MAAM,QAAQ;IACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAEtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;;IAG5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;MAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;KAClE;SAAM;MACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;KAC7C;;IAED,IAAI,OAAO,IAAI,KAAK,WAAW;MAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KAAE;IAC3C,IAAI,IAAI,CAAC,eAAe,IAAIC,uBAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;MAC1D,MAAM,QAAQ,GAAG,oBAAoB,CAAC;MACtC,MAAM,MAAM,GAAG,yBAAyB,CAAC;MACzC,MAAM,KAAK,GAAG,4BAA4B,GAAG,IAAI,CAAC,cAAc,CAAC;MACjEC,2BAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChD;IAED,IAAI,IAAI,CAAC,eAAe,EAAE;MACxBC,qBAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,WAAW;QAClD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAG1D,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAEzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACvB,OAAO,IAAI,CAAC;GACb;EAEO,MAAM,uBAAuB;IACnC,OAAO,IAAI,OAAO,CAAC,OAAM,OAAO;MAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAChC,MAAM,KAAK,GAAI,IAAI,CAAC,KAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC;QACvF,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,WAAW;YACvC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE;YACnB,MAAM,CAAC,CAAC;OACb;MAED,MAAM,MAAM,GAAGC,yBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;MACjF,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;MAC5C,MAAM,YAAY,GAAI,IAAI,CAAC,KAAoB,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;MAEvG,IAAI,YAAY;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;MAEpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;MAC5C,IAAI,OAAO,IAAI,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;MACxD,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;MAC5C,OAAO,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;KAChD,CAAC,CAAC;GACJ;EAEO,cAAc;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;QAClC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;QACnD,GAAG,CAAC;IACR,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;GAC1D;EAEO,iBAAiB;IACvB,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,YAAY,WAAW,EAAE;GAC9F;EAED,IAAY,eAAe;IACzB,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI;MAAE,OAAO,IAAI,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;MAAE,OAAO,KAAK,CAAC;IAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;MAAE,OAAO,KAAK,CAAC;IAE3I,OAAO,IAAI,CAAC;GACb;EAEO,QAAQ;IACd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;MACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;MACtD,cAAc,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;MACjD,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,2CAA2C,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,oCAAoC,CAAC,CAAC;MACrL,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;KAC3C;IACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;GACzB;EAEO,qBAAqB;IAC3B,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,EAAE,EAAE;MACzF,YAAY,CAAC,0BAA0B,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,cAAc,CAAC;KACnG;IACD,OAAO,YAAY,CAAC;GACrB;EAEO,kBAAkB,CAAC,KAAoB;IAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B;MAAE,OAAO,KAAK,CAAC;IAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,GAAG,CAAC,CAAC;IAC/E,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAEC,yBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,KAAK,CAAC;GACd;EAEO,mBAAmB;IACzB,QACEC,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,YAAY,gEAC3DD,uCACE,KAAK,EAAE,IAAI,CAAC,KAAK,4BACO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,0BACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,2BACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,yBAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,eAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,GAAG,IAAI,EAC9D,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,oBACnF,IAAI,CAAC,YAAY,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAEG,CACvB,EACP;GACH;EAEO,iBAAiB;;IACvB,QACEA,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,YAAY,gEAC3DD,qCACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAC9C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,kBAC1B,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,YAAY,mBACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAC7C,SAAS,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,0CAAE,SAAS,4BACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,0BAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,2BACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,yBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,sBAEhD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,qBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,yBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,0BAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,uBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,qBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,qBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,uBAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,qBAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,2BAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,oBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,qBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,yBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,yBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,mBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,qBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,uBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,yBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,iBAElD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,iBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,gCACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,EAAE,2BACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,EAAE,sBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAEvE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,oBACnF,IAAI,CAAC,YAAY,EACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,GACK,CACrB,EACP;GACH;EAEO,iBAAiB;IACvB,QACEA,QAACC,UAAI,IAAC,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAC,aAAa,IAC5DD,oCACE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAC5C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAC1C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EACzD,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAC3E,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAC3D,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAClD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EACnE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EACxD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,EACnE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAC/C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EACzE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,EACpE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAC7B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EACrD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAEA,CACnB,EACR;GACH;EAEO,mBAAmB;IACzB,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,IAAI,CAAC,QAAQ,EAAE;MACb,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;KACvD;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;IAE9F,IAAI,OAAO,IAAI,QAAQ,KAAK,EAAE,EAAE;MAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAA4B,CAAC;MAC7E,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;KACpD;GACF;EAED,MAAM;IACJ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,eAAe,EAAE;MAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;MAC3D,IAAI,WAAW,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;MAChE,IAAI,WAAW,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;MACjE,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;KACjC;GACF;;;;;;;","names":["BASE_API_URLS","slice","createSlice","combineReducers","sortReducer","popup","modalsReducer","sliderReducer","configureStore","reducer","getWidgetId","getUseAnalytics","sendToGoogleAnalytics","sendBeacon","findSharedItemPopup","getUploadWidgetItem","h","Host"],"sources":["./src/services/gallery-loader-service.ts","./node_modules/@juggle/resize-observer/lib/utils/resizeObservers.js","./node_modules/@juggle/resize-observer/lib/algorithms/hasActiveObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/hasSkippedObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/deliverResizeLoopError.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverBoxOptions.js","./node_modules/@juggle/resize-observer/lib/utils/freeze.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverSize.js","./node_modules/@juggle/resize-observer/lib/DOMRectReadOnly.js","./node_modules/@juggle/resize-observer/lib/utils/element.js","./node_modules/@juggle/resize-observer/lib/utils/global.js","./node_modules/@juggle/resize-observer/lib/algorithms/calculateBoxSize.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverEntry.js","./node_modules/@juggle/resize-observer/lib/algorithms/calculateDepthForNode.js","./node_modules/@juggle/resize-observer/lib/algorithms/broadcastActiveObservations.js","./node_modules/@juggle/resize-observer/lib/algorithms/gatherActiveObservationsAtDepth.js","./node_modules/@juggle/resize-observer/lib/utils/process.js","./node_modules/@juggle/resize-observer/lib/utils/queueMicroTask.js","./node_modules/@juggle/resize-observer/lib/utils/queueResizeObserver.js","./node_modules/@juggle/resize-observer/lib/utils/scheduler.js","./node_modules/@juggle/resize-observer/lib/ResizeObservation.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverDetail.js","./node_modules/@juggle/resize-observer/lib/ResizeObserverController.js","./node_modules/@juggle/resize-observer/lib/ResizeObserver.js","./src/store/widgetId.ts","./src/store/url.ts","./src/store/size.ts","./src/store/preview.ts","./src/store/analytics.ts","./src/store/settings.ts","./src/store/reducer.ts","./src/store/configureStore.ts","./src/components/covet-pics-widget/covet-pics-widget.scss?tag=covet-pics-widget&encapsulation=shadow","./src/components/covet-pics-widget/covet-pics-widget.tsx"],"sourcesContent":["import { BASE_API_URLS } from \"../utils/utils\";\n\nconst STANDARD_GALLERY_URL = \"/api/v1/embed/:id\";\nconst PRODUCT_GALLERY_URL = \"/api/v1/shop/:shop/product/:handle\";\n\nexport class GalleryLoaderService {\n public data;\n public shopId;\n public embedId;\n public galleryId;\n public productHandle;\n public shopDomain;\n public page = 0;\n public isLoading = false;\n public totalPages = 1;\n public previewSettings = {};\n public previewHoverMode: boolean = false;\n public previewPopupMode: boolean = false;\n public previewMode: boolean = false;\n public sortType: string = \"\";\n\n private _environment: string;\n private _customSettings: object = {};\n private _selectedFilters: Array<string> = [];\n\n constructor(env: string, previewMode?: boolean) {\n this._environment = \"production\";\n\n if (typeof previewMode === \"boolean\") { this.previewMode = previewMode; }\n\n if (typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)) {\n this._environment = env;\n }\n }\n\n get baseUrl() {\n return BASE_API_URLS[this._environment];\n }\n\n // returns `standard_gallery` or `product_gallery`\n get galleryType() {\n return this.productHandle ? \"product_gallery\" : \"standard_gallery\";\n }\n\n setCustomSettings(settings: object): object {\n this._customSettings = { ...settings };\n Object.keys(this._customSettings).forEach(key =>\n this._customSettings[key] === null\n ? delete this._customSettings[key]\n : this._customSettings[key]);\n return this._customSettings;\n }\n\n setSelectedFilters(filters: Array<string>): Array<string> {\n return (this._selectedFilters = [...filters]);\n }\n\n standardGalleryUrl() {\n return STANDARD_GALLERY_URL.replace(\":id\", this.embedId);\n }\n\n productGalleryUrl() {\n return PRODUCT_GALLERY_URL.replace(\":shop\", this.shopDomain).replace(\":handle\", this.productHandle);\n }\n\n galleryUrl() {\n if (this._environment === \"testing\") return \"http://localhost:3000/embed\";\n\n let url = this.baseUrl;\n this.productHandle\n ? url += this.productGalleryUrl()\n : url += this.standardGalleryUrl();\n\n if (this.previewMode) url += \"/preview\"; \n if (this.sortType !== \"\") url += `?sort_by=${this.sortType}`;\n return url;\n }\n\n resetPagination() {\n this.page = 0;\n this.totalPages = 1;\n }\n\n async fetchItems(): Promise<any> {\n if (this.isLoading || this.page >= this.totalPages) { return; }\n\n this.isLoading = true;\n this.page += 1;\n\n let url = this.galleryUrl();\n const queryFragments = [];\n\n if (this.page > 1) { queryFragments.push(`page=${ this.page }`); }\n\n if (this._selectedFilters.length > 0) {\n if (this.previewMode) {\n this.previewSettings[\"filters\"] = this._selectedFilters;\n } else {\n this._selectedFilters.forEach(f => queryFragments.push(encodeURIComponent(\"filters[]\") + \"=\" + f));\n }\n }\n\n if (queryFragments.length > 0) { url += `?${ queryFragments.join(\"&\") }`; }\n\n const response = await fetch(url, this.fetchOptions);\n const data = await response.json();\n data.items = this.getItemsWithLocaleLinks(data.items);\n\n this.data = { ...data };\n this.data.settings = { ...this.data.settings, ...this._customSettings };\n this.totalPages = data.total_pages;\n this.galleryId = data.gallery_id;\n this.shopId = data.shop_id;\n\n this.isLoading = false;\n return data;\n }\n\n private getItemsWithLocaleLinks(items) {\n const getLocaleLink = (url: string): string => {\n const hostname = window.location.hostname; // TODO 1 enable real Shopify root\n let localeUrl = url;\n const shopify = (window as any).Shopify; // TODO 2 enable real Shopify root\n if (typeof shopify !== \"undefined\" && shopify.routes && shopify.routes.root && shopify.routes.root !== \"/\") {\n return localeUrl.replace(`${hostname}/`, `${hostname}${shopify.routes.root}`);\n }\n return localeUrl;\n };\n \n items.forEach(item => {\n if (item.links && item.links.length > 0) {\n item.links.forEach(link => {\n link.link = getLocaleLink(link.link);\n return link;\n });\n }\n return item;\n });\n \n return items;\n }\n\n private get fetchOptions(): object {\n const formattedPayload = {};\n const _fetchOptions = {};\n const keys = Object.keys(this.previewSettings);\n\n if (this.previewMode) {\n _fetchOptions[\"method\"] = \"POST\";\n _fetchOptions[\"headers\"] = { \"Content-Type\": \"application/json\" };\n\n if (keys.length > 0) {\n keys.forEach(key => {\n const strippedKey = key.replace(/^(gallery_embed\\[)/, \"\").replace(/\\]$/, \"\");\n formattedPayload[strippedKey] = this.previewSettings[key];\n });\n _fetchOptions[\"body\"] = JSON.stringify(formattedPayload);\n }\n }\n\n return _fetchOptions;\n }\n}\n","var resizeObservers = [];\nexport { resizeObservers };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasActiveObservations = function () {\n return resizeObservers.some(function (ro) { return ro.activeTargets.length > 0; });\n};\nexport { hasActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nvar hasSkippedObservations = function () {\n return resizeObservers.some(function (ro) { return ro.skippedTargets.length > 0; });\n};\nexport { hasSkippedObservations };\n","var msg = 'ResizeObserver loop completed with undelivered notifications.';\nvar deliverResizeLoopError = function () {\n var event;\n if (typeof ErrorEvent === 'function') {\n event = new ErrorEvent('error', {\n message: msg\n });\n }\n else {\n event = document.createEvent('Event');\n event.initEvent('error', false, false);\n event.message = msg;\n }\n window.dispatchEvent(event);\n};\nexport { deliverResizeLoopError };\n","var ResizeObserverBoxOptions;\n(function (ResizeObserverBoxOptions) {\n ResizeObserverBoxOptions[\"BORDER_BOX\"] = \"border-box\";\n ResizeObserverBoxOptions[\"CONTENT_BOX\"] = \"content-box\";\n ResizeObserverBoxOptions[\"DEVICE_PIXEL_CONTENT_BOX\"] = \"device-pixel-content-box\";\n})(ResizeObserverBoxOptions || (ResizeObserverBoxOptions = {}));\nexport { ResizeObserverBoxOptions };\n","export var freeze = function (obj) { return Object.freeze(obj); };\n","import { freeze } from './utils/freeze';\nvar ResizeObserverSize = (function () {\n function ResizeObserverSize(inlineSize, blockSize) {\n this.inlineSize = inlineSize;\n this.blockSize = blockSize;\n freeze(this);\n }\n return ResizeObserverSize;\n}());\nexport { ResizeObserverSize };\n","import { freeze } from './utils/freeze';\nvar DOMRectReadOnly = (function () {\n function DOMRectReadOnly(x, y, width, height) {\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n this.top = this.y;\n this.left = this.x;\n this.bottom = this.top + this.height;\n this.right = this.left + this.width;\n return freeze(this);\n }\n DOMRectReadOnly.prototype.toJSON = function () {\n var _a = this, x = _a.x, y = _a.y, top = _a.top, right = _a.right, bottom = _a.bottom, left = _a.left, width = _a.width, height = _a.height;\n return { x: x, y: y, top: top, right: right, bottom: bottom, left: left, width: width, height: height };\n };\n DOMRectReadOnly.fromRect = function (rectangle) {\n return new DOMRectReadOnly(rectangle.x, rectangle.y, rectangle.width, rectangle.height);\n };\n return DOMRectReadOnly;\n}());\nexport { DOMRectReadOnly };\n","var isSVG = function (target) { return target instanceof SVGElement && 'getBBox' in target; };\nvar isHidden = function (target) {\n if (isSVG(target)) {\n var _a = target.getBBox(), width = _a.width, height = _a.height;\n return !width && !height;\n }\n var _b = target, offsetWidth = _b.offsetWidth, offsetHeight = _b.offsetHeight;\n return !(offsetWidth || offsetHeight || target.getClientRects().length);\n};\nvar isElement = function (obj) {\n var _a;\n if (obj instanceof Element) {\n return true;\n }\n var scope = (_a = obj === null || obj === void 0 ? void 0 : obj.ownerDocument) === null || _a === void 0 ? void 0 : _a.defaultView;\n return !!(scope && obj instanceof scope.Element);\n};\nvar isReplacedElement = function (target) {\n switch (target.tagName) {\n case 'INPUT':\n if (target.type !== 'image') {\n break;\n }\n case 'VIDEO':\n case 'AUDIO':\n case 'EMBED':\n case 'OBJECT':\n case 'CANVAS':\n case 'IFRAME':\n case 'IMG':\n return true;\n }\n return false;\n};\nexport { isSVG, isHidden, isElement, isReplacedElement };\n","export var global = typeof window !== 'undefined' ? window : {};\n","import { ResizeObserverBoxOptions } from '../ResizeObserverBoxOptions';\nimport { ResizeObserverSize } from '../ResizeObserverSize';\nimport { DOMRectReadOnly } from '../DOMRectReadOnly';\nimport { isSVG, isHidden } from '../utils/element';\nimport { freeze } from '../utils/freeze';\nimport { global } from '../utils/global';\nvar cache = new WeakMap();\nvar scrollRegexp = /auto|scroll/;\nvar verticalRegexp = /^tb|vertical/;\nvar IE = (/msie|trident/i).test(global.navigator && global.navigator.userAgent);\nvar parseDimension = function (pixel) { return parseFloat(pixel || '0'); };\nvar size = function (inlineSize, blockSize, switchSizes) {\n if (inlineSize === void 0) { inlineSize = 0; }\n if (blockSize === void 0) { blockSize = 0; }\n if (switchSizes === void 0) { switchSizes = false; }\n return new ResizeObserverSize((switchSizes ? blockSize : inlineSize) || 0, (switchSizes ? inlineSize : blockSize) || 0);\n};\nvar zeroBoxes = freeze({\n devicePixelContentBoxSize: size(),\n borderBoxSize: size(),\n contentBoxSize: size(),\n contentRect: new DOMRectReadOnly(0, 0, 0, 0)\n});\nvar calculateBoxSizes = function (target, forceRecalculation) {\n if (forceRecalculation === void 0) { forceRecalculation = false; }\n if (cache.has(target) && !forceRecalculation) {\n return cache.get(target);\n }\n if (isHidden(target)) {\n cache.set(target, zeroBoxes);\n return zeroBoxes;\n }\n var cs = getComputedStyle(target);\n var svg = isSVG(target) && target.ownerSVGElement && target.getBBox();\n var removePadding = !IE && cs.boxSizing === 'border-box';\n var switchSizes = verticalRegexp.test(cs.writingMode || '');\n var canScrollVertically = !svg && scrollRegexp.test(cs.overflowY || '');\n var canScrollHorizontally = !svg && scrollRegexp.test(cs.overflowX || '');\n var paddingTop = svg ? 0 : parseDimension(cs.paddingTop);\n var paddingRight = svg ? 0 : parseDimension(cs.paddingRight);\n var paddingBottom = svg ? 0 : parseDimension(cs.paddingBottom);\n var paddingLeft = svg ? 0 : parseDimension(cs.paddingLeft);\n var borderTop = svg ? 0 : parseDimension(cs.borderTopWidth);\n var borderRight = svg ? 0 : parseDimension(cs.borderRightWidth);\n var borderBottom = svg ? 0 : parseDimension(cs.borderBottomWidth);\n var borderLeft = svg ? 0 : parseDimension(cs.borderLeftWidth);\n var horizontalPadding = paddingLeft + paddingRight;\n var verticalPadding = paddingTop + paddingBottom;\n var horizontalBorderArea = borderLeft + borderRight;\n var verticalBorderArea = borderTop + borderBottom;\n var horizontalScrollbarThickness = !canScrollHorizontally ? 0 : target.offsetHeight - verticalBorderArea - target.clientHeight;\n var verticalScrollbarThickness = !canScrollVertically ? 0 : target.offsetWidth - horizontalBorderArea - target.clientWidth;\n var widthReduction = removePadding ? horizontalPadding + horizontalBorderArea : 0;\n var heightReduction = removePadding ? verticalPadding + verticalBorderArea : 0;\n var contentWidth = svg ? svg.width : parseDimension(cs.width) - widthReduction - verticalScrollbarThickness;\n var contentHeight = svg ? svg.height : parseDimension(cs.height) - heightReduction - horizontalScrollbarThickness;\n var borderBoxWidth = contentWidth + horizontalPadding + verticalScrollbarThickness + horizontalBorderArea;\n var borderBoxHeight = contentHeight + verticalPadding + horizontalScrollbarThickness + verticalBorderArea;\n var boxes = freeze({\n devicePixelContentBoxSize: size(Math.round(contentWidth * devicePixelRatio), Math.round(contentHeight * devicePixelRatio), switchSizes),\n borderBoxSize: size(borderBoxWidth, borderBoxHeight, switchSizes),\n contentBoxSize: size(contentWidth, contentHeight, switchSizes),\n contentRect: new DOMRectReadOnly(paddingLeft, paddingTop, contentWidth, contentHeight)\n });\n cache.set(target, boxes);\n return boxes;\n};\nvar calculateBoxSize = function (target, observedBox, forceRecalculation) {\n var _a = calculateBoxSizes(target, forceRecalculation), borderBoxSize = _a.borderBoxSize, contentBoxSize = _a.contentBoxSize, devicePixelContentBoxSize = _a.devicePixelContentBoxSize;\n switch (observedBox) {\n case ResizeObserverBoxOptions.DEVICE_PIXEL_CONTENT_BOX:\n return devicePixelContentBoxSize;\n case ResizeObserverBoxOptions.BORDER_BOX:\n return borderBoxSize;\n default:\n return contentBoxSize;\n }\n};\nexport { calculateBoxSize, calculateBoxSizes };\n","import { calculateBoxSizes } from './algorithms/calculateBoxSize';\nimport { freeze } from './utils/freeze';\nvar ResizeObserverEntry = (function () {\n function ResizeObserverEntry(target) {\n var boxes = calculateBoxSizes(target);\n this.target = target;\n this.contentRect = boxes.contentRect;\n this.borderBoxSize = freeze([boxes.borderBoxSize]);\n this.contentBoxSize = freeze([boxes.contentBoxSize]);\n this.devicePixelContentBoxSize = freeze([boxes.devicePixelContentBoxSize]);\n }\n return ResizeObserverEntry;\n}());\nexport { ResizeObserverEntry };\n","import { isHidden } from '../utils/element';\nvar calculateDepthForNode = function (node) {\n if (isHidden(node)) {\n return Infinity;\n }\n var depth = 0;\n var parent = node.parentNode;\n while (parent) {\n depth += 1;\n parent = parent.parentNode;\n }\n return depth;\n};\nexport { calculateDepthForNode };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { ResizeObserverEntry } from '../ResizeObserverEntry';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nimport { calculateBoxSize } from './calculateBoxSize';\nvar broadcastActiveObservations = function () {\n var shallowestDepth = Infinity;\n var callbacks = [];\n resizeObservers.forEach(function processObserver(ro) {\n if (ro.activeTargets.length === 0) {\n return;\n }\n var entries = [];\n ro.activeTargets.forEach(function processTarget(ot) {\n var entry = new ResizeObserverEntry(ot.target);\n var targetDepth = calculateDepthForNode(ot.target);\n entries.push(entry);\n ot.lastReportedSize = calculateBoxSize(ot.target, ot.observedBox);\n if (targetDepth < shallowestDepth) {\n shallowestDepth = targetDepth;\n }\n });\n callbacks.push(function resizeObserverCallback() {\n ro.callback.call(ro.observer, entries, ro.observer);\n });\n ro.activeTargets.splice(0, ro.activeTargets.length);\n });\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var callback = callbacks_1[_i];\n callback();\n }\n return shallowestDepth;\n};\nexport { broadcastActiveObservations };\n","import { resizeObservers } from '../utils/resizeObservers';\nimport { calculateDepthForNode } from './calculateDepthForNode';\nvar gatherActiveObservationsAtDepth = function (depth) {\n resizeObservers.forEach(function processObserver(ro) {\n ro.activeTargets.splice(0, ro.activeTargets.length);\n ro.skippedTargets.splice(0, ro.skippedTargets.length);\n ro.observationTargets.forEach(function processTarget(ot) {\n if (ot.isActive()) {\n if (calculateDepthForNode(ot.target) > depth) {\n ro.activeTargets.push(ot);\n }\n else {\n ro.skippedTargets.push(ot);\n }\n }\n });\n });\n};\nexport { gatherActiveObservationsAtDepth };\n","import { hasActiveObservations } from '../algorithms/hasActiveObservations';\nimport { hasSkippedObservations } from '../algorithms/hasSkippedObservations';\nimport { deliverResizeLoopError } from '../algorithms/deliverResizeLoopError';\nimport { broadcastActiveObservations } from '../algorithms/broadcastActiveObservations';\nimport { gatherActiveObservationsAtDepth } from '../algorithms/gatherActiveObservationsAtDepth';\nvar process = function () {\n var depth = 0;\n gatherActiveObservationsAtDepth(depth);\n while (hasActiveObservations()) {\n depth = broadcastActiveObservations();\n gatherActiveObservationsAtDepth(depth);\n }\n if (hasSkippedObservations()) {\n deliverResizeLoopError();\n }\n return depth > 0;\n};\nexport { process };\n","var trigger;\nvar callbacks = [];\nvar notify = function () { return callbacks.splice(0).forEach(function (cb) { return cb(); }); };\nvar queueMicroTask = function (callback) {\n if (!trigger) {\n var toggle_1 = 0;\n var el_1 = document.createTextNode('');\n var config = { characterData: true };\n new MutationObserver(function () { return notify(); }).observe(el_1, config);\n trigger = function () { el_1.textContent = \"\".concat(toggle_1 ? toggle_1-- : toggle_1++); };\n }\n callbacks.push(callback);\n trigger();\n};\nexport { queueMicroTask };\n","import { queueMicroTask } from './queueMicroTask';\nvar queueResizeObserver = function (cb) {\n queueMicroTask(function ResizeObserver() {\n requestAnimationFrame(cb);\n });\n};\nexport { queueResizeObserver };\n","import { process } from './process';\nimport { global } from './global';\nimport { queueResizeObserver } from './queueResizeObserver';\nvar watching = 0;\nvar isWatching = function () { return !!watching; };\nvar CATCH_PERIOD = 250;\nvar observerConfig = { attributes: true, characterData: true, childList: true, subtree: true };\nvar events = [\n 'resize',\n 'load',\n 'transitionend',\n 'animationend',\n 'animationstart',\n 'animationiteration',\n 'keyup',\n 'keydown',\n 'mouseup',\n 'mousedown',\n 'mouseover',\n 'mouseout',\n 'blur',\n 'focus'\n];\nvar time = function (timeout) {\n if (timeout === void 0) { timeout = 0; }\n return Date.now() + timeout;\n};\nvar scheduled = false;\nvar Scheduler = (function () {\n function Scheduler() {\n var _this = this;\n this.stopped = true;\n this.listener = function () { return _this.schedule(); };\n }\n Scheduler.prototype.run = function (timeout) {\n var _this = this;\n if (timeout === void 0) { timeout = CATCH_PERIOD; }\n if (scheduled) {\n return;\n }\n scheduled = true;\n var until = time(timeout);\n queueResizeObserver(function () {\n var elementsHaveResized = false;\n try {\n elementsHaveResized = process();\n }\n finally {\n scheduled = false;\n timeout = until - time();\n if (!isWatching()) {\n return;\n }\n if (elementsHaveResized) {\n _this.run(1000);\n }\n else if (timeout > 0) {\n _this.run(timeout);\n }\n else {\n _this.start();\n }\n }\n });\n };\n Scheduler.prototype.schedule = function () {\n this.stop();\n this.run();\n };\n Scheduler.prototype.observe = function () {\n var _this = this;\n var cb = function () { return _this.observer && _this.observer.observe(document.body, observerConfig); };\n document.body ? cb() : global.addEventListener('DOMContentLoaded', cb);\n };\n Scheduler.prototype.start = function () {\n var _this = this;\n if (this.stopped) {\n this.stopped = false;\n this.observer = new MutationObserver(this.listener);\n this.observe();\n events.forEach(function (name) { return global.addEventListener(name, _this.listener, true); });\n }\n };\n Scheduler.prototype.stop = function () {\n var _this = this;\n if (!this.stopped) {\n this.observer && this.observer.disconnect();\n events.forEach(function (name) { return global.removeEventListener(name, _this.listener, true); });\n this.stopped = true;\n }\n };\n return Scheduler;\n}());\nvar scheduler = new Scheduler();\nvar updateCount = function (n) {\n !watching && n > 0 && scheduler.start();\n watching += n;\n !watching && scheduler.stop();\n};\nexport { scheduler, updateCount };\n","import { ResizeObserverBoxOptions } from './ResizeObserverBoxOptions';\nimport { calculateBoxSize } from './algorithms/calculateBoxSize';\nimport { isSVG, isReplacedElement } from './utils/element';\nvar skipNotifyOnElement = function (target) {\n return !isSVG(target)\n && !isReplacedElement(target)\n && getComputedStyle(target).display === 'inline';\n};\nvar ResizeObservation = (function () {\n function ResizeObservation(target, observedBox) {\n this.target = target;\n this.observedBox = observedBox || ResizeObserverBoxOptions.CONTENT_BOX;\n this.lastReportedSize = {\n inlineSize: 0,\n blockSize: 0\n };\n }\n ResizeObservation.prototype.isActive = function () {\n var size = calculateBoxSize(this.target, this.observedBox, true);\n if (skipNotifyOnElement(this.target)) {\n this.lastReportedSize = size;\n }\n if (this.lastReportedSize.inlineSize !== size.inlineSize\n || this.lastReportedSize.blockSize !== size.blockSize) {\n return true;\n }\n return false;\n };\n return ResizeObservation;\n}());\nexport { ResizeObservation };\n","var ResizeObserverDetail = (function () {\n function ResizeObserverDetail(resizeObserver, callback) {\n this.activeTargets = [];\n this.skippedTargets = [];\n this.observationTargets = [];\n this.observer = resizeObserver;\n this.callback = callback;\n }\n return ResizeObserverDetail;\n}());\nexport { ResizeObserverDetail };\n","import { scheduler, updateCount } from './utils/scheduler';\nimport { ResizeObservation } from './ResizeObservation';\nimport { ResizeObserverDetail } from './ResizeObserverDetail';\nimport { resizeObservers } from './utils/resizeObservers';\nvar observerMap = new WeakMap();\nvar getObservationIndex = function (observationTargets, target) {\n for (var i = 0; i < observationTargets.length; i += 1) {\n if (observationTargets[i].target === target) {\n return i;\n }\n }\n return -1;\n};\nvar ResizeObserverController = (function () {\n function ResizeObserverController() {\n }\n ResizeObserverController.connect = function (resizeObserver, callback) {\n var detail = new ResizeObserverDetail(resizeObserver, callback);\n observerMap.set(resizeObserver, detail);\n };\n ResizeObserverController.observe = function (resizeObserver, target, options) {\n var detail = observerMap.get(resizeObserver);\n var firstObservation = detail.observationTargets.length === 0;\n if (getObservationIndex(detail.observationTargets, target) < 0) {\n firstObservation && resizeObservers.push(detail);\n detail.observationTargets.push(new ResizeObservation(target, options && options.box));\n updateCount(1);\n scheduler.schedule();\n }\n };\n ResizeObserverController.unobserve = function (resizeObserver, target) {\n var detail = observerMap.get(resizeObserver);\n var index = getObservationIndex(detail.observationTargets, target);\n var lastObservation = detail.observationTargets.length === 1;\n if (index >= 0) {\n lastObservation && resizeObservers.splice(resizeObservers.indexOf(detail), 1);\n detail.observationTargets.splice(index, 1);\n updateCount(-1);\n }\n };\n ResizeObserverController.disconnect = function (resizeObserver) {\n var _this = this;\n var detail = observerMap.get(resizeObserver);\n detail.observationTargets.slice().forEach(function (ot) { return _this.unobserve(resizeObserver, ot.target); });\n detail.activeTargets.splice(0, detail.activeTargets.length);\n };\n return ResizeObserverController;\n}());\nexport { ResizeObserverController };\n","import { ResizeObserverController } from './ResizeObserverController';\nimport { isElement } from './utils/element';\nvar ResizeObserver = (function () {\n function ResizeObserver(callback) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\"Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.\");\n }\n ResizeObserverController.connect(this, callback);\n }\n ResizeObserver.prototype.observe = function (target, options) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.observe(this, target, options);\n };\n ResizeObserver.prototype.unobserve = function (target) {\n if (arguments.length === 0) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.\");\n }\n if (!isElement(target)) {\n throw new TypeError(\"Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element\");\n }\n ResizeObserverController.unobserve(this, target);\n };\n ResizeObserver.prototype.disconnect = function () {\n ResizeObserverController.disconnect(this);\n };\n ResizeObserver.toString = function () {\n return 'function ResizeObserver () { [polyfill code] }';\n };\n return ResizeObserver;\n}());\nexport { ResizeObserver };\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"widgetId\",\n initialState: {\n embedId: null,\n productHandle: null,\n shopDomain: null,\n galleryId: null,\n shopId: null\n },\n reducers: {\n widgetIdUpdated: (widgetId, action) => {\n const { embedId, productHandle, shopDomain } = action.payload;\n widgetId.embedId = embedId;\n widgetId.productHandle = productHandle; \n widgetId.shopDomain = shopDomain;\n },\n widgetGalleryIdUpdated: (widgetId, action) => {\n widgetId.galleryId = action.payload;\n },\n widgetShopIdUpdated: (widgetId, action) => {\n widgetId.shopId = action.payload;\n }\n }\n});\n\nexport const { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst BASE_API_URLS = {\n \"production\": \"https://app.covet.pics\",\n \"development\": \"http://localhost:3000\",\n \"staging\": \"https://covetstaging.spacesquirrel.net\",\n \"testing\": \"http://localhost:3000/testing_db\"\n};\n\nconst BEACONS_URL = \"/api/v1/beacons\";\n\nconst slice = createSlice({\n name: \"url\",\n initialState: {\n baseUrl: \"\",\n environment: \"\",\n baseBeaconsUrl: \"\"\n },\n reducers: {\n setEnvironment: (url, action) => {\n const env = action.payload;\n typeof env === \"string\" && Object.keys(BASE_API_URLS).includes(env)\n ? url.environment = env\n : url.environment = \"production\";\n\n url.baseUrl = BASE_API_URLS[url.environment];\n url.baseBeaconsUrl = `${BASE_API_URLS[url.environment]}${BEACONS_URL}/`;\n\n return url;\n },\n }\n});\n\nexport const { setEnvironment } = slice.actions;\nexport default slice.reducer;\n","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"size\",\n initialState: {\n widgetWidth: 320,\n windowHeight: 600,\n isDesktopScreen: true // check default value and default width\n },\n reducers: {\n widgetWidthUpdated: (size, action) => {\n size.widgetWidth = action.payload;\n size.isDesktopScreen = action.payload >= 800;\n },\n windowHeightUpdated: (size, action) => {\n size.windowHeight = action.payload;\n },\n }\n});\n\nexport const { widgetWidthUpdated, windowHeightUpdated } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"preview\",\n initialState: {\n settings: {},\n hoverMode: false,\n popupMode: false,\n mode: false\n },\n reducers: {\n setPreviewHoverMode: (preview, action) => {\n preview.hoverMode = action.payload;\n },\n setPreviewPopupMode: (preview, action) => {\n preview.popupMode = action.payload;\n },\n setPreviewMode: (preview, action) => {\n preview.mode = action.payload;\n }\n }\n});\n\nexport const { setPreviewHoverMode, setPreviewPopupMode, setPreviewMode } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\n\nconst slice = createSlice({\n name: \"analytics\",\n initialState: false,\n reducers: {\n setAnalytics: (analytics, action) => {\n analytics = action.payload;\n return analytics;\n },\n }\n});\n\nexport const { setAnalytics } = slice.actions;\nexport default slice.reducer;","import { createSlice } from \"@reduxjs/toolkit\";\nimport { Settings } from \"../utils/types\";\n\nconst initialState: Settings = {\n add_to_cart_button_caption: \"Add to cart\",\n arrow_color_theme: \"light\",\n arrow_custom_box_color: \"#000000\",\n arrow_custom_color: \"#d3d3d3\",\n arrow_graphics_type: \"type_1\",\n arrow_size: \"standard\",\n arrow_size_custom: 48,\n close_button_color_theme: \"dark_btn\", \n close_button_custom_box_color: \"#000000\",\n close_button_custom_color: \"#d3d3d3\",\n close_button_position: \"side\",\n close_button_size: \"standard\",\n close_button_type: \"btn_type_1\",\n desktop_arrow_position: \"middle\",\n direct_add_to_cart: true,\n font_family: \"Source Sans Pro\",\n hide_branding: false,\n hide_social_links: false,\n hotspots: {\n enabled: false,\n background_color: \"#000000\",\n show_numbers: false,\n text_color: \"#ffffff\" \n },\n mobile_arrow_color_theme: \"mob_light\",\n mobile_arrow_custom_box_color: \"#000000\",\n mobile_arrow_custom_color: \"#d3d3d3\", \n mobile_arrow_graphics_type: \"mob_type_1\",\n mobile_arrow_position: \"mob_top\",\n money_format: \"{{amount}}\",\n popup_animation: true,\n popup_background_color: \"#000000\",\n popup_background_opacity: 80,\n popup_buy_button_background_color: \"#444444\",\n popup_buy_button_background_hover_color: \"#000000\",\n popup_buy_button_text_color: \"#FFFFFF\",\n popup_buy_button_text_hover_color: \"#000000\",\n popup_custom_link_label: \"Visit\",\n popup_image_size: \"responsive\",\n popup_products_button_caption: \"Buy Now\",\n popup_products_title: \"SHOP THIS LOOK\",\n popup_products_title_disabled: false,\n popup_buy_button_style: \"buy_btn_style_1\",\n popup_products_view_type: \"grid_view\",\n price_label_caption: \"Price\",\n select_label_caption: \"Select\",\n show_price_in_popup: true\n};\n\n// converted properies based on BE settings\nconst settingsWithConvertedProperties = (settings: Settings): Settings => {\n settings._arrowsDesktopType = `arrows-${settings.arrow_graphics_type.toString().replace(\"_\", \"-\")}`;\n settings._arrowsDesktopSizeType = settings.arrow_size.toString().replace(\"_arrow\", \"\");\n settings._arrowsDesktopPosition = settings.desktop_arrow_position.toString().replace(\"sidebar_\", \"\");\n settings._arrowsMobileColorTheme = settings.mobile_arrow_color_theme.toString().replace(\"mob_\", \"\");\n settings._arrowsMobilePosition = settings.mobile_arrow_position.toString().replace(\"mob_\", \"\");\n settings._arrowsMobileType = settings.mobile_arrow_graphics_type.toString().replace(\"mob_\", \"arrows-\").replace(\"_\", \"-\");\n settings._buyButtonStyle = settings.popup_buy_button_style.replace(\"buy_btn_\", \"\").replace(\"_\", \"-\");\n settings._closeButtonType = settings.close_button_type.toString().split(\"_\").join(\"-\");\n settings._closeButtonСolorTheme = `close-button-color-theme-${settings.close_button_color_theme.toString().replace(\"_btn\", \"\")}`;\n return settings;\n};\n\nconst slice = createSlice({\n name: \"settings\",\n initialState: settingsWithConvertedProperties(initialState),\n reducers: {\n setSettings: (settings, action) => {\n settings = settingsWithConvertedProperties(action.payload);\n return settings;\n },\n }\n});\n\nexport const { setSettings } = slice.actions;\nexport default slice.reducer;","import { combineReducers } from \"@reduxjs/toolkit\";\n\n// import reducers\nimport analyticsReducer from \"./analytics\";\nimport sizeReducer from \"./size\";\nimport sortReducer from \"./sort\";\nimport urlReducer from \"./url\";\nimport previewReducer from \"./preview\";\nimport popup from \"./popup\";\nimport modalsReducer from \"./modals\";\nimport sliderReducer from \"./slider\";\nimport widgetIdReducer from \"./widgetId\";\nimport settingsReducer from \"./settings\";\n\nconst rootReducer = combineReducers({\n analytics: analyticsReducer,\n size: sizeReducer,\n sort: sortReducer,\n url: urlReducer,\n preview: previewReducer,\n popup: popup,\n modals: modalsReducer,\n slider: sliderReducer,\n widgetId: widgetIdReducer,\n settings: settingsReducer\n});\n\n\nexport default rootReducer;\nexport type RootState = ReturnType<typeof rootReducer>\n","import { configureStore, Store } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\n\nexport default function() {\n const store: Store = configureStore({ reducer });\n return store;\n}\n\n// export default store;",":host {\n font-family: var(--covet-pics-font-family);\n // TODO check how it works on real sites\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // TODO check how it works on real sites END\n display: block;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State } from \"@stencil/core\";\nimport { GalleryLoaderService } from \"../../services/gallery-loader-service\";\nimport { ResizeObserver } from \"@juggle/resize-observer\";\nimport { sendToGoogleAnalytics, getUploadWidgetItem, findSharedItemPopup, AppStoreType, AppStateType } from \"../../utils/utils\";\nimport { widgetIdUpdated, widgetGalleryIdUpdated, widgetShopIdUpdated } from \"../../store/widgetId\";\nimport { setEnvironment } from \"../../store/url\";\nimport { widgetWidthUpdated, windowHeightUpdated } from \"../../store/size\";\nimport { setPreviewMode } from \"../../store/preview\";\nimport { setAnalytics } from \"../../store/analytics\";\nimport configureStore from \"../../store/configureStore\";\nimport { getWidgetId, sendBeacon } from \"../../store/storeUtils\";\nimport { getUseAnalytics } from \"../../store/getters\";\nimport { setSettings } from \"../../store/settings\";\nimport { Unsubscribe } from \"../../utils/types\";\n\n@Component({\n tag: \"covet-pics-widget\",\n styleUrl: \"covet-pics-widget.scss\",\n shadow: true\n})\n\nexport class CovetPicsWidget {\n @Element() el: HTMLCovetPicsWidgetElement;\n\n /**\n * Shopify domain from Covet.pics API\n */\n @Prop() shop: string;\n\n /**\n * Gallery embed ID from Covet.pics API\n */\n @Prop() galleryEmbedId: number;\n\n /**\n * App environment: shows which API base URL has to be used\n */\n @Prop() environment: string;\n\n /**\n * App customSettings for testing new layouts\n */\n @Prop() customSettings: string;\n\n /**\n * Hide elements with CSS selector (#id \\ .css-class),\n * if gallery is empty\n */\n @Prop() hideElements: string;\n\n /**\n * Shows whether widget is embedded to a preview page\n */\n @Prop() previewMode: boolean = false;\n\n @State() isLoading: boolean = true;\n @State() minNumberOfPhotos: number;\n @State() items: Array<object> = [];\n @State() appStore: AppStoreType;\n private appState: AppStateType;\n private unsubscribe: Unsubscribe;\n\n /**\n * Emits when user change \"Upload Widget\" cover image\n */\n @Event({ composed: true }) updateUploadWidgetCover: EventEmitter;\n\n /**\n * emitted when parent element is resized\n */\n @Event({ composed: true }) elementResize: EventEmitter;\n\n @Listen(\"sortUpdated\")\n async sortUpdatedHandler(event: CustomEvent) {\n this.loader.resetPagination();\n this.loader.sortType = event.detail; \n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"filtersUpdated\")\n async filtersUpdatedHandler() {\n this.loader.resetPagination();\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [];\n this.items = [...this.getItemsWithUpload(json.items)];\n }\n }\n\n @Listen(\"nextPage\")\n async nextPageHandler() {\n const json = await this.loader.fetchItems();\n if (typeof json !== \"undefined\") {\n this.items = [...this.items, ...json.items];\n }\n }\n\n private loader: GalleryLoaderService;\n private fontsLoaded: boolean = false;\n private resizeObserver: ResizeObserver;\n private sharedItemId: string;\n\n /**\n * Update \"Upload Widget\" cover image\n */\n @Method()\n async updateUploadWidgetCoverPreview(newValue?: string) {\n this.updateUploadWidgetCover.emit({\n image: newValue,\n });\n }\n\n /**\n * Update preview settings & reload data\n */\n @Method()\n async updatePreviewSettings(newValue: object, hoverPreview: boolean, popupPreview: boolean) {\n this.loader.previewHoverMode = hoverPreview;\n this.loader.previewPopupMode = popupPreview;\n this.fontsLoaded = false;\n this.loader.previewSettings = {\n ...this.loader.previewSettings,\n ...newValue\n };\n\n this.loader.resetPagination();\n this.loadData();\n }\n\n componentWillLoad() {\n this.initAppStore();\n this.setupLoader();\n this.loadData();\n }\n\n componentDidLoad() {\n this.resizeObserver = new ResizeObserver(() => {\n const isWindowHeightChanged = this.appState.size.windowHeight !== window.innerHeight;\n if (isWindowHeightChanged) {\n this.appStore.dispatch(windowHeightUpdated(window.innerHeight));\n }\n\n const isWidthChanged = this.appState.size.widgetWidth !== this.el.parentElement.getBoundingClientRect().width;\n if (this.isWidgetWrapExist() && isWidthChanged) {\n this.setWidgetWidth();\n this.elementResize.emit();\n }\n });\n\n if (this.isWidgetWrapExist()) {\n this.resizeObserver.observe(this.el.parentElement);\n }\n }\n\n disconnectedCallback() {\n this.unsubscribe();\n this.resizeObserver.disconnect();\n }\n\n private initAppStore() {\n this.appStore = configureStore();\n const widgetIdParams = getWidgetId(this.galleryEmbedId, this.shop, this.el);\n this.appStore.dispatch(widgetIdUpdated(widgetIdParams));\n this.appStore.dispatch(setEnvironment(this.environment));\n this.appStore.dispatch(setPreviewMode(this.previewMode));\n this.appState = this.appStore.getState(); \n this.unsubscribe = this.appStore.subscribe(() => {\n this.appState = this.appStore.getState(); \n });\n this.setWidgetWidth();\n }\n\n private setupLoader() {\n const uri = window.location;\n\n this.loader = new GalleryLoaderService(this.environment, this.previewMode);\n\n if (typeof this.customSettings === \"string\") {\n this.loader.setCustomSettings(JSON.parse(this.customSettings));\n }\n\n if (typeof this.galleryEmbedId === \"undefined\") {\n \n if (this.el.getAttribute(\"data-product\") !== null) {\n this.loader.productHandle = this.el.getAttribute(\"data-product\");\n } else if (uri.pathname.indexOf(\"/products/\") !== -1) {\n this.loader.productHandle = uri.pathname.match(/\\/products\\/([a-zA-Z0-9\\-\\_\\%]+)/)[1];\n }\n\n if (this.el.hasAttribute(\"data-shop\")) {\n this.shop = this.el.getAttribute(\"data-shop\");\n }\n\n if (typeof this.shop === \"undefined\") { this.shop = uri.hostname; }\n this.loader.shopDomain = this.shop;\n } else {\n this.loader.embedId = this.galleryEmbedId;\n }\n }\n\n private async loadData() {\n this.isLoading = true;\n\n const json = await this.loader.fetchItems();\n\n //TODO test set settings after call endpoint use loader\n this.appStore.dispatch(widgetGalleryIdUpdated(this.loader.galleryId));\n this.appStore.dispatch(widgetShopIdUpdated(this.loader.shopId));\n if (this.loader.data.analytics) {\n this.appStore.dispatch(setAnalytics(this.loader.data.analytics));\n } else {\n this.appStore.dispatch(setAnalytics(false));\n }\n //TODO test set settings after call endpoint use loader END\n if (typeof json === \"undefined\") return false;\n this.appStore.dispatch(setSettings(json.settings));\n this.minNumberOfPhotos = json.settings.min_number_of_photos;\n this.hideElementsIfEmpty();\n if (!this.fontsLoaded) { this.loadFont(); }\n if (this.hasEnoughPhotos && getUseAnalytics(this.appState)) {\n const category = \"Covet.pics Gallery\";\n const action = \"Covet.pics Gallery View\";\n const label = \"Covet.pics Gallery View - \" + this.galleryEmbedId;\n sendToGoogleAnalytics(action, category, label);\n }\n\n if (this.hasEnoughPhotos) {\n sendBeacon(this.appState, \"gallery_view\");\n }\n\n this.loader.data.settings.display_type === \"highlight\"\n ? this.items = [...json.items]\n : this.items = [...this.getItemsWithUpload(json.items)];\n\n \n this.sharedItemId = await this.findAndLoadSharedItemId(); // TODO test ver\n \n this.isLoading = false;\n return true;\n }\n\n private async findAndLoadSharedItemId() {\n return new Promise(async resolve => {\n if (this.loader.previewPopupMode) {\n const first = (this.items as Array<any>).find(item => item.source !== \"upload_widget\");\n return resolve(typeof first !== \"undefined\" \n ? first.id.toString() \n : \"none\");\n } \n\n const itemId = findSharedItemPopup(this.loader.embedId, this.loader.galleryType);\n if (itemId === null) return resolve(\"none\");\n const isItemLoaded = (this.items as Array<any>).findIndex(item => item.id === parseInt(itemId)) !== -1;\n \n if (isItemLoaded) return resolve(itemId.toString());\n\n const json = await this.loader.fetchItems();\n if (typeof json === \"undefined\") return resolve(\"none\");\n this.items = [...this.items, ...json.items];\n return resolve(this.findAndLoadSharedItemId());\n });\n }\n\n private setWidgetWidth() {\n const width = this.isWidgetWrapExist()\n ? this.el.parentElement.getBoundingClientRect().width\n : 320;\n return this.appStore.dispatch(widgetWidthUpdated(width));\n }\n\n private isWidgetWrapExist() {\n return (this.el.parentElement !== undefined && this.el.parentElement instanceof HTMLElement);\n }\n\n private get hasEnoughPhotos(): boolean {\n if (this.minNumberOfPhotos === null) return true;\n if (this.loader === undefined || this.loader.data === undefined) return false;\n if (this.loader.data.items !== undefined && this.loader.data.items.length < this.minNumberOfPhotos && this.loader.page === 1) return false;\n\n return true;\n }\n\n private loadFont() {\n if (this.loader.data.settings.font_family) {\n const fontStylesheet = document.createElement(\"link\");\n fontStylesheet.setAttribute(\"rel\", \"stylesheet\");\n fontStylesheet.setAttribute(\"href\", \"https://fonts.googleapis.com/css2?family=\" + this.loader.data.settings.font_family.split(\" \").join(\"+\") + \":wght@300;400;600;700&display=swap\");\n document.head.appendChild(fontStylesheet);\n }\n this.fontsLoaded = true;\n }\n\n private setWidgetCSSVariables() {\n let cssVariables = {};\n if (this.loader.data.settings.font_family && this.loader.data.settings.font_family !== \"\") {\n cssVariables[\"--covet-pics-font-family\"] = `${this.loader.data.settings.font_family}, sans-serif`;\n }\n return cssVariables;\n }\n\n private getItemsWithUpload(items: Array<object>) {\n if (!this.loader.data.settings.customer_photo_item_position) return items;\n const uploadIndex = this.loader.data.settings.customer_photo_item_position - 1;\n items.splice(uploadIndex, 0, getUploadWidgetItem(this.loader));\n return items;\n }\n\n private renderSliderGallery() { \n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-slider\n items={this.items}\n desktop-photos-per-row={this.loader.data.settings.slideshow_photos_per_row}\n desktop-item-padding={this.loader.data.settings.item_padding}\n mobile-photos-per-row={this.loader.data.settings.slideshow_mobile_photos_per_row}\n mobile-item-padding={this.loader.data.settings.item_mobile_padding}\n auto-load-more={this.loader.data.settings.slideshow_load_more.toString()}\n auto-play={this.loader.data.settings.slideshow_autoplay * 1000}\n loader={this.loader}\n itemStyle={this.loader.data.settings.item_style ? this.loader.data.settings.item_style : \"standard\"}\n shared-item-id={this.sharedItemId}\n appStore={this.appStore}\n >\n </covet-pics-gallery-slider>\n </Host>\n );\n }\n\n private renderGridGallery() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"needsclick\" /* FIXME: https://github.com/ftlabs/fastclick/issues/604 */>\n <covet-pics-gallery-grid\n layout={this.loader.data.settings.display_type}\n items={this.items}\n rating={this.loader.data.reviews?.rating}\n rating-count={this.loader.data.reviews?.rating_count}\n product-title={this.loader.data.product_title}\n breakdown={this.loader.data.reviews?.breakdown}\n desktop-photos-per-row={this.loader.data.settings.gallery_photos_per_row}\n desktop-item-padding={this.loader.data.settings.item_padding}\n mobile-photos-per-row={this.loader.data.settings.gallery_mobile_photos_per_row}\n mobile-item-padding={this.loader.data.settings.item_mobile_padding}\n\n load-more-border={this.loader.data.settings.load_more_border_width}\n load-more-color={this.loader.data.settings.load_more_button_color}\n load-more-font-size={this.loader.data.settings.load_more_font_size}\n load-more-font-style={this.loader.data.settings.load_more_font_style}\n load-more-padding={this.loader.data.settings.load_more_padding}\n load-more-label={this.loader.data.settings.load_more_text}\n load-more-style={this.loader.data.settings.load_more_button_style}\n load-more-mode={this.loader.data.settings.pagination}\n\n highlight-enabled={this.loader.data.settings.gallery_highlight}\n highlight-every={this.loader.data.settings.gallery_highlight_every}\n highlight-starts-from={this.loader.data.settings.gallery_highlight_every_start}\n images-to-show={this.loader.data.settings.gallery_photos_count}\n\n filters-enabled={this.loader.data.filters.enabled}\n filters-multiselect={this.loader.data.settings.multiple_filter_enabled}\n filters-reset-label={this.loader.data.settings.tags_reset_button_text}\n filters-color={this.loader.data.settings.tags_color}\n filters-padding={this.loader.data.settings.tags_padding}\n filters-font-size={this.loader.data.settings.tags_font_size}\n filters-font-weight={this.loader.data.settings.tags_font_weight}\n\n show-header={this.loader.data.settings.show_header.toString()}\n header-type={this.loader.data.settings.header_type}\n header-show-average-rating={this.loader.data.settings.header_show_average_rating.toString()}\n header-show-breakdown={this.loader.data.settings.header_show_breakdown.toString()}\n header-show-sort={this.loader.data.settings.header_show_sort.toString()}\n\n itemStyle={this.loader.data.settings.item_style ? this.loader.data.settings.item_style : \"standard\"}\n shared-item-id={this.sharedItemId}\n appStore={this.appStore}\n loader={this.loader}>\n </covet-pics-gallery-grid>\n </Host>\n );\n }\n\n private renderHighlighted() {\n return (\n <Host style={this.setWidgetCSSVariables()} class=\"highlighted\">\n <covet-pics-highlighted\n numberOfPages={this.loader.data.items.length}\n padding={this.loader.data.settings.padding}\n primaryColor={this.loader.data.settings.primary_color}\n secondaryColor={this.loader.data.settings.secondary_color}\n hotspotsBackgoundColor={this.loader.data.settings.hotspots.background_color}\n backgroundColor={this.loader.data.settings.background_color}\n layout={this.loader.data.settings.highlight_layout}\n productsLayout={this.loader.data.settings.highlight_products_layout}\n showHotspots={this.loader.data.settings.hotspots.enabled}\n hotspotsLayout={this.loader.data.settings.highlight_hotspots_layout}\n showPrice={this.loader.data.settings.show_price}\n hideProductTitle={this.loader.data.settings.popup_products_title_disabled}\n productsTitle={this.loader.data.settings.popup_products_title}\n btnBuyLabel={this.loader.data.settings.popup_products_button_caption}\n items={this.loader.data.items}\n hideBranding={this.loader.data.settings.hide_branding}\n showReview={this.loader.data.settings.show_review}\n appStore={this.appStore}\n >\n </covet-pics-highlighted>\n </Host >\n );\n }\n\n private hideElementsIfEmpty() {\n let selector = this.hideElements;\n if (!selector) {\n selector = this.loader.data.settings.selector_to_hide;\n }\n const items = this.loader.data.items;\n const isEmpty = (typeof items !== \"undefined\" && items.length === 0) || !this.hasEnoughPhotos;\n\n if (isEmpty && selector !== \"\") {\n const nodes = document.querySelectorAll(selector) as NodeListOf<HTMLElement>;\n nodes.forEach(node => node.style.display = \"none\");\n }\n }\n\n render() {\n if (!this.isLoading && this.hasEnoughPhotos) {\n const displayType = this.loader.data.settings.display_type;\n if (displayType === \"slider\") return this.renderSliderGallery();\n if (displayType === \"highlight\") return this.renderHighlighted();\n return this.renderGridGallery();\n }\n }\n}\n"],"version":3}
|
|
@@ -114,12 +114,12 @@ export class CovetPicsWidget {
|
|
|
114
114
|
this.loader.setCustomSettings(JSON.parse(this.customSettings));
|
|
115
115
|
}
|
|
116
116
|
if (typeof this.galleryEmbedId === "undefined") {
|
|
117
|
-
if (
|
|
118
|
-
this.loader.productHandle = uri.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1];
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
117
|
+
if (this.el.getAttribute("data-product") !== null) {
|
|
121
118
|
this.loader.productHandle = this.el.getAttribute("data-product");
|
|
122
119
|
}
|
|
120
|
+
else if (uri.pathname.indexOf("/products/") !== -1) {
|
|
121
|
+
this.loader.productHandle = uri.pathname.match(/\/products\/([a-zA-Z0-9\-\_\%]+)/)[1];
|
|
122
|
+
}
|
|
123
123
|
if (this.el.hasAttribute("data-shop")) {
|
|
124
124
|
this.shop = this.el.getAttribute("data-shop");
|
|
125
125
|
}
|