@haiilo/catalyst 10.36.1 → 11.0.0
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/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/catalyst.esm.js.map +1 -1
- package/dist/catalyst/p-59e2ada2.entry.js +10 -0
- package/dist/catalyst/p-59e2ada2.entry.js.map +1 -0
- package/dist/cjs/cat-alert_30.cjs.entry.js +297 -1802
- package/dist/cjs/cat-alert_30.cjs.entry.js.map +1 -1
- package/dist/cjs/catalyst.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/cat-alert/cat-alert.js +1 -1
- package/dist/collection/components/cat-badge/cat-badge.js +1 -1
- package/dist/collection/components/cat-button-group/cat-button-group.js +1 -1
- package/dist/collection/components/cat-card/cat-card.js +1 -1
- package/dist/collection/components/cat-checkbox/cat-checkbox.js +2 -2
- package/dist/collection/components/cat-date/cat-date.js +10 -5
- package/dist/collection/components/cat-date/cat-date.js.map +1 -1
- package/dist/collection/components/cat-date-inline/cat-date-inline.js +4 -4
- package/dist/collection/components/cat-dropdown/cat-dropdown.css +5 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.js +49 -24
- package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
- package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js +1 -0
- package/dist/collection/components/cat-dropdown/cat-dropdown.spec.js.map +1 -1
- package/dist/collection/components/cat-input/cat-input.js +58 -43
- package/dist/collection/components/cat-input/cat-input.js.map +1 -1
- package/dist/collection/components/cat-select/cat-select.js +8 -8
- package/dist/collection/components/cat-time/cat-time-locale.js.map +1 -1
- package/dist/collection/components/cat-time/cat-time.js +3 -9
- package/dist/collection/components/cat-time/cat-time.js.map +1 -1
- package/dist/collection/components/cat-tooltip/cat-tooltip.js +3 -3
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/first-tabbable-with-visibility-hidden.js +49 -0
- package/dist/collection/utils/first-tabbable-with-visibility-hidden.js.map +1 -0
- package/dist/components/cat-alert.js +1 -1
- package/dist/components/cat-badge.js +1 -1
- package/dist/components/cat-button-group.js +1 -1
- package/dist/components/cat-card.js +1 -1
- package/dist/components/cat-checkbox2.js +2 -2
- package/dist/components/cat-date-inline2.js +4 -4
- package/dist/components/cat-date.js +6 -5
- package/dist/components/cat-date.js.map +1 -1
- package/dist/components/cat-dropdown2.js +83 -28
- package/dist/components/cat-dropdown2.js.map +1 -1
- package/dist/components/cat-input2.js +19 -1571
- package/dist/components/cat-input2.js.map +1 -1
- package/dist/components/cat-select2.js +4 -4
- package/dist/components/cat-time.js +3 -9
- package/dist/components/cat-time.js.map +1 -1
- package/dist/components/cat-tooltip.js +2 -2
- package/dist/esm/cat-alert_30.entry.js +299 -1804
- package/dist/esm/cat-alert_30.entry.js.map +1 -1
- package/dist/esm/catalyst.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/cat-date/cat-date.d.ts +2 -0
- package/dist/types/components/cat-dropdown/cat-dropdown.d.ts +7 -1
- package/dist/types/components/cat-input/cat-input.d.ts +22 -7
- package/dist/types/components/cat-time/cat-time-locale.d.ts +4 -3
- package/dist/types/components/cat-time/cat-time.d.ts +1 -1
- package/dist/types/components.d.ts +26 -7
- package/dist/types/index.d.ts +1 -0
- package/dist/types/utils/first-tabbable-with-visibility-hidden.d.ts +2 -0
- package/package.json +3 -4
- package/dist/catalyst/p-a66b6ce8.entry.js +0 -10
- package/dist/catalyst/p-a66b6ce8.entry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"cat-input2.js","mappings":";;;;;;;;AAAA,IAAI,cAAc,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAC/I;AACA,IAAI,gBAAgB,GAAG,UAAU,kBAAkB;AACnD,iCAAiC,mBAAmB;AACpD,iCAAiC,mBAAmB;AACpD,iCAAiC,0BAA0B;AAC3D,iCAAiC,mBAAmB;AACpD,iCAAiC,kBAAkB;AACnD,iCAAiC,MAAM;AACvC,iCAAiC,gBAAgB;AACjD,iCAAiC,UAAU;AAC3C,iCAAiC,SAAS,EAAE;AAC5C,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;AACA,IAAI,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,GAAG,CAAC;AACzD,IAAI,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC;AAClF,IAAI,KAAK,CAAC,mBAAmB,GAAG,mBAAmB,IAAI,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC;AACnF,IAAI,KAAK,CAAC,0BAA0B,GAAG,0BAA0B,IAAI,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC1G,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,mBAAmB,CAAC;AACtD,IAAI,KAAK,CAAC,kBAAkB,GAAG,kBAAkB,KAAK,KAAK,CAAC;AAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAC3D,IAAI,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,CAAC;AAChD,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;AACpC,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,GAAG,GAAG,CAAC;AACxE,IAAI,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAC3E,CAAC,CAAC;AACF;AACA,gBAAgB,CAAC,UAAU,GAAG;AAC9B,IAAI,QAAQ,EAAE,UAAU;AACxB,IAAI,IAAI,MAAM,MAAM;AACpB,IAAI,GAAG,OAAO,KAAK;AACnB,IAAI,IAAI,MAAM,MAAM;AACpB,CAAC,CAAC;AACF;AACA,gBAAgB,CAAC,SAAS,GAAG;AAC7B,IAAI,WAAW,EAAE,UAAU,KAAK,EAAE;AAClC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACzF,KAAK;AACL;AACA,IAAI,MAAM,EAAE,UAAU,KAAK,EAAE;AAC7B,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,GAAG,EAAE,CAAC;AAC5F;AACA;AACA,QAAQ,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;AAC9C;AACA,aAAa,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC;AACnD;AACA;AACA;AACA,aAAa,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;AACpC;AACA;AACA,aAAa,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AAChC;AACA;AACA,aAAa,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/B;AACA;AACA,aAAa,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,mBAAmB,GAAG,EAAE,GAAG,GAAG,CAAC;AAC/D;AACA;AACA,aAAa,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACpD;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,kBAAkB,EAAE;AACtC,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACzD,SAAS;AACT;AACA,QAAQ,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACxD,QAAQ,IAAI,OAAO,KAAK,CAAC,MAAM,IAAI,WAAW,EAAE;AAChD,YAAY,IAAI,KAAK,CAAC,gBAAgB,EAAE;AACxC,gBAAgB,iBAAiB,GAAG,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;AAC5D,aAAa,MAAM;AACnB,gBAAgB,iBAAiB,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;AAC5D,aAAa;AACb,SAAS,MAAM;AACf,YAAY,iBAAiB,GAAG,QAAQ,CAAC;AACzC,SAAS;AACT;AACA,QAAQ,WAAW,GAAG,KAAK,CAAC;AAC5B;AACA,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC1D,YAAY,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC1D,YAAY,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,YAAY,WAAW,GAAG,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAClG,SAAS;AACT;AACA,QAAQ,GAAG,QAAQ,KAAK,GAAG,EAAE;AAC7B,YAAY,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,EAAE;AAC3C,UAAU,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACxE,SAAS;AACT;AACA,QAAQ,QAAQ,KAAK,CAAC,0BAA0B;AAChD,QAAQ,KAAK,gBAAgB,CAAC,UAAU,CAAC,IAAI;AAC7C,YAAY,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7F;AACA,YAAY,MAAM;AAClB;AACA,QAAQ,KAAK,gBAAgB,CAAC,UAAU,CAAC,GAAG;AAC5C,YAAY,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC5F;AACA,YAAY,MAAM;AAClB;AACA,QAAQ,KAAK,gBAAgB,CAAC,UAAU,CAAC,QAAQ;AACjD,YAAY,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC5F;AACA,YAAY,MAAM;AAClB,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE;AAC9B,YAAY,OAAO,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;AACpI,SAAS;AACT;AACA,QAAQ,OAAO,iBAAiB,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1H,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,kBAAkB,GAAG,gBAAgB,CAAC;AAC1C;AACA,IAAI,aAAa,GAAG,UAAU,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;AACA,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AACpB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,IAAI,KAAK,CAAC,OAAO,GAAG,OAAO;AAC3B,OAAO,KAAK,CAAC,GAAG,CAAC;AACjB,OAAO,OAAO,EAAE;AAChB,OAAO,GAAG,CAAC,SAAS,CAAC,EAAE;AACvB,QAAQ,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/B,OAAO,CAAC,CAAC;AACT,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D;AACA,IAAI,KAAK,CAAC,OAAO,GAAG,OAAO;AAC3B,OAAO,KAAK,CAAC,GAAG,CAAC;AACjB,OAAO,OAAO,EAAE;AAChB,OAAO,GAAG,CAAC,SAAS,CAAC,EAAE;AACvB,QAAQ,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/B,OAAO,CAAC,CAAC;AACT,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D;AACA,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC,CAAC;AACF;AACA,aAAa,CAAC,SAAS,GAAG;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AACnD,YAAY,IAAI,KAAK,KAAK,GAAG,EAAE;AAC/B,gBAAgB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,aAAa,MAAM;AACnB,gBAAgB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrC,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,YAAY;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC9B;AACA,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC;AACtB,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/F,YAAY,EAAE,CAAC;AACf,KAAK;AACL;AACA,IAAI,SAAS,EAAE,YAAY;AAC3B,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,UAAU,KAAK,EAAE;AACvC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;AACtC;AACA,QAAQ,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC5C;AACA,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE,KAAK,EAAE;AACtD,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAgB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;AAChD,oBAAoB,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,oBAAoB,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C;AACA,gBAAgB,QAAQ,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChD,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,IAAI,GAAG,KAAK,IAAI,EAAE;AACtC,wBAAwB,GAAG,GAAG,IAAI,CAAC;AACnC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;AACvD,wBAAwB,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACzC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;AACvD,wBAAwB,GAAG,GAAG,IAAI,CAAC;AACnC,qBAAqB;AACrB;AACA,oBAAoB,MAAM;AAC1B;AACA,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,IAAI,GAAG,KAAK,IAAI,EAAE;AACtC,wBAAwB,GAAG,GAAG,IAAI,CAAC;AACnC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;AACvD,wBAAwB,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACzC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;AACvD,wBAAwB,GAAG,GAAG,IAAI,CAAC;AACnC,qBAAqB;AACrB;AACA,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,CAAC;AAC9B;AACA;AACA,gBAAgB,KAAK,GAAG,IAAI,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/C,KAAK;AACL;AACA,IAAI,kBAAkB,EAAE,UAAU,KAAK,EAAE;AACzC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE;AACpE,YAAY,QAAQ,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC;AACvD,YAAY,aAAa,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC;AACtE,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,CAAC;AACnD;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;AAChH,YAAY,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3D,YAAY,eAAe,GAAG,CAAC,GAAG,aAAa,CAAC;AAChD,YAAY,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9E,YAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF;AACA,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACpD,SAAS;AACT;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,YAAY,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE;AACvD,gBAAgB,QAAQ,IAAI;AAC5B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,QAAQ,GAAG,KAAK,CAAC;AACrC,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,UAAU,GAAG,KAAK,CAAC;AACvC,oBAAoB,MAAM;AAC1B,gBAAgB;AAChB,oBAAoB,SAAS,GAAG,KAAK,CAAC;AACtC,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf;AACA,YAAY,cAAc,GAAG,SAAS,GAAG,CAAC,CAAC;AAC3C,YAAY,aAAa,GAAG,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACxF,YAAY,eAAe,GAAG,CAAC,UAAU,IAAI,SAAS,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAChG;AACA,YAAY,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9E,YAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF;AACA,YAAY,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxF;AACA,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACvD,SAAS;AACT;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;AACtF,YAAY,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7D,YAAY,cAAc,GAAG,CAAC,GAAG,eAAe,CAAC;AACjD,YAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF;AACA,YAAY,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxF;AACA,YAAY,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACpC,SAAS;AACT;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;AACtF,YAAY,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7D,YAAY,cAAc,GAAG,CAAC,GAAG,GAAG,GAAG,eAAe,CAAC;AACvD,YAAY,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACpF,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF;AACA,YAAY,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AACxF;AACA,YAAY,IAAI,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAQ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1B;AACA,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,OAAO,EAAE;AACjG,YAAY,QAAQ,OAAO;AAC3B,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvF,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACpG,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACnG,aAAa;AACb,SAAS,EAAE,EAAE,CAAC,CAAC;AACf;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,UAAU,IAAI,EAAE;AACvC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,WAAW,GAAG,KAAK,CAAC,WAAW;AAC3C,YAAY,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE;AACzC,YAAY,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AAC1C;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC;AACpF;AACA,QAAQ;AACR,UAAU,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AACvC,YAAY,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;AAC3C,WAAW,CAAC;AACZ,UAAU,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACvB,UAAU,OAAO,IAAI,CAAC;AACtB;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACnD,UAAU,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACzD,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1D,WAAW,CAAC;AACZ,SAAS,CAAC,EAAE,OAAO,OAAO,CAAC;AAC3B;AACA,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACnD,UAAU,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACzD,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1D,WAAW,CAAC;AACZ,SAAS,CAAC,EAAE,OAAO,OAAO,CAAC;AAC3B;AACA,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL;AACA,IAAI,YAAY,EAAE,UAAU,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;AAC9C,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChC,QAAQ,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACpC,QAAQ,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACzC;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9E,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AACtF,SAAS;AACT;AACA,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClC,KAAK;AACL;AACA,IAAI,UAAU,EAAE,UAAU,IAAI,EAAE;AAChC,QAAQ,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9E,KAAK;AACL;AACA,IAAI,cAAc,EAAE,UAAU,MAAM,EAAE;AACtC,QAAQ,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,MAAM,CAAC;AACjD,KAAK;AACL;AACA,IAAI,qBAAqB,EAAE,UAAU,MAAM,EAAE,YAAY,EAAE;AAC3D,QAAQ,IAAI,YAAY,EAAE;AAC1B,YAAY,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,KAAK,IAAI,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC;AACvG,SAAS;AACT;AACA,QAAQ,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,MAAM,CAAC;AACjD,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,eAAe,GAAG,aAAa,CAAC;AACpC;AACA,IAAI,aAAa,GAAG,UAAU,WAAW,EAAE,UAAU,EAAE;AACvD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;AACA,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;AACpB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,IAAI,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAClC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC,CAAC;AACF;AACA,aAAa,CAAC,SAAS,GAAG;AAC1B,IAAI,UAAU,EAAE,YAAY;AAC5B,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY;AAC9C,YAAY,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjC,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,YAAY;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AAC9B;AACA,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC;AACtB,YAAY,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACrH,YAAY,EAAE,CAAC;AACf,KAAK;AACL;AACA,IAAI,SAAS,EAAE,YAAY;AAC3B,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC;AAC3B,KAAK;AACL;AACA,IAAI,oBAAoB,EAAE,YAAY;AACtC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE;AAC/C,YAAY,OAAO;AACnB,gBAAgB,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,QAAQ,EAAE,EAAE;AAC5B,gBAAgB,oBAAoB,EAAE,CAAC;AACvC,gBAAgB,UAAU,EAAE,EAAE;AAC9B,aAAa,CAAC;AACd,SAAS;AACT;AACA,QAAQ,OAAO;AACf,YAAY,iBAAiB,EAAE,CAAC;AAChC,YAAY,QAAQ,EAAE,EAAE;AACxB,YAAY,oBAAoB,EAAE,CAAC;AACnC,YAAY,UAAU,EAAE,EAAE;AAC1B,SAAS,CAAC;AACV,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,UAAU,KAAK,EAAE;AACvC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;AACtC;AACA,QAAQ,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC5C;AACA,QAAQ,IAAI,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;AAC7D;AACA,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE,KAAK,EAAE;AACtD,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAgB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;AAChD,oBAAoB,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1C,oBAAoB,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C;AACA,gBAAgB,QAAQ,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAChD;AACA,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,iBAAiB,EAAE;AAClF,wBAAwB,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACzC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE;AAC/E,wBAAwB,GAAG,GAAG,iBAAiB,CAAC,QAAQ,GAAG,EAAE,CAAC;AAC9D,qBAAqB;AACrB;AACA,oBAAoB,MAAM;AAC1B;AACA,gBAAgB,KAAK,GAAG,CAAC;AACzB,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,oBAAoB,EAAE;AACrF,wBAAwB,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AACzC,qBAAqB,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,iBAAiB,CAAC,UAAU,EAAE;AACjF,wBAAwB,GAAG,GAAG,iBAAiB,CAAC,UAAU,GAAG,EAAE,CAAC;AAChE,qBAAqB;AACrB,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB;AACA,gBAAgB,MAAM,IAAI,GAAG,CAAC;AAC9B;AACA;AACA,gBAAgB,KAAK,GAAG,IAAI,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/C,KAAK;AACL;AACA,IAAI,kBAAkB,EAAE,UAAU,KAAK,EAAE;AACzC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE;AACpE,YAAY,WAAW,GAAG,CAAC,EAAE,WAAW,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC;AAC3D,YAAY,gBAAgB,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC;AAC1E,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC;AACjC;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,YAAY,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE;AACvD,gBAAgB,QAAQ,IAAI;AAC5B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5C,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5C,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1C,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf;AACA,YAAY,cAAc,GAAG,SAAS,CAAC;AACvC,YAAY,gBAAgB,GAAG,WAAW,CAAC;AAC3C,YAAY,gBAAgB,GAAG,WAAW,CAAC;AAC3C;AACA,YAAY,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,YAAY,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF;AACA,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,SAAS;AACT;AACA,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACtE,YAAY,WAAW,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,KAAK,EAAE;AACvD,gBAAgB,QAAQ,IAAI;AAC5B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,WAAW,GAAG,KAAK,GAAG,CAAC,CAAC;AAC5C,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,GAAG;AACxB,oBAAoB,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AAC1C,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf;AACA,YAAY,cAAc,GAAG,SAAS,CAAC;AACvC,YAAY,gBAAgB,GAAG,WAAW,CAAC;AAC3C;AACA,YAAY,MAAM,GAAG,CAAC,CAAC;AACvB,YAAY,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvF,YAAY,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjF;AACA,YAAY,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC3D,SAAS;AACT;AACA,QAAQ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1B;AACA,QAAQ,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,OAAO,EAAE;AAC3F,YAAY,QAAQ,OAAO;AAC3B,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,YAAY,KAAK,GAAG;AACpB,gBAAgB,OAAO,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,aAAa;AACb,SAAS,EAAE,EAAE,CAAC,CAAC;AACf,KAAK;AACL;AACA,IAAI,YAAY,EAAE,UAAU,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE;AAClD,QAAQ,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACzD,QAAQ,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,QAAQ,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC;AACA,QAAQ,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AACtC,KAAK;AACL;AACA,IAAI,cAAc,EAAE,UAAU,MAAM,EAAE;AACtC,QAAQ,OAAO,CAAC,MAAM,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,MAAM,CAAC;AACjD,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,eAAe,GAAG,aAAa,CAAC;AACpC;AACA,IAAI,cAAc,GAAG,UAAU,SAAS,EAAE,SAAS,EAAE;AACrD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;AACA,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,IAAI,SAAS,KAAK,EAAE,IAAI,SAAS,GAAG,GAAG,CAAC;AACxE,IAAI,KAAK,CAAC,WAAW,GAAG,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,SAAS,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;AAC3E;AACA,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AAChC,CAAC,CAAC;AACF;AACA,cAAc,CAAC,SAAS,GAAG;AAC3B,IAAI,YAAY,EAAE,UAAU,SAAS,EAAE;AACvC,QAAQ,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AACnC,KAAK;AACL;AACA,IAAI,MAAM,EAAE,UAAU,WAAW,EAAE;AACnC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB;AACA,QAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AAChC;AACA;AACA,QAAQ,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACzD;AACA;AACA,QAAQ,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3F;AACA;AACA,QAAQ,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACjE;AACA,QAAQ,IAAI,MAAM,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC;AACpD;AACA,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;AAClE,YAAY,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACxE;AACA;AACA,YAAY,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AAC1C,gBAAgB,MAAM,GAAG,OAAO,CAAC;AACjC;AACA,gBAAgB,SAAS,GAAG,IAAI,CAAC;AACjC,aAAa,MAAM;AACnB,gBAAgB,IAAI,CAAC,SAAS,EAAE;AAChC,oBAAoB,MAAM,GAAG,OAAO,CAAC;AACrC,iBAAiB;AACjB;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,QAAQ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAC7C;AACA,QAAQ,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;AAC3D;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,gBAAgB,GAAG,cAAc,CAAC;AACtC;AACA,IAAI,kBAAkB,GAAG;AACzB,IAAI,MAAM,EAAE;AACZ,QAAQ,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAQ,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAQ,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAQ,QAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,QAAQ,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,QAAQ,OAAO,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,KAAK;AACL;AACA,IAAI,EAAE,EAAE;AACR;AACA,QAAQ,IAAI,EAAE,oBAAoB;AAClC;AACA;AACA,QAAQ,IAAI,EAAE,gBAAgB;AAC9B;AACA;AACA,QAAQ,QAAQ,EAAE,wCAAwC;AAC1D;AACA;AACA,QAAQ,MAAM,EAAE,mCAAmC;AACnD;AACA;AACA,QAAQ,UAAU,EAAE,uDAAuD;AAC3E;AACA;AACA,QAAQ,OAAO,EAAE,2BAA2B;AAC5C;AACA;AACA,QAAQ,YAAY,EAAE,kBAAkB;AACxC;AACA;AACA,QAAQ,KAAK,EAAE,wBAAwB;AACvC;AACA;AACA,QAAQ,GAAG,EAAE,wBAAwB;AACrC;AACA;AACA,QAAQ,OAAO,EAAE,4CAA4C;AAC7D;AACA;AACA,QAAQ,GAAG,EAAE,mBAAmB;AAChC;AACA;AACA,QAAQ,IAAI,EAAE,YAAY;AAC1B;AACA;AACA,QAAQ,QAAQ,EAAE,kBAAkB;AACpC,KAAK;AACL;AACA,IAAI,eAAe,EAAE,UAAU,KAAK,EAAE;AACtC,MAAM,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,OAAO,EAAE;AACxD,QAAQ,OAAO,IAAI,GAAG,OAAO,CAAC;AAC9B,OAAO,EAAE,CAAC,CAAC,CAAC;AACZ;AACA,MAAM,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;AACtC,KAAK;AACL;AACA,IAAI,OAAO,EAAE,UAAU,KAAK,EAAE,UAAU,EAAE;AAC1C,QAAQ,IAAI,MAAM,GAAG,kBAAkB,CAAC,MAAM;AAC9C,YAAY,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA,QAAQ,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;AAClC;AACA,QAAQ,KAAK,IAAI,GAAG,IAAI,EAAE,EAAE;AAC5B,YAAY,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACrC,gBAAgB,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChD,gBAAgB,OAAO;AACvB,oBAAoB,IAAI,EAAE,GAAG;AAC7B,oBAAoB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,aAAa;AAC5F,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS;AACT;AACA,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO;AACtF,SAAS,CAAC;AACV,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,oBAAoB,GAAG,kBAAkB,CAAC;AAC9C;AACA,IAAI,IAAI,GAAG;AACX,IAAI,IAAI,EAAE,YAAY;AACtB,KAAK;AACL;AACA,IAAI,KAAK,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE;AAChC,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACrC,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE;AAC9D;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,YAAY,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,GAAG,SAAS,GAAG,EAAE,CAAC;AACjF,SAAS;AACT;AACA;AACA,QAAQ,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAClC,QAAQ,UAAU,CAAC,OAAO,CAAC,UAAU,OAAO,EAAE;AAC9C,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE;AAC1D,gBAAgB,gBAAgB,GAAG,OAAO,CAAC;AAC3C,aAAa;AACb,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,OAAO,gBAAgB,CAAC;AAChC,KAAK;AACL;AACA,IAAI,yBAAyB,EAAE,UAAU,SAAS,EAAE;AACpD,QAAQ,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;AACpF,KAAK;AACL;AACA,IAAI,qBAAqB,EAAE,UAAU,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;AACzF;AACA;AACA,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE;AACvC,UAAU,OAAO,QAAQ,CAAC,MAAM,CAAC;AACjC,OAAO;AACP;AACA,MAAM,OAAO,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAClG,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,UAAU,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;AACrF,QAAQ,IAAI,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC;AACnD;AACA,QAAQ,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9F,QAAQ,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAC9F,QAAQ,YAAY,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;AAC/D;AACA,QAAQ,OAAO,CAAC,YAAY,KAAK,CAAC,KAAK,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAClF,KAAK;AACL;AACA,IAAI,eAAe,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE;AAC7D,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB;AACA;AACA,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AACrC,YAAY,IAAI,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC,yBAAyB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AAC1F;AACA,YAAY,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAClD,SAAS;AACT;AACA;AACA,QAAQ,UAAU,CAAC,OAAO,CAAC,UAAU,OAAO,EAAE;AAC9C,YAAY,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE;AACxD,gBAAgB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AACnF,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL;AACA,IAAI,OAAO,EAAE,UAAU,GAAG,EAAE,MAAM,EAAE;AACpC,QAAQ,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpC,KAAK;AACL;AACA,IAAI,YAAY,EAAE,UAAU,MAAM,EAAE;AACpC,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,QAAQ,EAAE,OAAO,EAAE;AAC1D,YAAY,OAAO,QAAQ,GAAG,OAAO,CAAC;AACtC,SAAS,EAAE,CAAC,CAAC,CAAC;AACd,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,sBAAsB,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE;AACvJ;AACA,QAAQ,IAAI,YAAY,KAAK,CAAC,EAAE;AAChC,UAAU,OAAO,KAAK,CAAC;AACvB,SAAS;AACT;AACA;AACA,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,EAAE,EAAE;AAC9C,UAAU,OAAO,EAAE,CAAC;AACpB,SAAS;AACT;AACA,QAAQ,IAAI,gBAAgB,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE;AAC5D,YAAY,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAC1F,YAAY,OAAO,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;AACzK,SAAS;AACT;AACA;AACA,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,EAAE;AACzE;AACA,YAAY,IAAI,iBAAiB,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,OAAO,KAAK,CAAC;AACxE,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,UAAU,EAAE;AAC7E;AACA,YAAY,IAAI,iBAAiB,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,OAAO,KAAK,CAAC;AACxE,YAAY,OAAO,EAAE,CAAC;AACtB,SAAS;AACT;AACA,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChF;AACA;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,MAAM,IAAI,CAAC,UAAU,EAAE;AACpE,YAAY,OAAO,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACjD,SAAS,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,MAAM,IAAI,UAAU,EAAE;AACxE,YAAY,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;AACzD,SAAS;AACT;AACA;AACA,QAAQ,OAAO,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACtF,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,UAAU,IAAI,EAAE,OAAO,EAAE;AAChD,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB;AACA,QAAQ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;AAC7D,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;AAC7C,gBAAgB,OAAO,CAAC,CAAC,CAAC;AAC1B,aAAa;AACb,SAAS;AACT;AACA,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,UAAU,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE;AACxG,QAAQ,IAAI,MAAM,GAAG,EAAE;AACvB,YAAY,kBAAkB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;AACtD,YAAY,gBAAgB,GAAG,EAAE,CAAC;AAClC;AACA;AACA,QAAQ,IAAI,YAAY,KAAK,CAAC,EAAE;AAChC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,EAAE,KAAK,EAAE;AAChD,YAAY,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAgB,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;AAChD,oBAAoB,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC/C;AACA,gBAAgB,IAAI,kBAAkB,EAAE;AACxC,oBAAoB,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC;AAC/G,iBAAiB,MAAM;AACvB,oBAAoB,gBAAgB,GAAG,SAAS,CAAC;AACjD,iBAAiB;AACjB;AACA,gBAAgB,IAAI,iBAAiB,EAAE;AACvC,oBAAoB,IAAI,KAAK,GAAG,CAAC,EAAE;AACnC,wBAAwB,MAAM,IAAI,gBAAgB,CAAC;AACnD,qBAAqB;AACrB;AACA,oBAAoB,MAAM,IAAI,GAAG,CAAC;AAClC,iBAAiB,MAAM;AACvB,oBAAoB,MAAM,IAAI,GAAG,CAAC;AAClC;AACA,oBAAoB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,KAAK,GAAG,YAAY,GAAG,CAAC,EAAE;AAC3E,wBAAwB,MAAM,IAAI,gBAAgB,CAAC;AACnD,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA,gBAAgB,KAAK,GAAG,IAAI,CAAC;AAC7B,aAAa;AACb,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA;AACA;AACA,IAAI,eAAe,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE;AAClE,QAAQ,IAAI,CAAC,EAAE,EAAE;AACjB,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,GAAG,GAAG,EAAE,CAAC,KAAK;AAC1B,YAAY,QAAQ,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,EAAE,CAAC,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;AACjG,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC;AACA;AACA,QAAQ,UAAU,CAAC,YAAY;AAC/B,YAAY,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC3C,SAAS,EAAE,CAAC,CAAC,CAAC;AACd,KAAK;AACL;AACA;AACA,IAAI,kBAAkB,EAAE,SAAS,KAAK,EAAE;AACxC,MAAM,IAAI;AACV,QAAQ,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;AAC/E,QAAQ,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;AAC5D,OAAO,CAAC,OAAO,EAAE,EAAE;AACnB;AACA,OAAO;AACP;AACA,MAAM,OAAO,KAAK,CAAC;AACnB,KAAK;AACL;AACA,IAAI,YAAY,EAAE,UAAU,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE;AACpD,QAAQ,IAAI,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;AACpD,YAAY,OAAO;AACnB,SAAS;AACT;AACA;AACA,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE;AACzD,UAAU,OAAO;AACjB,SAAS;AACT;AACA,QAAQ,IAAI,OAAO,CAAC,eAAe,EAAE;AACrC,YAAY,IAAI,KAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;AAClD;AACA,YAAY,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC9C,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;AAC3B,SAAS,MAAM;AACf,YAAY,IAAI;AAChB,gBAAgB,OAAO,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC9D,aAAa,CAAC,OAAO,CAAC,EAAE;AACxB;AACA,gBAAgB,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;AAClF,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,SAAS,MAAM,EAAE;AACvC,QAAQ,IAAI,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACjD,QAAQ,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,EAAE;AACvD,YAAY,OAAO,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACnE,SAAS;AACT,QAAQ,OAAO,aAAa,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,SAAS,EAAE,YAAY;AAC3B,QAAQ,OAAO,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACjE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,yBAAyB,EAAE,UAAU,cAAc,EAAE,iBAAiB,EAAE;AAC5E,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,iBAAiB,EAAE;AACxE,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT;AACA,QAAQ,OAAO,iBAAiB,KAAK,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjE,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,iBAAiB,GAAG;AACxB;AACA;AACA,IAAI,MAAM,EAAE,UAAU,MAAM,EAAE,IAAI,EAAE;AACpC,QAAQ,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;AAC9B,QAAQ,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAC1B;AACA;AACA,QAAQ,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C,QAAQ,MAAM,CAAC,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAClE,QAAQ,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;AACnC,QAAQ,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,KAAK,YAAY,EAAE,CAAC,CAAC;AAC1F;AACA;AACA,QAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,QAAQ,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;AAC9D,QAAQ,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;AACnC;AACA;AACA,QAAQ,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,QAAQ,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAQ,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;AACpD,QAAQ,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;AAClC;AACA;AACA,QAAQ,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,QAAQ,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjE,QAAQ,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AAC5C,QAAQ,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;AAC5C,QAAQ,MAAM,CAAC,aAAa,GAAG,EAAE,CAAC;AAClC;AACA;AACA,QAAQ,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAQ,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;AACjG,QAAQ,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;AAClG,QAAQ,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;AACnE,QAAQ,MAAM,CAAC,0BAA0B,GAAG,IAAI,CAAC,0BAA0B,IAAI,UAAU,CAAC;AAC1F,QAAQ,MAAM,CAAC,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;AAChE,QAAQ,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC;AACtE,QAAQ,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;AAC1D,QAAQ,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C;AACA;AACA,QAAQ,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;AACxD;AACA,QAAQ,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AACpF;AACA,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5C,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AAC5C;AACA,QAAQ,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACtF,QAAQ,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC5D,QAAQ,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACnD,QAAQ,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;AAC9D,QAAQ,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;AACpD;AACA,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;AACtH;AACA,QAAQ,MAAM,CAAC,SAAS;AACxB,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS;AACtE,iBAAiB,IAAI,CAAC,IAAI,GAAG,GAAG;AAChC,qBAAqB,IAAI,CAAC,IAAI,GAAG,GAAG;AACpC,yBAAyB,IAAI,CAAC,OAAO,GAAG,GAAG;AAC3C,6BAA6B,IAAI,CAAC,KAAK,GAAG,GAAG;AAC7C,gCAAgC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,QAAQ,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;AACzD,QAAQ,MAAM,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;AAC5D,QAAQ,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;AAClD;AACA,QAAQ,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1C,QAAQ,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AACnD;AACA,QAAQ,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,IAAI,cAAc,GAAG,MAAM,CAAC;AACvG,QAAQ,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;AAChE;AACA,QAAQ,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;AAC7B;AACA,QAAQ,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AACjC,QAAQ,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AAC3B;AACA,QAAQ,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,YAAY,EAAE,CAAC,CAAC;AACxE;AACA,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL,CAAC,CAAC;AACF;AACA,IAAI,mBAAmB,GAAG,iBAAiB,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG,UAAU,OAAO,EAAE,IAAI,EAAE;AACtC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB,IAAI,IAAI,mBAAmB,GAAG,KAAK,CAAC;AACpC;AACA,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACrC,QAAQ,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACxD,QAAQ,mBAAmB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5E,KAAK,MAAM;AACX,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvE,QAAQ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACnC,QAAQ,mBAAmB,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AACjD,OAAO,MAAM;AACb,QAAQ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAChC,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACxB,QAAQ,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;AAChE,KAAK;AACL;AACA,IAAI,IAAI,mBAAmB,EAAE;AAC7B,MAAM,IAAI;AACV;AACA,QAAQ,OAAO,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;AAC3G,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB;AACA,OAAO;AACP,KAAK;AACL;AACA,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACzC;AACA,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACjE;AACA,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC;AACF;AACA,MAAM,CAAC,SAAS,GAAG;AACnB,IAAI,IAAI,EAAE,YAAY;AACtB,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;AAChI,YAAY,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzC;AACA,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D;AACA,QAAQ,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AAClD,QAAQ,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;AAClC,QAAQ,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;AAC9B;AACA,QAAQ,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAQ,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9D,QAAQ,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1D,QAAQ,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtD,QAAQ,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD;AACA,QAAQ,KAAK,CAAC,mBAAmB,EAAE,CAAC;AACpC;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACxE,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC3E,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AACvE,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACnE,QAAQ,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;AACrE;AACA;AACA,QAAQ,KAAK,CAAC,kBAAkB,EAAE,CAAC;AACnC,QAAQ,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAClC,QAAQ,KAAK,CAAC,iBAAiB,EAAE,CAAC;AAClC,QAAQ,KAAK,CAAC,oBAAoB,EAAE,CAAC;AACrC;AACA;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;AACrE,YAAY,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzC,SAAS;AACT,KAAK;AACL;AACA,IAAI,mBAAmB,EAAE,YAAY;AACrC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD,QAAQ,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO;AACzC;AACA,QAAQ,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC3D,QAAQ,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;AAC7E;AACA,QAAQ,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC;AAChD,QAAQ,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,QAAQ,CAAC;AAChD;AACA,QAAQ,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;AACvC,QAAQ,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;AAC9B,KAAK;AACL;AACA,IAAI,oBAAoB,EAAE,YAAY;AACtC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;AAC1B,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,GAAG,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,gBAAgB;AAC1D,YAAY,GAAG,CAAC,kBAAkB;AAClC,YAAY,GAAG,CAAC,mBAAmB;AACnC,YAAY,GAAG,CAAC,mBAAmB;AACnC,YAAY,GAAG,CAAC,0BAA0B;AAC1C,YAAY,GAAG,CAAC,mBAAmB;AACnC,YAAY,GAAG,CAAC,kBAAkB;AAClC,YAAY,GAAG,CAAC,MAAM;AACtB,YAAY,GAAG,CAAC,gBAAgB;AAChC,YAAY,GAAG,CAAC,UAAU;AAC1B,YAAY,GAAG,CAAC,SAAS;AACzB,SAAS,CAAC;AACV,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,WAAW;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,GAAG,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACtF,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AACnD,QAAQ,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAC7C,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,YAAY;AACnC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AACvB,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,GAAG,CAAC,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;AAChG,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AACnD,QAAQ,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAC7C,QAAQ,GAAG,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,KAAK;AACL;AACA,IAAI,kBAAkB,EAAE,YAAY;AACpC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AACxB,YAAY,OAAO;AACnB,SAAS;AACT;AACA;AACA;AACA,QAAQ,IAAI;AACZ,YAAY,GAAG,CAAC,cAAc,GAAG,IAAI,MAAM,CAAC,cAAc;AAC1D,gBAAgB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,CAAC;AAC3E,gBAAgB,GAAG,CAAC,SAAS;AAC7B,aAAa,CAAC;AACd,SAAS,CAAC,OAAO,EAAE,EAAE;AACrB,YAAY,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;AAChG,SAAS;AACT,KAAK;AACL;AACA,IAAI,SAAS,EAAE,UAAU,KAAK,EAAE;AAChC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;AACpD;AACA,QAAQ,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACnD,QAAQ,KAAK,CAAC,UAAU,GAAG,QAAQ,KAAK,CAAC,CAAC;AAC1C,KAAK;AACL;AACA,IAAI,QAAQ,EAAE,UAAU,KAAK,EAAE;AAC/B,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU;AAChD,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B;AACA,QAAQ,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,KAAK,uBAAuB,CAAC;AAC3F;AACA,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACvG;AACA,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,aAAa,EAAE;AAC/C,YAAY,GAAG,CAAC,sBAAsB,GAAG,aAAa,CAAC;AACvD,SAAS,MAAM;AACf,YAAY,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC;AAC/C,SAAS;AACT;AACA,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACzC,KAAK;AACL;AACA,IAAI,OAAO,EAAE,YAAY;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC,QAAQ,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AACnD;AACA,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;AACzE,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrC,SAAS;AACT;AACA,QAAQ,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAC9F,KAAK;AACL;AACA,IAAI,KAAK,EAAE,UAAU,CAAC,EAAE;AACxB,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;AACxE,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAClC,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzB,KAAK;AACL;AACA,IAAI,MAAM,EAAE,UAAU,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO;AACxE,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAClC,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,UAAU,CAAC,EAAE;AACpC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU;AAClC,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI;AAC9B,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK;AAC5C,YAAY,UAAU,GAAG,EAAE,CAAC;AAC5B;AACA,QAAQ,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAChC,YAAY,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACzF,SAAS,MAAM;AACf,YAAY,UAAU,GAAG,UAAU,CAAC;AACpC,SAAS;AACT;AACA,QAAQ,IAAI;AACZ,YAAY,IAAI,CAAC,CAAC,aAAa,EAAE;AACjC,gBAAgB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5D,aAAa,MAAM;AACnB,gBAAgB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjE,aAAa;AACb;AACA,YAAY,CAAC,CAAC,cAAc,EAAE,CAAC;AAC/B,SAAS,CAAC,OAAO,EAAE,EAAE;AACrB;AACA,SAAS;AACT,KAAK;AACL;AACA,IAAI,OAAO,EAAE,UAAU,KAAK,EAAE;AAC9B,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU;AAChD,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7F,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,sBAAsB,IAAI,CAAC,kBAAkB,EAAE;AAC/E,YAAY,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC1F,SAAS;AACT;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE;AACvB,YAAY,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;AACxE,gBAAgB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACpG,aAAa,MAAM;AACnB,gBAAgB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,aAAa;AACb,YAAY,KAAK,CAAC,gBAAgB,EAAE,CAAC;AACrC;AACA,YAAY,OAAO;AACnB,SAAS;AACT;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;AACzB;AACA;AACA,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3E,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;AAChC,aAAa,MAAM;AACnB,gBAAgB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,aAAa;AACb,YAAY,KAAK,CAAC,gBAAgB,EAAE,CAAC;AACrC;AACA,YAAY,OAAO;AACnB,SAAS;AACT;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;AACtB,YAAY,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9D,SAAS;AACT;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE;AACtB,YAAY,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9D,SAAS;AACT;AACA;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAC3E;AACA;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACzL;AACA;AACA,QAAQ,KAAK,GAAG,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC;AACtE;AACA;AACA,QAAQ,KAAK,GAAG,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;AAC5D,QAAQ,KAAK,GAAG,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC;AAC5D;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE;AACxB,YAAY,IAAI,GAAG,CAAC,UAAU,EAAE;AAChC,gBAAgB,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;AAC3C,aAAa,MAAM;AACnB,gBAAgB,KAAK,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;AAC3C,aAAa;AACb;AACA;AACA;AACA,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE;AACxC,gBAAgB,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;AACnC,gBAAgB,KAAK,CAAC,gBAAgB,EAAE,CAAC;AACzC;AACA,gBAAgB,OAAO;AACvB,aAAa;AACb,SAAS;AACT;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE;AAC5B,YAAY,KAAK,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACtD,SAAS;AACT;AACA;AACA,QAAQ,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;AACnD;AACA;AACA,QAAQ,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB;AAC3C,YAAY,KAAK;AACjB,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY;AACxC,YAAY,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB;AAChE,SAAS,CAAC;AACV;AACA,QAAQ,KAAK,CAAC,gBAAgB,EAAE,CAAC;AACjC,KAAK;AACL;AACA,IAAI,4BAA4B,EAAE,UAAU,KAAK,EAAE;AACnD,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU;AAChD,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI;AAC9B,YAAY,cAAc,CAAC;AAC3B;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;AACpE,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,cAAc,GAAG,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAC5F;AACA,QAAQ,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;AAC3C,QAAQ,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;AAC7C,QAAQ,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtD;AACA;AACA,QAAQ,IAAI,GAAG,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,EAAE;AACxD,YAAY,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC;AACrD;AACA,YAAY,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;AACxE,SAAS;AACT,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,YAAY;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI;AAC9B,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC;AACA,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;AAChD,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3C,QAAQ,IAAI,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;AAClC;AACA,QAAQ,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACvG;AACA;AACA;AACA,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE;AAC7B,YAAY,MAAM,CAAC,UAAU,CAAC,YAAY;AAC1C,gBAAgB,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC/C,gBAAgB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9E,gBAAgB,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAC3C,aAAa,EAAE,CAAC,CAAC,CAAC;AAClB;AACA,YAAY,OAAO;AACnB,SAAS;AACT;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;AACvC,QAAQ,IAAI,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;AACrF;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACtE,QAAQ,KAAK,CAAC,kBAAkB,EAAE,CAAC;AACnC,KAAK;AACL;AACA,IAAI,kBAAkB,EAAE,YAAY;AACpC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC;AACA,QAAQ,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE;AACvC,YAAY,MAAM,EAAE;AACpB,gBAAgB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;AACxC,gBAAgB,KAAK,EAAE,GAAG,CAAC,MAAM;AACjC,gBAAgB,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE;AAC7C,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,kBAAkB,EAAE,UAAU,eAAe,EAAE;AACnD,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,GAAG,CAAC,eAAe,GAAG,eAAe,CAAC;AAC9C,QAAQ,KAAK,CAAC,kBAAkB,EAAE,CAAC;AACnC,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzB,KAAK;AACL;AACA,IAAI,WAAW,EAAE,UAAU,KAAK,EAAE;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACjD;AACA,QAAQ,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;AAC9E;AACA,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;AACzB,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC/D,SAAS;AACT;AACA,QAAQ,GAAG,CAAC,sBAAsB,GAAG,KAAK,CAAC;AAC3C;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACpC,QAAQ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,WAAW,EAAE,YAAY;AAC7B,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU;AAClC,YAAY,IAAI,GAAG,MAAM,CAAC,IAAI;AAC9B,YAAY,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;AAC3C;AACA,QAAQ,IAAI,GAAG,CAAC,kBAAkB,EAAE;AACpC,YAAY,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACnM,SAAS;AACT;AACA,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE;AACzB,YAAY,QAAQ,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAClE,SAAS,MAAM;AACf,YAAY,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AACrF,SAAS;AACT;AACA,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,YAAY;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC;AACA,QAAQ,OAAO,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC;AACpE,KAAK;AACL;AACA,IAAI,gBAAgB,EAAE,YAAY;AAClC,QAAQ,IAAI,KAAK,GAAG,IAAI;AACxB,YAAY,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;AACnC;AACA,QAAQ,OAAO,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC;AACpE,KAAK;AACL;AACA,IAAI,iBAAiB,EAAE,YAAY;AACnC,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;AAClC,KAAK;AACL;AACA,IAAI,OAAO,EAAE,YAAY;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAC3E,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC9E,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;AAC1E,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACtE,QAAQ,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;AACxE,KAAK;AACL;AACA,IAAI,QAAQ,EAAE,YAAY;AAC1B,QAAQ,OAAO,iBAAiB,CAAC;AACjC,KAAK;AACL,CAAC,CAAC;AACF;AACA,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC;AACvC,MAAM,CAAC,aAAa,GAAG,eAAe,CAAC;AACvC,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC;AACzC,MAAM,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;AACjD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;AACrB,MAAM,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;AAC/C;AACA;AACA,CAAC,CAAC,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,IAAI,cAAc,GAAG,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC;AACtG;AACA;AACA,IAAI,QAAQ,GAAG,MAAM;;ACnhDrB,MAAM,WAAW,GAAG,sgiBAAsgiB,CAAC;AAC3hiB,uBAAe,WAAW;;ACO1B,IAAI,YAAY,GAAG,CAAC,CAAC;MAuBR,QAAQ;;;;;;;;;QACF,QAAG,GAAG,aAAa,YAAY,EAAE,EAAE,CAAC;+BAU1B,KAAK;8BAEN,KAAK;iCAEF,KAAK;+BAEP,KAAK;;8BASkE,UAAU;0BAKvF,KAAK;;yBAUN,KAAK;8BAKA,KAAK;wBAKX,KAAK;uBAKN,KAAK;;;yBAeH,KAAK;;qBAUT,EAAE;2BAKI,KAAK;;;;;;;;;wBA6CR,KAAK;wBAKL,KAAK;qBAKR,KAAK;oBAKK,MAAM;;;2BAsBQ,CAAC;;;;IAtKzC,IAAY,EAAE;QACZ,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC;KACpC;IAiMD,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACrD;IAED,mBAAmB;QACjB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;KAC/E;;;;;;;;IAUD,MAAM,OAAO,CAAC,OAAsB;;;;QAIlC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACxG,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;KACvB;;;;;IAOD,MAAM,MAAM;QACV,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;;;;IAMD,MAAM,KAAK;QACT,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;;;;;;IAQD,MAAM,IAAI,CAAC,OAAsB;QAC/B,IAAIA,QAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACjC;IAGD,eAAe,CAAC,QAAwC,EAAE,SAAmB,EAAE,SAAkB,IAAI;QACnG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;kBACrC,QAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;kBAC/E,QAAQ,IAAI,SAAS,CAAC;YAC1B,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC1D;SACF;KACF;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QACnF,QACE,4DACE,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI;gBACnB,kBAAkB,EAAE,IAAI,CAAC,UAAU;aACpC,IAED,4DAAK,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAC9D,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,MAClC,8DAAO,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAC,OAAO,IACnC,6DAAM,KAAK,EAAC,eAAe,IACxB,CAAC,IAAI,CAAC,eAAe,IAAI,6DAAM,IAAI,EAAC,OAAO,GAAQ,KAAK,IAAI,CAAC,KAAK,EACnE,4DAAK,KAAK,EAAC,gBAAgB,IACxB,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAC3E,6DAAM,KAAK,EAAC,gBAAgB,iBAAa,MAAM,SAC3CC,eAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MACrB,CACR,EACA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC,KAC3D,6DAAM,KAAK,EAAC,gBAAgB,iBAAa,MAAM,SAC3CA,eAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,MACrB,CACR,EACA,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,MACxC,4DAAK,KAAK,EAAC,uBAAuB,iBAAa,MAAM,IAClD,IAAI,CAAC,iBAAiB,IACrB,YAAM,IAAI,EAAC,SAAS,GAAQ,KAE5B,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAC/C,CACG,CACP,CACG,CACD,CACD,CACT,CACG,EACN,4DAAK,KAAK,EAAC,iBAAiB,IAC1B,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,4DACE,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI,CAAC,KAAK;gBACzB,gBAAgB,EAAE,IAAI,CAAC,QAAQ;gBAC/B,gBAAgB,EAAE,IAAI,CAAC,QAAQ;gBAC/B,eAAe,EAAE,IAAI,CAAC,OAAO;aAC9B,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAEhC,IAAI,CAAC,UAAU,KACd,6DAAM,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,IACpC,IAAI,CAAC,UAAU,CACX,CACR,EACA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAC3B,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,GAAa,CACnG,EACD,4DAAK,KAAK,EAAC,qBAAqB,IAC9B,2EACa,IAAI,CAAC,MAAM,KAClB,IAAI,CAAC,gBAAgB,EACzB,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK,GAAG,EAAsB,CAAC,EAChD,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAE;gBACL,eAAe,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;gBACnF,qBAAqB,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;aAC/F,EACD,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAChB,IAAI,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,sBAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,SAAS,GACvD,EACR,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAC/D,mEACE,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,kBAAkB,eACb,MAAM,EAChB,IAAI,EAAC,GAAG,EACR,OAAO,EAAC,MAAM,gBACFA,eAAI,CAAC,CAAC,CAAC,aAAa,CAAC,EACjC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mCAElB,CACf,EACA,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KACpE,mEACE,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAE,IAAI,CAAC,eAAe,GAAG,0BAA0B,GAAG,0BAA0B,eAC1E,MAAM,EAChB,IAAI,EAAC,GAAG,EACR,OAAO,EAAC,MAAM,gBACFA,eAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,oBAAoB,GAAG,oBAAoB,CAAC,EACtF,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAC7B,CACf,CACG,EACL,IAAI,CAAC,OAAO,IAAI,oEAAa,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,cAAc,GAAe,EACzE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAC3C,iEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,GAAa,CACnG,EACA,IAAI,CAAC,OAAO,KACX,iEAAU,IAAI,EAAC,kBAAkB,EAAC,KAAK,EAAC,6BAA6B,EAAC,IAAI,EAAC,GAAG,GAAY,CAC3F,EACA,IAAI,CAAC,UAAU,KACd,6DAAM,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,QAAQ,IACpC,IAAI,CAAC,UAAU,CACX,CACR,CACG,EACN,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,EACL,IAAI,CAAC,OAAO,KACX,EAAC,WAAW,qDACV,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,WAAW,EAAE,IAAI,CAAC,cAAc,IAAI,YAAM,IAAI,EAAC,MAAM,GAAQ,EAC7D,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACH,CACG,CACF,EACN;KACH;IAED,IAAY,OAAO;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC;KAC7D;IAED,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;KAC5E;IAEO,OAAO;QACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAEO,OAAO,CAAC,KAAiB;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAEO,MAAM,CAAC,KAAiB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACnC,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAEO,gBAAgB;QACtB,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;KAC9C;IAEO,UAAU;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;KAClC;IAGO,mBAAmB;QACzB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChG,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;KACd;IAEO,mBAAmB;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC;QACtG,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;KACF;IAEO,gBAAgB,CAAC,IAAiB;QACxC,IAAI,IAAI,YAAY,gBAAgB,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,IAAI,EAAE,WAAW,EAAE;YAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChD;QACD,OAAO,SAAS,CAAC;KAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["Cleave","i18n"],"sources":["../node_modules/.pnpm/cleave.js@1.6.0/node_modules/cleave.js/dist/cleave-esm.js","src/components/cat-input/cat-input.scss?tag=cat-input&encapsulation=shadow","src/components/cat-input/cat-input.tsx"],"sourcesContent":["var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for <input required />\n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","@use 'variables' as *;\n@use 'mixins' as *;\n@use 'src/components/cat-form-hint/cat-form-hint';\n@use 'utils/color';\n@use '_snippets/form-label';\n\n:host {\n display: flex;\n @include cat-body('m', null);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.input-field,\n.input-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n flex: 1 1 auto;\n}\n\n.input-field.input-horizontal {\n flex-direction: row;\n gap: 1rem;\n}\n\n.input-wrapper {\n flex: 1 1 auto;\n display: flex;\n align-items: stretch;\n gap: 0.75rem;\n padding: 0 0.75rem;\n height: form-label.$cat-input-height;\n overflow: hidden;\n background: cat-token('color.ui.background.input');\n border-radius: cat-border-radius('m');\n box-shadow: inset 0 0 0 1px rgb(var(--border-color));\n transition: box-shadow cat-token('time.transition.s') linear;\n --border-color: #{cat-token('color.ui.border.dark', $wrap: false)};\n\n &.input-round {\n border-radius: 10rem;\n }\n\n &.input-readonly {\n pointer-events: none;\n }\n\n &.input-disabled {\n background: cat-token('color.ui.background.muted');\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &:not(.input-disabled):hover {\n box-shadow:\n inset 0 0 0 1px rgb(var(--border-color)),\n 0 0 0 1px rgb(var(--border-color));\n }\n\n &:focus-within {\n outline: 2px solid cat-token('color.ui.border.focus');\n outline-offset: -1px;\n\n &:has(.clearable:focus) {\n outline: none;\n }\n }\n\n &.input-invalid {\n --border-color: #{cat-token('color.theme.danger.bg', 0.2, $wrap: false)};\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n &:has(input:-webkit-autofill) {\n &,\n &:hover,\n &:focus {\n background-color: cat-token('color.ui.background.inputAutofill');\n }\n }\n /* stylelint-enable property-no-vendor-prefix */\n}\n\n.text-prefix,\n.text-suffix {\n display: inline-flex;\n align-items: center;\n @include cat-select(none);\n color: cat-token('color.ui.font.muted');\n}\n\n.text-prefix {\n border-right: 1px solid cat-token('color.ui.border.dark');\n padding-right: 0.75rem;\n}\n\n.text-suffix {\n border-left: 1px solid cat-token('color.ui.border.dark');\n padding-left: 0.75rem;\n}\n\n.icon-loading,\n.icon-prefix,\n.icon-suffix {\n align-self: center;\n}\n\n.input-outer-wrapper {\n display: flex;\n}\n\n.input-inner-wrapper {\n display: flex;\n align-items: center;\n position: relative;\n flex: 1 1 auto;\n}\n\ninput {\n font: inherit;\n margin: 0;\n padding: 0;\n width: 100%;\n min-width: 0;\n border: none;\n outline: none;\n background: none;\n @include cat-ellipsis;\n\n .input-disabled & {\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &.has-clearable,\n &.has-toggle-password {\n padding-right: 1.5rem;\n }\n\n &.has-clearable.has-toggle-password {\n padding-right: 3.5rem;\n }\n\n &::placeholder {\n color: cat-token('color.ui.font.muted');\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n &:-webkit-autofill {\n &,\n &:hover,\n &:focus {\n -webkit-box-shadow: 0 0 0 9999px cat-token('color.ui.background.inputAutofill') inset;\n }\n }\n /* stylelint-enable property-no-vendor-prefix */\n}\n\n.clearable {\n position: absolute;\n top: calc(50% - 1rem);\n right: -0.5rem;\n}\n\n.toggle-password {\n position: absolute;\n top: calc(50% - 1rem);\n right: -0.5rem;\n\n .has-clearable ~ & {\n right: 1.5rem;\n }\n}\n\n// ----- date- & timepicker\n\n:host(.cat-date-input),\n:host(.cat-time-input) {\n .input-wrapper {\n z-index: 1;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport Cleave from 'cleave.js';\nimport type { CleaveOptions } from 'cleave.js/options';\nimport { coerceBoolean, coerceNumber } from '../../utils/coerce';\nimport { CatFormHint, ErrorMap } from '../cat-form-hint/cat-form-hint';\nimport { catI18nRegistry as i18n } from '../cat-i18n/cat-i18n-registry';\nimport { InputType } from './input-type';\n\nlet nextUniqueId = 0;\n\n/**\n * Inputs are used to allow users to provide text input when the expected input\n * is short. As well as plain text, Input supports various types of text,\n * including passwords and numbers.\n *\n * @slot hint - Optional hint element to be displayed with the input.\n * @slot label - The slotted label. If both the label property and the label slot are present, only the label slot will be displayed.\n * @slot counter - Custom counter element to be displayed in the top right corner of the label.\n * @part label - The native label element.\n * @part input - The native input element.\n * @part prefix - The text prefix.\n * @part suffix - The text suffix.\n */\n@Component({\n tag: 'cat-input',\n styleUrl: 'cat-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true\n }\n})\nexport class CatInput {\n private readonly _id = `cat-input-${nextUniqueId++}`;\n private get id() {\n return this.identifier || this._id;\n }\n\n private input!: HTMLInputElement;\n private errorMapSrc?: ErrorMap | true;\n\n @Element() hostElement!: HTMLElement;\n\n @State() hasSlottedLabel = false;\n\n @State() hasSlottedHint = false;\n\n @State() hasSlottedCounter = false;\n\n @State() isPasswordShown = false;\n\n @State() errorMap?: ErrorMap | true;\n\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * Whether the label need a marker to shown if the input is required or optional.\n */\n @Prop() requiredMarker?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!' = 'optional';\n\n /**\n * Whether the label is on top or left.\n */\n @Prop() horizontal = false;\n\n /**\n * Hint for form autofill feature.\n */\n @Prop() autoComplete?: string;\n\n /**\n * Whether the input should show a clear button.\n */\n @Prop() clearable = false;\n\n /**\n * Whether the input should show a password toggle button for password inputs.\n */\n @Prop() togglePassword = false;\n\n /**\n * Whether the input is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Displays the input in a loading state with a spinner.\n */\n @Prop() loading = false;\n\n /**\n * Optional hint text(s) to be displayed with the input.\n */\n @Prop() hint?: string | string[];\n\n /**\n * The name of an icon to be displayed in the input.\n */\n @Prop() icon?: string;\n\n /**\n * Display the icon on the right.\n */\n @Prop() iconRight = false;\n\n /**\n * A unique identifier for the input.\n */\n @Prop() identifier?: string;\n\n /**\n * The label for the input.\n */\n @Prop() label = '';\n\n /**\n * Visually hide the label, but still show it to assistive technologies like screen readers.\n */\n @Prop() labelHidden = false;\n\n /**\n * A maximum value for numeric values.\n */\n @Prop() max?: number | string;\n\n /**\n * A maximum length (number of characters) for textual values.\n */\n @Prop() maxLength?: number;\n\n /**\n * A minimum value for numeric values.\n */\n @Prop() min?: number | string;\n\n /**\n * A minimum length (number of characters) for textual values.\n */\n @Prop() minLength?: number;\n\n /**\n * The name of the form control. Submitted with the form as part of a name/value pair.\n */\n @Prop() name?: string;\n\n /**\n * The placeholder text to display within the input.\n */\n @Prop() placeholder?: string;\n\n /**\n * A textual prefix to be displayed in the input.\n */\n @Prop() textPrefix?: string;\n\n /**\n * A textual suffix to be displayed in the input.\n */\n @Prop() textSuffix?: string;\n\n /**\n * The value is not editable.\n */\n @Prop() readonly = false;\n\n /**\n * A value is required or must be check for the form to be submittable.\n */\n @Prop() required = false;\n\n /**\n * Use round input edges.\n */\n @Prop() round = false;\n\n /**\n * Type of form control.\n */\n @Prop() type: InputType = 'text';\n\n /**\n * The value of the control.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The validation errors for this input. Will render a hint under the input\n * with the translated error message(s) `error.${key}`. If an object is\n * passed, the keys will be used as error keys and the values translation\n * parameters.\n * If the value is `true`, the input will be marked as invalid without any\n * hints under the input.\n */\n @Prop() errors?: boolean | string[] | ErrorMap;\n\n /**\n * Fine-grained control over when the errors are shown. Can be `false` to\n * never show errors, `true` to show errors on blur, or a number to show\n * errors change with the given delay in milliseconds or immediately on blur.\n */\n @Prop() errorUpdate: boolean | number = 0;\n\n /**\n * Attributes that will be added to the native HTML input element.\n */\n @Prop() nativeAttributes?: { [key: string]: string };\n\n /**\n * A unique identifier for the underlying native element that is used for\n * testing purposes. The attribute is added as `data-test` attribute and acts\n * as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`.\n */\n @Prop() testId?: string;\n\n /**\n * Emitted when the value is changed.\n */\n @Event() catChange!: EventEmitter<string>;\n\n /**\n * Emitted when the input received focus.\n */\n @Event() catFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() catBlur!: EventEmitter<FocusEvent>;\n\n componentWillLoad(): void {\n this.onErrorsChanged(this.errors, undefined, false);\n }\n\n componentWillRender(): void {\n this.internals.setFormValue(this.value ?? null);\n this.hasSlottedLabel = !!this.hostElement.querySelector('[slot=\"label\"]');\n this.hasSlottedHint = !!this.hostElement.querySelector('[slot=\"hint\"]');\n this.hasSlottedCounter = !!this.hostElement.querySelector('[slot=\"counter\"]');\n }\n\n /**\n * Programmatically move focus to the input. Use this method instead of\n * `input.focus()`.\n *\n * @param options An optional object providing options to control aspects of\n * the focusing process.\n */\n @Method()\n async doFocus(options?: FocusOptions): Promise<void> {\n // hack to make datepicker inputs focusable. The datepicker hides the input\n // element and dynamically creates a sibling. We need to find the new input\n // element and focus it instead.\n const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;\n input?.focus(options);\n }\n\n /**\n * Programmatically remove focus from the input. Use this method instead of\n * `input.blur()`.\n */\n @Method()\n async doBlur(): Promise<void> {\n this.input.blur();\n }\n\n /**\n * Clear the input.\n */\n @Method()\n async clear(): Promise<void> {\n this.value = '';\n this.catChange.emit(this.value);\n }\n\n /**\n * Adds a Cleave.js mask to the input.\n *\n * @param options The Cleave.js options.\n */\n @Method()\n async mask(options: CleaveOptions): Promise<void> {\n new Cleave(this.input, options);\n }\n\n @Watch('errors')\n onErrorsChanged(newValue?: boolean | string[] | ErrorMap, _oldValue?: unknown, update: boolean = true) {\n if (!coerceBoolean(this.errorUpdate)) {\n this.errorMap = undefined;\n } else {\n this.errorMapSrc = Array.isArray(newValue)\n ? (newValue as string[]).reduce((acc, err) => ({ ...acc, [err]: undefined }), {})\n : newValue || undefined;\n if (update) {\n this.showErrorsIfTimeout() || this.showErrorsIfNoFocus();\n }\n }\n }\n\n render() {\n this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;\n return (\n <div\n class={{\n 'input-field': true,\n 'input-horizontal': this.horizontal\n }}\n >\n <div class={{ 'label-container': true, hidden: this.labelHidden }}>\n {(this.hasSlottedLabel || this.label) && (\n <label htmlFor={this.id} part=\"label\">\n <span class=\"label-wrapper\">\n {(this.hasSlottedLabel && <slot name=\"label\"></slot>) || this.label}\n <div class=\"label-metadata\">\n {!this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (\n <span class=\"label-optional\" aria-hidden=\"true\">\n ({i18n.t('input.optional')})\n </span>\n )}\n {this.required && this.requiredMarker?.startsWith('required') && (\n <span class=\"label-optional\" aria-hidden=\"true\">\n ({i18n.t('input.required')})\n </span>\n )}\n {(this.maxLength || this.hasSlottedCounter) && (\n <div class=\"label-character-count\" aria-hidden=\"true\">\n {this.hasSlottedCounter ? (\n <slot name=\"counter\"></slot>\n ) : (\n `${this.value?.length ?? 0}/${this.maxLength}`\n )}\n </div>\n )}\n </div>\n </span>\n </label>\n )}\n </div>\n <div class=\"input-container\">\n <div class=\"input-outer-wrapper\">\n <div\n class={{\n 'input-wrapper': true,\n 'input-round': this.round,\n 'input-readonly': this.readonly,\n 'input-disabled': this.disabled,\n 'input-invalid': this.invalid\n }}\n onClick={() => this.input.focus()}\n >\n {this.textPrefix && (\n <span class=\"text-prefix\" part=\"prefix\">\n {this.textPrefix}\n </span>\n )}\n {this.icon && !this.iconRight && (\n <cat-icon icon={this.icon} class=\"icon-prefix\" size=\"l\" onClick={() => this.doFocus()}></cat-icon>\n )}\n <div class=\"input-inner-wrapper\">\n <input\n data-test={this.testId}\n {...this.nativeAttributes}\n part=\"input\"\n ref={el => (this.input = el as HTMLInputElement)}\n id={this.id}\n class={{\n 'has-clearable': this.clearable && !this.disabled && !this.readonly && !!this.value,\n 'has-toggle-password': this.togglePassword && !this.disabled && !this.readonly && !!this.value\n }}\n autocomplete={this.autoComplete}\n disabled={this.disabled}\n max={this.max}\n maxlength={this.maxLength}\n min={this.min}\n minlength={this.minLength}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n type={this.isPasswordShown ? 'text' : this.type}\n value={this.value}\n onInput={this.onInput.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n aria-invalid={this.invalid ? 'true' : undefined}\n aria-describedby={this.hasHint ? this.id + '-hint' : undefined}\n ></input>\n {this.clearable && !this.disabled && !this.readonly && this.value && (\n <cat-button\n class=\"clearable\"\n icon=\"$cat:input-close\"\n icon-only=\"true\"\n size=\"s\"\n variant=\"text\"\n a11y-label={i18n.t('input.clear')}\n onClick={this.clear.bind(this)}\n data-dropdown-no-close\n ></cat-button>\n )}\n {this.togglePassword && !this.disabled && !this.readonly && this.value && (\n <cat-button\n class=\"toggle-password\"\n icon={this.isPasswordShown ? '$cat:input-password-hide' : '$cat:input-password-show'}\n icon-only=\"true\"\n size=\"s\"\n variant=\"text\"\n a11y-label={i18n.t(this.isPasswordShown ? 'input.hidePassword' : 'input.showPassword')}\n onClick={this.doTogglePassword.bind(this)}\n ></cat-button>\n )}\n </div>\n {this.loading && <cat-spinner size=\"m\" class=\"icon-loading\"></cat-spinner>}\n {!this.invalid && this.icon && this.iconRight && (\n <cat-icon icon={this.icon} class=\"icon-suffix\" size=\"l\" onClick={() => this.doFocus()}></cat-icon>\n )}\n {this.invalid && (\n <cat-icon icon=\"$cat:input-error\" class=\"icon-suffix cat-text-danger\" size=\"l\"></cat-icon>\n )}\n {this.textSuffix && (\n <span class=\"text-suffix\" part=\"suffix\">\n {this.textSuffix}\n </span>\n )}\n </div>\n <slot name=\"addon\"></slot>\n </div>\n {this.hasHint && (\n <CatFormHint\n id={this.id}\n hint={this.hint}\n slottedHint={this.hasSlottedHint && <slot name=\"hint\"></slot>}\n errorMap={this.errorMap}\n />\n )}\n </div>\n </div>\n );\n }\n\n private get hasHint() {\n return !!this.hint || !!this.hasSlottedHint || this.invalid;\n }\n\n private get invalid() {\n return this.errorMap === true || !!Object.keys(this.errorMap || {}).length;\n }\n\n private onInput() {\n this.value = this.input.value;\n this.internals.setFormValue(this.input.value);\n this.catChange.emit(this.value);\n this.showErrorsIfTimeout();\n }\n\n private onFocus(event: FocusEvent) {\n this.catFocus.emit(event);\n }\n\n private onBlur(event: FocusEvent) {\n this.catBlur.emit(event);\n if (coerceBoolean(this.errorUpdate)) {\n this.showErrors();\n }\n }\n\n private doTogglePassword() {\n this.isPasswordShown = !this.isPasswordShown;\n }\n\n private showErrors() {\n this.errorMap = this.errorMapSrc;\n }\n\n private errorUpdateTimeoutId?: number;\n private showErrorsIfTimeout() {\n const errorUpdate = coerceNumber(this.errorUpdate, null);\n if (errorUpdate !== null) {\n typeof this.errorUpdateTimeoutId === 'number' && window.clearTimeout(this.errorUpdateTimeoutId);\n this.errorUpdateTimeoutId = window.setTimeout(() => this.showErrors(), errorUpdate);\n return true;\n }\n return false;\n }\n\n private showErrorsIfNoFocus() {\n const hasFocus = document.activeElement === this.hostElement || document.activeElement === this.input;\n if (!hasFocus) {\n this.showErrors();\n }\n }\n\n private findSiblingInput(node: Node | null): HTMLInputElement | undefined {\n if (node instanceof HTMLInputElement) {\n return node;\n } else if (node?.nextSibling) {\n return this.findSiblingInput(node.nextSibling);\n }\n return undefined;\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"cat-input2.js","mappings":"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AAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,C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","names":["i18n","formatTime","formatDate"],"sources":["../node_modules/.pnpm/cleave-zen@0.0.17/node_modules/cleave-zen/dist/cleave-zen.module.js","src/components/cat-input/cat-input.scss?tag=cat-input&encapsulation=shadow","src/components/cat-input/cat-input.tsx"],"sourcesContent":["var e,r,t,i=function(e){return e.replace(/[^\\d]/g,\"\")},n=function(e){return e.reduce(function(e,r){return e+r},0)},a=function(e,r){return e.slice(0,r)},l=function(e){var r=e.value;return e.delimiters.forEach(function(e){e.split(\"\").forEach(function(e){r=r.replace(new RegExp(e.replace(/([.?*+^$[\\]\\\\(){}|-])/g,\"\\\\$1\"),\"g\"),\"\")})}),r},u=function(e){var r=e.blocks,t=e.delimiter,i=void 0===t?\"\":t,n=e.delimiters,a=void 0===n?[]:n,l=e.delimiterLazyShow,u=void 0!==l&&l,c=\"\",s=e.value,o=\"\";return r.forEach(function(e,t){if(s.length>0){var n,l=s.slice(0,e),d=s.slice(e);o=a.length>0?null!=(n=a[u?t-1:t])?n:o:i,u?(t>0&&(c+=o),c+=l):(c+=l,l.length===e&&t<r.length-1&&(c+=o)),s=d}}),c},c=function(e){var r=e.delimiter,t=e.delimiters,i=e.prefix,n=void 0===i?\"\":i,a=e.input;if(void 0!==a.CLEAVE_ZEN_cursor_tracker)return function(){a.removeEventListener(\"input\",a.CLEAVE_ZEN_cursor_tracker),a.CLEAVE_ZEN_cursor_tracker=void 0};var u=[void 0===r?\"\":r].concat(void 0===t?[]:t);return a.CLEAVE_ZEN_cursor_tracker=function(e){var r,t=e.target;(\"deleteContentBackward\"===e.inputType||t.value.length!==t.selectionEnd)&&(t.CLEAVE_ZEN_cleanCursorIndex=function(e){for(var r=e.value,t=e.dirtyCursorIndex,i=e.delimiters,n=t,a=0;a<t;a++)i.includes(r[a])&&n--;return n}({value:t.value,dirtyCursorIndex:null!=(r=t.selectionEnd)?r:0,delimiters:u}),setTimeout(function(){var e;if(l({value:t.value,delimiters:u})!==n){var r=function(e){for(var r=e.value,t=e.delimiters,i=e.cleanCursorIndex,n=0;n<r.length&&(t.includes(r[n])&&i++,n!==i-1);n++);return i}({value:t.value,cleanCursorIndex:null!=(e=t.CLEAVE_ZEN_cleanCursorIndex)?e:0,delimiters:u});t.setSelectionRange(r,r)}},0))},a.addEventListener(\"input\",a.CLEAVE_ZEN_cursor_tracker),function(){a.removeEventListener(\"input\",a.CLEAVE_ZEN_cursor_tracker),a.CLEAVE_ZEN_cursor_tracker=void 0}},s=function(e,r){var t=r.blocks,n=r.delimiter,a=void 0===n?\"\":n,c=r.delimiters,s=void 0===c?[]:c,o=r.delimiterLazyShow,d=void 0!==o&&o,v=r.prefix,m=void 0===v?\"\":v,f=r.numericOnly,p=void 0!==f&&f,h=r.uppercase,E=void 0!==h&&h,g=r.lowercase,I=void 0!==g&&g;return a.length>0&&s.push(a),e=function(e){var r=e.value,t=e.prefix,i=e.tailPrefix,n=t.length;return 0===n?r:r===t&&\"\"!==r?\"\":r.slice(0,n)===t||i?r.slice(-n)!==t&&i?\"\":i?r.slice(0,-n):r.slice(n):\"\"}({value:e=l({value:e,delimiters:s}),prefix:m,tailPrefix:!1}),e=p?i(e):e,e=E?e.toUpperCase():e,e=I?e.toLowerCase():e,m.length>0&&(e=m+e),u({value:e,blocks:t,delimiter:a,delimiters:s,delimiterLazyShow:d})},o=function(e,r){var t=r.delimiter,i=r.delimiters;return l({value:e,delimiters:[].concat(void 0===i?[]:i,[void 0===t?\"\":t])})},d=\" \";!function(e){e.UATP=\"uatp\",e.AMEX=\"amex\",e.DINERS=\"diners\",e.DISCOVER=\"discover\",e.MASTERCARD=\"mastercard\",e.DANKORT=\"dankort\",e.INSTAPAYMENT=\"instapayment\",e.JCB15=\"jcb15\",e.JCB=\"jcb\",e.MAESTRO=\"maestro\",e.VISA=\"visa\",e.MIR=\"mir\",e.UNIONPAY=\"unionpay\",e.GENERAL=\"general\"}(t||(t={}));var v,m=((e={})[t.UATP]=[4,5,6],e[t.AMEX]=[4,6,5],e[t.DINERS]=[4,6,4],e[t.DISCOVER]=[4,4,4,4],e[t.MASTERCARD]=[4,4,4,4],e[t.DANKORT]=[4,4,4,4],e[t.INSTAPAYMENT]=[4,4,4,4],e[t.JCB15]=[4,6,5],e[t.JCB]=[4,4,4,4],e[t.MAESTRO]=[4,4,4,4],e[t.VISA]=[4,4,4,4],e[t.MIR]=[4,4,4,4],e[t.UNIONPAY]=[4,4,4,4],e[t.GENERAL]=[4,4,4,4],e),f=((r={})[t.UATP]=/^(?!1800)1\\d{0,14}/,r[t.AMEX]=/^3[47]\\d{0,13}/,r[t.DISCOVER]=/^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,r[t.DINERS]=/^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,r[t.MASTERCARD]=/^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,r[t.DANKORT]=/^(5019|4175|4571)\\d{0,12}/,r[t.INSTAPAYMENT]=/^63[7-9]\\d{0,13}/,r[t.JCB15]=/^(?:2131|1800)\\d{0,11}/,r[t.JCB]=/^(?:35\\d{0,2})\\d{0,12}/,r[t.MAESTRO]=/^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,r[t.MIR]=/^220[0-4]\\d{0,12}/,r[t.VISA]=/^4\\d{0,15}/,r[t.UNIONPAY]=/^(62|81)\\d{0,14}/,r),p=function(e){var r=e.reduce(function(e,r){return e+r},0);return e.concat(19-r)},h=function(e){for(var r=e.value,i=e.strictMode,n=0,a=Object.keys(f);n<a.length;n++){var l=a[n];if(f[l].test(r)){var u=m[l];return{type:l,blocks:null!=i&&i?p(u):u}}}return{type:t.GENERAL,blocks:null!=i&&i?p(m.general):m.general}},E=function(e,r){var t=null!=r?r:{},c=t.delimiter,s=void 0===c?\" \":c,o=t.delimiterLazyShow,d=void 0!==o&&o,v=t.strictMode,m=void 0!==v&&v;e=i(e),e=l({value:e,delimiters:[s]});var f=h({value:e,strictMode:m}).blocks,p=n(f);return e=a(e,p),u({value:e,blocks:f,delimiter:s,delimiterLazyShow:d})},g=function(e,r){return e=i(e),e=l({value:e,delimiters:[null!=r?r:\" \"]}),h({value:e}).type},I=function(e){return i(e)};!function(e){e.THOUSAND=\"thousand\",e.LAKH=\"lakh\",e.WAN=\"wan\",e.NONE=\"none\"}(v||(v={}));var A=\",\",x=v.THOUSAND,M=function(e,r){var t=null!=r?r:{},i=t.delimiter,n=t.numeralThousandsGroupStyle,a=t.numeralIntegerScale,l=t.numeralDecimalMark,u=t.numeralDecimalScale,c=t.stripLeadingZeroes,s=t.numeralPositiveOnly,o=t.tailPrefix,d=t.signBeforePrefix,m=t.prefix;return function(e){var r,t,i,n=e.delimiter,a=e.numeralDecimalMark,l=e.numeralDecimalScale,u=e.stripLeadingZeroes,c=e.numeralPositiveOnly,s=e.numeralIntegerScale,o=e.numeralThousandsGroupStyle,d=e.signBeforePrefix,m=e.tailPrefix,f=e.prefix,p=\"\",h=e.value.replace(/[A-Za-z]/g,\"\").replace(a,\"M\").replace(/[^\\dM-]/g,\"\").replace(/^-/,\"N\").replace(/-/g,\"\").replace(\"N\",null!=c&&c?\"\":\"-\").replace(\"M\",a);u&&(h=h.replace(/^(-)?0+(?=\\d)/,\"$1\"));var E=\"-\"===h.slice(0,1)?\"-\":\"\";switch(t=d?E+f:f+E,i=h,h.includes(a)&&(i=(r=h.split(a))[0],p=a+r[1].slice(0,l)),\"-\"===E&&(i=i.slice(1)),s>0&&(i=i.slice(0,s)),o){case v.LAKH:i=i.replace(/(\\d)(?=(\\d\\d)+\\d$)/g,\"$1\"+n);break;case v.WAN:i=i.replace(/(\\d)(?=(\\d{4})+$)/g,\"$1\"+n);break;case v.THOUSAND:i=i.replace(/(\\d)(?=(\\d{3})+$)/g,\"$1\"+n)}return m?E+i+(l>0?p:\"\")+f:t+i+(l>0?p:\"\")}({value:e,delimiter:void 0===i?\",\":i,numeralIntegerScale:void 0===a?0:a,numeralDecimalMark:void 0===l?\".\":l,numeralDecimalScale:void 0===u?2:u,stripLeadingZeroes:void 0===c||c,numeralPositiveOnly:void 0!==s&&s,numeralThousandsGroupStyle:void 0===n?x:n,tailPrefix:void 0!==o&&o,signBeforePrefix:void 0!==d&&d,prefix:void 0===m?\"\":m})},S=function(e,r){var t=(null!=r?r:{}).numeralDecimalMark;return e.replace(void 0===t?\".\":t,\"M\").replace(/[^0-9-M]/g,\"\").replace(\"M\",\".\")},N=\"/\",k=[\"d\",\"m\",\"Y\"],C=function(e,r){return r?(e<10?\"000\":e<100?\"00\":e<1e3?\"0\":\"\")+e:(e<10?\"0\":\"\")+e},L=function(e){return(e<10?\"0\":\"\")+e},P=function(e,r,t){var i;return e=Math.min(e,31),t=null!=(i=t)?i:0,((r=Math.min(r,12))<7&&r%2==0||r>8&&r%2==1)&&(e=Math.min(e,2===r?function(e){return e%4==0&&e%100!=0||e%400==0}(t)?29:28:30)),[e,r,t]},y=function(e,r){var t=null!=r?r:{},c=t.delimiterLazyShow,s=void 0!==c&&c,o=t.delimiter,d=void 0===o?\"/\":o,v=t.datePattern,m=void 0===v?k:v,f=t.dateMax,p=void 0===f?\"\":f,h=t.dateMin,E=void 0===h?\"\":h;e=i(e);var g=function(e){var r=[];return e.forEach(function(e){r.push(\"Y\"===e?4:2)}),r}(m),I=function(e){var r=e.dateMax,t=e.dateMin.split(\"-\").reverse().map(function(e){return parseInt(e,10)});2===t.length&&t.unshift(0);var i=r.split(\"-\").reverse().map(function(e){return parseInt(e,10)});return 2===i.length&&i.unshift(0),{min:t,max:i}}({dateMax:p,dateMin:E});e=function(e){var r=e.value,t=void 0===r?\"\":r,i=e.blocks,n=e.datePattern,a=e.min,l=e.max,u=\"\";return(void 0===i?[]:i).forEach(function(e,r){if(t.length>0){var i=t.slice(0,e),a=i.slice(0,1),l=t.slice(e);switch(n[r]){case\"d\":\"00\"===i?i=\"01\":parseInt(a,10)>3?i=\"0\"+a:parseInt(i,10)>31&&(i=\"31\");break;case\"m\":\"00\"===i?i=\"01\":parseInt(a,10)>1?i=\"0\"+a:parseInt(i,10)>12&&(i=\"12\")}u+=i,t=l}}),function(e){var r,t,i,n=e.value,a=void 0===n?\"\":n,l=e.datePattern,u=e.min,c=e.max,s=[],o=0,d=0,v=0,m=0,f=0,p=0,h=!1;return 4===a.length&&\"y\"!==l[0].toLowerCase()&&\"y\"!==l[1].toLowerCase()&&(f=2-(m=\"d\"===l[0]?0:2),r=parseInt(a.slice(m,m+2),10),t=parseInt(a.slice(f,f+2),10),s=P(r,t,0)),8===a.length&&(l.forEach(function(e,r){switch(e){case\"d\":o=r;break;case\"m\":d=r;break;default:v=r}}),p=2*v,m=o<=v?2*o:2*o+2,f=d<=v?2*d:2*d+2,r=parseInt(a.slice(m,m+2),10),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+4),10),h=4===a.slice(p,p+4).length,s=P(r,t,i)),4!==a.length||\"y\"!==l[0]&&\"y\"!==l[1]||(p=2-(f=\"m\"===l[0]?0:2),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+2),10),h=2===a.slice(p,p+2).length,s=[0,t,i]),6!==a.length||\"Y\"!==l[0]&&\"Y\"!==l[1]||(p=2-.5*(f=\"m\"===l[0]?0:4),t=parseInt(a.slice(f,f+2),10),i=parseInt(a.slice(p,p+4),10),h=4===a.slice(p,p+4).length,s=[0,t,i]),0===(s=function(e){var r=e.date,t=void 0===r?[]:r,i=e.min,n=e.max;return 0===t.length||i.length<3&&n.length<3||e.datePattern.filter(function(e){return\"y\"===e.toLowerCase()}).length>0&&0===t[2]?t:n.length>0&&(n[2]<t[2]||n[2]===t[2]&&(n[1]<t[1]||n[1]===t[1]&&n[0]<t[0]))?n:i.length>0&&(i[2]>t[2]||i[2]===t[2]&&(i[1]>t[1]||i[1]===t[1]&&i[0]>t[0]))?i:t}({date:s,datePattern:l,min:u,max:c})).length?a:l.reduce(function(e,r){switch(r){case\"d\":return e+(0===s[0]?\"\":L(s[0]));case\"m\":return e+(0===s[1]?\"\":L(s[1]));case\"y\":return e+(h?C(s[2],!1):\"\");case\"Y\":return e+(h?C(s[2],!0):\"\")}return e},\"\")}({value:u,datePattern:n,min:a,max:l})}({value:e,blocks:g,datePattern:m,min:I.min,max:I.max}),e=l({value:e,delimiters:[d]});var A=n(g);return e=a(e,A),u({value:e,blocks:g,delimiter:d,delimiterLazyShow:s})},D=\":\",R=[\"h\",\"m\",\"s\"],T=function(e){return(e<10?\"0\":\"\")+e},b=function(e,r,t){return t=Math.min(t,60),r=Math.min(r,60),[e=Math.min(e,60),r,t]},w=function(e,r){var t=null!=r?r:{},c=t.delimiterLazyShow,s=void 0!==c&&c,o=t.delimiter,d=void 0===o?\":\":o,v=t.timePattern,m=void 0===v?R:v,f=t.timeFormat,p=void 0===f?\"24\":f;e=i(e);var h=function(e){var r=[];return e.forEach(function(){r.push(2)}),r}(m);e=function(e){var r=e.value,t=e.timePattern,i=\"\",n=\"12\"===e.timeFormat?{maxHourFirstDigit:1,maxHours:12,maxMinutesFirstDigit:5,maxMinutes:60}:{maxHourFirstDigit:2,maxHours:23,maxMinutesFirstDigit:5,maxMinutes:60};return e.blocks.forEach(function(e,a){if(r.length>0){var l=r.slice(0,e),u=l.slice(0,1),c=r.slice(e);switch(t[a]){case\"h\":parseInt(u,10)>n.maxHourFirstDigit?l=\"0\"+u:parseInt(l,10)>n.maxHours&&(l=n.maxHours+\"\");break;case\"m\":case\"s\":parseInt(u,10)>n.maxMinutesFirstDigit?l=\"0\"+u:parseInt(l,10)>n.maxMinutes&&(l=n.maxMinutes+\"\")}i+=l,r=c}}),function(e){var r,t,i,n=e.value,a=e.timePattern,l=[],u=0,c=0,s=0,o=0,d=0,v=0;return 6===n.length&&(a.forEach(function(e,r){switch(e){case\"s\":u=2*r;break;case\"m\":c=2*r;break;case\"h\":s=2*r}}),v=s,d=c,o=u,r=parseInt(n.slice(o,o+2),10),t=parseInt(n.slice(d,d+2),10),i=parseInt(n.slice(v,v+2),10),l=b(i,t,r)),4!==n.length||a.includes(\"s\")||(a.forEach(function(e,r){switch(e){case\"m\":c=2*r;break;case\"h\":s=2*r}}),v=s,d=c,r=0,t=parseInt(n.slice(d,d+2),10),i=parseInt(n.slice(v,v+2),10),l=b(i,t,r)),0===l.length?n:a.reduce(function(e,r){switch(r){case\"s\":return e+T(l[2]);case\"m\":return e+T(l[1]);case\"h\":return e+T(l[0])}return e},\"\")}({value:i,timePattern:t})}({value:e,blocks:h,timePattern:m,timeFormat:p}),e=l({value:e,delimiters:[d]});var E=n(h);return e=a(e,E),u({value:e,blocks:h,delimiter:d,delimiterLazyShow:s})};export{d as DefaultCreditCardDelimiter,N as DefaultDateDelimiter,A as DefaultNumeralDelimiter,D as DefaultTimeDelimiter,v as NumeralThousandGroupStyles,E as formatCreditCard,y as formatDate,s as formatGeneral,M as formatNumeral,w as formatTime,g as getCreditCardType,c as registerCursorTracker,I as unformatCreditCard,o as unformatGeneral,S as unformatNumeral};\n//# sourceMappingURL=cleave-zen.module.js.map\n","@use 'variables' as *;\n@use 'mixins' as *;\n@use 'src/components/cat-form-hint/cat-form-hint';\n@use 'utils/color';\n@use '_snippets/form-label';\n\n:host {\n display: flex;\n @include cat-body('m', null);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.input-field,\n.input-container {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n flex: 1 1 auto;\n}\n\n.input-field.input-horizontal {\n flex-direction: row;\n gap: 1rem;\n}\n\n.input-wrapper {\n flex: 1 1 auto;\n display: flex;\n align-items: stretch;\n gap: 0.75rem;\n padding: 0 0.75rem;\n height: form-label.$cat-input-height;\n overflow: hidden;\n background: cat-token('color.ui.background.input');\n border-radius: cat-border-radius('m');\n box-shadow: inset 0 0 0 1px rgb(var(--border-color));\n transition: box-shadow cat-token('time.transition.s') linear;\n --border-color: #{cat-token('color.ui.border.dark', $wrap: false)};\n\n &.input-round {\n border-radius: 10rem;\n }\n\n &.input-readonly {\n pointer-events: none;\n }\n\n &.input-disabled {\n background: cat-token('color.ui.background.muted');\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &:not(.input-disabled):hover {\n box-shadow:\n inset 0 0 0 1px rgb(var(--border-color)),\n 0 0 0 1px rgb(var(--border-color));\n }\n\n &:focus-within {\n outline: 2px solid cat-token('color.ui.border.focus');\n outline-offset: -1px;\n\n &:has(.clearable:focus) {\n outline: none;\n }\n }\n\n &.input-invalid {\n --border-color: #{cat-token('color.theme.danger.bg', 0.2, $wrap: false)};\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n &:has(input:-webkit-autofill) {\n &,\n &:hover,\n &:focus {\n background-color: cat-token('color.ui.background.inputAutofill');\n }\n }\n /* stylelint-enable property-no-vendor-prefix */\n}\n\n.text-prefix,\n.text-suffix {\n display: inline-flex;\n align-items: center;\n @include cat-select(none);\n color: cat-token('color.ui.font.muted');\n}\n\n.text-prefix {\n border-right: 1px solid cat-token('color.ui.border.dark');\n padding-right: 0.75rem;\n}\n\n.text-suffix {\n border-left: 1px solid cat-token('color.ui.border.dark');\n padding-left: 0.75rem;\n}\n\n.icon-loading,\n.icon-prefix,\n.icon-suffix {\n align-self: center;\n}\n\n.input-outer-wrapper {\n display: flex;\n}\n\n.input-inner-wrapper {\n display: flex;\n align-items: center;\n position: relative;\n flex: 1 1 auto;\n}\n\ninput {\n font: inherit;\n margin: 0;\n padding: 0;\n width: 100%;\n min-width: 0;\n border: none;\n outline: none;\n background: none;\n @include cat-ellipsis;\n\n .input-disabled & {\n cursor: not-allowed;\n color: cat-token('color.ui.font.muted');\n }\n\n &.has-clearable,\n &.has-toggle-password {\n padding-right: 1.5rem;\n }\n\n &.has-clearable.has-toggle-password {\n padding-right: 3.5rem;\n }\n\n &::placeholder {\n color: cat-token('color.ui.font.muted');\n }\n\n /* stylelint-disable property-no-vendor-prefix */\n &:-webkit-autofill {\n &,\n &:hover,\n &:focus {\n -webkit-box-shadow: 0 0 0 9999px cat-token('color.ui.background.inputAutofill') inset;\n }\n }\n /* stylelint-enable property-no-vendor-prefix */\n}\n\n.clearable {\n position: absolute;\n top: calc(50% - 1rem);\n right: -0.5rem;\n}\n\n.toggle-password {\n position: absolute;\n top: calc(50% - 1rem);\n right: -0.5rem;\n\n .has-clearable ~ & {\n right: 1.5rem;\n }\n}\n\n// ----- date- & timepicker\n\n:host(.cat-date-input),\n:host(.cat-time-input) {\n .input-wrapper {\n z-index: 1;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n}\n","import { AttachInternals, Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { coerceBoolean, coerceNumber } from '../../utils/coerce';\nimport { CatFormHint, ErrorMap } from '../cat-form-hint/cat-form-hint';\nimport { catI18nRegistry as i18n } from '../cat-i18n/cat-i18n-registry';\nimport { InputType } from './input-type';\nimport { formatDate, formatTime } from 'cleave-zen';\n\nlet nextUniqueId = 0;\n\ntype TimeUnit = 'h' | 'm' | 's';\ntype TimeFormatType = '12' | '24';\ntype DateUnit = 'Y' | 'y' | 'm' | 'd';\n\nexport interface FormatTimeMaskOptions {\n timePattern?: TimeUnit[];\n timeFormat?: TimeFormatType;\n}\n\nexport interface FormatDateMaskOptions {\n delimiter?: string;\n datePattern?: DateUnit[];\n dateMin?: string;\n dateMax?: string;\n}\n\n/**\n * Inputs are used to allow users to provide text input when the expected input\n * is short. As well as plain text, Input supports various types of text,\n * including passwords and numbers.\n *\n * @slot hint - Optional hint element to be displayed with the input.\n * @slot label - The slotted label. If both the label property and the label slot are present, only the label slot will be displayed.\n * @slot counter - Custom counter element to be displayed in the top right corner of the label.\n * @part label - The native label element.\n * @part input - The native input element.\n * @part prefix - The text prefix.\n * @part suffix - The text suffix.\n */\n@Component({\n tag: 'cat-input',\n styleUrl: 'cat-input.scss',\n formAssociated: true,\n shadow: {\n delegatesFocus: true\n }\n})\nexport class CatInput {\n private readonly _id = `cat-input-${nextUniqueId++}`;\n private get id() {\n return this.identifier || this._id;\n }\n\n private input!: HTMLInputElement;\n private errorMapSrc?: ErrorMap | true;\n\n @Element() hostElement!: HTMLElement;\n\n @State() hasSlottedLabel = false;\n\n @State() hasSlottedHint = false;\n\n @State() hasSlottedCounter = false;\n\n @State() isPasswordShown = false;\n\n @State() errorMap?: ErrorMap | true;\n\n @AttachInternals() internals!: ElementInternals;\n\n /**\n * Whether the label need a marker to shown if the input is required or optional.\n */\n @Prop() requiredMarker?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!' = 'optional';\n\n /**\n * Whether the label is on top or left.\n */\n @Prop() horizontal = false;\n\n /**\n * Hint for form autofill feature.\n */\n @Prop() autoComplete?: string;\n\n /**\n * Whether the input should show a clear button.\n */\n @Prop() clearable = false;\n\n /**\n * Whether the input should show a password toggle button for password inputs.\n */\n @Prop() togglePassword = false;\n\n /**\n * Whether the input is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * Displays the input in a loading state with a spinner.\n */\n @Prop() loading = false;\n\n /**\n * Optional hint text(s) to be displayed with the input.\n */\n @Prop() hint?: string | string[];\n\n /**\n * The name of an icon to be displayed in the input.\n */\n @Prop() icon?: string;\n\n /**\n * Display the icon on the right.\n */\n @Prop() iconRight = false;\n\n /**\n * A unique identifier for the input.\n */\n @Prop() identifier?: string;\n\n /**\n * The label for the input.\n */\n @Prop() label = '';\n\n /**\n * Visually hide the label, but still show it to assistive technologies like screen readers.\n */\n @Prop() labelHidden = false;\n\n /**\n * A maximum value for numeric values.\n */\n @Prop() max?: number | string;\n\n /**\n * A maximum length (number of characters) for textual values.\n */\n @Prop() maxLength?: number;\n\n /**\n * A minimum value for numeric values.\n */\n @Prop() min?: number | string;\n\n /**\n * A minimum length (number of characters) for textual values.\n */\n @Prop() minLength?: number;\n\n /**\n * The name of the form control. Submitted with the form as part of a name/value pair.\n */\n @Prop() name?: string;\n\n /**\n * The placeholder text to display within the input.\n */\n @Prop() placeholder?: string;\n\n /**\n * A textual prefix to be displayed in the input.\n */\n @Prop() textPrefix?: string;\n\n /**\n * A textual suffix to be displayed in the input.\n */\n @Prop() textSuffix?: string;\n\n /**\n * The value is not editable.\n */\n @Prop() readonly = false;\n\n /**\n * A value is required or must be check for the form to be submittable.\n */\n @Prop() required = false;\n\n /**\n * Use round input edges.\n */\n @Prop() round = false;\n\n /**\n * Type of form control.\n */\n @Prop() type: InputType = 'text';\n\n /**\n * The value of the control.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The validation errors for this input. Will render a hint under the input\n * with the translated error message(s) `error.${key}`. If an object is\n * passed, the keys will be used as error keys and the values translation\n * parameters.\n * If the value is `true`, the input will be marked as invalid without any\n * hints under the input.\n */\n @Prop() errors?: boolean | string[] | ErrorMap;\n\n /**\n * Fine-grained control over when the errors are shown. Can be `false` to\n * never show errors, `true` to show errors on blur, or a number to show\n * errors change with the given delay in milliseconds or immediately on blur.\n */\n @Prop() errorUpdate: boolean | number = 0;\n\n /**\n * Attributes that will be added to the native HTML input element.\n */\n @Prop() nativeAttributes?: { [key: string]: string };\n\n /**\n * A unique identifier for the underlying native element that is used for\n * testing purposes. The attribute is added as `data-test` attribute and acts\n * as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`.\n */\n @Prop() testId?: string;\n\n /**\n * Activates cleave-zen time mask on input\n */\n @Prop() timeMaskOptions?: FormatTimeMaskOptions;\n\n /**\n * Activates cleave-zen date mask on input\n */\n @Prop() dateMaskOptions?: FormatDateMaskOptions;\n\n /**\n * Emitted when the value is changed.\n */\n @Event() catChange!: EventEmitter<string>;\n\n /**\n * Emitted when the input received focus.\n */\n @Event() catFocus!: EventEmitter<FocusEvent>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() catBlur!: EventEmitter<FocusEvent>;\n\n componentWillLoad(): void {\n this.onErrorsChanged(this.errors, undefined, false);\n }\n\n componentWillRender(): void {\n this.internals.setFormValue(this.value ?? null);\n this.hasSlottedLabel = !!this.hostElement.querySelector('[slot=\"label\"]');\n this.hasSlottedHint = !!this.hostElement.querySelector('[slot=\"hint\"]');\n this.hasSlottedCounter = !!this.hostElement.querySelector('[slot=\"counter\"]');\n }\n\n /**\n * Programmatically move focus to the input. Use this method instead of\n * `input.focus()`.\n *\n * @param options An optional object providing options to control aspects of\n * the focusing process.\n */\n @Method()\n async doFocus(options?: FocusOptions): Promise<void> {\n // hack to make datepicker inputs focusable. The datepicker hides the input\n // element and dynamically creates a sibling. We need to find the new input\n // element and focus it instead.\n const input = this.input.type === 'hidden' ? this.findSiblingInput(this.input.nextSibling) : this.input;\n input?.focus(options);\n }\n\n /**\n * Programmatically remove focus from the input. Use this method instead of\n * `input.blur()`.\n */\n @Method()\n async doBlur(): Promise<void> {\n this.input.blur();\n }\n\n /**\n * Clear the input.\n */\n @Method()\n async clear(): Promise<void> {\n this.value = '';\n this.catChange.emit(this.value);\n }\n\n @Watch('errors')\n onErrorsChanged(newValue?: boolean | string[] | ErrorMap, _oldValue?: unknown, update: boolean = true) {\n if (!coerceBoolean(this.errorUpdate)) {\n this.errorMap = undefined;\n } else {\n this.errorMapSrc = Array.isArray(newValue)\n ? (newValue as string[]).reduce((acc, err) => ({ ...acc, [err]: undefined }), {})\n : newValue || undefined;\n if (update) {\n this.showErrorsIfTimeout() || this.showErrorsIfNoFocus();\n }\n }\n }\n\n render() {\n this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;\n return (\n <div\n class={{\n 'input-field': true,\n 'input-horizontal': this.horizontal\n }}\n >\n <div class={{ 'label-container': true, hidden: this.labelHidden }}>\n {(this.hasSlottedLabel || this.label) && (\n <label htmlFor={this.id} part=\"label\">\n <span class=\"label-wrapper\">\n {(this.hasSlottedLabel && <slot name=\"label\"></slot>) || this.label}\n <div class=\"label-metadata\">\n {!this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (\n <span class=\"label-optional\" aria-hidden=\"true\">\n ({i18n.t('input.optional')})\n </span>\n )}\n {this.required && this.requiredMarker?.startsWith('required') && (\n <span class=\"label-optional\" aria-hidden=\"true\">\n ({i18n.t('input.required')})\n </span>\n )}\n {(this.maxLength || this.hasSlottedCounter) && (\n <div class=\"label-character-count\" aria-hidden=\"true\">\n {this.hasSlottedCounter ? (\n <slot name=\"counter\"></slot>\n ) : (\n `${this.value?.length ?? 0}/${this.maxLength}`\n )}\n </div>\n )}\n </div>\n </span>\n </label>\n )}\n </div>\n <div class=\"input-container\">\n <div class=\"input-outer-wrapper\">\n <div\n class={{\n 'input-wrapper': true,\n 'input-round': this.round,\n 'input-readonly': this.readonly,\n 'input-disabled': this.disabled,\n 'input-invalid': this.invalid\n }}\n onClick={() => this.input.focus()}\n >\n {this.textPrefix && (\n <span class=\"text-prefix\" part=\"prefix\">\n {this.textPrefix}\n </span>\n )}\n {this.icon && !this.iconRight && (\n <cat-icon icon={this.icon} class=\"icon-prefix\" size=\"l\" onClick={() => this.doFocus()}></cat-icon>\n )}\n <div class=\"input-inner-wrapper\">\n <input\n data-test={this.testId}\n {...this.nativeAttributes}\n part=\"input\"\n ref={el => (this.input = el as HTMLInputElement)}\n id={this.id}\n class={{\n 'has-clearable': this.clearable && !this.disabled && !this.readonly && !!this.value,\n 'has-toggle-password': this.togglePassword && !this.disabled && !this.readonly && !!this.value\n }}\n autocomplete={this.autoComplete}\n disabled={this.disabled}\n max={this.max}\n maxlength={this.maxLength}\n min={this.min}\n minlength={this.minLength}\n name={this.name}\n placeholder={this.placeholder}\n readonly={this.readonly}\n required={this.required}\n type={this.isPasswordShown ? 'text' : this.type}\n value={this.value}\n onInput={this.onInput.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n aria-invalid={this.invalid ? 'true' : undefined}\n aria-describedby={this.hasHint ? this.id + '-hint' : undefined}\n ></input>\n {this.clearable && !this.disabled && !this.readonly && this.value && (\n <cat-button\n class=\"clearable\"\n icon=\"$cat:input-close\"\n icon-only=\"true\"\n size=\"s\"\n variant=\"text\"\n a11y-label={i18n.t('input.clear')}\n onClick={this.clear.bind(this)}\n data-dropdown-no-close\n ></cat-button>\n )}\n {this.togglePassword && !this.disabled && !this.readonly && this.value && (\n <cat-button\n class=\"toggle-password\"\n icon={this.isPasswordShown ? '$cat:input-password-hide' : '$cat:input-password-show'}\n icon-only=\"true\"\n size=\"s\"\n variant=\"text\"\n a11y-label={i18n.t(this.isPasswordShown ? 'input.hidePassword' : 'input.showPassword')}\n onClick={this.doTogglePassword.bind(this)}\n ></cat-button>\n )}\n </div>\n {this.loading && <cat-spinner size=\"m\" class=\"icon-loading\"></cat-spinner>}\n {!this.invalid && this.icon && this.iconRight && (\n <cat-icon icon={this.icon} class=\"icon-suffix\" size=\"l\" onClick={() => this.doFocus()}></cat-icon>\n )}\n {this.invalid && (\n <cat-icon icon=\"$cat:input-error\" class=\"icon-suffix cat-text-danger\" size=\"l\"></cat-icon>\n )}\n {this.textSuffix && (\n <span class=\"text-suffix\" part=\"suffix\">\n {this.textSuffix}\n </span>\n )}\n </div>\n <slot name=\"addon\"></slot>\n </div>\n {this.hasHint && (\n <CatFormHint\n id={this.id}\n hint={this.hint}\n slottedHint={this.hasSlottedHint && <slot name=\"hint\"></slot>}\n errorMap={this.errorMap}\n />\n )}\n </div>\n </div>\n );\n }\n\n private get hasHint() {\n return !!this.hint || !!this.hasSlottedHint || this.invalid;\n }\n\n private get invalid() {\n return this.errorMap === true || !!Object.keys(this.errorMap || {}).length;\n }\n\n private onInput() {\n let formattedValue = this.input.value;\n if (this.timeMaskOptions) {\n formattedValue = formatTime(this.input.value, this.timeMaskOptions);\n }\n if (this.dateMaskOptions) {\n formattedValue = formatDate(this.input.value, this.dateMaskOptions);\n }\n this.value = formattedValue;\n this.input.value = formattedValue;\n this.internals.setFormValue(this.input.value);\n this.catChange.emit(this.value);\n this.showErrorsIfTimeout();\n }\n\n private onFocus(event: FocusEvent) {\n this.catFocus.emit(event);\n }\n\n private onBlur(event: FocusEvent) {\n this.catBlur.emit(event);\n if (coerceBoolean(this.errorUpdate)) {\n this.showErrors();\n }\n }\n\n private doTogglePassword() {\n this.isPasswordShown = !this.isPasswordShown;\n }\n\n private showErrors() {\n this.errorMap = this.errorMapSrc;\n }\n\n private errorUpdateTimeoutId?: number;\n private showErrorsIfTimeout() {\n const errorUpdate = coerceNumber(this.errorUpdate, null);\n if (errorUpdate !== null) {\n typeof this.errorUpdateTimeoutId === 'number' && window.clearTimeout(this.errorUpdateTimeoutId);\n this.errorUpdateTimeoutId = window.setTimeout(() => this.showErrors(), errorUpdate);\n return true;\n }\n return false;\n }\n\n private showErrorsIfNoFocus() {\n const hasFocus = document.activeElement === this.hostElement || document.activeElement === this.input;\n if (!hasFocus) {\n this.showErrors();\n }\n }\n\n private findSiblingInput(node: Node | null): HTMLInputElement | undefined {\n if (node instanceof HTMLInputElement) {\n return node;\n } else if (node?.nextSibling) {\n return this.findSiblingInput(node.nextSibling);\n }\n return undefined;\n }\n}\n"],"version":3}
|
|
@@ -638,18 +638,18 @@ const CatSelect = /*@__PURE__*/ proxyCustomElement(class CatSelect extends HTMLE
|
|
|
638
638
|
}
|
|
639
639
|
render() {
|
|
640
640
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
641
|
-
return (h(Host, { key: '
|
|
641
|
+
return (h(Host, { key: 'c26f4f1d90648ae5bdc7d15f6c112adafb2e4f78' }, h("div", { key: '15d47938edbc1226d59bc8f921178424dccf7999', class: {
|
|
642
642
|
'select-field': true,
|
|
643
643
|
'select-horizontal': this.horizontal,
|
|
644
644
|
'select-multiple': this.multiple
|
|
645
|
-
} }, h("div", { key: '
|
|
645
|
+
} }, h("div", { key: '3ac28917d6f6ea995142803bbc74f381c540775d', class: { 'label-container': true, hidden: this.labelHidden } }, (this.hasSlottedLabel || this.label) && (h("label", { key: 'f0a54b4dd57db2771b216408313fb289eedd27a2', htmlFor: `select-${this.id}-input`, part: "label" }, h("span", { key: '024573bca075cd84d08349af763d96ed9b53c8c4', class: "label-wrapper" }, (this.hasSlottedLabel && h("slot", { key: '8e7d2ef38e100add967d3c369cda2cccf7c3f334', name: "label" })) || this.label, h("div", { key: 'b9abce3cd81828a3e9dadf6d3c9fc551043cc927', class: "label-metadata" }, !this.required && (this.requiredMarker ?? 'optional').startsWith('optional') && (h("span", { key: '3d55ace4e034fcc81c56c887649846ff330d25c4', class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.optional'), ")")), this.required && this.requiredMarker?.startsWith('required') && (h("span", { key: 'ca265e7b81572037f80e78c167622680ae7ba74e', class: "label-optional", "aria-hidden": "true" }, "(", catI18nRegistry.t('input.required'), ")"))))))), h("div", { key: '2941249432c643a7aca2887edb76c9503a93fdca', class: "select-container" }, h("div", { key: 'eaeccdc2e8305a9937bf5c646ae03798bda777ff', class: { 'select-wrapper': true, 'select-disabled': this.disabled, 'select-invalid': this.invalid }, ref: el => (this.trigger = el), id: this.id, role: "combobox", "aria-expanded": this.state.isOpen || this.isPillboxActive(), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-required": this.required ? 'true' : false, "aria-activedescendant": this.activeDescendant, onClick: e => this.onClick(e) }, h("div", { key: '6f17f7a17ab914a3430e5dccc84fe6fcd1b22166', class: "select-wrapper-inner" }, this.multiple && this.state.selection.length ? (h("div", { id: `select-pillbox-${this.id}`, role: "listbox", "aria-orientation": "horizontal", class: "select-pills" }, this.state.selection.map((item, i) => (h("span", { class: {
|
|
646
646
|
pill: true,
|
|
647
647
|
'select-no-open': true,
|
|
648
648
|
'select-option-active': this.state.activeSelectionIndex === i
|
|
649
|
-
}, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, icon: item.render.avatar.icon, initials: item.render.avatar.initials ?? '' })) : null, h("span", null, item.render.label), !this.disabled && (h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: catI18nRegistry.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1, "data-dropdown-no-close": true }))))))) : this.state.selection.length && this.state.selection[0].render.avatar ? (h("cat-avatar", { label: this.state.selection[0].render.label, round: this.state.selection[0].render.avatar.round, src: this.state.selection[0].render.avatar.src, icon: this.state.selection[0].render.avatar.icon, initials: this.state.selection[0].render.avatar.initials ?? '' })) : null, h("input", { key: '
|
|
649
|
+
}, role: "option", "aria-selected": "true", id: `select-${this.id}-selection-${i}` }, item.render.avatar ? (h("cat-avatar", { label: item.render.label, round: item.render.avatar.round, src: item.render.avatar.src, icon: item.render.avatar.icon, initials: item.render.avatar.initials ?? '' })) : null, h("span", null, item.render.label), !this.disabled && (h("cat-button", { size: "xs", variant: "text", icon: "$cat:select-clear", iconOnly: true, a11yLabel: catI18nRegistry.t('select.deselect'), onClick: () => this.deselect(item.item.id), tabIndex: -1, "data-dropdown-no-close": true }))))))) : this.state.selection.length && this.state.selection[0].render.avatar ? (h("cat-avatar", { label: this.state.selection[0].render.label, round: this.state.selection[0].render.avatar.round, src: this.state.selection[0].render.avatar.src, icon: this.state.selection[0].render.avatar.icon, initials: this.state.selection[0].render.avatar.initials ?? '' })) : null, h("input", { key: '364215d3ab64ccaf43edfefa6bc1b9bbb4cbd176', "data-test": this.testId, ...this.nativeAttributes, part: "input", id: `select-${this.id}-input`, class: "select-input", role: "combobox", ref: el => (this.input = el), "aria-controls": this.isPillboxActive() ? `select-pillbox-${this.id}` : `select-listbox-${this.id}`, "aria-activedescendant": this.activeDescendant, "aria-invalid": this.invalid ? 'true' : undefined, "aria-describedby": this.hasHint ? this.id + '-hint' : undefined, "aria-autocomplete": "list", onInput: this.onInput.bind(this), value: !this.multiple ? this.state.term : undefined, placeholder: this.placeholder, disabled: this.disabled || this.state.isResolving })), this.state.isResolving && h("cat-spinner", { key: '1350abe2789adba0e65931358e2637a4a6be2b8f' }), this.invalid && (h("cat-icon", { key: 'af9025ce007880906410bc6047ebbb7dab7e5f8c', icon: "$cat:input-error", class: "icon-suffix cat-text-danger", size: "l" })), (this.state.selection.length || this.state.term.length) &&
|
|
650
650
|
!this.disabled &&
|
|
651
651
|
!this.state.isResolving &&
|
|
652
|
-
this.clearable ? (h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: catI18nRegistry.t('input.clear'), onCatClick: () => this.clearInput(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (h("cat-button", { key: '
|
|
652
|
+
this.clearable ? (h("cat-button", { id: `select-clear-btn-${this.id}`, iconOnly: true, icon: "$cat:input-close", variant: "text", size: "s", a11yLabel: catI18nRegistry.t('input.clear'), onCatClick: () => this.clearInput(), "data-dropdown-no-close": true })) : null, !this.state.isResolving && (h("cat-button", { key: '253cd4626cd0c2503f2f6d832656d091b1b1db83', iconOnly: true, icon: "$cat:select-open", class: { 'select-btn': true, 'select-btn-open': this.state.isOpen }, variant: "text", size: "s", a11yLabel: this.state.isOpen ? catI18nRegistry.t('select.close') : catI18nRegistry.t('select.open'), "aria-controls": `select-listbox-${this.id}`, "aria-expanded": this.state.isOpen, tabIndex: -1, disabled: this.disabled || this.state.isResolving, "data-dropdown-no-close": true }))), this.hasHint && (h(CatFormHint, { key: 'f5403e4f52632c7e69c781d3b5f2fe5dd476d086', id: this.id, hint: this.hint, slottedHint: this.hasSlottedHint && h("slot", { name: "hint" }), errorMap: this.errorMap })))), h("div", { key: 'f72b057e941d0a8abc535314e83339a59c09416b', class: "select-dropdown", ref: el => (this.dropdown = el), style: { display: this.state.isOpen ? 'block' : undefined } }, this.state.isOpen && (h("cat-scrollable", { key: '2a9a17d9a9e2e931e15296c504735c6d77ba2a9f', class: "select-options-wrapper", scrolledBuffer: 56, noOverflowX: true, noOverscroll: true, noScrolledInit: true, onScrolledBottom: () => this.more$.next() }, h("ul", { key: 'af6c9b9152eff975198123219f19b840feddac92', class: "select-options", role: "listbox", "aria-multiselectable": this.multiple, "aria-setsize": this.state.totalElements, id: `select-listbox-${this.id}` }, this.optionsList, this.state.isFirstLoading
|
|
653
653
|
? Array.from(Array(CatSelect.SKELETON_COUNT)).map(() => (h("li", { class: "select-option-loading" }, h("cat-skeleton", { variant: "body", lines: 1 }), h("cat-skeleton", { variant: "body", lines: 1 }))))
|
|
654
654
|
: !this.state.options.length &&
|
|
655
655
|
!this.tags && (h("li", { class: "select-option-empty" }, this.noItems ? this.noItems : catI18nRegistry.t('select.empty')))))))));
|
|
@@ -64,6 +64,7 @@ const CatTime$1 = /*@__PURE__*/ proxyCustomElement(class CatTime extends HTMLEle
|
|
|
64
64
|
this.catBlur = createEvent(this, "catBlur", 7);
|
|
65
65
|
this.language = catI18nRegistry.getLocale();
|
|
66
66
|
this.locale = getLocale(this.language);
|
|
67
|
+
this.timeMaskOptions = { timeFormat: this.locale.timeFormat, timePattern: ['h', 'm'] };
|
|
67
68
|
this.hasSlottedLabel = false;
|
|
68
69
|
this.hasSlottedHint = false;
|
|
69
70
|
this.selectionTime = null;
|
|
@@ -123,13 +124,6 @@ const CatTime$1 = /*@__PURE__*/ proxyCustomElement(class CatTime extends HTMLEle
|
|
|
123
124
|
this.hasSlottedLabel = !!this.hostElement.querySelector('[slot="label"]');
|
|
124
125
|
this.hasSlottedHint = !!this.hostElement.querySelector('[slot="hint"]');
|
|
125
126
|
}
|
|
126
|
-
componentDidLoad() {
|
|
127
|
-
this.input?.mask({
|
|
128
|
-
time: true,
|
|
129
|
-
timeFormat: this.locale.timeFormat,
|
|
130
|
-
timePattern: ['h', 'm']
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
127
|
onOpen() {
|
|
134
128
|
const query = (selector) => this.hostElement.shadowRoot?.querySelector(selector);
|
|
135
129
|
const time = clampTime(this.min ?? null, this.selectionTime ?? new Date(2000, 5, 1, 8), this.max ?? null);
|
|
@@ -198,14 +192,14 @@ const CatTime$1 = /*@__PURE__*/ proxyCustomElement(class CatTime extends HTMLEle
|
|
|
198
192
|
}
|
|
199
193
|
render() {
|
|
200
194
|
this.hostElement.tabIndex = Number(this.hostElement.getAttribute('tabindex')) || 0;
|
|
201
|
-
return (h(Host, { key: '
|
|
195
|
+
return (h(Host, { key: 'e0c2114b16b85916f3dce9dfad94d03c12239605' }, h("cat-input", { key: '5efacf81af8c646cfd374a67890052c8456c7427', class: "cat-time-input", ref: el => (this.input = el), requiredMarker: this.requiredMarker, horizontal: this.horizontal, autoComplete: this.autoComplete, clearable: this.clearable, disabled: this.disabled, hint: this.hint, icon: this.icon, iconRight: this.iconRight, identifier: this.identifier, label: this.label, labelHidden: this.labelHidden, name: this.name, placeholder: this.placeholder, textPrefix: this.textPrefix, textSuffix: this.textSuffix, readonly: this.readonly, required: this.required, value: this.format(this.selectionTime, false), errors: this.errors, errorUpdate: this.errorUpdate, testId: this.testId, nativeAttributes: this.nativeAttributes, timeMaskOptions: this.timeMaskOptions, onCatFocus: e => this.catFocus.emit(e.detail), onCatBlur: e => this.onInputBlur(e.detail) }, h("span", { key: '3a6975d2d679c3b115cd4d56793f0754d78a01b9', slot: "label" }, this.hasSlottedLabel && h("slot", { key: 'ba3b9a395737599e0f69df407e310acce9ef43f0', name: "label" }), !this.hasSlottedLabel && this.label, h("span", { key: 'f8f19c73c24d62d890d37d817dedbfb362f5f423', class: "label-aria" }, " (HH:mm)")), h("div", { key: '8bd9f5e3599e9cca6c2a9d8e76882c0c939427e8', slot: "addon", class: "cat-time-addon" }, this.locale.timeFormat === '12' && (h("cat-button", { key: 'b17a3bb5aba864ca5a9beced56c9e7f5618c0758', class: "cat-time-format", disabled: this.disabled || this.readonly, onCatClick: () => this.toggleAm() }, this.isAm ? 'AM' : 'PM')), h("cat-dropdown", { key: '164d26eb81e3645806b31f61086ac08a0ff2a034', slot: "addon", placement: this.placement }, h("cat-button", { key: '47a1f42ae5edb4c074f57e0fca7b06d42084be2f', slot: "trigger", class: "cat-time-toggle", disabled: this.disabled || this.readonly, icon: "$cat:timepicker-clock", iconOnly: true, a11yLabel: this.selectionTime ? `${this.locale.change}, ${this.format(this.selectionTime)}` : this.locale.choose }), h("nav", { key: '7d8479f2d343202ba7f582420687b42747a7267e', slot: "content", class: "cat-nav" }, h("ul", { key: '54bd4225780e10d7e9abb0f31e0fc6a6e58672a7' }, this.timeArray().map(time => {
|
|
202
196
|
const isoTime = formatIso(time);
|
|
203
197
|
const disabled = isBefore(time, this.min ?? null) || isAfter(time, this.max ?? null);
|
|
204
198
|
return (h("li", null, h("cat-button", { class: {
|
|
205
199
|
'cat-nav-item': true,
|
|
206
200
|
'time-disabled': disabled
|
|
207
201
|
}, disabled: disabled, active: isoTime === this.value, color: isoTime === this.value ? 'primary' : 'secondary', variant: isoTime === this.value ? 'filled' : 'outlined', onCatClick: () => this.select(time), "data-time": isoTime }, this.format(time))));
|
|
208
|
-
}))))), this.hasSlottedHint && (h("span", { key: '
|
|
202
|
+
}))))), this.hasSlottedHint && (h("span", { key: '395d2ed324e51c1899004acad59072e47377c29a', slot: "hint" }, h("slot", { key: '4f07ebff747ac5cf97239150875daa8cd5295f2f', name: "hint" }))))));
|
|
209
203
|
}
|
|
210
204
|
timeArray() {
|
|
211
205
|
const result = [];
|