tailwind-clamp 4.4.0 → 4.5.1
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/README.md +27 -11
- package/dist/index.js +3467 -2386
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +2 -2
- package/dist/index.umd.cjs.map +1 -1
- package/package.json +9 -7
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/tailwindcss/dist/plugin.mjs","../lib/resolve-property.js","../lib/log.js","../node_modules/@csstools/css-tokenizer/dist/index.mjs","../node_modules/@csstools/css-parser-algorithms/dist/index.mjs","../node_modules/@csstools/css-calc/dist/index.mjs","../lib/parse-value.js","../lib/clamp.js","../lib/index.js"],"sourcesContent":["function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;export{u as default};\n","const cssTransformValue = [\n 'translate(var(--tw-translate-x), var(--tw-translate-y))',\n 'rotate(var(--tw-rotate))',\n 'skewX(var(--tw-skew-x))',\n 'skewY(var(--tw-skew-y))',\n 'scaleX(var(--tw-scale-x))',\n 'scaleY(var(--tw-scale-y))',\n].join(' ');\n\nexport const resolveProperty = (name) => {\n switch (name) {\n // Sizing & Spacing\n case 'p':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['padding'],\n };\n\n case 'pt':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingTop'],\n };\n\n case 'pb':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBottom'],\n };\n\n case 'pl':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingLeft'],\n };\n\n case 'ps':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineStart'],\n };\n\n case 'pr':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingRight'],\n };\n\n case 'pe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineEnd'],\n };\n\n case 'px':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInline'],\n };\n\n case 'py':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlock'],\n };\n\n case 'pbs':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlockStart'],\n };\n\n case 'pbe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlockEnd'],\n };\n\n case 'm':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['margin'],\n };\n\n case 'mt':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginTop'],\n };\n\n case 'mb':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBottom'],\n };\n\n case 'ml':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginLeft'],\n };\n\n case 'ms':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineStart'],\n };\n\n case 'mr':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginRight'],\n };\n\n case 'me':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineEnd'],\n };\n\n case 'mx':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInline'],\n };\n\n case 'my':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlock'],\n };\n\n case 'mbs':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlockStart'],\n };\n\n case 'mbe':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlockEnd'],\n };\n\n case 'inset':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['inset'],\n };\n\n case 'inset-x':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInline'],\n };\n\n case 'inset-y':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlock'],\n };\n\n case 'start':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineStart'],\n };\n\n case 'end':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineEnd'],\n };\n\n case 'top':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['top'],\n };\n\n case 'left':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['left'],\n };\n\n case 'right':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['right'],\n };\n\n case 'bottom':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['bottom'],\n };\n\n case 'gap':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['gap'],\n };\n\n case 'gap-x':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['columnGap'],\n };\n\n case 'gap-y':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['rowGap'],\n };\n\n case 'w':\n return {\n type: 'spacing',\n key: 'width',\n props: ['width'],\n };\n\n case 'h':\n return {\n type: 'spacing',\n key: 'height',\n props: ['height'],\n };\n\n case 'size':\n return {\n type: 'spacing',\n key: 'size',\n props: ['width', 'height'],\n };\n\n case 'min-w':\n return {\n type: 'spacing',\n key: 'minWidth',\n props: ['minWidth'],\n };\n\n case 'min-h':\n return {\n type: 'spacing',\n key: 'minHeight',\n props: ['minHeight'],\n };\n\n case 'max-w':\n return {\n type: 'spacing',\n key: 'maxWidth',\n props: ['maxWidth'],\n };\n\n case 'max-h':\n return {\n type: 'spacing',\n key: 'maxHeight',\n props: ['maxHeight'],\n };\n\n case 'scroll-m':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMargin'],\n };\n\n case 'scroll-mx':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInline'],\n };\n\n case 'scroll-my':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlock'],\n };\n case 'scroll-ms':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineStart'],\n };\n\n case 'scroll-me':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineEnd'],\n };\n\n case 'scroll-mt':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginTop'],\n };\n\n case 'scroll-mb':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBottom'],\n };\n\n case 'scroll-ml':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginLeft'],\n };\n\n case 'scroll-mr':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginRight'],\n };\n\n case 'scroll-mbs':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlockStart'],\n };\n\n case 'scroll-mbe':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlockEnd'],\n };\n\n case 'scroll-p':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPadding'],\n };\n\n case 'scroll-px':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInline'],\n };\n\n case 'scroll-py':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlock'],\n };\n\n case 'scroll-ps':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineStart'],\n };\n\n case 'scroll-pe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineEnd'],\n };\n\n case 'scroll-pt':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingTop'],\n };\n\n case 'scroll-pb':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBottom'],\n };\n\n case 'scroll-pl':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingLeft'],\n };\n\n case 'scroll-pr':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingRight'],\n };\n\n case 'scroll-pbs':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlockStart'],\n };\n\n case 'scroll-pbe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlockEnd'],\n };\n\n case 'translate':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-x':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-y':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'underline-offset':\n return {\n type: 'regular',\n key: 'textUnderlineOffset',\n props: ['textUnderlineOffset'],\n };\n\n // Border & Stroke\n case 'stroke':\n return {\n type: 'regular',\n key: 'strokeWidth',\n props: ['strokeWidth'],\n };\n\n case 'border':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderWidth'],\n };\n\n case 'border-t':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderTopWidth'],\n };\n\n case 'border-b':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBottomWidth'],\n };\n\n case 'border-l':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderLeftWidth'],\n };\n\n case 'border-s':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineStartWidth'],\n };\n\n case 'border-r':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderRightWidth'],\n };\n\n case 'border-e':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineEndWidth'],\n };\n\n case 'border-x':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineWidth'],\n };\n\n case 'border-y':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockWidth'],\n };\n\n case 'decoration':\n return {\n type: 'regular',\n key: 'textDecorationThickness',\n props: ['textDecorationThickness'],\n };\n\n // Border Radius\n case 'rounded':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderRadius'],\n };\n\n case 'rounded-s':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius', 'borderEndStartRadius'],\n };\n\n case 'rounded-ss':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius'],\n };\n\n case 'rounded-se':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius'],\n };\n\n case 'rounded-e':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius', 'borderEndEndRadius'],\n };\n\n case 'rounded-ee':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndEndRadius'],\n };\n\n case 'rounded-es':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndStartRadius'],\n };\n\n case 'rounded-t':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderTopRightRadius'],\n };\n\n case 'rounded-r':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-b':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-l':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderBottomLeftRadius'],\n };\n\n case 'rounded-tl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius'],\n };\n\n case 'rounded-tr':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius'],\n };\n\n case 'rounded-bl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius'],\n };\n\n case 'rounded-br':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomRightRadius'],\n };\n\n case 'leading':\n return {\n type: 'regular',\n key: 'lineHeight',\n props: ['lineHeight'],\n };\n\n case 'tracking':\n return {\n type: 'regular',\n key: 'letterSpacing',\n props: ['letterSpacing'],\n };\n\n // Type\n case 'text':\n return {\n type: 'fontSize',\n key: 'fontSize',\n props: ['fontSize'],\n };\n\n default:\n return null;\n }\n};\n","export const log = {\n error() {\n console.log('\\x1b[31m', ...arguments, '\\x1b[0m');\n },\n warn() {\n console.log('\\x1b[33m', ...arguments, '\\x1b[0m');\n },\n info() {\n console.log('\\x1b[34m', ...arguments, '\\x1b[0m');\n },\n log() {\n console.log('\\x1b[90m', ...arguments, '\\x1b[0m');\n },\n};\n","class ParseError extends Error{sourceStart;sourceEnd;parserState;constructor(e,n,t,o){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=t,this.parserState=o}}class ParseErrorWithToken extends ParseError{token;constructor(e,n,t,o,r){super(e,n,t,o),this.token=r}}const e={UnexpectedNewLineInString:\"Unexpected newline while consuming a string token.\",UnexpectedEOFInString:\"Unexpected EOF while consuming a string token.\",UnexpectedEOFInComment:\"Unexpected EOF while consuming a comment.\",UnexpectedEOFInURL:\"Unexpected EOF while consuming a url token.\",UnexpectedEOFInEscapedCodePoint:\"Unexpected EOF while consuming an escaped code point.\",UnexpectedCharacterInURL:\"Unexpected character while consuming a url token.\",InvalidEscapeSequenceInURL:\"Invalid escape sequence while consuming a url token.\",InvalidEscapeSequenceAfterBackslash:'Invalid escape sequence after \"\\\\\"'},n=\"undefined\"!=typeof globalThis&&\"structuredClone\"in globalThis;function cloneTokens(e){return n?structuredClone(e):JSON.parse(JSON.stringify(e))}function stringify(...e){let n=\"\";for(let t=0;t<e.length;t++)n+=e[t][1];return n}const t=13,o=45,r=10,i=43,s=65533;function checkIfFourCodePointsWouldStartCDO(e){return 60===e.source.codePointAt(e.cursor)&&33===e.source.codePointAt(e.cursor+1)&&e.source.codePointAt(e.cursor+2)===o&&e.source.codePointAt(e.cursor+3)===o}function isDigitCodePoint(e){return e>=48&&e<=57}function isUppercaseLetterCodePoint(e){return e>=65&&e<=90}function isLowercaseLetterCodePoint(e){return e>=97&&e<=122}function isHexDigitCodePoint(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function isLetterCodePoint(e){return isLowercaseLetterCodePoint(e)||isUppercaseLetterCodePoint(e)}function isIdentStartCodePoint(e){return isLetterCodePoint(e)||isNonASCII_IdentCodePoint(e)||95===e}function isIdentCodePoint(e){return isIdentStartCodePoint(e)||isDigitCodePoint(e)||e===o}function isNonASCII_IdentCodePoint(e){return 183===e||8204===e||8205===e||8255===e||8256===e||8204===e||(192<=e&&e<=214||216<=e&&e<=246||248<=e&&e<=893||895<=e&&e<=8191||8304<=e&&e<=8591||11264<=e&&e<=12271||12289<=e&&e<=55295||63744<=e&&e<=64975||65008<=e&&e<=65533||(0===e||(!!isSurrogate(e)||e>=65536)))}function isNewLine(e){return e===r||e===t||12===e}function isWhitespace(e){return 32===e||e===r||9===e||e===t||12===e}function isSurrogate(e){return e>=55296&&e<=57343}function checkIfTwoCodePointsAreAValidEscape(e){return 92===e.source.codePointAt(e.cursor)&&!isNewLine(e.source.codePointAt(e.cursor+1)??-1)}function checkIfThreeCodePointsWouldStartAnIdentSequence(e,n){return n.source.codePointAt(n.cursor)===o?n.source.codePointAt(n.cursor+1)===o||(!!isIdentStartCodePoint(n.source.codePointAt(n.cursor+1)??-1)||92===n.source.codePointAt(n.cursor+1)&&!isNewLine(n.source.codePointAt(n.cursor+2)??-1)):!!isIdentStartCodePoint(n.source.codePointAt(n.cursor)??-1)||checkIfTwoCodePointsAreAValidEscape(n)}function checkIfThreeCodePointsWouldStartANumber(e){return e.source.codePointAt(e.cursor)===i||e.source.codePointAt(e.cursor)===o?!!isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1)||46===e.source.codePointAt(e.cursor+1)&&isDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1):46===e.source.codePointAt(e.cursor)?isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1):isDigitCodePoint(e.source.codePointAt(e.cursor)??-1)}function checkIfTwoCodePointsStartAComment(e){return 47===e.source.codePointAt(e.cursor)&&42===e.source.codePointAt(e.cursor+1)}function checkIfThreeCodePointsWouldStartCDC(e){return e.source.codePointAt(e.cursor)===o&&e.source.codePointAt(e.cursor+1)===o&&62===e.source.codePointAt(e.cursor+2)}var c,a,u;function mirrorVariantType(e){switch(e){case c.OpenParen:return c.CloseParen;case c.CloseParen:return c.OpenParen;case c.OpenCurly:return c.CloseCurly;case c.CloseCurly:return c.OpenCurly;case c.OpenSquare:return c.CloseSquare;case c.CloseSquare:return c.OpenSquare;default:return null}}function mirrorVariant(e){switch(e[0]){case c.OpenParen:return[c.CloseParen,\")\",-1,-1,void 0];case c.CloseParen:return[c.OpenParen,\"(\",-1,-1,void 0];case c.OpenCurly:return[c.CloseCurly,\"}\",-1,-1,void 0];case c.CloseCurly:return[c.OpenCurly,\"{\",-1,-1,void 0];case c.OpenSquare:return[c.CloseSquare,\"]\",-1,-1,void 0];case c.CloseSquare:return[c.OpenSquare,\"[\",-1,-1,void 0];default:return null}}function consumeComment(n,t){for(t.advanceCodePoint(2);;){const o=t.readCodePoint();if(void 0===o){const o=[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInComment,t.representationStart,t.representationEnd,[\"4.3.2. Consume comments\",\"Unexpected EOF\"],o)),o}if(42===o&&(void 0!==t.source.codePointAt(t.cursor)&&47===t.source.codePointAt(t.cursor))){t.advanceCodePoint();break}}return[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0]}function consumeEscapedCodePoint(n,o){const i=o.readCodePoint();if(void 0===i)return n.onParseError(new ParseError(e.UnexpectedEOFInEscapedCodePoint,o.representationStart,o.representationEnd,[\"4.3.7. Consume an escaped code point\",\"Unexpected EOF\"])),s;if(isHexDigitCodePoint(i)){const e=[i];let n;for(;void 0!==(n=o.source.codePointAt(o.cursor))&&isHexDigitCodePoint(n)&&e.length<6;)e.push(n),o.advanceCodePoint();isWhitespace(o.source.codePointAt(o.cursor)??-1)&&(o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint());const c=parseInt(String.fromCodePoint(...e),16);return 0===c||isSurrogate(c)||c>1114111?s:c}return 0===i||isSurrogate(i)?s:i}function consumeIdentSequence(e,n){const t=[];for(;;){const o=n.source.codePointAt(n.cursor)??-1;if(0===o||isSurrogate(o))t.push(s),n.advanceCodePoint(+(o>65535)+1);else if(isIdentCodePoint(o))t.push(o),n.advanceCodePoint(+(o>65535)+1);else{if(!checkIfTwoCodePointsAreAValidEscape(n))return t;n.advanceCodePoint(),t.push(consumeEscapedCodePoint(e,n))}}}function consumeHashToken(e,n){n.advanceCodePoint();const t=n.source.codePointAt(n.cursor);if(void 0!==t&&(isIdentCodePoint(t)||checkIfTwoCodePointsAreAValidEscape(n))){let t=u.Unrestricted;checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)&&(t=u.ID);const o=consumeIdentSequence(e,n);return[c.Hash,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o),type:t}]}return[c.Delim,\"#\",n.representationStart,n.representationEnd,{value:\"#\"}]}function consumeNumber(e,n){let t=a.Integer;for(n.source.codePointAt(n.cursor)!==i&&n.source.codePointAt(n.cursor)!==o||n.advanceCodePoint();isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(46===n.source.codePointAt(n.cursor)&&isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint(2),t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(101===n.source.codePointAt(n.cursor)||69===n.source.codePointAt(n.cursor)){if(isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))n.advanceCodePoint(2);else{if(n.source.codePointAt(n.cursor+1)!==o&&n.source.codePointAt(n.cursor+1)!==i||!isDigitCodePoint(n.source.codePointAt(n.cursor+2)??-1))return t;n.advanceCodePoint(3)}for(t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint()}return t}function consumeNumericToken(e,n){let t;{const e=n.source.codePointAt(n.cursor);e===o?t=\"-\":e===i&&(t=\"+\")}const r=consumeNumber(0,n),s=parseFloat(n.source.slice(n.representationStart,n.representationEnd+1));if(checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)){const o=consumeIdentSequence(e,n);return[c.Dimension,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r,unit:String.fromCodePoint(...o)}]}return 37===n.source.codePointAt(n.cursor)?(n.advanceCodePoint(),[c.Percentage,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t}]):[c.Number,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r}]}function consumeWhiteSpace(e){for(;isWhitespace(e.source.codePointAt(e.cursor)??-1);)e.advanceCodePoint();return[c.Whitespace,e.source.slice(e.representationStart,e.representationEnd+1),e.representationStart,e.representationEnd,void 0]}!function(e){e.Comment=\"comment\",e.AtKeyword=\"at-keyword-token\",e.BadString=\"bad-string-token\",e.BadURL=\"bad-url-token\",e.CDC=\"CDC-token\",e.CDO=\"CDO-token\",e.Colon=\"colon-token\",e.Comma=\"comma-token\",e.Delim=\"delim-token\",e.Dimension=\"dimension-token\",e.EOF=\"EOF-token\",e.Function=\"function-token\",e.Hash=\"hash-token\",e.Ident=\"ident-token\",e.Number=\"number-token\",e.Percentage=\"percentage-token\",e.Semicolon=\"semicolon-token\",e.String=\"string-token\",e.URL=\"url-token\",e.Whitespace=\"whitespace-token\",e.OpenParen=\"(-token\",e.CloseParen=\")-token\",e.OpenSquare=\"[-token\",e.CloseSquare=\"]-token\",e.OpenCurly=\"{-token\",e.CloseCurly=\"}-token\",e.UnicodeRange=\"unicode-range-token\"}(c||(c={})),function(e){e.Integer=\"integer\",e.Number=\"number\"}(a||(a={})),function(e){e.Unrestricted=\"unrestricted\",e.ID=\"id\"}(u||(u={}));class Reader{cursor=0;source=\"\";representationStart=0;representationEnd=-1;constructor(e){this.source=e}advanceCodePoint(e=1){this.cursor=this.cursor+e,this.representationEnd=this.cursor-1}readCodePoint(){const e=this.source.codePointAt(this.cursor);if(void 0!==e)return this.cursor=this.cursor+1,this.representationEnd=this.cursor-1,e}unreadCodePoint(e=1){this.cursor=this.cursor-e,this.representationEnd=this.cursor-1}resetRepresentation(){this.representationStart=this.cursor,this.representationEnd=-1}}function consumeStringToken(n,o){let i=\"\";const a=o.readCodePoint();for(;;){const u=o.readCodePoint();if(void 0===u){const t=[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInString,o.representationStart,o.representationEnd,[\"4.3.5. Consume a string token\",\"Unexpected EOF\"],t)),t}if(isNewLine(u)){o.unreadCodePoint();const i=[c.BadString,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedNewLineInString,o.representationStart,o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r?o.representationEnd+2:o.representationEnd+1,[\"4.3.5. Consume a string token\",\"Unexpected newline\"],i)),i}if(u===a)return[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];if(92!==u)0===u||isSurrogate(u)?i+=String.fromCodePoint(s):i+=String.fromCodePoint(u);else{if(void 0===o.source.codePointAt(o.cursor))continue;if(isNewLine(o.source.codePointAt(o.cursor)??-1)){o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint();continue}i+=String.fromCodePoint(consumeEscapedCodePoint(n,o))}}}function checkIfCodePointsMatchURLIdent(e){return!(3!==e.length||117!==e[0]&&85!==e[0]||114!==e[1]&&82!==e[1]||108!==e[2]&&76!==e[2])}function consumeBadURL(e,n){for(;;){const t=n.source.codePointAt(n.cursor);if(void 0===t)return;if(41===t)return void n.advanceCodePoint();checkIfTwoCodePointsAreAValidEscape(n)?(n.advanceCodePoint(),consumeEscapedCodePoint(e,n)):n.advanceCodePoint()}}function consumeUrlToken(n,t){for(;isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();let o=\"\";for(;;){if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected EOF\"],r)),r}if(41===t.source.codePointAt(t.cursor))return t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];if(isWhitespace(t.source.codePointAt(t.cursor)??-1)){for(t.advanceCodePoint();isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Consume as much whitespace as possible\",\"Unexpected EOF\"],r)),r}return 41===t.source.codePointAt(t.cursor)?(t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}]):(consumeBadURL(n,t),[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0])}const i=t.source.codePointAt(t.cursor);if(34===i||39===i||40===i||(11===(r=i??-1)||127===r||0<=r&&r<=8||14<=r&&r<=31)){consumeBadURL(n,t);const o=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedCharacterInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected U+0022 QUOTATION MARK (\\\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point\"],o)),o}if(92===i){if(checkIfTwoCodePointsAreAValidEscape(t)){t.advanceCodePoint(),o+=String.fromCodePoint(consumeEscapedCodePoint(n,t));continue}consumeBadURL(n,t);const r=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],r)),r}0===t.source.codePointAt(t.cursor)||isSurrogate(t.source.codePointAt(t.cursor)??-1)?(o+=String.fromCodePoint(s),t.advanceCodePoint()):(o+=t.source[t.cursor],t.advanceCodePoint())}var r}function consumeIdentLikeToken(e,n){const t=consumeIdentSequence(e,n);if(40!==n.source.codePointAt(n.cursor))return[c.Ident,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];if(checkIfCodePointsMatchURLIdent(t)){n.advanceCodePoint();let o=0;for(;;){const e=isWhitespace(n.source.codePointAt(n.cursor)??-1),r=isWhitespace(n.source.codePointAt(n.cursor+1)??-1);if(e&&r){o+=1,n.advanceCodePoint(1);continue}const i=e?n.source.codePointAt(n.cursor+1):n.source.codePointAt(n.cursor);if(34===i||39===i)return o>0&&n.unreadCodePoint(o),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];break}return consumeUrlToken(e,n)}return n.advanceCodePoint(),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}]}function checkIfThreeCodePointsWouldStartAUnicodeRange(e){return!(117!==e.source.codePointAt(e.cursor)&&85!==e.source.codePointAt(e.cursor)||e.source.codePointAt(e.cursor+1)!==i||63!==e.source.codePointAt(e.cursor+2)&&!isHexDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1))}function consumeUnicodeRangeToken(e,n){n.advanceCodePoint(2);const t=[],r=[];let i;for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&isHexDigitCodePoint(i);)t.push(i),n.advanceCodePoint();for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&63===i;)0===r.length&&r.push(...t),t.push(48),r.push(70),n.advanceCodePoint();if(!r.length&&n.source.codePointAt(n.cursor)===o&&isHexDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint();void 0!==(i=n.source.codePointAt(n.cursor))&&r.length<6&&isHexDigitCodePoint(i);)r.push(i),n.advanceCodePoint();if(!r.length){const e=parseInt(String.fromCodePoint(...t),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:e,endOfRange:e}]}const s=parseInt(String.fromCodePoint(...t),16),a=parseInt(String.fromCodePoint(...r),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:s,endOfRange:a}]}function tokenize(e,n){const t=tokenizer(e,n),o=[];for(;!t.endOfFile();)o.push(t.nextToken());return o.push(t.nextToken()),o}function tokenizer(n,s){const a=n.css.valueOf(),u=n.unicodeRangesAllowed??!1,d=new Reader(a),p={onParseError:s?.onParseError??noop};return{nextToken:function nextToken(){d.resetRepresentation();const n=d.source.codePointAt(d.cursor);if(void 0===n)return[c.EOF,\"\",-1,-1,void 0];if(47===n&&checkIfTwoCodePointsStartAComment(d))return consumeComment(p,d);if(u&&(117===n||85===n)&&checkIfThreeCodePointsWouldStartAUnicodeRange(d))return consumeUnicodeRangeToken(0,d);if(isIdentStartCodePoint(n))return consumeIdentLikeToken(p,d);if(isDigitCodePoint(n))return consumeNumericToken(p,d);switch(n){case 44:return d.advanceCodePoint(),[c.Comma,\",\",d.representationStart,d.representationEnd,void 0];case 58:return d.advanceCodePoint(),[c.Colon,\":\",d.representationStart,d.representationEnd,void 0];case 59:return d.advanceCodePoint(),[c.Semicolon,\";\",d.representationStart,d.representationEnd,void 0];case 40:return d.advanceCodePoint(),[c.OpenParen,\"(\",d.representationStart,d.representationEnd,void 0];case 41:return d.advanceCodePoint(),[c.CloseParen,\")\",d.representationStart,d.representationEnd,void 0];case 91:return d.advanceCodePoint(),[c.OpenSquare,\"[\",d.representationStart,d.representationEnd,void 0];case 93:return d.advanceCodePoint(),[c.CloseSquare,\"]\",d.representationStart,d.representationEnd,void 0];case 123:return d.advanceCodePoint(),[c.OpenCurly,\"{\",d.representationStart,d.representationEnd,void 0];case 125:return d.advanceCodePoint(),[c.CloseCurly,\"}\",d.representationStart,d.representationEnd,void 0];case 39:case 34:return consumeStringToken(p,d);case 35:return consumeHashToken(p,d);case i:case 46:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):(d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]);case r:case t:case 12:case 9:case 32:return consumeWhiteSpace(d);case o:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):checkIfThreeCodePointsWouldStartCDC(d)?(d.advanceCodePoint(3),[c.CDC,\"--\\x3e\",d.representationStart,d.representationEnd,void 0]):checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)?consumeIdentLikeToken(p,d):(d.advanceCodePoint(),[c.Delim,\"-\",d.representationStart,d.representationEnd,{value:\"-\"}]);case 60:return checkIfFourCodePointsWouldStartCDO(d)?(d.advanceCodePoint(4),[c.CDO,\"\\x3c!--\",d.representationStart,d.representationEnd,void 0]):(d.advanceCodePoint(),[c.Delim,\"<\",d.representationStart,d.representationEnd,{value:\"<\"}]);case 64:if(d.advanceCodePoint(),checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)){const e=consumeIdentSequence(p,d);return[c.AtKeyword,d.source.slice(d.representationStart,d.representationEnd+1),d.representationStart,d.representationEnd,{value:String.fromCodePoint(...e)}]}return[c.Delim,\"@\",d.representationStart,d.representationEnd,{value:\"@\"}];case 92:{if(checkIfTwoCodePointsAreAValidEscape(d))return consumeIdentLikeToken(p,d);d.advanceCodePoint();const n=[c.Delim,\"\\\\\",d.representationStart,d.representationEnd,{value:\"\\\\\"}];return p.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceAfterBackslash,d.representationStart,d.representationEnd,[\"4.3.1. Consume a token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],n)),n}}return d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]},endOfFile:function endOfFile(){return void 0===d.source.codePointAt(d.cursor)}}}function noop(){}function mutateIdent(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=String.fromCodePoint(...serializeIdent(t));e[1]=o,e[4].value=n}function mutateUnit(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=serializeIdent(t);101===o[0]&&insertEscapedCodePoint(o,0,o[0]);const r=String.fromCodePoint(...o),i=\"+\"===e[4].signCharacter?e[4].signCharacter:\"\",s=e[4].value.toString();e[1]=`${i}${s}${r}`,e[4].unit=n}function serializeIdent(e){let n=0;if(0===e[0])e.splice(0,1,s),n=1;else if(e[0]===o&&e[1]===o)n=2;else if(e[0]===o&&e[1])n=2,isIdentStartCodePoint(e[1])||(n+=insertEscapedCodePoint(e,1,e[1]));else{if(e[0]===o&&!e[1])return[92,e[0]];isIdentStartCodePoint(e[0])?n=1:(n=1,n+=insertEscapedCodePoint(e,0,e[0]))}for(let t=n;t<e.length;t++)0!==e[t]?isIdentCodePoint(e[t])||(t+=insertEscapedCharacter(e,t,e[t])):(e.splice(t,1,s),t++);return e}function insertEscapedCharacter(e,n,t){return e.splice(n,1,92,t),1}function insertEscapedCodePoint(e,n,t){const o=t.toString(16),r=[];for(const e of o)r.push(e.codePointAt(0));return e.splice(n,1,92,...r,32),1+r.length}const d=Object.values(c);function isToken(e){return!!Array.isArray(e)&&(!(e.length<4)&&(!!d.includes(e[0])&&(\"string\"==typeof e[1]&&(\"number\"==typeof e[2]&&\"number\"==typeof e[3]))))}function isTokenNumeric(e){if(!e)return!1;switch(e[0]){case c.Dimension:case c.Number:case c.Percentage:return!0;default:return!1}}function isTokenWhiteSpaceOrComment(e){if(!e)return!1;switch(e[0]){case c.Whitespace:case c.Comment:return!0;default:return!1}}function isTokenAtKeyword(e){return!!e&&e[0]===c.AtKeyword}function isTokenBadString(e){return!!e&&e[0]===c.BadString}function isTokenBadURL(e){return!!e&&e[0]===c.BadURL}function isTokenCDC(e){return!!e&&e[0]===c.CDC}function isTokenCDO(e){return!!e&&e[0]===c.CDO}function isTokenColon(e){return!!e&&e[0]===c.Colon}function isTokenComma(e){return!!e&&e[0]===c.Comma}function isTokenComment(e){return!!e&&e[0]===c.Comment}function isTokenDelim(e){return!!e&&e[0]===c.Delim}function isTokenDimension(e){return!!e&&e[0]===c.Dimension}function isTokenEOF(e){return!!e&&e[0]===c.EOF}function isTokenFunction(e){return!!e&&e[0]===c.Function}function isTokenHash(e){return!!e&&e[0]===c.Hash}function isTokenIdent(e){return!!e&&e[0]===c.Ident}function isTokenNumber(e){return!!e&&e[0]===c.Number}function isTokenPercentage(e){return!!e&&e[0]===c.Percentage}function isTokenSemicolon(e){return!!e&&e[0]===c.Semicolon}function isTokenString(e){return!!e&&e[0]===c.String}function isTokenURL(e){return!!e&&e[0]===c.URL}function isTokenWhitespace(e){return!!e&&e[0]===c.Whitespace}function isTokenOpenParen(e){return!!e&&e[0]===c.OpenParen}function isTokenCloseParen(e){return!!e&&e[0]===c.CloseParen}function isTokenOpenSquare(e){return!!e&&e[0]===c.OpenSquare}function isTokenCloseSquare(e){return!!e&&e[0]===c.CloseSquare}function isTokenOpenCurly(e){return!!e&&e[0]===c.OpenCurly}function isTokenCloseCurly(e){return!!e&&e[0]===c.CloseCurly}function isTokenUnicodeRange(e){return!!e&&e[0]===c.UnicodeRange}export{u as HashType,a as NumberType,ParseError,e as ParseErrorMessage,ParseErrorWithToken,c as TokenType,cloneTokens,isToken,isTokenAtKeyword,isTokenBadString,isTokenBadURL,isTokenCDC,isTokenCDO,isTokenCloseCurly,isTokenCloseParen,isTokenCloseSquare,isTokenColon,isTokenComma,isTokenComment,isTokenDelim,isTokenDimension,isTokenEOF,isTokenFunction,isTokenHash,isTokenIdent,isTokenNumber,isTokenNumeric,isTokenOpenCurly,isTokenOpenParen,isTokenOpenSquare,isTokenPercentage,isTokenSemicolon,isTokenString,isTokenURL,isTokenUnicodeRange,isTokenWhiteSpaceOrComment,isTokenWhitespace,mirrorVariant,mirrorVariantType,mutateIdent,mutateUnit,stringify,tokenize,tokenizer};\n","import{isTokenEOF as e,TokenType as n,isToken as t,stringify as o,mirrorVariant as s,isTokenOpenParen as i,isTokenOpenCurly as r,isTokenOpenSquare as a,isTokenFunction as c,isTokenWhitespace as u,isTokenComment as l,mirrorVariantType as d,ParseError as h,isTokenWhiteSpaceOrComment as p,isTokenCloseParen as m,isTokenComma as k}from\"@csstools/css-tokenizer\";var f;function walkerIndexGenerator(e){let n=e.slice();return(e,t,o)=>{let s=-1;for(let i=n.indexOf(t);i<n.length&&(s=e.indexOf(n[i]),-1===s||s<o);i++);return-1===s||s===o&&t===e[o]&&(s++,s>=e.length)?-1:(n=e.slice(),s)}}function consumeComponentValue(e,n){const t=n[0];if(i(t)||r(t)||a(t)){const t=consumeSimpleBlock(e,n);return{advance:t.advance,node:t.node}}if(c(t)){const t=consumeFunction(e,n);return{advance:t.advance,node:t.node}}if(u(t)){const t=consumeWhitespace(e,n);return{advance:t.advance,node:t.node}}if(l(t)){const t=consumeComment(e,n);return{advance:t.advance,node:t.node}}return{advance:1,node:new TokenNode(t)}}!function(e){e.Function=\"function\",e.SimpleBlock=\"simple-block\",e.Whitespace=\"whitespace\",e.Comment=\"comment\",e.Token=\"token\"}(f||(f={}));class ContainerNodeBaseClass{value=[];indexOf(e){return this.value.indexOf(e)}at(e){if(\"number\"==typeof e)return e<0&&(e=this.value.length+e),this.value[e]}forEach(e,n){if(0===this.value.length)return;const t=walkerIndexGenerator(this.value);let o=0;for(;o<this.value.length;){const s=this.value[o];let i;if(n&&(i={...n}),!1===e({node:s,parent:this,state:i},o))return!1;if(o=t(this.value,s,o),-1===o)break}}walk(e,n){0!==this.value.length&&this.forEach(((n,t)=>!1!==e(n,t)&&((!(\"walk\"in n.node)||!this.value.includes(n.node)||!1!==n.node.walk(e,n.state))&&void 0)),n)}}class FunctionNode extends ContainerNodeBaseClass{type=f.Function;name;endToken;constructor(e,n,t){super(),this.name=e,this.endToken=n,this.value=t}getName(){return this.name[4].value}normalize(){e(this.endToken)&&(this.endToken=[n.CloseParen,\")\",-1,-1,void 0])}tokens(){return e(this.endToken)?[this.name,...this.value.flatMap((e=>e.tokens()))]:[this.name,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.name)+e+o(this.endToken)}toJSON(){return{type:this.type,name:this.getName(),tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isFunctionNode(){return FunctionNode.isFunctionNode(this)}static isFunctionNode(e){return!!e&&(e instanceof FunctionNode&&e.type===f.Function)}}function consumeFunction(n,t){const o=[];let s=1;for(;;){const i=t[s];if(!i||e(i))return n.onParseError(new h(\"Unexpected EOF while consuming a function.\",t[0][2],t[t.length-1][3],[\"5.4.9. Consume a function\",\"Unexpected EOF\"])),{advance:t.length,node:new FunctionNode(t[0],i,o)};if(m(i))return{advance:s+1,node:new FunctionNode(t[0],i,o)};if(p(i)){const e=consumeAllCommentsAndWhitespace(n,t.slice(s));s+=e.advance,o.push(...e.nodes);continue}const r=consumeComponentValue(n,t.slice(s));s+=r.advance,o.push(r.node)}}class SimpleBlockNode extends ContainerNodeBaseClass{type=f.SimpleBlock;startToken;endToken;constructor(e,n,t){super(),this.startToken=e,this.endToken=n,this.value=t}normalize(){if(e(this.endToken)){const e=s(this.startToken);e&&(this.endToken=e)}}tokens(){return e(this.endToken)?[this.startToken,...this.value.flatMap((e=>e.tokens()))]:[this.startToken,...this.value.flatMap((e=>e.tokens())),this.endToken]}toString(){const e=this.value.map((e=>t(e)?o(e):e.toString())).join(\"\");return o(this.startToken)+e+o(this.endToken)}toJSON(){return{type:this.type,startToken:this.startToken,tokens:this.tokens(),value:this.value.map((e=>e.toJSON()))}}isSimpleBlockNode(){return SimpleBlockNode.isSimpleBlockNode(this)}static isSimpleBlockNode(e){return!!e&&(e instanceof SimpleBlockNode&&e.type===f.SimpleBlock)}}function consumeSimpleBlock(n,t){const o=d(t[0][0]);if(!o)throw new Error(\"Failed to parse, a mirror variant must exist for all block open tokens.\");const s=[];let i=1;for(;;){const r=t[i];if(!r||e(r))return n.onParseError(new h(\"Unexpected EOF while consuming a simple block.\",t[0][2],t[t.length-1][3],[\"5.4.8. Consume a simple block\",\"Unexpected EOF\"])),{advance:t.length,node:new SimpleBlockNode(t[0],r,s)};if(r[0]===o)return{advance:i+1,node:new SimpleBlockNode(t[0],r,s)};if(p(r)){const e=consumeAllCommentsAndWhitespace(n,t.slice(i));i+=e.advance,s.push(...e.nodes);continue}const a=consumeComponentValue(n,t.slice(i));i+=a.advance,s.push(a.node)}}class WhitespaceNode{type=f.Whitespace;value;constructor(e){this.value=e}tokens(){return this.value}toString(){return o(...this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isWhitespaceNode(){return WhitespaceNode.isWhitespaceNode(this)}static isWhitespaceNode(e){return!!e&&(e instanceof WhitespaceNode&&e.type===f.Whitespace)}}function consumeWhitespace(e,n){let t=0;for(;;){const e=n[t];if(!u(e))return{advance:t,node:new WhitespaceNode(n.slice(0,t))};t++}}class CommentNode{type=f.Comment;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return o(this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isCommentNode(){return CommentNode.isCommentNode(this)}static isCommentNode(e){return!!e&&(e instanceof CommentNode&&e.type===f.Comment)}}function consumeComment(e,n){return{advance:1,node:new CommentNode(n[0])}}function consumeAllCommentsAndWhitespace(e,n){const t=[];let o=0;for(;;)if(u(n[o])){const e=consumeWhitespace(0,n.slice(o));o+=e.advance,t.push(e.node)}else{if(!l(n[o]))return{advance:o,nodes:t};t.push(new CommentNode(n[o])),o++}}class TokenNode{type=f.Token;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return this.value[1]}toJSON(){return{type:this.type,tokens:this.tokens()}}isTokenNode(){return TokenNode.isTokenNode(this)}static isTokenNode(e){return!!e&&(e instanceof TokenNode&&e.type===f.Token)}}function parseComponentValue(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=consumeComponentValue(s,i);if(e(i[Math.min(r.advance,i.length-1)]))return r.node;s.onParseError(new h(\"Expected EOF after parsing a component value.\",t[0][2],t[t.length-1][3],[\"5.3.9. Parse a component value\",\"Expected EOF\"]))}function parseListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=0;for(;;){if(!i[a]||e(i[a]))return r;const n=consumeComponentValue(s,i.slice(a));r.push(n.node),a+=n.advance}}function parseCommaSeparatedListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];if(0===t.length)return[];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=[],c=0;for(;;){if(!i[c]||e(i[c]))return a.length&&r.push(a),r;if(k(i[c])){r.push(a),a=[],c++;continue}const n=consumeComponentValue(s,t.slice(c));a.push(n.node),c+=n.advance}}function gatherNodeAncestry(e){const n=new Map;return e.walk((e=>{Array.isArray(e.node)?e.node.forEach((t=>{n.set(t,e.parent)})):n.set(e.node,e.parent)})),n}function forEach(e,n,t){if(0===e.length)return;const o=walkerIndexGenerator(e);let s=0;for(;s<e.length;){const i=e[s];let r;if(t&&(r={...t}),!1===n({node:i,parent:{value:e},state:r},s))return!1;if(s=o(e,i,s),-1===s)break}}function walk(e,n,t){0!==e.length&&forEach(e,((t,o)=>!1!==n(t,o)&&((!(\"walk\"in t.node)||!e.includes(t.node)||!1!==t.node.walk(n,t.state))&&void 0)),t)}function replaceComponentValues(e,n){for(let t=0;t<e.length;t++){walk(e[t],((e,t)=>{if(\"number\"!=typeof t)return;const o=n(e.node);o&&(Array.isArray(o)?e.parent.value.splice(t,1,...o):e.parent.value.splice(t,1,o))}))}return e}function stringify(e){return e.map((e=>e.map((e=>o(...e.tokens()))).join(\"\"))).join(\",\")}function isSimpleBlockNode(e){return SimpleBlockNode.isSimpleBlockNode(e)}function isFunctionNode(e){return FunctionNode.isFunctionNode(e)}function isWhitespaceNode(e){return WhitespaceNode.isWhitespaceNode(e)}function isCommentNode(e){return CommentNode.isCommentNode(e)}function isWhiteSpaceOrCommentNode(e){return isWhitespaceNode(e)||isCommentNode(e)}function isTokenNode(e){return TokenNode.isTokenNode(e)}function sourceIndices(e){if(Array.isArray(e)){const n=e[0];if(!n)return[0,0];const t=e[e.length-1]||n;return[sourceIndices(n)[0],sourceIndices(t)[1]]}const n=e.tokens(),t=n[0],o=n[n.length-1];return t&&o?[t[2],o[3]]:[0,0]}export{CommentNode,f as ComponentValueType,ContainerNodeBaseClass,FunctionNode,SimpleBlockNode,TokenNode,WhitespaceNode,forEach,gatherNodeAncestry,isCommentNode,isFunctionNode,isSimpleBlockNode,isTokenNode,isWhiteSpaceOrCommentNode,isWhitespaceNode,parseCommaSeparatedListOfComponentValues,parseComponentValue,parseListOfComponentValues,replaceComponentValues,sourceIndices,stringify,walk,walkerIndexGenerator};\n","import{TokenNode as e,isTokenNode as n,isWhitespaceNode as t,isCommentNode as r,isWhiteSpaceOrCommentNode as a,isSimpleBlockNode as u,isFunctionNode as i,FunctionNode as o,WhitespaceNode as l,parseCommaSeparatedListOfComponentValues as c,replaceComponentValues as s}from\"@csstools/css-parser-algorithms\";import{isTokenDimension as v,TokenType as f,NumberType as m,mutateUnit as p,isTokenNumber as C,isTokenPercentage as g,isTokenIdent as d,isTokenNumeric as D,isTokenOpenParen as N,isTokenDelim as B,isTokenComma as A,isToken as h,tokenizer as F,tokenize as b,stringify as w}from\"@csstools/css-tokenizer\";const E=/[A-Z]/g;function toLowerCaseAZ(e){return e.replace(E,(e=>String.fromCharCode(e.charCodeAt(0)+32)))}const I={cm:\"px\",in:\"px\",mm:\"px\",pc:\"px\",pt:\"px\",px:\"px\",q:\"px\",deg:\"deg\",grad:\"deg\",rad:\"deg\",turn:\"deg\",ms:\"s\",s:\"s\",hz:\"hz\",khz:\"hz\"},S=new Map([[\"cm\",e=>e],[\"mm\",e=>10*e],[\"q\",e=>40*e],[\"in\",e=>e/2.54],[\"pc\",e=>e/2.54*6],[\"pt\",e=>e/2.54*72],[\"px\",e=>e/2.54*96]]),y=new Map([[\"deg\",e=>e],[\"grad\",e=>e/.9],[\"rad\",e=>e/180*Math.PI],[\"turn\",e=>e/360]]),M=new Map([[\"deg\",e=>.9*e],[\"grad\",e=>e],[\"rad\",e=>.9*e/180*Math.PI],[\"turn\",e=>.9*e/360]]),T=new Map([[\"hz\",e=>e],[\"khz\",e=>e/1e3]]),x=new Map([[\"cm\",e=>2.54*e],[\"mm\",e=>25.4*e],[\"q\",e=>25.4*e*4],[\"in\",e=>e],[\"pc\",e=>6*e],[\"pt\",e=>72*e],[\"px\",e=>96*e]]),k=new Map([[\"hz\",e=>1e3*e],[\"khz\",e=>e]]),P=new Map([[\"cm\",e=>e/10],[\"mm\",e=>e],[\"q\",e=>4*e],[\"in\",e=>e/25.4],[\"pc\",e=>e/25.4*6],[\"pt\",e=>e/25.4*72],[\"px\",e=>e/25.4*96]]),O=new Map([[\"ms\",e=>e],[\"s\",e=>e/1e3]]),W=new Map([[\"cm\",e=>e/6*2.54],[\"mm\",e=>e/6*25.4],[\"q\",e=>e/6*25.4*4],[\"in\",e=>e/6],[\"pc\",e=>e],[\"pt\",e=>e/6*72],[\"px\",e=>e/6*96]]),L=new Map([[\"cm\",e=>e/72*2.54],[\"mm\",e=>e/72*25.4],[\"q\",e=>e/72*25.4*4],[\"in\",e=>e/72],[\"pc\",e=>e/72*6],[\"pt\",e=>e],[\"px\",e=>e/72*96]]),U=new Map([[\"cm\",e=>e/96*2.54],[\"mm\",e=>e/96*25.4],[\"q\",e=>e/96*25.4*4],[\"in\",e=>e/96],[\"pc\",e=>e/96*6],[\"pt\",e=>e/96*72],[\"px\",e=>e]]),$=new Map([[\"cm\",e=>e/4/10],[\"mm\",e=>e/4],[\"q\",e=>e],[\"in\",e=>e/4/25.4],[\"pc\",e=>e/4/25.4*6],[\"pt\",e=>e/4/25.4*72],[\"px\",e=>e/4/25.4*96]]),Z=new Map([[\"deg\",e=>180*e/Math.PI],[\"grad\",e=>180*e/Math.PI/.9],[\"rad\",e=>e],[\"turn\",e=>180*e/Math.PI/360]]),z=new Map([[\"ms\",e=>1e3*e],[\"s\",e=>e]]),q=new Map([[\"deg\",e=>360*e],[\"grad\",e=>360*e/.9],[\"rad\",e=>360*e/180*Math.PI],[\"turn\",e=>e]]),G=new Map([[\"cm\",S],[\"mm\",P],[\"q\",$],[\"in\",x],[\"pc\",W],[\"pt\",L],[\"px\",U],[\"ms\",O],[\"s\",z],[\"deg\",y],[\"grad\",M],[\"rad\",Z],[\"turn\",q],[\"hz\",T],[\"khz\",k]]);function convertUnit(e,n){if(!v(e))return n;if(!v(n))return n;const t=toLowerCaseAZ(e[4].unit),r=toLowerCaseAZ(n[4].unit);if(t===r)return n;const a=G.get(r);if(!a)return n;const u=a.get(t);if(!u)return n;const i=u(n[4].value),o=[f.Dimension,\"\",n[2],n[3],{...n[4],signCharacter:i<0?\"-\":void 0,type:Number.isInteger(i)?m.Integer:m.Number,value:i}];return p(o,e[4].unit),o}function toCanonicalUnit(e){if(!v(e))return e;const n=toLowerCaseAZ(e[4].unit),t=I[n];if(n===t)return e;const r=G.get(n);if(!r)return e;const a=r.get(t);if(!a)return e;const u=a(e[4].value),i=[f.Dimension,\"\",e[2],e[3],{...e[4],signCharacter:u<0?\"-\":void 0,type:Number.isInteger(u)?m.Integer:m.Number,value:u}];return p(i,t),i}function addition(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value+r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value+r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value+r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function division(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value/r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:Number.isInteger(n)?m.Integer:m.Number,unit:t[4].unit}])}return-1}function isCalculation(e){return!!e&&\"object\"==typeof e&&\"inputs\"in e&&Array.isArray(e.inputs)&&\"operation\"in e}function solve(e){if(-1===e)return-1;const t=[];for(let r=0;r<e.inputs.length;r++){const a=e.inputs[r];if(n(a)){t.push(a);continue}const u=solve(a);if(-1===u)return-1;t.push(u)}return e.operation(t)}function multiplication(n){if(2!==n.length)return-1;const t=n[0].value,r=n[1].value;if(C(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(C(t)&&g(r)){const n=t[4].value*r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&C(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}if(C(t)&&v(r)){const n=t[4].value*r[4].value;return new e([f.Dimension,n.toString()+r[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:r[4].unit}])}return-1}function resolveGlobalsAndConstants(t,r){for(let a=0;a<t.length;a++){const u=t[a];if(!n(u))continue;const i=u.value;if(!d(i))continue;const o=toLowerCaseAZ(i[4].value);switch(o){case\"e\":t.splice(a,1,new e([f.Number,Math.E.toString(),i[2],i[3],{value:Math.E,type:m.Number}]));break;case\"pi\":t.splice(a,1,new e([f.Number,Math.PI.toString(),i[2],i[3],{value:Math.PI,type:m.Number}]));break;case\"infinity\":t.splice(a,1,new e([f.Number,\"infinity\",i[2],i[3],{value:1/0,type:m.Number}]));break;case\"-infinity\":t.splice(a,1,new e([f.Number,\"-infinity\",i[2],i[3],{value:-1/0,type:m.Number}]));break;case\"nan\":t.splice(a,1,new e([f.Number,\"NaN\",i[2],i[3],{value:Number.NaN,type:m.Number}]));break;default:if(r.has(o)){const n=r.get(o);t.splice(a,1,new e(n))}}}return t}function unary(e){if(1!==e.length)return-1;const n=e[0].value;return D(n)?e[0]:-1}function resultToCalculation(e,n,t){return v(n)?dimensionToCalculation(e,n[4].unit,t):g(n)?percentageToCalculation(e,t):C(n)?numberToCalculation(e,t):-1}function dimensionToCalculation(n,t,r){const a=n.tokens();return{inputs:[new e([f.Dimension,r.toString()+t,a[0][2],a[a.length-1][3],{value:r,type:Number.isInteger(r)?m.Integer:m.Number,unit:t}])],operation:unary}}function percentageToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Percentage,t.toString()+\"%\",r[0][2],r[r.length-1][3],{value:t}])],operation:unary}}function numberToCalculation(n,t){const r=n.tokens();return{inputs:[new e([f.Number,t.toString(),r[0][2],r[r.length-1][3],{value:t,type:Number.isInteger(t)?m.Integer:m.Number}])],operation:unary}}function solveACos(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.acos(t[4].value))}function solveASin(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.asin(t[4].value))}function solveATan(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.atan(t[4].value))}function isDimensionOrNumber(e){return v(e)||C(e)}function arrayOfSameNumeric(e){if(0===e.length)return!0;const n=e[0];if(!D(n))return!1;if(1===e.length)return!0;if(v(n)){const t=toLowerCaseAZ(n[4].unit);for(let r=1;r<e.length;r++){const a=e[r];if(n[0]!==a[0])return!1;if(t!==toLowerCaseAZ(a[4].unit))return!1}return!0}for(let t=1;t<e.length;t++){const r=e[t];if(n[0]!==r[0])return!1}return!0}function twoOfSameNumeric(e,n){return!!D(e)&&(v(e)?e[0]===n[0]&&toLowerCaseAZ(e[4].unit)===toLowerCaseAZ(n[4].unit):e[0]===n[0])}function solveATan2(e,n,t){const r=n.value;if(!isDimensionOrNumber(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;return dimensionToCalculation(e,\"rad\",Math.atan2(r[4].value,a[4].value))}function solveAbs(e,n,t){const r=n.value;if(!D(r))return-1;if(!t.rawPercentages&&g(r))return-1;return resultToCalculation(e,r,Math.abs(r[4].value))}function solveClamp(e,t,r,a,u){if(!n(t)||!n(r)||!n(a))return-1;const i=t.value;if(!D(i))return-1;if(!u.rawPercentages&&g(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;const l=convertUnit(i,a.value);if(!twoOfSameNumeric(i,l))return-1;return resultToCalculation(e,i,Math.max(i[4].value,Math.min(o[4].value,l[4].value)))}function solveCos(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(t[4].unit.toLowerCase()){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.cos(r),numberToCalculation(e,r)}function solveExp(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.exp(t[4].value))}function solveHypot(e,t,r){if(!t.every(n))return-1;const a=t[0].value;if(!D(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=t.map((e=>convertUnit(a,e.value)));if(!arrayOfSameNumeric(u))return-1;const i=u.map((e=>e[4].value)),o=Math.hypot(...i);return resultToCalculation(e,a,o)}function solveMax(e,t,r){if(!t.every(n))return-1;const a=t[0].value;if(!D(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=t.map((e=>convertUnit(a,e.value)));if(!arrayOfSameNumeric(u))return-1;const i=u.map((e=>e[4].value)),o=Math.max(...i);return resultToCalculation(e,a,o)}function solveMin(e,t,r){if(!t.every(n))return-1;const a=t[0].value;if(!D(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=t.map((e=>convertUnit(a,e.value)));if(!arrayOfSameNumeric(u))return-1;const i=u.map((e=>e[4].value)),o=Math.min(...i);return resultToCalculation(e,a,o)}function solveMod(e,n,t){const r=n.value;if(!D(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;let u;return u=0===a[4].value?Number.NaN:Number.isFinite(r[4].value)&&(Number.isFinite(a[4].value)||(a[4].value!==Number.POSITIVE_INFINITY||r[4].value!==Number.NEGATIVE_INFINITY&&!Object.is(0*r[4].value,-0))&&(a[4].value!==Number.NEGATIVE_INFINITY||r[4].value!==Number.POSITIVE_INFINITY&&!Object.is(0*r[4].value,0)))?Number.isFinite(a[4].value)?(r[4].value%a[4].value+a[4].value)%a[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,u)}function solvePow(e,n,t){const r=n.value,a=t.value;if(!C(r))return-1;if(!twoOfSameNumeric(r,a))return-1;return numberToCalculation(e,Math.pow(r[4].value,a[4].value))}function solveRem(e,n,t){const r=n.value;if(!D(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;let u;return u=0===a[4].value?Number.NaN:Number.isFinite(r[4].value)?Number.isFinite(a[4].value)?r[4].value%a[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,u)}function solveRound(e,n,t,r,a){const u=t.value;if(!D(u))return-1;if(!a.rawPercentages&&g(u))return-1;const i=convertUnit(u,r.value);if(!twoOfSameNumeric(u,i))return-1;let o;if(0===i[4].value)o=Number.NaN;else if(Number.isFinite(u[4].value)||Number.isFinite(i[4].value))if(!Number.isFinite(u[4].value)&&Number.isFinite(i[4].value))o=u[4].value;else if(Number.isFinite(u[4].value)&&!Number.isFinite(i[4].value))switch(n){case\"down\":o=u[4].value<0?-1/0:Object.is(-0,0*u[4].value)?-0:0;break;case\"up\":o=u[4].value>0?1/0:Object.is(0,0*u[4].value)?0:-0;break;default:o=Object.is(0,0*u[4].value)?0:-0}else if(Number.isFinite(i[4].value))switch(n){case\"down\":o=Math.floor(u[4].value/i[4].value)*i[4].value;break;case\"up\":o=Math.ceil(u[4].value/i[4].value)*i[4].value;break;case\"to-zero\":o=Math.trunc(u[4].value/i[4].value)*i[4].value;break;default:{let e=Math.floor(u[4].value/i[4].value)*i[4].value,n=Math.ceil(u[4].value/i[4].value)*i[4].value;if(e>n){const t=e;e=n,n=t}const t=Math.abs(u[4].value-e),r=Math.abs(u[4].value-n);o=t===r?n:t<r?e:n;break}}else o=u[4].value;else o=Number.NaN;return resultToCalculation(e,u,o)}function solveSign(e,n,t){const r=n.value;if(!D(r))return-1;if(!t.rawPercentages&&g(r))return-1;return numberToCalculation(e,Math.sign(r[4].value))}function solveSin(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":break;case\"deg\":r=y.get(\"rad\")(t[4].value);break;case\"grad\":r=M.get(\"rad\")(t[4].value);break;case\"turn\":r=q.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.sin(r),numberToCalculation(e,r)}function solveSqrt(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.sqrt(t[4].value))}function solveTan(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;const r=t[4].value;let a=0,u=t[4].value;if(v(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":a=Z.get(\"deg\")(r);break;case\"deg\":a=r,u=y.get(\"rad\")(r);break;case\"grad\":a=M.get(\"deg\")(r),u=M.get(\"rad\")(r);break;case\"turn\":a=q.get(\"deg\")(r),u=q.get(\"rad\")(r);break;default:return-1}const i=a/90;return u=a%90==0&&i%2!=0?i>0?1/0:-1/0:Math.tan(u),numberToCalculation(e,u)}function subtraction(n){if(2!==n.length)return-1;const t=n[0].value;let r=n[1].value;if(C(t)&&C(r)){const n=t[4].value-r[4].value;return new e([f.Number,n.toString(),t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number}])}if(g(t)&&g(r)){const n=t[4].value-r[4].value;return new e([f.Percentage,n.toString()+\"%\",t[2],r[3],{value:n}])}if(v(t)&&v(r)&&(r=convertUnit(t,r),toLowerCaseAZ(t[4].unit)===toLowerCaseAZ(r[4].unit))){const n=t[4].value-r[4].value;return new e([f.Dimension,n.toString()+t[4].unit,t[2],r[3],{value:n,type:t[4].type===m.Integer&&r[4].type===m.Integer?m.Integer:m.Number,unit:t[4].unit}])}return-1}function solveLog(e,t){if(1===t.length){const r=t[0];if(!r||!n(r))return-1;const a=r.value;if(!C(a))return-1;return numberToCalculation(e,Math.log(a[4].value))}if(2===t.length){const r=t[0];if(!r||!n(r))return-1;const a=r.value;if(!C(a))return-1;const u=t[1];if(!u||!n(u))return-1;const i=u.value;if(!C(i))return-1;return numberToCalculation(e,Math.log(a[4].value)/Math.log(i[4].value))}return-1}const R=/^none$/i;function isNone(e){if(Array.isArray(e)){const n=e.filter((e=>!(t(e)&&r(e))));return 1===n.length&&isNone(n[0])}if(!n(e))return!1;const a=e.value;return!!d(a)&&R.test(a[4].value)}const V=String.fromCodePoint(0);function solveRandom(e,n,t,r,a,u){if(-1===n.fixed&&!u.randomCaching)return-1;u.randomCaching||(u.randomCaching={propertyName:\"\",propertyN:0,elementID:\"\",documentID:\"\"}),u.randomCaching&&!u.randomCaching.propertyN&&(u.randomCaching.propertyN=0);const i=t.value;if(!D(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;let l=null;if(a&&(l=convertUnit(i,a.value),!twoOfSameNumeric(i,l)))return-1;if(!Number.isFinite(i[4].value))return resultToCalculation(e,i,Number.NaN);if(!Number.isFinite(o[4].value))return resultToCalculation(e,i,Number.NaN);if(!Number.isFinite(o[4].value-i[4].value))return resultToCalculation(e,i,Number.NaN);if(l&&!Number.isFinite(l[4].value))return resultToCalculation(e,i,i[4].value);const c=-1===n.fixed?sfc32(crc32([n.dashedIdent?n.dashedIdent:`${u.randomCaching?.propertyName} ${u.randomCaching.propertyN++}`,n.elementShared?\"\":u.randomCaching.elementID,u.randomCaching.documentID].join(V))):()=>n.fixed;let s=i[4].value,v=o[4].value;if(s>v&&([s,v]=[v,s]),l&&(l[4].value<=0||Math.abs(s-v)/l[4].value>1e10)&&(l=null),l){const n=Math.max(l[4].value/1e3,1e-9),t=[s];let r=0;for(;;){r+=l[4].value;const e=s+r;if(!(e+n<v)){t.push(v);break}if(t.push(e),e+l[4].value-n>v)break}const a=c();return resultToCalculation(e,i,Number(t[Math.floor(t.length*a)].toFixed(5)))}const f=c();return resultToCalculation(e,i,Number((f*(v-s)+s).toFixed(5)))}function sfc32(e=.34944106645296036,n=.19228640875738723,t=.8784393832007205,r=.04850964319275053){return()=>{const a=((e|=0)+(n|=0)|0)+(r|=0)|0;return r=r+1|0,e=n^n>>>9,n=(t|=0)+(t<<3)|0,t=(t=t<<21|t>>>11)+a|0,(a>>>0)/4294967296}}function crc32(e){let n=0,t=0,r=0;n^=-1;for(let a=0,u=e.length;a<u;a++)r=255&(n^e.charCodeAt(a)),t=Number(\"0x\"+\"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D\".substring(9*r,9*r+8)),n=n>>>8^t;return(-1^n)>>>0}const j=new Map([[\"abs\",function abs(e,n,t){return singleNodeSolver(e,n,t,solveAbs)}],[\"acos\",function acos(e,n,t){return singleNodeSolver(e,n,t,solveACos)}],[\"asin\",function asin(e,n,t){return singleNodeSolver(e,n,t,solveASin)}],[\"atan\",function atan(e,n,t){return singleNodeSolver(e,n,t,solveATan)}],[\"atan2\",function atan2(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveATan2)}],[\"calc\",calc$1],[\"clamp\",function clamp(t,r,u){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!a(e)))],r),l=[],c=[],s=[];{let e=l;for(let t=0;t<i.length;t++){const r=i[t];if(n(r)&&A(r.value)){if(e===s)return-1;if(e===c){e=s;continue}if(e===l){e=c;continue}return-1}e.push(r)}}const v=isNone(l),m=isNone(s);if(v&&m)return calc$1(calcWrapper(c),r,u);const p=solve(calc$1(calcWrapper(c),r,u));if(-1===p)return-1;if(v){const n=solve(calc$1(calcWrapper(s),r,u));return-1===n?-1:solveMin((C=p,g=n,new o([f.Function,\"min(\",-1,-1,{value:\"min\"}],[f.CloseParen,\")\",-1,-1,void 0],[C,new e([f.Comma,\",\",-1,-1,void 0]),g])),[p,n],u)}if(m){const e=solve(calc$1(calcWrapper(l),r,u));return-1===e?-1:solveMax(maxWrapper(e,p),[e,p],u)}var C,g;const d=solve(calc$1(calcWrapper(l),r,u));if(-1===d)return-1;const D=solve(calc$1(calcWrapper(s),r,u));if(-1===D)return-1;return solveClamp(t,d,p,D,u)}],[\"cos\",function cos(e,n,t){return singleNodeSolver(e,n,t,solveCos)}],[\"exp\",function exp(e,n,t){return singleNodeSolver(e,n,t,solveExp)}],[\"hypot\",function hypot(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveHypot)}],[\"log\",function log(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveLog)}],[\"max\",function max(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMax)}],[\"min\",function min(e,n,t){return variadicNodesSolver(e,e.value,n,t,solveMin)}],[\"mod\",function mod(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveMod)}],[\"pow\",function pow(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solvePow)}],[\"random\",function random(e,n,t){const r=parseRandomValueSharing(e.value.filter((e=>!a(e))),n,t);if(-1===r)return-1;const[u,i]=r,o=variadicArguments(i,n,t);if(-1===o)return-1;const[l,c,s]=o;if(!l||!c)return-1;return solveRandom(e,u,l,c,s,t)}],[\"rem\",function rem(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveRem)}],[\"round\",function round(t,r,u){const i=resolveGlobalsAndConstants([...t.value.filter((e=>!a(e)))],r);let o=\"\",l=!1;const c=[],s=[];{let e=c;for(let t=0;t<i.length;t++){const r=i[t];if(!o&&0===c.length&&0===s.length&&n(r)&&d(r.value)){const e=r.value[4].value.toLowerCase();if(Y.has(e)){o=e;continue}}if(n(r)&&A(r.value)){if(e===s)return-1;if(e===c&&o&&0===c.length)continue;if(e===c){l=!0,e=s;continue}return-1}e.push(r)}}const v=solve(calc$1(calcWrapper(c),r,u));if(-1===v)return-1;l||0!==s.length||s.push(new e([f.Number,\"1\",-1,-1,{value:1,type:m.Integer}]));const p=solve(calc$1(calcWrapper(s),r,u));if(-1===p)return-1;o||(o=\"nearest\");return solveRound(t,o,v,p,u)}],[\"sign\",function sign(e,n,t){return singleNodeSolver(e,n,t,solveSign)}],[\"sin\",function sin(e,n,t){return singleNodeSolver(e,n,t,solveSin)}],[\"sqrt\",function sqrt(e,n,t){return singleNodeSolver(e,n,t,solveSqrt)}],[\"tan\",function tan(e,n,t){return singleNodeSolver(e,n,t,solveTan)}]]);function calc$1(e,t,r){const o=resolveGlobalsAndConstants([...e.value.filter((e=>!a(e)))],t);if(1===o.length&&n(o[0]))return{inputs:[o[0]],operation:unary};let l=0;for(;l<o.length;){const e=o[l];if(u(e)&&N(e.startToken)){const n=calc$1(e,t,r);if(-1===n)return-1;o.splice(l,1,n)}else if(i(e)){const n=j.get(e.getName().toLowerCase());if(!n)return-1;const a=n(e,t,r);if(-1===a)return-1;o.splice(l,1,a)}else l++}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!B(r)||\"*\"!==r[4].value&&\"/\"!==r[4].value){l++;continue}const a=o[l+2];if(!a||!n(a)&&!isCalculation(a))return-1;\"*\"!==r[4].value?\"/\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,a],operation:division}):o.splice(l,3,{inputs:[e,a],operation:multiplication})}if(l=0,1===o.length&&isCalculation(o[0]))return o[0];for(;l<o.length;){const e=o[l];if(!e||!n(e)&&!isCalculation(e)){l++;continue}const t=o[l+1];if(!t||!n(t)){l++;continue}const r=t.value;if(!B(r)||\"+\"!==r[4].value&&\"-\"!==r[4].value){l++;continue}const a=o[l+2];if(!a||!n(a)&&!isCalculation(a))return-1;\"+\"!==r[4].value?\"-\"!==r[4].value?l++:o.splice(l,3,{inputs:[e,a],operation:subtraction}):o.splice(l,3,{inputs:[e,a],operation:addition})}return 1===o.length&&isCalculation(o[0])?o[0]:-1}function singleNodeSolver(e,n,t,r){const a=singleArgument(e.value,n,t);return-1===a?-1:r(e,a,t)}function singleArgument(e,n,t){const r=solve(calc$1(calcWrapper(resolveGlobalsAndConstants([...e.filter((e=>!a(e)))],n)),n,t));return-1===r?-1:r}function twoCommaSeparatedNodesSolver(e,n,t,r){const a=twoCommaSeparatedArguments(e.value,n,t);if(-1===a)return-1;const[u,i]=a;return r(e,u,i,t)}function twoCommaSeparatedArguments(e,t,r){const u=resolveGlobalsAndConstants([...e.filter((e=>!a(e)))],t),i=[],o=[];{let e=i;for(let t=0;t<u.length;t++){const r=u[t];if(n(r)&&A(r.value)){if(e===o)return-1;if(e===i){e=o;continue}return-1}e.push(r)}}const l=solve(calc$1(calcWrapper(i),t,r));if(-1===l)return-1;const c=solve(calc$1(calcWrapper(o),t,r));return-1===c?-1:[l,c]}function variadicNodesSolver(e,n,t,r,a){const u=variadicArguments(e.value,t,r);return-1===u?-1:a(e,u,r)}function variadicArguments(e,t,r){const u=resolveGlobalsAndConstants([...e.filter((e=>!a(e)))],t),i=[];{const e=[];let a=[];for(let t=0;t<u.length;t++){const r=u[t];n(r)&&A(r.value)?(e.push(a),a=[]):a.push(r)}e.push(a);for(let n=0;n<e.length;n++){if(0===e[n].length)return-1;const a=solve(calc$1(calcWrapper(e[n]),t,r));if(-1===a)return-1;i.push(a)}}return i}const Y=new Set([\"nearest\",\"up\",\"down\",\"to-zero\"]);function parseRandomValueSharing(e,t,r){const a={isAuto:!1,dashedIdent:\"\",fixed:-1,elementShared:!1},u=e[0];if(!n(u)||!d(u.value))return[a,e];for(let u=0;u<e.length;u++){const i=e[u];if(!n(i))return-1;if(A(i.value))return[a,e.slice(u+1)];if(!d(i.value))return-1;const o=i.value[4].value.toLowerCase();if(\"element-shared\"!==o)if(\"fixed\"!==o)if(\"auto\"!==o)if(o.startsWith(\"--\")){if(-1!==a.fixed||a.isAuto)return-1;a.dashedIdent=o}else;else{if(-1!==a.fixed||a.dashedIdent)return-1;a.isAuto=!0}else{if(a.elementShared||a.dashedIdent||a.isAuto)return-1;u++;const n=e[u];if(!n)return-1;const i=solve(calc$1(calcWrapper([n]),t,r));if(-1===i)return-1;if(!C(i.value))return-1;if(i.value[4].value<0||i.value[4].value>1)return-1;a.fixed=Math.max(0,Math.min(i.value[4].value,1-1e-9))}else{if(-1!==a.fixed)return-1;a.elementShared=!0}}return-1}function calcWrapper(e){return new o([f.Function,\"calc(\",-1,-1,{value:\"calc\"}],[f.CloseParen,\")\",-1,-1,void 0],e)}function maxWrapper(n,t){return new o([f.Function,\"max(\",-1,-1,{value:\"max\"}],[f.CloseParen,\")\",-1,-1,void 0],[n,new e([f.Comma,\",\",-1,-1,void 0]),t])}function patchNaN(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;return D(t)&&Number.isNaN(t[4].value)?C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):g(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])]):-1:n}function patchInfinity(n){if(-1===n)return-1;if(i(n))return n;const t=n.value;if(!D(t))return n;if(Number.isFinite(t[4].value)||Number.isNaN(t[4].value))return n;let r=\"\";return Number.NEGATIVE_INFINITY===t[4].value&&(r=\"-\"),C(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}])]):v(t)?new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:m.Integer,unit:t[4].unit}])]):new o([f.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[f.CloseParen,\")\",t[2],t[3],void 0],[new e([f.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new l([[f.Whitespace,\" \",t[2],t[3],void 0]]),new e([f.Percentage,\"1%\",t[2],t[3],{value:1}])])}function patchMinusZero(e){if(-1===e)return-1;if(i(e))return e;const n=e.value;return D(n)&&Object.is(-0,n[4].value)?(\"-0\"===n[1]||(g(n)?n[1]=\"-0%\":v(n)?n[1]=\"-0\"+n[4].unit:n[1]=\"-0\"),e):e}function patchPrecision(e,n=13){if(-1===e)return-1;if(n<=0)return e;if(i(e))return e;const t=e.value;if(!D(t))return e;if(Number.isInteger(t[4].value))return e;const r=Number(t[4].value.toFixed(n)).toString();return C(t)?t[1]=r:g(t)?t[1]=r+\"%\":v(t)&&(t[1]=r+t[4].unit),e}function patchCanonicalUnit(e){return-1===e?-1:i(e)?e:v(e.value)?(e.value=toCanonicalUnit(e.value),e):e}function patchCalcResult(e,n){let t=e;return n?.toCanonicalUnits&&(t=patchCanonicalUnit(t)),t=patchPrecision(t,n?.precision),t=patchMinusZero(t),n?.censorIntoStandardRepresentableValues||(t=patchNaN(t),t=patchInfinity(t)),t}function tokenizeGlobals(e){const n=new Map;if(!e)return n;for(const[t,r]of e)if(h(r))n.set(t,r);else if(\"string\"!=typeof r);else{const e=F({css:r}),a=e.nextToken();if(e.nextToken(),!e.endOfFile())continue;if(!D(a))continue;n.set(t,a)}return n}function calc(e,n){return calcFromComponentValues(c(b({css:e}),{}),n).map((e=>e.map((e=>w(...e.tokens()))).join(\"\"))).join(\",\")}function calcFromComponentValues(e,n){const t=tokenizeGlobals(n?.globals);return s(e,(e=>{if(!i(e))return;const r=j.get(e.getName().toLowerCase());if(!r)return;const a=patchCalcResult(solve(r(e,t,n??{})),n);return-1!==a?a:void 0}))}const _=new Set(j.keys());export{calc,calcFromComponentValues,_ as mathFunctionNames};\n","import { log } from './log.js';\nimport { calc } from '@csstools/css-calc';\n\nexport const parseValue = (v) => {\n const value = `${v}`;\n const number = parseFloat(value);\n let unit = 'unsupported';\n\n const match = value.match(/px|rem|em/);\n if (match) {\n unit = match[0];\n }\n\n if (number === 0 && unit === 'unsupported') {\n unit = 'zero';\n }\n\n return { number, unit };\n};\n\nexport const parseFontSizeValue = (value) => {\n const values = {};\n if (typeof value === 'string') {\n values.fontSize = parseValue(value);\n } else if (Array.isArray(value)) {\n values.fontSize = parseValue(value[0]);\n\n if (typeof value[1] === 'string') {\n values.lineHeight = parseValue(value[1]);\n } else if (typeof value[1] === 'object') {\n if ('lineHeight' in value[1]) {\n let lh = value[1].lineHeight;\n if (typeof lh === 'string' && lh.includes('calc')) {\n lh = calc(lh);\n }\n const parsed = parseValue(lh);\n if (parsed.unit === 'unsupported') {\n values.lineHeight = {\n number: lh * values.fontSize.number,\n unit: values.fontSize.unit,\n };\n } else {\n values.lineHeight = parsed;\n }\n }\n if ('letterSpacing' in value[1]) {\n values.letterSpacing = parseValue(value[1].letterSpacing);\n }\n }\n }\n return values;\n};\n\nexport const validateValues = (start, end, value, prop = null) => {\n // console.log(start.number === end.number);\n if (start.number === end.number) {\n log.error(\n `Same value for start an end${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n // console.log(start, end);\n\n if (start.unit !== end.unit && start.unit !== 'zero' && end.unit !== 'zero') {\n log.error(\n `Units need to match${prop ? ` (${prop})` : ''}: \"clamp-[${value}]\" ${\n start.unit\n } !== ${end.unit}.`\n );\n return null;\n }\n\n if (start.unit === 'unsupported' || end.unit === 'unsupported') {\n log.error(\n `Only px, rem and em units are supported${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n return true;\n};\n","// https://chriskirknielsen.com/blog/modern-fluid-typography-with-clamp/\n\nexport const clamp = (\n _start,\n _end,\n _minvw = { number: 23.4375, unit: 'rem' },\n _maxvw = { number: 90, unit: 'rem' },\n useContainer = false\n) => {\n const unit = _start.unit === 'zero' ? _end.unit : _start.unit;\n const isPx = unit === 'px';\n\n let start = _start.number;\n let end = _end.number;\n let negative = false;\n\n let minvw = _minvw.number;\n let maxvw = _maxvw.number;\n\n if (_minvw.unit !== 'px' && isPx) {\n minvw = _minvw.number * 16;\n }\n\n if (_minvw.unit === 'px' && !isPx) {\n minvw = _minvw.number / 16;\n }\n\n if (_maxvw.unit !== 'px' && isPx) {\n maxvw = _maxvw.number * 16;\n }\n\n if (_maxvw.unit === 'px' && !isPx) {\n maxvw = _maxvw.number / 16;\n }\n\n if (end < start && start < 0 && end < 0) {\n start = Math.abs(start);\n end = Math.abs(end);\n negative = true;\n } else if (end < start && start > 0 && end > 0) {\n start = start * -1;\n end = end * -1;\n negative = true;\n } else if (end < start) {\n start = Math.abs(start) * -1;\n end = Math.abs(end);\n negative = true;\n }\n\n const slope = (end - start) / (maxvw - minvw);\n const calc = `${(start - minvw * slope).toFixed(6)}${unit} + ${(\n 100 * slope\n ).toFixed(6)}${useContainer ? 'cqw' : 'vw'}`;\n\n const value = `clamp(${start}${unit}, ${calc}, ${end}${unit})`;\n\n return negative ? `calc(${value} * -1)` : value;\n};\n","import plugin from 'tailwindcss/plugin';\nimport { resolveProperty } from './resolve-property.js';\nimport { log } from './log.js';\nimport {\n parseValue,\n parseFontSizeValue,\n validateValues,\n} from './parse-value.js';\nimport { clamp } from './clamp.js';\n\nconst defaultOptions = {\n minSize: '23.4375rem',\n maxSize: '90rem',\n};\n\nfunction getBreakpointValue(customValue, fallback, screens, containers) {\n if (!customValue) {\n return {\n ...parseValue(fallback),\n isContainer: false,\n };\n }\n\n const isContainer = customValue.startsWith('@');\n\n const cleanValue = isContainer ? customValue.slice(1) : customValue;\n const value = isContainer\n ? containers[cleanValue] || cleanValue\n : screens[cleanValue] || cleanValue;\n\n return {\n ...parseValue(value),\n isContainer,\n };\n}\n\nconst isLengthValue = (v) =>\n /^-?\\d*\\.?\\d+(px|rem|em)$/.test(v.trim()) || v.trim() === '0';\n\nexport default plugin.withOptions(function (options = {}) {\n const o = { ...defaultOptions, ...options };\n return function ({ matchUtilities, addBase, theme, config }) {\n const clampTheme = theme('clamp') || {};\n\n // Separate theme values into variable definitions vs utility shortcuts\n const utilityValues = {};\n const variableDefinitions = {};\n\n for (const [name, value] of Object.entries(clampTheme)) {\n if (typeof value !== 'string') continue;\n const firstArg = value.split(',')[0];\n if (isLengthValue(firstArg)) {\n variableDefinitions[name] = value;\n } else {\n utilityValues[name] = value;\n }\n }\n\n // Process variable definitions → inject as computed CSS custom properties\n if (Object.keys(variableDefinitions).length > 0) {\n const screens = theme('screens');\n const containers = theme('containers');\n const rootVars = {};\n\n for (const [name, value] of Object.entries(variableDefinitions)) {\n const args = value.split(',').map((s) => s.trim());\n\n if (args.length < 2) {\n log.error(\n `Theme clamp variable \"--clamp-${name}\" requires at least 2 values (start, end).`,\n );\n continue;\n }\n\n const start = parseValue(args[0]);\n const end = parseValue(args[1]);\n\n const minvw = getBreakpointValue(\n args[2],\n o.minSize,\n screens,\n containers,\n );\n const maxvw = getBreakpointValue(\n args[3],\n o.maxSize,\n screens,\n containers,\n );\n\n if (!validateValues(minvw, maxvw, `--clamp-${name}`)) continue;\n if (!validateValues(start, end, `--clamp-${name}`)) continue;\n\n const useContainer = minvw.isContainer;\n rootVars[`--clamp-${name}`] = clamp(\n start,\n end,\n minvw,\n maxvw,\n useContainer,\n );\n }\n\n if (Object.keys(rootVars).length > 0) {\n addBase({ ':root': rootVars });\n }\n }\n\n matchUtilities(\n {\n clamp: (value) => {\n const args = value.split(',');\n\n if (args.length < 3) {\n log.error(\n `The clamp utility requires at least 3 arguments: \"clamp-[${value}]\".`,\n );\n return {};\n }\n\n const screens = theme('screens');\n const containers = theme('containers');\n\n const minvw = getBreakpointValue(\n args[3],\n o.minSize,\n screens,\n containers,\n );\n\n const maxvw = getBreakpointValue(\n args[4],\n o.maxSize,\n screens,\n containers,\n );\n\n if (!validateValues(minvw, maxvw, value)) {\n return {};\n }\n\n const useContainer = minvw.isContainer;\n const isCustomProperty = args[0].startsWith('--');\n const resolvedProp = isCustomProperty\n ? { type: 'regular', key: null, props: [args[0]] }\n : resolveProperty(args[0]);\n\n if (!resolvedProp) {\n log.error(\n `Property \"${args[0]}\" is not supported: \"clamp-[${value}]\".`,\n );\n return {};\n }\n\n const { key, props, type } = resolvedProp;\n\n // handle fontSize separately\n if (type === 'fontSize') {\n const start = parseFontSizeValue(\n config().theme[key][args[1]] || args[1],\n );\n const end = parseFontSizeValue(\n config().theme[key][args[2]] || args[2],\n );\n\n const css = {};\n\n Object.keys(start).forEach((k) => {\n if (k in end) {\n if (\n (k === 'letterSpacing' || k === 'lineHeight') &&\n start[k].number === end[k].number &&\n start[k].unit === end[k].unit\n ) {\n css[k] = `${start[k].number}${start[k].unit}`;\n } else if (validateValues(start[k], end[k], value, k)) {\n const val = clamp(\n start[k],\n end[k],\n minvw,\n maxvw,\n useContainer,\n );\n css[k] = val;\n }\n }\n });\n\n return css;\n }\n\n // Other values\n let start = parseValue(\n key ? config().theme[key]?.[args[1]] || args[1] : args[1],\n );\n let end = parseValue(\n key ? config().theme[key]?.[args[2]] || args[2] : args[2],\n );\n\n // Handle spacing values\n if (type === 'spacing') {\n const spacing = parseValue(\n typeof theme('spacing') === 'string'\n ? theme('spacing')\n : theme('spacing.1'),\n );\n\n const startIsUnitless = /^-?\\d*\\.?\\d+$/.test(args[1]);\n const endIsUnitless = /^-?\\d*\\.?\\d+$/.test(args[2]);\n\n if (startIsUnitless) {\n start = {\n number: spacing.number * parseFloat(args[1]),\n unit: spacing.unit,\n };\n }\n\n if (endIsUnitless) {\n end = {\n number: spacing.number * parseFloat(args[2]),\n unit: spacing.unit,\n };\n }\n }\n\n if (!validateValues(start, end, value)) {\n return {};\n }\n\n const val = clamp(start, end, minvw, maxvw, useContainer);\n\n const css = props.reduce((acc, prop) => {\n if (typeof prop === 'string') {\n acc[prop] = val;\n } else {\n acc = { ...acc, ...prop };\n }\n return acc;\n }, {});\n\n return css;\n },\n },\n { values: utilityValues },\n {\n supportsNegativeValues: false,\n modifiers: {\n pattern: /[\\w-]+(?:,[\\w-]+){2}/, // Matches \"text,lg,3xl\" format\n },\n },\n );\n };\n});\n"],"names":["g","i","n","t","o","u","resolveProperty","name","log","ParseError","e","__publicField","ParseErrorWithToken","r","stringify","s","checkIfFourCodePointsWouldStartCDO","isDigitCodePoint","isUppercaseLetterCodePoint","isLowercaseLetterCodePoint","isHexDigitCodePoint","isLetterCodePoint","isIdentStartCodePoint","isNonASCII_IdentCodePoint","isIdentCodePoint","isSurrogate","isNewLine","isWhitespace","checkIfTwoCodePointsAreAValidEscape","checkIfThreeCodePointsWouldStartAnIdentSequence","checkIfThreeCodePointsWouldStartANumber","checkIfTwoCodePointsStartAComment","checkIfThreeCodePointsWouldStartCDC","c","a","mirrorVariantType","mirrorVariant","consumeComment","consumeEscapedCodePoint","consumeIdentSequence","consumeHashToken","consumeNumber","consumeNumericToken","consumeWhiteSpace","Reader","consumeStringToken","checkIfCodePointsMatchURLIdent","consumeBadURL","consumeUrlToken","consumeIdentLikeToken","checkIfThreeCodePointsWouldStartAUnicodeRange","consumeUnicodeRangeToken","tokenize","tokenizer","d","p","noop","mutateUnit","serializeIdent","insertEscapedCodePoint","insertEscapedCharacter","isToken","isTokenNumeric","isTokenWhiteSpaceOrComment","isTokenComma","isTokenComment","isTokenDelim","isTokenDimension","isTokenEOF","isTokenFunction","isTokenIdent","isTokenNumber","isTokenPercentage","isTokenWhitespace","isTokenOpenParen","isTokenCloseParen","isTokenOpenSquare","isTokenOpenCurly","f","walkerIndexGenerator","consumeComponentValue","consumeSimpleBlock","consumeFunction","consumeWhitespace","l","TokenNode","ContainerNodeBaseClass","FunctionNode","h","m","consumeAllCommentsAndWhitespace","SimpleBlockNode","WhitespaceNode","CommentNode","parseCommaSeparatedListOfComponentValues","k","forEach","walk","replaceComponentValues","isSimpleBlockNode","isFunctionNode","isWhitespaceNode","isCommentNode","isWhiteSpaceOrCommentNode","isTokenNode","E","toLowerCaseAZ","S","y","M","T","x","P","O","W","L","U","$","Z","z","q","G","convertUnit","v","addition","C","division","isCalculation","solve","multiplication","resolveGlobalsAndConstants","unary","D","resultToCalculation","dimensionToCalculation","percentageToCalculation","numberToCalculation","solveACos","solveASin","solveATan","isDimensionOrNumber","arrayOfSameNumeric","twoOfSameNumeric","solveATan2","solveAbs","solveClamp","solveCos","solveExp","solveHypot","solveMax","solveMin","solveMod","solvePow","solveRem","solveRound","solveSign","solveSin","solveSqrt","solveTan","subtraction","solveLog","R","isNone","V","solveRandom","_a","sfc32","crc32","j","singleNodeSolver","twoCommaSeparatedNodesSolver","calc$1","A","calcWrapper","maxWrapper","variadicNodesSolver","parseRandomValueSharing","variadicArguments","Y","N","B","singleArgument","twoCommaSeparatedArguments","patchNaN","patchInfinity","patchMinusZero","patchPrecision","patchCalcResult","tokenizeGlobals","calc","calcFromComponentValues","b","w","parseValue","value","number","unit","match","parseFontSizeValue","values","lh","parsed","validateValues","start","end","prop","clamp","_start","_end","_minvw","_maxvw","useContainer","isPx","negative","minvw","maxvw","slope","defaultOptions","getBreakpointValue","customValue","fallback","screens","containers","isContainer","cleanValue","isLengthValue","index","plugin","options","matchUtilities","addBase","theme","config","clampTheme","utilityValues","variableDefinitions","firstArg","rootVars","args","_b","resolvedProp","key","props","type","css","val","spacing","startIsUnitless","endIsUnitless","acc"],"mappings":";;;AAAA,SAASA,GAAEC,GAAEC,GAAE;AAAC,SAAM,EAAC,SAAQD,GAAE,QAAOC,EAAC;AAAC;AAACF,GAAE,cAAY,SAASC,GAAEC,IAAE,OAAK,CAAA,IAAI;AAAC,WAASC,EAAEC,GAAE;AAAC,WAAM,EAAC,SAAQH,EAAEG,CAAC,GAAE,QAAOF,EAAEE,CAAC,EAAC;AAAA,EAAC;AAAC,SAAOD,EAAE,sBAAoB,IAAGA;AAAC;AAAE,IAAIE,KAAEL;ACSjK,MAAMM,KAAkB,CAACC,MAAS;AACvC,UAAQA,GAAI;AAAA;AAAA,IAEV,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,SAAS;AAAA,MACzB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,YAAY;AAAA,MAC5B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,eAAe;AAAA,MAC/B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,eAAe;AAAA,MAC/B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,iBAAiB;AAAA,MACjC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,QAAQ;AAAA,MACxB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,WAAW;AAAA,MAC3B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,YAAY;AAAA,MAC5B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,iBAAiB;AAAA,MACjC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,gBAAgB;AAAA,MAChC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,OAAO;AAAA,MACvB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,YAAY;AAAA,MAC5B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,gBAAgB;AAAA,MAChC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,KAAK;AAAA,MACrB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,MAAM;AAAA,MACtB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,OAAO;AAAA,MACvB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,QAAQ;AAAA,MACxB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,KAAK;AAAA,MACrB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,WAAW;AAAA,MAC3B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,QAAQ;AAAA,MACxB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,OAAO;AAAA,MACvB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,QAAQ;AAAA,MACxB;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,SAAS,QAAQ;AAAA,MACjC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,UAAU;AAAA,MAC1B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,WAAW;AAAA,MAC3B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,UAAU;AAAA,MAC1B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,WAAW;AAAA,MAC3B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IACI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,yBAAyB;AAAA,MACzC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,uBAAuB;AAAA,MACvC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,iBAAiB;AAAA,MACjC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB;AAAA,MACxC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,sBAAsB;AAAA,MACtC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,eAAe;AAAA,MAC/B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,qBAAqB;AAAA,MACrC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,0BAA0B;AAAA,MAC1C;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB;AAAA,MACxC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,qBAAqB;AAAA,MACrC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,yBAAyB;AAAA,MACzC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,uBAAuB;AAAA,MACvC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,EAAE,WAAW,8CAA6C;AAAA,QACpE;AAAA,MACA;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACL;AAAA,UACA,EAAE,WAAW,8CAA6C;AAAA,QACpE;AAAA,MACA;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO;AAAA,UACL;AAAA,UACA,EAAE,WAAW,8CAA6C;AAAA,QACpE;AAAA,MACA;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,qBAAqB;AAAA,MACrC;AAAA;AAAA,IAGI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,aAAa;AAAA,MAC7B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,gBAAgB;AAAA,MAChC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,iBAAiB;AAAA,MACjC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB;AAAA,MACxC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,sBAAsB;AAAA,MACtC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,mBAAmB;AAAA,MACnC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,kBAAkB;AAAA,MAClC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,yBAAyB;AAAA,MACzC;AAAA;AAAA,IAGI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,cAAc;AAAA,MAC9B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,0BAA0B,sBAAsB;AAAA,MAChE;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB;AAAA,MACxC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,sBAAsB;AAAA,MACtC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB,oBAAoB;AAAA,MAC5D;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,oBAAoB;AAAA,MACpC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,sBAAsB;AAAA,MACtC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,uBAAuB,sBAAsB;AAAA,MAC7D;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB,yBAAyB;AAAA,MACjE;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,0BAA0B,yBAAyB;AAAA,MACnE;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,uBAAuB,wBAAwB;AAAA,MAC/D;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,qBAAqB;AAAA,MACrC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,sBAAsB;AAAA,MACtC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,wBAAwB;AAAA,MACxC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,yBAAyB;AAAA,MACzC;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,YAAY;AAAA,MAC5B;AAAA,IAEI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,eAAe;AAAA,MAC/B;AAAA;AAAA,IAGI,KAAK;AACH,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK;AAAA,QACL,OAAO,CAAC,UAAU;AAAA,MAC1B;AAAA,IAEI;AACE,aAAO;AAAA,EACb;AACA,GC3rBaC,KAAM;AAAA,EACjB,QAAQ;AACN,YAAQ,IAAI,YAAY,GAAG,WAAW,SAAS;AAAA,EACjD;AAAA,EACA,OAAO;AACL,YAAQ,IAAI,YAAY,GAAG,WAAW,SAAS;AAAA,EACjD;AAAA,EACA,OAAO;AACL,YAAQ,IAAI,YAAY,GAAG,WAAW,SAAS;AAAA,EACjD;AAAA,EACA,MAAM;AACJ,YAAQ,IAAI,YAAY,GAAG,WAAW,SAAS;AAAA,EACjD;AACF;ACbA,MAAMC,WAAmB,MAAK;AAAA,EAAmC,YAAYC,GAAER,GAAEC,GAAEC,GAAE;AAAC,UAAMM,CAAC;AAA9D,IAAAC,EAAA;AAAY,IAAAA,EAAA;AAAU,IAAAA,EAAA;AAA0C,SAAK,OAAK,cAAa,KAAK,cAAYT,GAAE,KAAK,YAAUC,GAAE,KAAK,cAAYC;AAAA,EAAC;AAAC;AAAC,MAAMQ,UAA4BH,GAAU;AAAA,EAAO,YAAYC,GAAER,GAAEC,GAAEC,GAAES,GAAE;AAAC,UAAMH,GAAER,GAAEC,GAAEC,CAAC;AAA1C,IAAAO,EAAA;AAA4C,SAAK,QAAME;AAAA,EAAC;AAAC;AAAM,MAACH,IAAE,EAAC,2BAA0B,sDAAqD,uBAAsB,kDAAiD,wBAAuB,6CAA4C,oBAAmB,+CAA8C,iCAAgC,yDAAwD,0BAAyB,qDAAoD,4BAA2B,wDAAuD,qCAAoC,qCAAoC;AAAqJ,SAASI,KAAaJ,GAAE;AAAC,MAAIR,IAAE;AAAG,WAAQC,IAAE,GAAEA,IAAEO,EAAE,QAAOP,IAAI,CAAAD,KAAGQ,EAAEP,CAAC,EAAE,CAAC;AAAE,SAAOD;AAAC;AAAC,MAAMC,KAAE,IAAGC,IAAE,IAAGS,KAAE,IAAGZ,KAAE,IAAGc,IAAE;AAAM,SAASC,GAAmCN,GAAE;AAAC,SAAYA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAA0CA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC,MAAuCA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIN,KAAGM,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIN;AAAC;AAAC,SAASa,EAAiBP,GAAE;AAAC,SAAOA,KAAG,MAAIA,KAAG;AAAE;AAAC,SAASQ,GAA2BR,GAAE;AAAC,SAAOA,KAAG,MAAIA,KAAG;AAAE;AAAC,SAASS,GAA2BT,GAAE;AAAC,SAAOA,KAAG,MAAIA,KAAG;AAAG;AAAC,SAASU,GAAoBV,GAAE;AAAC,SAAOA,KAAG,MAAIA,KAAG,MAAIA,KAAG,MAAIA,KAAG,OAAKA,KAAG,MAAIA,KAAG;AAAE;AAAC,SAASW,GAAkBX,GAAE;AAAC,SAAOS,GAA2BT,CAAC,KAAGQ,GAA2BR,CAAC;AAAC;AAAC,SAASY,GAAsBZ,GAAE;AAAC,SAAOW,GAAkBX,CAAC,KAAGa,GAA0Bb,CAAC,KAAQA,MAAL;AAAM;AAAC,SAASc,GAAiBd,GAAE;AAAC,SAAOY,GAAsBZ,CAAC,KAAGO,EAAiBP,CAAC,KAAGA,MAAIN;AAAC;AAAC,SAASmB,GAA0Bb,GAAE;AAAC,SAAaA,MAAN,OAAgBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAiBA,MAAP,QAAW,OAAKA,KAAGA,KAAG,OAAK,OAAKA,KAAGA,KAAG,OAAK,OAAKA,KAAGA,KAAG,OAAK,OAAKA,KAAGA,KAAG,QAAM,QAAMA,KAAGA,KAAG,QAAM,SAAOA,KAAGA,KAAG,SAAO,SAAOA,KAAGA,KAAG,SAAO,SAAOA,KAAGA,KAAG,SAAO,SAAOA,KAAGA,KAAG,SAAYA,MAAJ,KAAQ,CAAC,CAACe,GAAYf,CAAC,KAAGA,KAAG;AAAQ;AAAC,SAASgB,GAAUhB,GAAE;AAAC,SAAOA,MAAIG,MAAGH,MAAIP,MAAQO,MAAL;AAAM;AAAC,SAASiB,EAAajB,GAAE;AAAC,SAAYA,MAAL,MAAQA,MAAIG,MAAOH,MAAJ,KAAOA,MAAIP,MAAQO,MAAL;AAAM;AAAC,SAASe,GAAYf,GAAE;AAAC,SAAOA,KAAG,SAAOA,KAAG;AAAK;AAAC,SAASkB,GAAoClB,GAAE;AAAC,SAAYA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAAqC,CAACgB,GAAUhB,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE;AAAC;AAAC,SAASmB,GAAgDnB,GAAER,GAAE;AAAC,SAAOA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIE,IAAEF,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIE,KAAI,CAAC,CAACkB,GAAsBpB,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,KAAQA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC,MAAuC,CAACwB,GAAUxB,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,IAAG,CAAC,CAACoB,GAAsBpB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,KAAG0B,GAAoC1B,CAAC;AAAC;AAAC,SAAS4B,GAAwCpB,GAAE;AAAC,SAAOA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIT,MAAGS,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIN,IAAE,CAAC,CAACa,EAAiBP,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,KAAQA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC,MAAuCO,EAAiBP,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,IAAOA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,KAAoCO,EAAiBP,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,IAAEO,EAAiBP,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE;AAAC;AAAC,SAASqB,GAAkCrB,GAAE;AAAC,SAAYA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAA0CA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC;AAAqC;AAAC,SAASsB,GAAoCtB,GAAE;AAAC,SAAOA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIN,KAAGM,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIN,KAAQM,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC;AAAqC;AAAC,IAAIuB,GAAEC,GAAE7B;AAAE,SAAS8B,GAAkBzB,GAAE;AAAC,UAAOA,GAAC;AAAA,IAAE,KAAKuB,EAAE;AAAU,aAAOA,EAAE;AAAA,IAAW,KAAKA,EAAE;AAAW,aAAOA,EAAE;AAAA,IAAU,KAAKA,EAAE;AAAU,aAAOA,EAAE;AAAA,IAAW,KAAKA,EAAE;AAAW,aAAOA,EAAE;AAAA,IAAU,KAAKA,EAAE;AAAW,aAAOA,EAAE;AAAA,IAAY,KAAKA,EAAE;AAAY,aAAOA,EAAE;AAAA,IAAW;AAAQ,aAAO;AAAA,EAAI;AAAC;AAAC,SAASG,GAAc1B,GAAE;AAAC,UAAOA,EAAE,CAAC,GAAC;AAAA,IAAE,KAAKuB,EAAE;AAAU,aAAM,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE,KAAKA,EAAE;AAAW,aAAM,CAACA,EAAE,WAAU,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE,KAAKA,EAAE;AAAU,aAAM,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE,KAAKA,EAAE;AAAW,aAAM,CAACA,EAAE,WAAU,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE,KAAKA,EAAE;AAAW,aAAM,CAACA,EAAE,aAAY,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE,KAAKA,EAAE;AAAY,aAAM,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM;AAAA,IAAE;AAAQ,aAAO;AAAA,EAAI;AAAC;AAAC,SAASI,GAAenC,GAAEC,GAAE;AAAC,OAAIA,EAAE,iBAAiB,CAAC,OAAI;AAAC,UAAMC,IAAED,EAAE;AAAgB,QAAYC,MAAT,QAAW;AAAC,YAAMA,IAAE,CAAC6B,EAAE,SAAQ9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAE,aAAOD,EAAE,aAAa,IAAIU,EAAoBF,EAAE,wBAAuBP,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,2BAA0B,gBAAgB,GAAEC,CAAC,CAAC,GAAEA;AAAA,IAAC;AAAC,QAAQA,MAAL,MAAkBD,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAtC,UAA8CA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,IAAqC;AAAC,MAAAA,EAAE;AAAmB;AAAA,IAAK;AAAA,EAAC;AAAC,SAAM,CAAC8B,EAAE,SAAQ9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAC;AAAC,SAASmC,GAAwBpC,GAAEE,GAAE;AAAC,QAAMH,IAAEG,EAAE,cAAa;AAAG,MAAYH,MAAT,OAAW,QAAOC,EAAE,aAAa,IAAIO,GAAWC,EAAE,iCAAgCN,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,wCAAuC,gBAAgB,CAAC,CAAC,GAAEW;AAAE,MAAGK,GAAoBnB,CAAC,GAAE;AAAC,UAAMS,IAAE,CAACT,CAAC;AAAE,QAAIC;AAAE,YAAeA,IAAEE,EAAE,OAAO,YAAYA,EAAE,MAAM,OAAzC,UAA6CgB,GAAoBlB,CAAC,KAAGQ,EAAE,SAAO,IAAG,CAAAA,EAAE,KAAKR,CAAC,GAAEE,EAAE;AAAmB,IAAAuB,EAAavB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,MAAIA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAID,MAAGC,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIS,MAAGT,EAAE,iBAAgB,GAAGA,EAAE;AAAoB,UAAM6B,IAAE,SAAS,OAAO,cAAc,GAAGvB,CAAC,GAAE,EAAE;AAAE,WAAWuB,MAAJ,KAAOR,GAAYQ,CAAC,KAAGA,IAAE,UAAQlB,IAAEkB;AAAA,EAAC;AAAC,SAAWhC,MAAJ,KAAOwB,GAAYxB,CAAC,IAAEc,IAAEd;AAAC;AAAC,SAASsC,GAAqB7B,GAAER,GAAE;AAAC,QAAMC,IAAE,CAAA;AAAG,aAAO;AAAC,UAAMC,IAAEF,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG;AAAG,QAAOE,MAAJ,KAAOqB,GAAYrB,CAAC,EAAE,CAAAD,EAAE,KAAKY,CAAC,GAAEb,EAAE,iBAAiB,EAAEE,IAAE,SAAO,CAAC;AAAA,aAAUoB,GAAiBpB,CAAC,EAAE,CAAAD,EAAE,KAAKC,CAAC,GAAEF,EAAE,iBAAiB,EAAEE,IAAE,SAAO,CAAC;AAAA,SAAM;AAAC,UAAG,CAACwB,GAAoC1B,CAAC,EAAE,QAAOC;AAAE,MAAAD,EAAE,iBAAgB,GAAGC,EAAE,KAAKmC,GAAwB5B,GAAER,CAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,SAASsC,GAAiB9B,GAAER,GAAE;AAAC,EAAAA,EAAE,iBAAgB;AAAG,QAAMC,IAAED,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,MAAYC,MAAT,WAAaqB,GAAiBrB,CAAC,KAAGyB,GAAoC1B,CAAC,IAAG;AAAC,QAAIC,IAAEE,GAAE;AAAa,IAAAwB,GAAgD,GAAE3B,CAAC,MAAIC,IAAEE,GAAE;AAAI,UAAM,IAAEkC,GAAqB7B,GAAER,CAAC;AAAE,WAAM,CAAC+B,EAAE,MAAK/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,OAAO,cAAc,GAAG,CAAC,GAAE,MAAKC,EAAC,CAAC;AAAA,EAAC;AAAC,SAAM,CAAC8B,EAAE,OAAM,KAAI/B,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,IAAG,CAAC;AAAC;AAAC,SAASuC,GAAc/B,GAAER,GAAE;AAAC,MAAIC,IAAE+B,EAAE;AAAQ,OAAIhC,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAID,MAAGC,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIE,KAAGF,EAAE,iBAAgB,GAAGe,EAAiBf,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE;AAAmB,MAAQA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAAqCe,EAAiBf,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,EAAE,MAAIA,EAAE,iBAAiB,CAAC,GAAEC,IAAE+B,EAAE,QAAOjB,EAAiBf,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE,iBAAgB;AAAG,MAASA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAnC,OAA2CA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,IAAoC;AAAC,QAAGe,EAAiBf,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,EAAE,CAAAA,EAAE,iBAAiB,CAAC;AAAA,SAAM;AAAC,UAAGA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIE,KAAGF,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAID,MAAG,CAACgB,EAAiBf,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,EAAE,QAAOC;AAAE,MAAAD,EAAE,iBAAiB,CAAC;AAAA,IAAC;AAAC,SAAIC,IAAE+B,EAAE,QAAOjB,EAAiBf,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE,iBAAgB;AAAA,EAAE;AAAC,SAAOC;AAAC;AAAC,SAASuC,GAAoBhC,GAAER,GAAE;AAAC,MAAIC;AAAE;AAAC,UAAMO,IAAER,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,IAAAQ,MAAIN,IAAED,IAAE,MAAIO,MAAIT,OAAIE,IAAE;AAAA,EAAI;AAAC,QAAM,IAAEsC,GAAc,GAAEvC,CAAC,GAAEa,IAAE,WAAWb,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,CAAC;AAAE,MAAG2B,GAAgD,GAAE3B,CAAC,GAAE;AAAC,UAAME,IAAEmC,GAAqB7B,GAAER,CAAC;AAAE,WAAM,CAAC+B,EAAE,WAAU/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMa,GAAE,eAAcZ,GAAE,MAAK,GAAE,MAAK,OAAO,cAAc,GAAGC,CAAC,EAAC,CAAC;AAAA,EAAC;AAAC,SAAYF,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAAqCA,EAAE,oBAAmB,CAAC+B,EAAE,YAAW/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMa,GAAE,eAAcZ,EAAC,CAAC,KAAG,CAAC8B,EAAE,QAAO/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMa,GAAE,eAAcZ,GAAE,MAAK,EAAC,CAAC;AAAC;AAAC,SAASwC,GAAkBjC,GAAE;AAAC,SAAKiB,EAAajB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE,iBAAgB;AAAG,SAAM,CAACuB,EAAE,YAAWvB,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAC;AAAA,CAAE,SAASA,GAAE;AAAC,EAAAA,EAAE,UAAQ,WAAUA,EAAE,YAAU,oBAAmBA,EAAE,YAAU,oBAAmBA,EAAE,SAAO,iBAAgBA,EAAE,MAAI,aAAYA,EAAE,MAAI,aAAYA,EAAE,QAAM,eAAcA,EAAE,QAAM,eAAcA,EAAE,QAAM,eAAcA,EAAE,YAAU,mBAAkBA,EAAE,MAAI,aAAYA,EAAE,WAAS,kBAAiBA,EAAE,OAAK,cAAaA,EAAE,QAAM,eAAcA,EAAE,SAAO,gBAAeA,EAAE,aAAW,oBAAmBA,EAAE,YAAU,mBAAkBA,EAAE,SAAO,gBAAeA,EAAE,MAAI,aAAYA,EAAE,aAAW,oBAAmBA,EAAE,YAAU,WAAUA,EAAE,aAAW,WAAUA,EAAE,aAAW,WAAUA,EAAE,cAAY,WAAUA,EAAE,YAAU,WAAUA,EAAE,aAAW,WAAUA,EAAE,eAAa;AAAqB,GAAEuB,MAAIA,IAAE,CAAA,EAAG,IAAE,SAASvB,GAAE;AAAC,EAAAA,EAAE,UAAQ,WAAUA,EAAE,SAAO;AAAQ,GAAEwB,MAAIA,IAAE,CAAA,EAAG,IAAE,SAASxB,GAAE;AAAC,EAAAA,EAAE,eAAa,gBAAeA,EAAE,KAAG;AAAI,GAAEL,OAAIA,KAAE,GAAG;AAAE,MAAMuC,GAAM;AAAA,EAA+D,YAAY,GAAE;AAA5E,IAAAjC,EAAA,gBAAO;AAAE,IAAAA,EAAA,gBAAO;AAAG,IAAAA,EAAA,6BAAoB;AAAE,IAAAA,EAAA,2BAAkB;AAAkB,SAAK,SAAO;AAAA,EAAC;AAAA,EAAC,iBAAiB,IAAE,GAAE;AAAC,SAAK,SAAO,KAAK,SAAO,GAAE,KAAK,oBAAkB,KAAK,SAAO;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,UAAM,IAAE,KAAK,OAAO,YAAY,KAAK,MAAM;AAAE,QAAY,MAAT,OAAW,QAAO,KAAK,SAAO,KAAK,SAAO,GAAE,KAAK,oBAAkB,KAAK,SAAO,GAAE;AAAA,EAAC;AAAA,EAAC,gBAAgB,IAAE,GAAE;AAAC,SAAK,SAAO,KAAK,SAAO,GAAE,KAAK,oBAAkB,KAAK,SAAO;AAAA,EAAC;AAAA,EAAC,sBAAqB;AAAC,SAAK,sBAAoB,KAAK,QAAO,KAAK,oBAAkB;AAAA,EAAE;AAAC;AAAC,SAASkC,GAAmB3C,GAAEE,GAAE;AAAC,MAAIH,IAAE;AAAG,QAAMiC,IAAE9B,EAAE;AAAgB,aAAO;AAAC,UAAMC,IAAED,EAAE;AAAgB,QAAYC,MAAT,QAAW;AAAC,YAAMF,IAAE,CAAC8B,EAAE,QAAO7B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMH,EAAC,CAAC;AAAE,aAAOC,EAAE,aAAa,IAAIU,EAAoBF,EAAE,uBAAsBN,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,iCAAgC,gBAAgB,GAAED,CAAC,CAAC,GAAEA;AAAA,IAAC;AAAC,QAAGuB,GAAUrB,CAAC,GAAE;AAAC,MAAAD,EAAE;AAAkB,YAAM,IAAE,CAAC6B,EAAE,WAAU7B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAE,aAAOF,EAAE,aAAa,IAAIU,EAAoBF,EAAE,2BAA0BN,EAAE,qBAAoBA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAID,MAAGC,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIS,KAAET,EAAE,oBAAkB,IAAEA,EAAE,oBAAkB,GAAE,CAAC,iCAAgC,oBAAoB,GAAE,CAAC,CAAC,GAAE;AAAA,IAAC;AAAC,QAAGC,MAAI6B,EAAE,QAAM,CAACD,EAAE,QAAO7B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMH,EAAC,CAAC;AAAE,QAAQI,MAAL,GAAO,CAAIA,MAAJ,KAAOoB,GAAYpB,CAAC,IAAEJ,KAAG,OAAO,cAAcc,CAAC,IAAEd,KAAG,OAAO,cAAcI,CAAC;AAAA,SAAM;AAAC,UAAYD,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAtC,OAAwC;AAAS,UAAGsB,GAAUtB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,GAAE;AAAC,QAAAA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAID,MAAGC,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIS,MAAGT,EAAE,oBAAmBA,EAAE,iBAAgB;AAAG;AAAA,MAAQ;AAAC,MAAAH,KAAG,OAAO,cAAcqC,GAAwBpC,GAAEE,CAAC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC;AAAC,SAAS0C,GAA+BpC,GAAE;AAAC,SAAM,EAAMA,EAAE,WAAN,KAAoBA,EAAE,CAAC,MAAT,OAAiBA,EAAE,CAAC,MAAR,MAAiBA,EAAE,CAAC,MAAT,OAAiBA,EAAE,CAAC,MAAR,MAAiBA,EAAE,CAAC,MAAT,OAAiBA,EAAE,CAAC,MAAR;AAAU;AAAC,SAASqC,GAAcrC,GAAER,GAAE;AAAC,aAAO;AAAC,UAAMC,IAAED,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,QAAYC,MAAT,OAAW;AAAO,QAAQA,MAAL,GAAO,QAAO,KAAKD,EAAE,iBAAgB;AAAG,IAAA0B,GAAoC1B,CAAC,KAAGA,EAAE,oBAAmBoC,GAAwB5B,GAAER,CAAC,KAAGA,EAAE,iBAAgB;AAAA,EAAE;AAAC;AAAC,SAAS8C,GAAgB9C,GAAEC,GAAE;AAAC,SAAKwB,EAAaxB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE,iBAAgB;AAAG,MAAIC,IAAE;AAAG,aAAO;AAAC,QAAYD,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAtC,QAAwC;AAAC,YAAMU,IAAE,CAACoB,EAAE,KAAI9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMC,EAAC,CAAC;AAAE,aAAOF,EAAE,aAAa,IAAIU,EAAoBF,EAAE,oBAAmBP,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,8BAA6B,gBAAgB,GAAEU,CAAC,CAAC,GAAEA;AAAA,IAAC;AAAC,QAAQV,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,GAAoC,QAAOA,EAAE,iBAAgB,GAAG,CAAC8B,EAAE,KAAI9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMC,EAAC,CAAC;AAAE,QAAGuB,EAAaxB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,GAAE;AAAC,WAAIA,EAAE,oBAAmBwB,EAAaxB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,IAAG,CAAAA,EAAE,iBAAgB;AAAG,UAAYA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAtC,QAAwC;AAAC,cAAMU,IAAE,CAACoB,EAAE,KAAI9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMC,EAAC,CAAC;AAAE,eAAOF,EAAE,aAAa,IAAIU,EAAoBF,EAAE,oBAAmBP,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,8BAA6B,0CAAyC,gBAAgB,GAAEU,CAAC,CAAC,GAAEA;AAAA,MAAC;AAAC,aAAYV,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAAqCA,EAAE,iBAAgB,GAAG,CAAC8B,EAAE,KAAI9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMC,EAAC,CAAC,MAAI2C,GAAc7C,GAAEC,CAAC,GAAE,CAAC8B,EAAE,QAAO9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,IAAE;AAAC,UAAMF,IAAEE,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,QAAQF,MAAL,MAAaA,MAAL,MAAaA,MAAL,OAAe,IAAEA,KAAG,QAAX,MAAsB,MAAN,OAAS,KAAG,KAAG,KAAG,KAAG,MAAI,KAAG,KAAG,IAAI;AAAC,MAAA8C,GAAc7C,GAAEC,CAAC;AAAE,YAAMC,IAAE,CAAC6B,EAAE,QAAO9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAE,aAAOD,EAAE,aAAa,IAAIU,EAAoBF,EAAE,0BAAyBP,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,8BAA6B,sHAAuH,GAAEC,CAAC,CAAC,GAAEA;AAAA,IAAC;AAAC,QAAQH,MAAL,IAAO;AAAC,UAAG2B,GAAoCzB,CAAC,GAAE;AAAC,QAAAA,EAAE,iBAAgB,GAAGC,KAAG,OAAO,cAAckC,GAAwBpC,GAAEC,CAAC,CAAC;AAAE;AAAA,MAAQ;AAAC,MAAA4C,GAAc7C,GAAEC,CAAC;AAAE,YAAMU,IAAE,CAACoB,EAAE,QAAO9B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAE,aAAOD,EAAE,aAAa,IAAIU,EAAoBF,EAAE,4BAA2BP,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,8BAA6B,+BAA8B,8DAA8D,GAAEU,CAAC,CAAC,GAAEA;AAAA,IAAC;AAAC,IAAIV,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAjC,KAAoCsB,GAAYtB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,KAAGC,KAAG,OAAO,cAAcW,CAAC,GAAEZ,EAAE,iBAAgB,MAAKC,KAAGD,EAAE,OAAOA,EAAE,MAAM,GAAEA,EAAE,iBAAgB;AAAA,EAAG;AAAC,MAAI;AAAC;AAAC,SAAS8C,GAAsBvC,GAAER,GAAE;AAAC,QAAMC,IAAEoC,GAAqB7B,GAAER,CAAC;AAAE,MAAQA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,GAAoC,QAAM,CAAC+B,EAAE,OAAM/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,OAAO,cAAc,GAAGC,CAAC,EAAC,CAAC;AAAE,MAAG2C,GAA+B3C,CAAC,GAAE;AAAC,IAAAD,EAAE,iBAAgB;AAAG,QAAIE,IAAE;AAAE,eAAO;AAAC,YAAMM,IAAEiB,EAAazB,EAAE,OAAO,YAAYA,EAAE,MAAM,KAAG,EAAE,GAAEW,IAAEc,EAAazB,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE;AAAE,UAAGQ,KAAGG,GAAE;AAAC,QAAAT,KAAG,GAAEF,EAAE,iBAAiB,CAAC;AAAE;AAAA,MAAQ;AAAC,YAAMD,IAAES,IAAER,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,IAAEA,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,UAAQD,MAAL,MAAaA,MAAL,GAAO,QAAOG,IAAE,KAAGF,EAAE,gBAAgBE,CAAC,GAAE,CAAC6B,EAAE,UAAS/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,OAAO,cAAc,GAAGC,CAAC,EAAC,CAAC;AAAE;AAAA,IAAK;AAAC,WAAO6C,GAAgBtC,GAAER,CAAC;AAAA,EAAC;AAAC,SAAOA,EAAE,iBAAgB,GAAG,CAAC+B,EAAE,UAAS/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,OAAO,cAAc,GAAGC,CAAC,EAAC,CAAC;AAAC;AAAC,SAAS+C,GAA8CxC,GAAE;AAAC,SAAM,EAAQA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAnC,OAA2CA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAlC,MAAqCA,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAAIT,MAAQS,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,MAApC,MAAuC,CAACU,GAAoBV,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE;AAAE;AAAC,SAASyC,GAAyBzC,GAAER,GAAE;AAAC,EAAAA,EAAE,iBAAiB,CAAC;AAAE,QAAMC,IAAE,CAAA,GAAG,IAAE,CAAA;AAAG,MAAIF;AAAE,UAAeA,IAAEC,EAAE,OAAO,YAAYA,EAAE,MAAM,OAAzC,UAA6CC,EAAE,SAAO,KAAGiB,GAAoBnB,CAAC,IAAG,CAAAE,EAAE,KAAKF,CAAC,GAAEC,EAAE;AAAmB,UAAeD,IAAEC,EAAE,OAAO,YAAYA,EAAE,MAAM,OAAzC,UAA6CC,EAAE,SAAO,KAAQF,MAAL,KAAQ,CAAI,EAAE,WAAN,KAAc,EAAE,KAAK,GAAGE,CAAC,GAAEA,EAAE,KAAK,EAAE,GAAE,EAAE,KAAK,EAAE,GAAED,EAAE,iBAAgB;AAAG,MAAG,CAAC,EAAE,UAAQA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAIE,KAAGgB,GAAoBlB,EAAE,OAAO,YAAYA,EAAE,SAAO,CAAC,KAAG,EAAE,EAAE,MAAIA,EAAE,qBAA6BD,IAAEC,EAAE,OAAO,YAAYA,EAAE,MAAM,OAAzC,UAA6C,EAAE,SAAO,KAAGkB,GAAoBnB,CAAC,IAAG,GAAE,KAAKA,CAAC,GAAEC,EAAE,iBAAgB;AAAG,MAAG,CAAC,EAAE,QAAO;AAAC,UAAMQ,IAAE,SAAS,OAAO,cAAc,GAAGP,CAAC,GAAE,EAAE;AAAE,WAAM,CAAC8B,EAAE,cAAa/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,cAAaQ,GAAE,YAAWA,EAAC,CAAC;AAAA,EAAC;AAAC,QAAMK,IAAE,SAAS,OAAO,cAAc,GAAGZ,CAAC,GAAE,EAAE,GAAE,IAAE,SAAS,OAAO,cAAc,GAAG,CAAC,GAAE,EAAE;AAAE,SAAM,CAAC8B,EAAE,cAAa/B,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,cAAaa,GAAE,YAAW,EAAC,CAAC;AAAC;AAAC,SAASqC,GAAS1C,GAAER,GAAE;AAAC,QAAMC,IAAEkD,GAAU3C,CAAG,GAAEN,IAAE,CAAA;AAAG,SAAK,CAACD,EAAE,UAAS,IAAI,CAAAC,EAAE,KAAKD,EAAE,UAAS,CAAE;AAAE,SAAOC,EAAE,KAAKD,EAAE,WAAW,GAAEC;AAAC;AAAC,SAASiD,GAAUnD,GAAEa,GAAE;AAAC,QAAMmB,IAAEhC,EAAE,IAAI,QAAO,GAAGG,IAAEH,EAAE,wBAAsB,IAAGoD,IAAE,IAAIV,GAAOV,CAAC,GAAEqB,IAAE,EAAC,cAA8BC,GAAI;AAAE,SAAM,EAAC,WAAU,WAAoB;AAAC,IAAAF,EAAE;AAAsB,UAAMpD,IAAEoD,EAAE,OAAO,YAAYA,EAAE,MAAM;AAAE,QAAYpD,MAAT,OAAW,QAAM,CAAC+B,EAAE,KAAI,IAAG,IAAG,IAAG,MAAM;AAAE,QAAQ/B,MAAL,MAAQ6B,GAAkCuB,CAAC,EAAE,QAAOjB,GAAekB,GAAED,CAAC;AAAE,QAAGjD,MAAUH,MAAN,OAAcA,MAAL,OAASgD,GAA8CI,CAAC,EAAE,QAAOH,GAAyB,GAAEG,CAAC;AAAE,QAAGhC,GAAsBpB,CAAC,EAAE,QAAO+C,GAAsBM,GAAED,CAAC;AAAE,QAAGrC,EAAiBf,CAAC,EAAE,QAAOwC,GAAoBa,GAAED,CAAC;AAAE,YAAOpD;MAAG,KAAK;AAAG,eAAOoD,EAAE,iBAAgB,GAAG,CAACrB,EAAE,OAAM,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,oBAAmB,CAACrB,EAAE,OAAM,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,WAAU,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,oBAAmB,CAACrB,EAAE,WAAU,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,YAAW,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,YAAW,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAG,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,aAAY,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAI,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,WAAU,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAI,eAAOA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,YAAW,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM;AAAA,MAAE,KAAK;AAAA,MAAG,KAAK;AAAG,eAAOT,GAAmBU,GAAED,CAAC;AAAA,MAAE,KAAK;AAAG,eAAOd,GAAiBe,GAAED,CAAC;AAAA,MAAE,KAAKrD;AAAA,MAAE,KAAK;AAAG,eAAO6B,GAAwCwB,CAAC,IAAEZ,GAAoBa,GAAED,CAAC,KAAGA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,OAAMqB,EAAE,OAAOA,EAAE,mBAAmB,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMA,EAAE,OAAOA,EAAE,mBAAmB,EAAC,CAAC;AAAA,MAAG,KAAKzC;AAAA,MAAE,KAAKV;AAAA,MAAE,KAAK;AAAA,MAAG,KAAK;AAAA,MAAE,KAAK;AAAG,eAAOwC,GAAkBW,CAAC;AAAA,MAAE,KAAKlD;AAAE,eAAO0B,GAAwCwB,CAAC,IAAEZ,GAAoBa,GAAED,CAAC,IAAEtB,GAAoCsB,CAAC,KAAGA,EAAE,iBAAiB,CAAC,GAAE,CAACrB,EAAE,KAAI,OAASqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM,KAAGzB,GAAgD,GAAEyB,CAAC,IAAEL,GAAsBM,GAAED,CAAC,KAAGA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,OAAM,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,IAAG,CAAC;AAAA,MAAG,KAAK;AAAG,eAAOtC,GAAmCsC,CAAC,KAAGA,EAAE,iBAAiB,CAAC,GAAE,CAACrB,EAAE,KAAI,QAAUqB,EAAE,qBAAoBA,EAAE,mBAAkB,MAAM,MAAIA,EAAE,iBAAgB,GAAG,CAACrB,EAAE,OAAM,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,IAAG,CAAC;AAAA,MAAG,KAAK;AAAG,YAAGA,EAAE,iBAAgB,GAAGzB,GAAgD,GAAEyB,CAAC,GAAE;AAAC,gBAAM5C,IAAE6B,GAAqBgB,GAAED,CAAC;AAAE,iBAAM,CAACrB,EAAE,WAAUqB,EAAE,OAAO,MAAMA,EAAE,qBAAoBA,EAAE,oBAAkB,CAAC,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,OAAO,cAAc,GAAG5C,CAAC,EAAC,CAAC;AAAA,QAAC;AAAC,eAAM,CAACuB,EAAE,OAAM,KAAIqB,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,IAAG,CAAC;AAAA,MAAE,KAAK,IAAG;AAAC,YAAG1B,GAAoC0B,CAAC,EAAE,QAAOL,GAAsBM,GAAED,CAAC;AAAE,QAAAA,EAAE;AAAmB,cAAMpD,IAAE,CAAC+B,EAAE,OAAM,MAAKqB,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAM,KAAI,CAAC;AAAE,eAAOC,EAAE,aAAa,IAAI3C,EAAoBF,EAAE,qCAAoC4C,EAAE,qBAAoBA,EAAE,mBAAkB,CAAC,0BAAyB,+BAA8B,8DAA8D,GAAEpD,CAAC,CAAC,GAAEA;AAAA,MAAC;AAAA,IAAC;AAAC,WAAOoD,EAAE,iBAAgB,GAAG,CAACrB,EAAE,OAAMqB,EAAE,OAAOA,EAAE,mBAAmB,GAAEA,EAAE,qBAAoBA,EAAE,mBAAkB,EAAC,OAAMA,EAAE,OAAOA,EAAE,mBAAmB,EAAC,CAAC;AAAA,EAAC,GAAE,WAAU,WAAoB;AAAC,WAAgBA,EAAE,OAAO,YAAYA,EAAE,MAAM,MAAtC;AAAA,EAAuC,EAAC;AAAC;AAAC,SAASE,KAAM;AAAC;AAAuJ,SAASC,GAAW/C,GAAER,GAAE;AAAC,QAAMC,IAAE,CAAA;AAAG,aAAUO,KAAKR,EAAE,CAAAC,EAAE,KAAKO,EAAE,YAAY,CAAC,CAAC;AAAE,QAAMN,IAAEsD,GAAevD,CAAC;AAAE,EAAMC,EAAE,CAAC,MAAT,OAAYuD,GAAuBvD,GAAE,GAAEA,EAAE,CAAC,CAAC;AAAE,QAAMS,IAAE,OAAO,cAAc,GAAGT,CAAC,GAAE,IAAQM,EAAE,CAAC,EAAE,kBAAX,MAAyBA,EAAE,CAAC,EAAE,gBAAc,IAAGK,IAAEL,EAAE,CAAC,EAAE,MAAM,SAAQ;AAAG,EAAAA,EAAE,CAAC,IAAE,GAAG,CAAC,GAAGK,CAAC,GAAGF,CAAC,IAAGH,EAAE,CAAC,EAAE,OAAKR;AAAC;AAAC,SAASwD,GAAehD,GAAE;AAAC,MAAIR,IAAE;AAAE,MAAOQ,EAAE,CAAC,MAAP,EAAS,CAAAA,EAAE,OAAO,GAAE,GAAEK,CAAC,GAAEb,IAAE;AAAA,WAAUQ,EAAE,CAAC,MAAIN,KAAGM,EAAE,CAAC,MAAIN,EAAE,CAAAF,IAAE;AAAA,WAAUQ,EAAE,CAAC,MAAIN,KAAGM,EAAE,CAAC,EAAE,CAAAR,IAAE,GAAEoB,GAAsBZ,EAAE,CAAC,CAAC,MAAIR,KAAGyD,GAAuBjD,GAAE,GAAEA,EAAE,CAAC,CAAC;AAAA,OAAO;AAAC,QAAGA,EAAE,CAAC,MAAIN,KAAG,CAACM,EAAE,CAAC,EAAE,QAAM,CAAC,IAAGA,EAAE,CAAC,CAAC;AAAE,IAAAY,GAAsBZ,EAAE,CAAC,CAAC,IAAER,IAAE,KAAGA,IAAE,GAAEA,KAAGyD,GAAuBjD,GAAE,GAAEA,EAAE,CAAC,CAAC;AAAA,EAAE;AAAC,WAAQP,IAAED,GAAEC,IAAEO,EAAE,QAAOP,IAAI,CAAIO,EAAEP,CAAC,MAAP,IAASqB,GAAiBd,EAAEP,CAAC,CAAC,MAAIA,KAAGyD,GAAuBlD,GAAEP,GAAEO,EAAEP,CAAC,CAAC,MAAIO,EAAE,OAAOP,GAAE,GAAEY,CAAC,GAAEZ;AAAK,SAAOO;AAAC;AAAC,SAASkD,GAAuBlD,GAAER,GAAEC,GAAE;AAAC,SAAOO,EAAE,OAAOR,GAAE,GAAE,IAAGC,CAAC,GAAE;AAAC;AAAC,SAASwD,GAAuBjD,GAAER,GAAEC,GAAE;AAAC,QAAMC,IAAED,EAAE,SAAS,EAAE,GAAEU,IAAE,CAAA;AAAG,aAAUH,KAAKN,EAAE,CAAAS,EAAE,KAAKH,EAAE,YAAY,CAAC,CAAC;AAAE,SAAOA,EAAE,OAAOR,GAAE,GAAE,IAAG,GAAGW,GAAE,EAAE,GAAE,IAAEA,EAAE;AAAM;AAAC,MAAMyC,KAAE,OAAO,OAAOrB,CAAC;AAAE,SAAS4B,GAAQnD,GAAE;AAAC,SAAM,CAAC,CAAC,MAAM,QAAQA,CAAC,KAAI,EAAEA,EAAE,SAAO,MAAK,CAAC,CAAC4C,GAAE,SAAS5C,EAAE,CAAC,CAAC,KAAc,OAAOA,EAAE,CAAC,KAApB,YAAkC,OAAOA,EAAE,CAAC,KAApB,YAAiC,OAAOA,EAAE,CAAC,KAApB;AAAyB;AAAC,SAASoD,EAAepD,GAAE;AAAC,MAAG,CAACA,EAAE;AAAS,UAAOA,EAAE,CAAC,GAAC;AAAA,IAAE,KAAKuB,EAAE;AAAA,IAAU,KAAKA,EAAE;AAAA,IAAO,KAAKA,EAAE;AAAW,aAAM;AAAA,IAAG;AAAQ,aAAM;AAAA,EAAE;AAAC;AAAC,SAAS8B,GAA2BrD,GAAE;AAAC,MAAG,CAACA,EAAE;AAAS,UAAOA,EAAE,CAAC,GAAC;AAAA,IAAE,KAAKuB,EAAE;AAAA,IAAW,KAAKA,EAAE;AAAQ,aAAM;AAAA,IAAG;AAAQ,aAAM;AAAA,EAAE;AAAC;AAA6T,SAAS+B,GAAatD,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAK;AAAC,SAASgC,GAAevD,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAO;AAAC,SAASiC,GAAaxD,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAK;AAAC,SAASkC,EAAiBzD,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAS;AAAC,SAASmC,EAAW1D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAG;AAAC,SAASoC,GAAgB3D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAQ;AAAkD,SAASqC,GAAa5D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAK;AAAC,SAASsC,EAAc7D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAM;AAAC,SAASuC,EAAkB9D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAU;AAAgK,SAASwC,GAAkB/D,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAU;AAAC,SAASyC,GAAiBhE,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAS;AAAC,SAAS0C,GAAkBjE,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAU;AAAC,SAAS2C,GAAkBlE,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAU;AAAgE,SAAS4C,GAAiBnE,GAAE;AAAC,SAAM,CAAC,CAACA,KAAGA,EAAE,CAAC,MAAIuB,EAAE;AAAS;ACAtysB,IAAI6C;AAAE,SAASC,GAAqBrE,GAAE;AAAC,MAAIR,IAAEQ,EAAE;AAAQ,SAAM,CAACA,GAAEP,GAAE,MAAI;AAAC,QAAIY,IAAE;AAAG,aAAQd,IAAEC,EAAE,QAAQC,CAAC,GAAEF,IAAEC,EAAE,WAASa,IAAEL,EAAE,QAAQR,EAAED,CAAC,CAAC,GAAOc,MAAL,MAAQA,IAAE,IAAGd,IAAI;AAAC,WAAWc,MAAL,MAAQA,MAAI,KAAGZ,MAAIO,EAAE,CAAC,MAAIK,KAAIA,KAAGL,EAAE,UAAQ,MAAIR,IAAEQ,EAAE,MAAK,GAAGK;AAAA,EAAE;AAAC;AAAC,SAASiE,GAAsBtE,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE,CAAC;AAAE,MAAGD,GAAEE,CAAC,KAAGU,GAAEV,CAAC,KAAG+B,GAAE/B,CAAC,GAAE;AAAC,UAAMA,IAAE8E,GAAmBvE,GAAER,CAAC;AAAE,WAAM,EAAC,SAAQC,EAAE,SAAQ,MAAKA,EAAE,KAAI;AAAA,EAAC;AAAC,MAAG8B,GAAE9B,CAAC,GAAE;AAAC,UAAMA,IAAE+E,GAAgBxE,GAAER,CAAC;AAAE,WAAM,EAAC,SAAQC,EAAE,SAAQ,MAAKA,EAAE,KAAI;AAAA,EAAC;AAAC,MAAGE,GAAEF,CAAC,GAAE;AAAC,UAAMA,IAAEgF,GAAkBzE,GAAER,CAAC;AAAE,WAAM,EAAC,SAAQC,EAAE,SAAQ,MAAKA,EAAE,KAAI;AAAA,EAAC;AAAC,MAAGiF,GAAEjF,CAAC,GAAE;AAAC,UAAMA,IAAEkC,GAAe3B,GAAER,CAAC;AAAE,WAAM,EAAC,SAAQC,EAAE,SAAQ,MAAKA,EAAE,KAAI;AAAA,EAAC;AAAC,SAAM,EAAC,SAAQ,GAAE,MAAK,IAAIkF,EAAUlF,CAAC,EAAC;AAAC;AAAA,CAAE,SAASO,GAAE;AAAC,EAAAA,EAAE,WAAS,YAAWA,EAAE,cAAY,gBAAeA,EAAE,aAAW,cAAaA,EAAE,UAAQ,WAAUA,EAAE,QAAM;AAAO,GAAEoE,MAAIA,IAAE,CAAA,EAAG;AAAE,MAAMQ,GAAsB;AAAA,EAA5B;AAA6B,IAAA3E,EAAA,eAAM;;EAAG,QAAQ,GAAE;AAAC,WAAO,KAAK,MAAM,QAAQ,CAAC;AAAA,EAAC;AAAA,EAAC,GAAG,GAAE;AAAC,QAAa,OAAO,KAAjB,SAAmB,QAAO,IAAE,MAAI,IAAE,KAAK,MAAM,SAAO,IAAG,KAAK,MAAM,CAAC;AAAA,EAAC;AAAA,EAAC,QAAQ,GAAE,GAAE;AAAC,QAAO,KAAK,MAAM,WAAf,EAAsB;AAAO,UAAMR,IAAE4E,GAAqB,KAAK,KAAK;AAAE,QAAI,IAAE;AAAE,WAAK,IAAE,KAAK,MAAM,UAAQ;AAAC,YAAMhE,IAAE,KAAK,MAAM,CAAC;AAAE,UAAId;AAAE,UAAG,MAAIA,IAAE,EAAC,GAAG,EAAC,IAAQ,EAAE,EAAC,MAAKc,GAAE,QAAO,MAAK,OAAMd,EAAC,GAAE,CAAC,MAArC,GAAuC,QAAM;AAAG,UAAG,IAAEE,EAAE,KAAK,OAAMY,GAAE,CAAC,GAAO,MAAL,GAAO;AAAA,IAAK;AAAA,EAAC;AAAA,EAAC,KAAK,GAAE,GAAE;AAAC,IAAI,KAAK,MAAM,WAAf,KAAuB,KAAK,SAAS,CAACb,GAAEC,MAAS,EAAED,GAAEC,CAAC,MAAV,OAAe,EAAE,UAASD,EAAE,SAAO,CAAC,KAAK,MAAM,SAASA,EAAE,IAAI,KAAQA,EAAE,KAAK,KAAK,GAAEA,EAAE,KAAK,MAA1B,OAA8B,SAAS,CAAC;AAAA,EAAC;AAAC;AAAC,MAAMqF,UAAqBD,GAAsB;AAAA,EAA+B,YAAY5E,GAAER,GAAEC,GAAE;AAAC,UAAK;AAAtD,IAAAQ,EAAA,cAAKmE,EAAE;AAAS,IAAAnE,EAAA;AAAK,IAAAA,EAAA;AAAoC,SAAK,OAAKD,GAAE,KAAK,WAASR,GAAE,KAAK,QAAMC;AAAA,EAAC;AAAA,EAAC,UAAS;AAAC,WAAO,KAAK,KAAK,CAAC,EAAE;AAAA,EAAK;AAAA,EAAC,YAAW;AAACO,IAAAA,EAAE,KAAK,QAAQ,MAAI,KAAK,WAAS,CAACR,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM;AAAA,EAAE;AAAA,EAAC,SAAQ;AAAC,WAAOQ,EAAE,KAAK,QAAQ,IAAE,CAAC,KAAK,MAAK,GAAG,KAAK,MAAM,SAAS,CAAAA,MAAGA,EAAE,OAAM,EAAE,CAAE,IAAE,CAAC,KAAK,MAAK,GAAG,KAAK,MAAM,SAAS,CAAAA,MAAGA,EAAE,OAAM,KAAK,KAAK,QAAQ;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,UAAMA,IAAE,KAAK,MAAM,KAAK,CAAAA,MAAGP,GAAEO,CAAC,IAAEN,EAAEM,CAAC,IAAEA,EAAE,SAAQ,IAAK,KAAK,EAAE;AAAE,WAAON,EAAE,KAAK,IAAI,IAAEM,IAAEN,EAAE,KAAK,QAAQ;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,MAAK,KAAK,MAAK,MAAK,KAAK,WAAU,QAAO,KAAK,OAAM,GAAG,OAAM,KAAK,MAAM,KAAK,CAAAM,MAAGA,EAAE,OAAM,EAAE,EAAE;AAAA,EAAC;AAAA,EAAC,iBAAgB;AAAC,WAAO6E,EAAa,eAAe,IAAI;AAAA,EAAC;AAAA,EAAC,OAAO,eAAe7E,GAAE;AAAC,WAAM,CAAC,CAACA,KAAIA,aAAa6E,KAAc7E,EAAE,SAAOoE,EAAE;AAAA,EAAS;AAAC;AAAC,SAASI,GAAgBhF,GAAEC,GAAE;AAAC,QAAMC,IAAE,CAAA;AAAG,MAAIW,IAAE;AAAE,aAAO;AAAC,UAAMd,IAAEE,EAAEY,CAAC;AAAE,QAAG,CAACd,KAAGS,EAAET,CAAC,EAAE,QAAOC,EAAE,aAAa,IAAIsF,GAAE,8CAA6CrF,EAAE,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,CAAC,6BAA4B,gBAAgB,CAAC,CAAC,GAAE,EAAC,SAAQA,EAAE,QAAO,MAAK,IAAIoF,EAAapF,EAAE,CAAC,GAAEF,GAAEG,CAAC,EAAC;AAAE,QAAGqF,GAAExF,CAAC,EAAE,QAAM,EAAC,SAAQc,IAAE,GAAE,MAAK,IAAIwE,EAAapF,EAAE,CAAC,GAAEF,GAAEG,CAAC,EAAC;AAAE,QAAGmD,GAAEtD,CAAC,GAAE;AAAC,YAAMS,IAAEgF,GAAgCxF,GAAEC,EAAE,MAAMY,CAAC,CAAC;AAAE,MAAAA,KAAGL,EAAE,SAAQN,EAAE,KAAK,GAAGM,EAAE,KAAK;AAAE;AAAA,IAAQ;AAAC,UAAMG,IAAEmE,GAAsB9E,GAAEC,EAAE,MAAMY,CAAC,CAAC;AAAE,IAAAA,KAAGF,EAAE,SAAQT,EAAE,KAAKS,EAAE,IAAI;AAAA,EAAC;AAAC;AAAC,MAAM8E,WAAwBL,GAAsB;AAAA,EAAwC,YAAY5E,GAAER,GAAEC,GAAE;AAAC,UAAK;AAA/D,IAAAQ,EAAA,cAAKmE,EAAE;AAAY,IAAAnE,EAAA;AAAW,IAAAA,EAAA;AAAoC,SAAK,aAAWD,GAAE,KAAK,WAASR,GAAE,KAAK,QAAMC;AAAA,EAAC;AAAA,EAAC,YAAW;AAAC,QAAGO,EAAE,KAAK,QAAQ,GAAE;AAAC,YAAMA,IAAEK,GAAE,KAAK,UAAU;AAAE,MAAAL,MAAI,KAAK,WAASA;AAAA,IAAE;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAOA,EAAE,KAAK,QAAQ,IAAE,CAAC,KAAK,YAAW,GAAG,KAAK,MAAM,SAAS,CAAAA,MAAGA,EAAE,OAAM,EAAE,CAAE,IAAE,CAAC,KAAK,YAAW,GAAG,KAAK,MAAM,SAAS,CAAAA,MAAGA,EAAE,OAAM,EAAE,GAAG,KAAK,QAAQ;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,UAAMA,IAAE,KAAK,MAAM,KAAK,CAAAA,MAAGP,GAAEO,CAAC,IAAEN,EAAEM,CAAC,IAAEA,EAAE,SAAQ,EAAE,EAAG,KAAK,EAAE;AAAE,WAAON,EAAE,KAAK,UAAU,IAAEM,IAAEN,EAAE,KAAK,QAAQ;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,MAAK,KAAK,MAAK,YAAW,KAAK,YAAW,QAAO,KAAK,OAAM,GAAG,OAAM,KAAK,MAAM,KAAK,CAAAM,MAAGA,EAAE,OAAM,IAAI;AAAA,EAAC;AAAA,EAAC,oBAAmB;AAAC,WAAOiF,GAAgB,kBAAkB,IAAI;AAAA,EAAC;AAAA,EAAC,OAAO,kBAAkBjF,GAAE;AAAC,WAAM,CAAC,CAACA,KAAIA,aAAaiF,MAAiBjF,EAAE,SAAOoE,EAAE;AAAA,EAAY;AAAC;AAAC,SAASG,GAAmB/E,GAAEC,GAAE;AAAC,QAAMC,IAAEkD,GAAEnD,EAAE,CAAC,EAAE,CAAC,CAAC;AAAE,MAAG,CAACC,EAAE,OAAM,IAAI,MAAM,yEAAyE;AAAE,QAAMW,IAAE,CAAA;AAAG,MAAId,IAAE;AAAE,aAAO;AAAC,UAAMY,IAAEV,EAAEF,CAAC;AAAE,QAAG,CAACY,KAAGH,EAAEG,CAAC,EAAE,QAAOX,EAAE,aAAa,IAAIsF,GAAE,kDAAiDrF,EAAE,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,CAAC,iCAAgC,gBAAgB,CAAC,CAAC,GAAE,EAAC,SAAQA,EAAE,QAAO,MAAK,IAAIwF,GAAgBxF,EAAE,CAAC,GAAEU,GAAEE,CAAC,EAAC;AAAE,QAAGF,EAAE,CAAC,MAAIT,EAAE,QAAM,EAAC,SAAQH,IAAE,GAAE,MAAK,IAAI0F,GAAgBxF,EAAE,CAAC,GAAEU,GAAEE,CAAC,EAAC;AAAE,QAAGwC,GAAE1C,CAAC,GAAE;AAAC,YAAMH,IAAEgF,GAAgCxF,GAAEC,EAAE,MAAMF,CAAC,CAAC;AAAE,MAAAA,KAAGS,EAAE,SAAQK,EAAE,KAAK,GAAGL,EAAE,KAAK;AAAE;AAAA,IAAQ;AAAC,UAAM,IAAEsE,GAAsB9E,GAAEC,EAAE,MAAMF,CAAC,CAAC;AAAE,IAAAA,KAAG,EAAE,SAAQc,EAAE,KAAK,EAAE,IAAI;AAAA,EAAC;AAAC;AAAC,MAAM6E,EAAc;AAAA,EAAyB,YAAY,GAAE;AAAtC,IAAAjF,EAAA,cAAKmE,EAAE;AAAW,IAAAnE,EAAA;AAAqB,SAAK,QAAM;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAO,KAAK;AAAA,EAAK;AAAA,EAAC,WAAU;AAAC,WAAOP,EAAE,GAAG,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,MAAK,KAAK,MAAK,QAAO,KAAK,OAAM,EAAE;AAAA,EAAC;AAAA,EAAC,mBAAkB;AAAC,WAAOwF,EAAe,iBAAiB,IAAI;AAAA,EAAC;AAAA,EAAC,OAAO,iBAAiB,GAAE;AAAC,WAAM,CAAC,CAAC,KAAI,aAAaA,KAAgB,EAAE,SAAOd,EAAE;AAAA,EAAW;AAAC;AAAC,SAASK,GAAkBzE,GAAER,GAAE;AAAC,MAAIC,IAAE;AAAE,aAAO;AAAC,UAAMO,IAAER,EAAEC,CAAC;AAAE,QAAG,CAACE,GAAEK,CAAC,EAAE,QAAM,EAAC,SAAQP,GAAE,MAAK,IAAIyF,EAAe1F,EAAE,MAAM,GAAEC,CAAC,CAAC,EAAC;AAAE,IAAAA;AAAA,EAAG;AAAC;AAAC,MAAM0F,GAAW;AAAA,EAAsB,YAAY,GAAE;AAAnC,IAAAlF,EAAA,cAAKmE,EAAE;AAAQ,IAAAnE,EAAA;AAAqB,SAAK,QAAM;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,CAAC,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,WAAOP,EAAE,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,MAAK,KAAK,MAAK,QAAO,KAAK,OAAM,EAAE;AAAA,EAAC;AAAA,EAAC,gBAAe;AAAC,WAAOyF,GAAY,cAAc,IAAI;AAAA,EAAC;AAAA,EAAC,OAAO,cAAc,GAAE;AAAC,WAAM,CAAC,CAAC,KAAI,aAAaA,MAAa,EAAE,SAAOf,EAAE;AAAA,EAAQ;AAAC;AAAC,SAASzC,GAAe3B,GAAER,GAAE;AAAC,SAAM,EAAC,SAAQ,GAAE,MAAK,IAAI2F,GAAY3F,EAAE,CAAC,CAAC,EAAC;AAAC;AAAC,SAASwF,GAAgChF,GAAER,GAAE;AAAC,QAAMC,IAAE,CAAA;AAAG,MAAIC,IAAE;AAAE,YAAO,KAAGC,GAAEH,EAAEE,CAAC,CAAC,GAAE;AAAC,UAAMM,IAAEyE,GAAkB,GAAEjF,EAAE,MAAME,CAAC,CAAC;AAAE,IAAAA,KAAGM,EAAE,SAAQP,EAAE,KAAKO,EAAE,IAAI;AAAA,EAAC,OAAK;AAAC,QAAG,CAAC0E,GAAElF,EAAEE,CAAC,CAAC,EAAE,QAAM,EAAC,SAAQA,GAAE,OAAMD,EAAC;AAAE,IAAAA,EAAE,KAAK,IAAI0F,GAAY3F,EAAEE,CAAC,CAAC,CAAC,GAAEA;AAAA,EAAG;AAAC;AAAC,MAAMiF,EAAS;AAAA,EAAoB,YAAY,GAAE;AAAjC,IAAA1E,EAAA,cAAKmE,EAAE;AAAM,IAAAnE,EAAA;AAAqB,SAAK,QAAM;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,CAAC,KAAK,KAAK;AAAA,EAAC;AAAA,EAAC,WAAU;AAAC,WAAO,KAAK,MAAM,CAAC;AAAA,EAAC;AAAA,EAAC,SAAQ;AAAC,WAAM,EAAC,MAAK,KAAK,MAAK,QAAO,KAAK,OAAM,EAAE;AAAA,EAAC;AAAA,EAAC,cAAa;AAAC,WAAO0E,EAAU,YAAY,IAAI;AAAA,EAAC;AAAA,EAAC,OAAO,YAAY,GAAE;AAAC,WAAM,CAAC,CAAC,KAAI,aAAaA,KAAW,EAAE,SAAOP,EAAE;AAAA,EAAM;AAAC;AAAssB,SAASgB,GAAyC,GAAE1F,GAAE;AAAC,QAAMW,IAAE,EAAC,eAAaX,KAAA,gBAAAA,EAAG,kBAAe,MAAI;AAAA,EAAC,GAAE,GAAEH,IAAE,CAAC,GAAG,CAAC;AAAE,MAAO,EAAE,WAAN,EAAa,QAAM;AAAGS,EAAAA,EAAET,EAAEA,EAAE,SAAO,CAAC,CAAC,KAAGA,EAAE,KAAK,CAACC,EAAE,KAAI,IAAGD,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,MAAM,CAAC;AAAE,QAAMY,IAAE,CAAA;AAAG,MAAIqB,IAAE,CAAA,GAAGD,IAAE;AAAE,aAAO;AAAC,QAAG,CAAChC,EAAEgC,CAAC,KAAGvB,EAAET,EAAEgC,CAAC,CAAC,EAAE,QAAOC,EAAE,UAAQrB,EAAE,KAAKqB,CAAC,GAAErB;AAAE,QAAGkF,GAAE9F,EAAEgC,CAAC,CAAC,GAAE;AAAC,MAAApB,EAAE,KAAKqB,CAAC,GAAEA,IAAE,CAAA,GAAGD;AAAI;AAAA,IAAQ;AAAC,UAAM/B,IAAE8E,GAAsBjE,GAAE,EAAE,MAAMkB,CAAC,CAAC;AAAE,IAAAC,EAAE,KAAKhC,EAAE,IAAI,GAAE+B,KAAG/B,EAAE;AAAA,EAAO;AAAC;AAA8J,SAAS8F,GAAQtF,GAAER,GAAEC,GAAE;AAAC,MAAOO,EAAE,WAAN,EAAa;AAAO,QAAMN,IAAE2E,GAAqBrE,CAAC;AAAE,MAAIK,IAAE;AAAE,SAAKA,IAAEL,EAAE,UAAQ;AAAC,UAAM,IAAEA,EAAEK,CAAC;AAAQ,QAAsBb,EAAE,EAAC,MAAK,GAAE,QAAO,EAAC,OAAMQ,EAAC,GAAE,OAAnD,OAA0D,GAAEK,CAAC,MAA1C,GAA4C,QAAM;AAAG,QAAGA,IAAEX,EAAEM,GAAE,GAAEK,CAAC,GAAOA,MAAL,GAAO;AAAA,EAAK;AAAC;AAAC,SAASkF,GAAKvF,GAAER,GAAEC,GAAE;AAAC,EAAIO,EAAE,WAAN,KAAcsF,GAAQtF,IAAG,CAACP,GAAE,MAASD,EAAEC,GAAE,CAAC,MAAV,OAAe,EAAE,UAASA,EAAE,SAAO,CAACO,EAAE,SAASP,EAAE,IAAI,KAAQA,EAAE,KAAK,KAAKD,GAAEC,EAAE,KAAK,MAA1B,OAA8B,OAAU;AAAC;AAAC,SAAS+F,GAAuBxF,GAAER,GAAE;AAAC,WAAQC,IAAE,GAAEA,IAAEO,EAAE,QAAOP;AAAK,IAAA8F,GAAKvF,EAAEP,CAAC,IAAG,CAACO,GAAEP,MAAI;AAAC,UAAa,OAAOA,KAAjB,SAAmB;AAAO,YAAMC,IAAEF,EAAEQ,EAAE,IAAI;AAAE,MAAAN,MAAI,MAAM,QAAQA,CAAC,IAAEM,EAAE,OAAO,MAAM,OAAOP,GAAE,GAAE,GAAGC,CAAC,IAAEM,EAAE,OAAO,MAAM,OAAOP,GAAE,GAAEC,CAAC;AAAA,IAAE,EAAC;AAAG,SAAOM;AAAC;AAA0F,SAASyF,GAAkBzF,GAAE;AAAC,SAAOiF,GAAgB,kBAAkBjF,CAAC;AAAC;AAAC,SAAS0F,GAAe1F,GAAE;AAAC,SAAO6E,EAAa,eAAe7E,CAAC;AAAC;AAAC,SAAS2F,GAAiB3F,GAAE;AAAC,SAAOkF,EAAe,iBAAiBlF,CAAC;AAAC;AAAC,SAAS4F,GAAc5F,GAAE;AAAC,SAAOmF,GAAY,cAAcnF,CAAC;AAAC;AAAC,SAAS6F,EAA0B7F,GAAE;AAAC,SAAO2F,GAAiB3F,CAAC,KAAG4F,GAAc5F,CAAC;AAAC;AAAC,SAAS8F,EAAY9F,GAAE;AAAC,SAAO2E,EAAU,YAAY3E,CAAC;AAAC;ACA/7O,MAAM+F,KAAE;AAAS,SAASC,EAAchG,GAAE;AAAC,SAAOA,EAAE,QAAQ+F,KAAG,OAAG,OAAO,aAAa,EAAE,WAAW,CAAC,IAAE,EAAE;AAAG;AAAM,MAAoIE,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAAjG,MAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAG,KAAGA,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAG,KAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,EAAE,CAAC,CAAC,GAAEkG,KAAE,oBAAI,IAAI,CAAC,CAAC,OAAM,CAAAlG,MAAGA,CAAC,GAAE,CAAC,QAAO,CAAAA,MAAGA,IAAE,GAAE,GAAE,CAAC,OAAM,CAAAA,MAAGA,IAAE,MAAI,KAAK,EAAE,GAAE,CAAC,QAAO,CAAAA,MAAGA,IAAE,GAAG,CAAC,CAAC,GAAEmG,KAAE,oBAAI,IAAI,CAAC,CAAC,OAAM,CAAAnG,MAAG,MAAGA,CAAC,GAAE,CAAC,QAAO,CAAAA,MAAGA,CAAC,GAAE,CAAC,OAAM,CAAAA,MAAG,MAAGA,IAAE,MAAI,KAAK,EAAE,GAAE,CAAC,QAAO,CAAAA,MAAG,MAAGA,IAAE,GAAG,CAAC,CAAC,GAAEoG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAApG,MAAGA,CAAC,GAAE,CAAC,OAAM,CAAAA,MAAGA,IAAE,GAAG,CAAC,CAAC,GAAEqG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAArG,MAAG,OAAKA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAG,OAAKA,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAG,OAAKA,IAAE,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAG,IAAEA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAG,KAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAG,KAAGA,CAAC,CAAC,CAAC,GAAEqF,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAArF,MAAG,MAAIA,CAAC,GAAE,CAAC,OAAM,CAAAA,MAAGA,CAAC,CAAC,CAAC,GAAEsG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAAtG,MAAGA,IAAE,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAG,IAAEA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,OAAK,EAAE,CAAC,CAAC,GAAEuG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAAvG,MAAGA,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAGA,IAAE,GAAG,CAAC,CAAC,GAAEwG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAAxG,MAAGA,IAAE,IAAE,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,IAAI,GAAE,CAAC,KAAI,CAAAA,MAAGA,IAAE,IAAE,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,EAAE,CAAC,CAAC,GAAEyG,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAAzG,MAAGA,IAAE,KAAG,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,IAAI,GAAE,CAAC,KAAI,CAAAA,MAAGA,IAAE,KAAG,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,EAAE,CAAC,CAAC,GAAE0G,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAA1G,MAAGA,IAAE,KAAG,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,IAAI,GAAE,CAAC,KAAI,CAAAA,MAAGA,IAAE,KAAG,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,KAAG,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,CAAC,CAAC,CAAC,GAAE2G,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAA3G,MAAGA,IAAE,IAAE,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAGA,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,IAAI,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,OAAK,CAAC,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,OAAK,EAAE,GAAE,CAAC,MAAK,CAAAA,MAAGA,IAAE,IAAE,OAAK,EAAE,CAAC,CAAC,GAAE4G,KAAE,oBAAI,IAAI,CAAC,CAAC,OAAM,CAAA5G,MAAG,MAAIA,IAAE,KAAK,EAAE,GAAE,CAAC,QAAO,CAAAA,MAAG,MAAIA,IAAE,KAAK,KAAG,GAAE,GAAE,CAAC,OAAM,CAAAA,MAAGA,CAAC,GAAE,CAAC,QAAO,CAAAA,MAAG,MAAIA,IAAE,KAAK,KAAG,GAAG,CAAC,CAAC,GAAE6G,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAK,CAAA7G,MAAG,MAAIA,CAAC,GAAE,CAAC,KAAI,CAAAA,MAAGA,CAAC,CAAC,CAAC,GAAE8G,KAAE,oBAAI,IAAI,CAAC,CAAC,OAAM,CAAA9G,MAAG,MAAIA,CAAC,GAAE,CAAC,QAAO,CAAAA,MAAG,MAAIA,IAAE,GAAE,GAAE,CAAC,OAAM,CAAAA,MAAG,MAAIA,IAAE,MAAI,KAAK,EAAE,GAAE,CAAC,QAAO,CAAAA,MAAGA,CAAC,CAAC,CAAC,GAAE+G,KAAE,oBAAI,IAAI,CAAC,CAAC,MAAKd,EAAC,GAAE,CAAC,MAAKK,EAAC,GAAE,CAAC,KAAIK,EAAC,GAAE,CAAC,MAAKN,EAAC,GAAE,CAAC,MAAKG,EAAC,GAAE,CAAC,MAAKC,EAAC,GAAE,CAAC,MAAKC,EAAC,GAAE,CAAC,MAAKH,EAAC,GAAE,CAAC,KAAIM,EAAC,GAAE,CAAC,OAAMX,EAAC,GAAE,CAAC,QAAOC,EAAC,GAAE,CAAC,OAAMS,EAAC,GAAE,CAAC,QAAOE,EAAC,GAAE,CAAC,MAAKV,EAAC,GAAE,CAAC,OAAMf,EAAC,CAAC,CAAC;AAAE,SAAS2B,EAAYhH,GAAER,GAAE;AAAmB,MAAf,CAACyH,EAAEjH,CAAC,KAAc,CAACiH,EAAEzH,CAAC,EAAE,QAAOA;AAAE,QAAMC,IAAEuG,EAAchG,EAAE,CAAC,EAAE,IAAI,GAAE,IAAEgG,EAAcxG,EAAE,CAAC,EAAE,IAAI;AAAE,MAAGC,MAAI,EAAE,QAAOD;AAAE,QAAMgC,IAAEuF,GAAE,IAAI,CAAC;AAAE,MAAG,CAACvF,EAAE,QAAOhC;AAAE,QAAMG,IAAE6B,EAAE,IAAI/B,CAAC;AAAE,MAAG,CAACE,EAAE,QAAOH;AAAE,QAAMD,IAAEI,EAAEH,EAAE,CAAC,EAAE,KAAK,GAAEE,IAAE,CAAC0E,EAAE,WAAU,IAAG5E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,GAAGA,EAAE,CAAC,GAAE,eAAcD,IAAE,IAAE,MAAI,QAAO,MAAK,OAAO,UAAUA,CAAC,IAAEwF,EAAE,UAAQA,EAAE,QAAO,OAAMxF,EAAC,CAAC;AAAE,SAAOsD,GAAEnD,GAAEM,EAAE,CAAC,EAAE,IAAI,GAAEN;AAAC;AAAuU,SAASwH,GAAS1H,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMC,IAAED,EAAE,CAAC,EAAE;AAAM,MAAIW,IAAEX,EAAE,CAAC,EAAE;AAAM,MAAG2H,EAAE1H,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,QAAO5E,EAAE,YAAWC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,OAAM,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGzF,EAAEG,CAAC,KAAGH,EAAEa,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,YAAW5E,EAAE,aAAW,KAAIC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGyH,EAAExH,CAAC,KAAGwH,EAAE9G,CAAC,MAAIA,IAAE6G,EAAYvH,GAAEU,CAAC,GAAE6F,EAAcvG,EAAE,CAAC,EAAE,IAAI,MAAIuG,EAAc7F,EAAE,CAAC,EAAE,IAAI,IAAG;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,WAAU5E,EAAE,aAAWC,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,QAAO,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC;AAAA,EAAC;AAAC;AAAQ;AAAC,SAAS2H,GAAS5H,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMC,IAAED,EAAE,CAAC,EAAE,OAAMW,IAAEX,EAAE,CAAC,EAAE;AAAM,MAAG2H,EAAE1H,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,QAAO5E,EAAE,YAAWC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAK,OAAO,UAAUA,CAAC,IAAEuF,EAAE,UAAQA,EAAE,OAAM,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGzF,EAAEG,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,YAAW5E,EAAE,aAAW,KAAIC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGyH,EAAExH,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,WAAU5E,EAAE,SAAQ,IAAGC,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAK,OAAO,UAAUA,CAAC,IAAEuF,EAAE,UAAQA,EAAE,QAAO,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC;AAAA,EAAC;AAAC;AAAQ;AAAC,SAAS4H,EAAcrH,GAAE;AAAC,SAAM,CAAC,CAACA,KAAa,OAAOA,KAAjB,YAAoB,YAAWA,KAAG,MAAM,QAAQA,EAAE,MAAM,KAAG,eAAcA;AAAC;AAAC,SAASsH,EAAMtH,GAAE;AAAC,MAAQA,MAAL,GAAO,QAAM;AAAG,QAAMP,IAAE;AAAG,WAAQU,IAAE,GAAEA,IAAEH,EAAE,OAAO,QAAOG,KAAI;AAAC,UAAMqB,IAAExB,EAAE,OAAOG,CAAC;AAAE,QAAGX,EAAEgC,CAAC,GAAE;AAAC,MAAA/B,EAAE,KAAK+B,CAAC;AAAE;AAAA,IAAQ;AAAC,UAAM7B,IAAE2H,EAAM9F,CAAC;AAAE,QAAQ7B,MAAL,GAAO;AAAS,IAAAF,EAAE,KAAKE,CAAC;AAAA,EAAC;AAAC,SAAOK,EAAE,UAAUP,CAAC;AAAC;AAAC,SAAS8H,GAAe/H,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMC,IAAED,EAAE,CAAC,EAAE,OAAMW,IAAEX,EAAE,CAAC,EAAE;AAAM,MAAG2H,EAAE1H,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,QAAO5E,EAAE,YAAWC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,OAAM,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGzF,EAAEG,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,YAAW5E,EAAE,aAAW,KAAIC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,MAAG2H,EAAE1H,CAAC,KAAGH,EAAEa,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,YAAW5E,EAAE,SAAQ,IAAG,KAAIC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGyH,EAAExH,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,WAAU5E,EAAE,SAAQ,IAAGC,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,QAAO,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC;AAAA,EAAC;AAAC,MAAG0H,EAAE1H,CAAC,KAAGwH,EAAE9G,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,WAAU5E,EAAE,SAAQ,IAAGW,EAAE,CAAC,EAAE,MAAKV,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,QAAO,MAAK5E,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC;AAAA,EAAC;AAAC;AAAQ;AAAC,SAASqH,GAA2B,GAAErH,GAAE;AAAC,WAAQqB,IAAE,GAAEA,IAAE,EAAE,QAAOA,KAAI;AAAC,UAAM7B,IAAE,EAAE6B,CAAC;AAAE,QAAG,CAAChC,EAAEG,CAAC,EAAE;AAAS,UAAMJ,IAAEI,EAAE;AAAM,QAAG,CAACiD,GAAErD,CAAC,EAAE;AAAS,UAAMG,IAAEsG,EAAczG,EAAE,CAAC,EAAE,KAAK;AAAE,YAAOG,GAAC;AAAA,MAAE,KAAI;AAAI,UAAE,OAAO8B,GAAE,GAAE,IAAIxB,EAAE,CAACoE,EAAE,QAAO,KAAK,EAAE,SAAQ,GAAG7E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,KAAK,GAAE,MAAKwF,EAAE,OAAM,CAAC,CAAC,CAAC;AAAE;AAAA,MAAM,KAAI;AAAK,UAAE,OAAOvD,GAAE,GAAE,IAAIxB,EAAE,CAACoE,EAAE,QAAO,KAAK,GAAG,SAAQ,GAAG7E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,KAAK,IAAG,MAAKwF,EAAE,OAAM,CAAC,CAAC,CAAC;AAAE;AAAA,MAAM,KAAI;AAAW,UAAE,OAAOvD,GAAE,GAAE,IAAIxB,EAAE,CAACoE,EAAE,QAAO,YAAW7E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAI,MAAKwF,EAAE,OAAM,CAAC,CAAC,CAAC;AAAE;AAAA,MAAM,KAAI;AAAY,UAAE,OAAOvD,GAAE,GAAE,IAAIxB,EAAE,CAACoE,EAAE,QAAO,aAAY7E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,QAAK,MAAKwF,EAAE,OAAM,CAAC,CAAC,CAAC;AAAE;AAAA,MAAM,KAAI;AAAM,UAAE,OAAOvD,GAAE,GAAE,IAAIxB,EAAE,CAACoE,EAAE,QAAO,OAAM7E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAO,KAAI,MAAKwF,EAAE,OAAM,CAAC,CAAC,CAAC;AAAE;AAAA,MAAM;AAAQ,YAAG5E,EAAE,IAAIT,CAAC,GAAE;AAAC,gBAAMF,IAAEW,EAAE,IAAIT,CAAC;AAAE,YAAE,OAAO8B,GAAE,GAAE,IAAIxB,EAAER,CAAC,CAAC;AAAA,QAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAO;AAAC;AAAC,SAASiI,GAAMzH,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMR,IAAEQ,EAAE,CAAC,EAAE;AAAM,SAAO0H,EAAElI,CAAC,IAAEQ,EAAE,CAAC,IAAE;AAAE;AAAC,SAAS2H,EAAoB3H,GAAER,GAAEC,GAAE;AAAC,SAAOwH,EAAEzH,CAAC,IAAEoI,GAAuB5H,GAAER,EAAE,CAAC,EAAE,MAAKC,CAAC,IAAEH,EAAEE,CAAC,IAAEqI,GAAwB7H,GAAEP,CAAC,IAAE0H,EAAE3H,CAAC,IAAEsI,EAAoB9H,GAAEP,CAAC,IAAE;AAAE;AAAC,SAASmI,GAAuBpI,GAAEC,GAAEU,GAAE;AAAC,QAAMqB,IAAEhC,EAAE,OAAM;AAAG,SAAM,EAAC,QAAO,CAAC,IAAIQ,EAAE,CAACoE,EAAE,WAAUjE,EAAE,SAAQ,IAAGV,GAAE+B,EAAE,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,EAAC,OAAMrB,GAAE,MAAK,OAAO,UAAUA,CAAC,IAAE4E,EAAE,UAAQA,EAAE,QAAO,MAAKtF,EAAC,CAAC,CAAC,CAAC,GAAE,WAAUgI,GAAK;AAAC;AAAC,SAASI,GAAwBrI,GAAEC,GAAE;AAAC,QAAMU,IAAEX,EAAE,OAAM;AAAG,SAAM,EAAC,QAAO,CAAC,IAAIQ,EAAE,CAACoE,EAAE,YAAW3E,EAAE,SAAQ,IAAG,KAAIU,EAAE,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,EAAC,OAAMV,EAAC,CAAC,CAAC,CAAC,GAAE,WAAUgI,GAAK;AAAC;AAAC,SAASK,EAAoBtI,GAAEC,GAAE;AAAC,QAAMU,IAAEX,EAAE;AAAS,SAAM,EAAC,QAAO,CAAC,IAAIQ,EAAE,CAACoE,EAAE,QAAO3E,EAAE,YAAWU,EAAE,CAAC,EAAE,CAAC,GAAEA,EAAEA,EAAE,SAAO,CAAC,EAAE,CAAC,GAAE,EAAC,OAAMV,GAAE,MAAK,OAAO,UAAUA,CAAC,IAAEsF,EAAE,UAAQA,EAAE,OAAM,CAAC,CAAC,CAAC,GAAE,WAAU0C,GAAK;AAAC;AAAC,SAASM,GAAU/H,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,SAAI2H,EAAE1H,CAAC,IAAkBmI,GAAuB5H,GAAE,OAAM,KAAK,KAAKP,EAAE,CAAC,EAAE,KAAK,CAAC,IAA9D;AAA+D;AAAC,SAASuI,GAAUhI,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,SAAI2H,EAAE1H,CAAC,IAAkBmI,GAAuB5H,GAAE,OAAM,KAAK,KAAKP,EAAE,CAAC,EAAE,KAAK,CAAC,IAA9D;AAA+D;AAAC,SAASwI,GAAUjI,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,SAAI2H,EAAE1H,CAAC,IAAkBmI,GAAuB5H,GAAE,OAAM,KAAK,KAAKP,EAAE,CAAC,EAAE,KAAK,CAAC,IAA9D;AAA+D;AAAC,SAASyI,GAAoBlI,GAAE;AAAC,SAAOiH,EAAEjH,CAAC,KAAGmH,EAAEnH,CAAC;AAAC;AAAC,SAASmI,GAAmBnI,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMR,IAAEQ,EAAE,CAAC;AAAE,MAAG,CAAC0H,EAAElI,CAAC,EAAE,QAAM;AAAG,MAAOQ,EAAE,WAAN,EAAa;AAAS,MAAGiH,EAAEzH,CAAC,GAAE;AAAC,UAAMC,IAAEuG,EAAcxG,EAAE,CAAC,EAAE,IAAI;AAAE,aAAQ,IAAE,GAAE,IAAEQ,EAAE,QAAO,KAAI;AAAC,YAAMwB,IAAExB,EAAE,CAAC;AAA0B,UAArBR,EAAE,CAAC,MAAIgC,EAAE,CAAC,KAAc/B,MAAIuG,EAAcxE,EAAE,CAAC,EAAE,IAAI,EAAE,QAAM;AAAA,IAAE;AAAC,WAAM;AAAA,EAAE;AAAC,WAAQ/B,IAAE,GAAEA,IAAEO,EAAE,QAAOP,KAAI;AAAC,UAAM,IAAEO,EAAEP,CAAC;AAAE,QAAGD,EAAE,CAAC,MAAI,EAAE,CAAC,EAAE;EAAQ;AAAC;AAAQ;AAAC,SAAS4I,EAAiBpI,GAAER,GAAE;AAAC,SAAM,CAAC,CAACkI,EAAE1H,CAAC,MAAIiH,EAAEjH,CAAC,IAAEA,EAAE,CAAC,MAAIR,EAAE,CAAC,KAAGwG,EAAchG,EAAE,CAAC,EAAE,IAAI,MAAIgG,EAAcxG,EAAE,CAAC,EAAE,IAAI,IAAEQ,EAAE,CAAC,MAAIR,EAAE,CAAC;AAAE;AAAC,SAAS6I,GAAWrI,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE;AAAM,MAAG,CAAC0I,GAAoB,CAAC,EAAE,QAAM;AAAG,QAAM1G,IAAEwF,EAAY,GAAEvH,EAAE,KAAK;AAAE,SAAI2I,EAAiB,GAAE5G,CAAC,IAAkBoG,GAAuB5H,GAAE,OAAM,KAAK,MAAM,EAAE,CAAC,EAAE,OAAMwB,EAAE,CAAC,EAAE,KAAK,CAAC;AAAC;AAAC,SAAS8G,GAAStI,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE;AAAwB,SAAf,CAACkI,EAAE,CAAC,KAAc,CAACjI,EAAE,kBAAgBH,EAAE,CAAC,IAAQ,KAAUqI,EAAoB3H,GAAE,GAAE,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;AAAC;AAAC,SAASuI,GAAWvI,GAAEP,GAAEU,GAAEqB,GAAE7B,GAAE;AAAC,MAAG,CAACH,EAAEC,CAAC,KAAG,CAACD,EAAEW,CAAC,KAAG,CAACX,EAAEgC,CAAC,EAAE,QAAM;AAAG,QAAM,IAAE/B,EAAE;AAAwB,MAAf,CAACiI,EAAE,CAAC,KAAc,CAAC/H,EAAE,kBAAgBL,EAAE,CAAC,EAAE,QAAM;AAAG,QAAMI,IAAEsH,EAAY,GAAE7G,EAAE,KAAK;AAAE,MAAG,CAACiI,EAAiB,GAAE1I,CAAC,EAAE,QAAM;AAAG,QAAMgF,IAAEsC,EAAY,GAAExF,EAAE,KAAK;AAAE,SAAI4G,EAAiB,GAAE1D,CAAC,IAAkBiD,EAAoB3H,GAAE,GAAE,KAAK,IAAI,EAAE,CAAC,EAAE,OAAM,KAAK,IAAIN,EAAE,CAAC,EAAE,OAAMgF,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAAC;AAAC,SAAS8D,GAASxI,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,MAAG,CAAC0I,GAAoBzI,CAAC,EAAE,QAAM;AAAG,MAAI,IAAEA,EAAE,CAAC,EAAE;AAAM,MAAGwH,EAAExH,CAAC,EAAE,SAAOA,EAAE,CAAC,EAAE,KAAK,YAAW,GAAE;AAAA,IAAE,KAAI;AAAM;AAAA,IAAM,KAAI;AAAM,UAAEyG,GAAE,IAAI,KAAK,EAAEzG,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM,KAAI;AAAO,UAAE0G,GAAE,IAAI,KAAK,EAAE1G,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM,KAAI;AAAO,UAAEqH,GAAE,IAAI,KAAK,EAAErH,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM;AAAQ;EAAQ;AAAC,SAAO,IAAE,KAAK,IAAI,CAAC,GAAEqI,EAAoB9H,GAAE,CAAC;AAAC;AAAC,SAASyI,GAASzI,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,SAAI2H,EAAE1H,CAAC,IAAkBqI,EAAoB9H,GAAE,KAAK,IAAIP,EAAE,CAAC,EAAE,KAAK,CAAC,IAApD;AAAqD;AAAC,SAASiJ,GAAW1I,GAAEP,GAAEU,GAAE;AAAC,MAAG,CAACV,EAAE,MAAMD,CAAC,EAAE;AAAS,QAAMgC,IAAE/B,EAAE,CAAC,EAAE;AAAwB,MAAf,CAACiI,EAAElG,CAAC,KAAc,CAACrB,EAAE,kBAAgBb,EAAEkC,CAAC,EAAE,QAAM;AAAG,QAAM7B,IAAEF,EAAE,KAAK,CAAAO,MAAGgH,EAAYxF,GAAExB,EAAE,KAAK,EAAC;AAAG,MAAG,CAACmI,GAAmBxI,CAAC,EAAE,QAAM;AAAG,QAAM,IAAEA,EAAE,KAAK,CAAAK,MAAGA,EAAE,CAAC,EAAE,MAAK,GAAGN,IAAE,KAAK,MAAM,GAAG,CAAC;AAAE,SAAOiI,EAAoB3H,GAAEwB,GAAE9B,CAAC;AAAC;AAAC,SAASiJ,GAAS3I,GAAEP,GAAEU,GAAE;AAAC,MAAG,CAACV,EAAE,MAAMD,CAAC,EAAE,QAAM;AAAG,QAAMgC,IAAE/B,EAAE,CAAC,EAAE;AAAwB,MAAf,CAACiI,EAAElG,CAAC,KAAc,CAACrB,EAAE,kBAAgBb,EAAEkC,CAAC,EAAE;AAAS,QAAM7B,IAAEF,EAAE,KAAK,CAAAO,MAAGgH,EAAYxF,GAAExB,EAAE,KAAK,EAAC;AAAG,MAAG,CAACmI,GAAmBxI,CAAC,EAAE;AAAS,QAAM,IAAEA,EAAE,KAAK,CAAAK,MAAGA,EAAE,CAAC,EAAE,SAAQN,IAAE,KAAK,IAAI,GAAG,CAAC;AAAE,SAAOiI,EAAoB3H,GAAEwB,GAAE9B,CAAC;AAAC;AAAC,SAASkJ,GAAS5I,GAAEP,GAAEU,GAAE;AAAC,MAAG,CAACV,EAAE,MAAMD,CAAC,EAAE,QAAM;AAAG,QAAMgC,IAAE/B,EAAE,CAAC,EAAE;AAAwB,MAAf,CAACiI,EAAElG,CAAC,KAAc,CAACrB,EAAE,kBAAgBb,EAAEkC,CAAC,EAAE;AAAS,QAAM7B,IAAEF,EAAE,KAAK,CAAAO,MAAGgH,EAAYxF,GAAExB,EAAE,KAAK,EAAC;AAAG,MAAG,CAACmI,GAAmBxI,CAAC,EAAE;AAAS,QAAM,IAAEA,EAAE,KAAK,CAAAK,MAAGA,EAAE,CAAC,EAAE,MAAK,GAAGN,IAAE,KAAK,IAAI,GAAG,CAAC;AAAE,SAAOiI,EAAoB3H,GAAEwB,GAAE9B,CAAC;AAAC;AAAC,SAASmJ,GAAS7I,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE;AAAM,MAAG,CAACkI,EAAE,CAAC,EAAE;AAAS,QAAMlG,IAAEwF,EAAY,GAAEvH,EAAE,KAAK;AAAE,MAAG,CAAC2I,EAAiB,GAAE5G,CAAC,EAAE,QAAM;AAAG,MAAI7B;AAAE,SAAOA,IAAM6B,EAAE,CAAC,EAAE,UAAT,IAAe,OAAO,MAAI,OAAO,SAAS,EAAE,CAAC,EAAE,KAAK,MAAI,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,MAAIA,EAAE,CAAC,EAAE,UAAQ,OAAO,qBAAmB,EAAE,CAAC,EAAE,UAAQ,OAAO,qBAAmB,CAAC,OAAO,GAAG,IAAE,EAAE,CAAC,EAAE,OAAM,EAAE,OAAKA,EAAE,CAAC,EAAE,UAAQ,OAAO,qBAAmB,EAAE,CAAC,EAAE,UAAQ,OAAO,qBAAmB,CAAC,OAAO,GAAG,IAAE,EAAE,CAAC,EAAE,OAAM,CAAC,MAAI,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,KAAG,EAAE,CAAC,EAAE,QAAMA,EAAE,CAAC,EAAE,QAAMA,EAAE,CAAC,EAAE,SAAOA,EAAE,CAAC,EAAE,QAAM,EAAE,CAAC,EAAE,QAAM,OAAO,KAAImG,EAAoB3H,GAAE,GAAEL,CAAC;AAAC;AAAC,SAASmJ,GAAS9I,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE,OAAMgC,IAAE/B,EAAE;AAAwB,SAAf,CAAC0H,EAAE,CAAC,KAAc,CAACiB,EAAiB,GAAE5G,CAAC,IAAQ,KAAUsG,EAAoB9H,GAAE,KAAK,IAAI,EAAE,CAAC,EAAE,OAAMwB,EAAE,CAAC,EAAE,KAAK,CAAC;AAAC;AAAC,SAASuH,GAAS/I,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE;AAAM,MAAG,CAACkI,EAAE,CAAC,EAAE,QAAM;AAAG,QAAMlG,IAAEwF,EAAY,GAAEvH,EAAE,KAAK;AAAE,MAAG,CAAC2I,EAAiB,GAAE5G,CAAC,EAAE,QAAM;AAAG,MAAI7B;AAAE,SAAOA,IAAM6B,EAAE,CAAC,EAAE,UAAT,IAAe,OAAO,MAAI,OAAO,SAAS,EAAE,CAAC,EAAE,KAAK,IAAE,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,IAAE,EAAE,CAAC,EAAE,QAAMA,EAAE,CAAC,EAAE,QAAM,EAAE,CAAC,EAAE,QAAM,OAAO,KAAImG,EAAoB3H,GAAE,GAAEL,CAAC;AAAC;AAAC,SAASqJ,GAAWhJ,GAAER,GAAEC,GAAE,GAAE+B,GAAE;AAAC,QAAM7B,IAAEF,EAAE;AAAwB,MAAf,CAACiI,EAAE/H,CAAC,KAAc,CAAC6B,EAAE,kBAAgBlC,EAAEK,CAAC,EAAE;AAAS,QAAMJ,IAAEyH,EAAYrH,GAAE,EAAE,KAAK;AAAE,MAAG,CAACyI,EAAiBzI,GAAEJ,CAAC,EAAE,QAAM;AAAG,MAAIG;AAAE,MAAOH,EAAE,CAAC,EAAE,UAAT,EAAe,CAAAG,IAAE,OAAO;AAAA,WAAY,OAAO,SAASC,EAAE,CAAC,EAAE,KAAK,KAAG,OAAO,SAASJ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAG,CAAC,OAAO,SAASI,EAAE,CAAC,EAAE,KAAK,KAAG,OAAO,SAASJ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAAG,IAAEC,EAAE,CAAC,EAAE;AAAA,WAAc,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,KAAG,CAAC,OAAO,SAASJ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAOC,GAAC;AAAA,IAAE,KAAI;AAAO,MAAAE,IAAEC,EAAE,CAAC,EAAE,QAAM,IAAE,SAAK,OAAO,GAAG,IAAG,IAAEA,EAAE,CAAC,EAAE,KAAK,IAAE,KAAG;AAAE;AAAA,IAAM,KAAI;AAAK,MAAAD,IAAEC,EAAE,CAAC,EAAE,QAAM,IAAE,QAAI,OAAO,GAAG,GAAE,IAAEA,EAAE,CAAC,EAAE,KAAK,IAAE,IAAE;AAAG;AAAA,IAAM;AAAQ,MAAAD,IAAE,OAAO,GAAG,GAAE,IAAEC,EAAE,CAAC,EAAE,KAAK,IAAE,IAAE;AAAA,EAAE;AAAA,WAAS,OAAO,SAASJ,EAAE,CAAC,EAAE,KAAK,EAAE,SAAOC,GAAC;AAAA,IAAE,KAAI;AAAO,MAAAE,IAAE,KAAK,MAAMC,EAAE,CAAC,EAAE,QAAMJ,EAAE,CAAC,EAAE,KAAK,IAAEA,EAAE,CAAC,EAAE;AAAM;AAAA,IAAM,KAAI;AAAK,MAAAG,IAAE,KAAK,KAAKC,EAAE,CAAC,EAAE,QAAMJ,EAAE,CAAC,EAAE,KAAK,IAAEA,EAAE,CAAC,EAAE;AAAM;AAAA,IAAM,KAAI;AAAU,MAAAG,IAAE,KAAK,MAAMC,EAAE,CAAC,EAAE,QAAMJ,EAAE,CAAC,EAAE,KAAK,IAAEA,EAAE,CAAC,EAAE;AAAM;AAAA,IAAM,SAAQ;AAAC,UAAIS,IAAE,KAAK,MAAML,EAAE,CAAC,EAAE,QAAMJ,EAAE,CAAC,EAAE,KAAK,IAAEA,EAAE,CAAC,EAAE,OAAMC,IAAE,KAAK,KAAKG,EAAE,CAAC,EAAE,QAAMJ,EAAE,CAAC,EAAE,KAAK,IAAEA,EAAE,CAAC,EAAE;AAAM,UAAGS,IAAER,GAAE;AAAC,cAAMC,IAAEO;AAAE,QAAAA,IAAER,GAAEA,IAAEC;AAAA,MAAC;AAAC,YAAMA,IAAE,KAAK,IAAIE,EAAE,CAAC,EAAE,QAAMK,CAAC,GAAEG,IAAE,KAAK,IAAIR,EAAE,CAAC,EAAE,QAAMH,CAAC;AAAE,MAAAE,IAAED,MAAIU,IAAEX,IAAEC,IAAEU,IAAEH,IAAER;AAAE;AAAA,IAAK;AAAA,EAAC;AAAA,MAAM,CAAAE,IAAEC,EAAE,CAAC,EAAE;AAAA,MAAW,CAAAD,IAAE,OAAO;AAAI,SAAOiI,EAAoB3H,GAAEL,GAAED,CAAC;AAAC;AAAC,SAASuJ,GAAUjJ,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAED,EAAE;AAAwB,SAAf,CAACkI,EAAE,CAAC,KAAc,CAACjI,EAAE,kBAAgBH,EAAE,CAAC,IAAQ,KAAUwI,EAAoB9H,GAAE,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;AAAC;AAAC,SAASkJ,GAASlJ,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,MAAG,CAAC0I,GAAoBzI,CAAC,EAAE,QAAM;AAAG,MAAI,IAAEA,EAAE,CAAC,EAAE;AAAM,MAAGwH,EAAExH,CAAC,EAAE,SAAOuG,EAAcvG,EAAE,CAAC,EAAE,IAAI,GAAC;AAAA,IAAE,KAAI;AAAM;AAAA,IAAM,KAAI;AAAM,UAAEyG,GAAE,IAAI,KAAK,EAAEzG,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM,KAAI;AAAO,UAAE0G,GAAE,IAAI,KAAK,EAAE1G,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM,KAAI;AAAO,UAAEqH,GAAE,IAAI,KAAK,EAAErH,EAAE,CAAC,EAAE,KAAK;AAAE;AAAA,IAAM;AAAQ;EAAQ;AAAC,SAAO,IAAE,KAAK,IAAI,CAAC,GAAEqI,EAAoB9H,GAAE,CAAC;AAAC;AAAC,SAASmJ,GAAUnJ,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,SAAI2H,EAAE1H,CAAC,IAAkBqI,EAAoB9H,GAAE,KAAK,KAAKP,EAAE,CAAC,EAAE,KAAK,CAAC,IAArD;AAAsD;AAAC,SAAS2J,GAASpJ,GAAER,GAAE;AAAC,QAAMC,IAAED,EAAE;AAAM,MAAG,CAAC0I,GAAoBzI,CAAC,EAAE,QAAM;AAAG,QAAM,IAAEA,EAAE,CAAC,EAAE;AAAM,MAAI+B,IAAE,GAAE7B,IAAEF,EAAE,CAAC,EAAE;AAAM,MAAGwH,EAAExH,CAAC,EAAE,SAAOuG,EAAcvG,EAAE,CAAC,EAAE,IAAI,GAAC;AAAA,IAAE,KAAI;AAAM,MAAA+B,IAAEoF,GAAE,IAAI,KAAK,EAAE,CAAC;AAAE;AAAA,IAAM,KAAI;AAAM,MAAApF,IAAE,GAAE7B,IAAEuG,GAAE,IAAI,KAAK,EAAE,CAAC;AAAE;AAAA,IAAM,KAAI;AAAO,MAAA1E,IAAE2E,GAAE,IAAI,KAAK,EAAE,CAAC,GAAExG,IAAEwG,GAAE,IAAI,KAAK,EAAE,CAAC;AAAE;AAAA,IAAM,KAAI;AAAO,MAAA3E,IAAEsF,GAAE,IAAI,KAAK,EAAE,CAAC,GAAEnH,IAAEmH,GAAE,IAAI,KAAK,EAAE,CAAC;AAAE;AAAA,IAAM;AAAQ,aAAM;AAAA,EAAE;AAAC,QAAMvH,IAAEiC,IAAE;AAAG,SAAO7B,IAAE6B,IAAE,MAAI,KAAGjC,IAAE,KAAG,IAAEA,IAAE,IAAE,QAAI,SAAK,KAAK,IAAII,CAAC,GAAEmI,EAAoB9H,GAAEL,CAAC;AAAC;AAAC,SAAS0J,GAAY7J,GAAE;AAAC,MAAOA,EAAE,WAAN,EAAa,QAAM;AAAG,QAAMC,IAAED,EAAE,CAAC,EAAE;AAAM,MAAIW,IAAEX,EAAE,CAAC,EAAE;AAAM,MAAG2H,EAAE1H,CAAC,KAAG0H,EAAEhH,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,QAAO5E,EAAE,YAAWC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,OAAM,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGzF,EAAEG,CAAC,KAAGH,EAAEa,CAAC,GAAE;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,YAAW5E,EAAE,aAAW,KAAIC,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,EAAC,CAAC,CAAC;AAAA,EAAC;AAAC,MAAGyH,EAAExH,CAAC,KAAGwH,EAAE9G,CAAC,MAAIA,IAAE6G,EAAYvH,GAAEU,CAAC,GAAE6F,EAAcvG,EAAE,CAAC,EAAE,IAAI,MAAIuG,EAAc7F,EAAE,CAAC,EAAE,IAAI,IAAG;AAAC,UAAMX,IAAEC,EAAE,CAAC,EAAE,QAAMU,EAAE,CAAC,EAAE;AAAM,WAAO,IAAIH,EAAE,CAACoE,EAAE,WAAU5E,EAAE,SAAQ,IAAGC,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEU,EAAE,CAAC,GAAE,EAAC,OAAMX,GAAE,MAAKC,EAAE,CAAC,EAAE,SAAOsF,EAAE,WAAS5E,EAAE,CAAC,EAAE,SAAO4E,EAAE,UAAQA,EAAE,UAAQA,EAAE,QAAO,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC;AAAA,EAAC;AAAC;AAAQ;AAAC,SAAS6J,GAAStJ,GAAEP,GAAE;AAAC,MAAOA,EAAE,WAAN,GAAa;AAAC,UAAMU,IAAEV,EAAE,CAAC;AAAE,QAAG,CAACU,KAAG,CAACX,EAAEW,CAAC,EAAE;AAAS,UAAMqB,IAAErB,EAAE;AAAM,WAAIgH,EAAE3F,CAAC,IAAkBsG,EAAoB9H,GAAE,KAAK,IAAIwB,EAAE,CAAC,EAAE,KAAK,CAAC,IAApD;AAAA,EAAqD;AAAC,MAAO/B,EAAE,WAAN,GAAa;AAAC,UAAMU,IAAEV,EAAE,CAAC;AAAE,QAAG,CAACU,KAAG,CAACX,EAAEW,CAAC,EAAE;AAAS,UAAMqB,IAAErB,EAAE;AAAM,QAAG,CAACgH,EAAE3F,CAAC,EAAE,QAAM;AAAG,UAAM7B,IAAEF,EAAE,CAAC;AAAE,QAAG,CAACE,KAAG,CAACH,EAAEG,CAAC,EAAE;AAAS,UAAM,IAAEA,EAAE;AAAM,WAAIwH,EAAE,CAAC,IAAkBW,EAAoB9H,GAAE,KAAK,IAAIwB,EAAE,CAAC,EAAE,KAAK,IAAE,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,IAAzE;AAAA,EAA0E;AAAC,SAAM;AAAE;AAAC,MAAM+H,KAAE;AAAU,SAASC,GAAOxJ,GAAE;AAAC,MAAG,MAAM,QAAQA,CAAC,GAAE;AAAC,UAAM,IAAEA,EAAE,QAAQ,CAAAA,MAAG,EAAEP,GAAEO,CAAC,KAAGG,GAAEH,CAAC,GAAE;AAAG,WAAW,EAAE,WAAN,KAAcwJ,GAAO,EAAE,CAAC,CAAC;AAAA,EAAC;AAAC,MAAG,CAAChK,EAAEQ,CAAC,EAAE,QAAM;AAAG,QAAMwB,IAAExB,EAAE;AAAM,SAAM,CAAC,CAAC4C,GAAEpB,CAAC,KAAG+H,GAAE,KAAK/H,EAAE,CAAC,EAAE,KAAK;AAAC;AAAC,MAAMiI,KAAE,OAAO,cAAc,CAAC;AAAE,SAASC,GAAY1J,GAAER,GAAEC,GAAE,GAAE+B,GAAE7B,GAAE;ALAlpc,MAAAgK;AKAmpc,MAAQnK,EAAE,UAAP,MAAc,CAACG,EAAE,cAAc;AAAS,EAAAA,EAAE,kBAAgBA,EAAE,gBAAc,EAAC,cAAa,IAAG,WAAU,GAAE,WAAU,IAAG,YAAW,GAAE,IAAGA,EAAE,iBAAe,CAACA,EAAE,cAAc,cAAYA,EAAE,cAAc,YAAU;AAAG,QAAMJ,IAAEE,EAAE;AAAM,MAAG,CAACiI,EAAEnI,CAAC,EAAE;AAAS,QAAMG,IAAEsH,EAAYzH,GAAE,EAAE,KAAK;AAAE,MAAG,CAAC6I,EAAiB7I,GAAEG,CAAC,EAAE,QAAM;AAAG,MAAIgF,IAAE;AAAK,MAAGlD,MAAIkD,IAAEsC,EAAYzH,GAAEiC,EAAE,KAAK,GAAE,CAAC4G,EAAiB7I,GAAEmF,CAAC,GAAG,QAAM;AAAyJ,MAAnJ,CAAC,OAAO,SAASnF,EAAE,CAAC,EAAE,KAAK,KAAgD,CAAC,OAAO,SAASG,EAAE,CAAC,EAAE,KAAK,KAAgD,CAAC,OAAO,SAASA,EAAE,CAAC,EAAE,QAAMH,EAAE,CAAC,EAAE,KAAK,EAAE,QAAOoI,EAAoB3H,GAAET,GAAE,OAAO,GAAG;AAAE,MAAGmF,KAAG,CAAC,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,EAAE,QAAOiD,EAAoB3H,GAAET,GAAEA,EAAE,CAAC,EAAE,KAAK;AAAE,QAAMgC,IAAO/B,EAAE,UAAP,KAAaoK,GAAMC,GAAM,CAACrK,EAAE,cAAYA,EAAE,cAAY,IAAGmK,IAAAhK,EAAE,kBAAF,gBAAAgK,EAAiB,YAAY,IAAIhK,EAAE,cAAc,WAAW,IAAGH,EAAE,gBAAc,KAAGG,EAAE,cAAc,WAAUA,EAAE,cAAc,UAAU,EAAE,KAAK8J,EAAC,CAAC,CAAC,IAAE,MAAIjK,EAAE;AAAM,MAAIa,IAAEd,EAAE,CAAC,EAAE,OAAM0H,IAAEvH,EAAE,CAAC,EAAE;AAAM,MAAGW,IAAE4G,MAAI,CAAC5G,GAAE4G,CAAC,IAAE,CAACA,GAAE5G,CAAC,IAAGqE,MAAIA,EAAE,CAAC,EAAE,SAAO,KAAG,KAAK,IAAIrE,IAAE4G,CAAC,IAAEvC,EAAE,CAAC,EAAE,QAAM,UAAQA,IAAE,OAAMA,GAAE;AAAC,UAAMlF,IAAE,KAAK,IAAIkF,EAAE,CAAC,EAAE,QAAM,KAAI,IAAI,GAAEjF,IAAE,CAACY,CAAC;AAAE,QAAIF,IAAE;AAAE,eAAO;AAAC,MAAAA,KAAGuE,EAAE,CAAC,EAAE;AAAM,YAAM1E,IAAEK,IAAEF;AAAE,UAAG,EAAEH,IAAER,IAAEyH,IAAG;AAAC,QAAAxH,EAAE,KAAKwH,CAAC;AAAE;AAAA,MAAK;AAAC,UAAGxH,EAAE,KAAKO,CAAC,GAAEA,IAAE0E,EAAE,CAAC,EAAE,QAAMlF,IAAEyH,EAAE;AAAA,IAAK;AAAC,UAAMzF,IAAED,EAAC;AAAG,WAAOoG,EAAoB3H,GAAET,GAAE,OAAOE,EAAE,KAAK,MAAMA,EAAE,SAAO+B,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,EAAC;AAAC,QAAM4C,IAAE7C,EAAC;AAAG,SAAOoG,EAAoB3H,GAAET,GAAE,QAAQ6E,KAAG6C,IAAE5G,KAAGA,GAAG,QAAQ,CAAC,CAAC,CAAC;AAAC;AAAC,SAASuJ,GAAM5J,IAAE,qBAAmBR,IAAE,qBAAmBC,IAAE,oBAAkB,IAAE,qBAAmB;AAAC,SAAM,MAAI;AAAC,UAAM+B,MAAIxB,KAAG,MAAIR,KAAG,KAAG,MAAI,KAAG,KAAG;AAAE,WAAO,IAAE,IAAE,IAAE,GAAEQ,IAAER,IAAEA,MAAI,GAAEA,KAAGC,KAAG,MAAIA,KAAG,KAAG,GAAEA,KAAGA,IAAEA,KAAG,KAAGA,MAAI,MAAI+B,IAAE,IAAGA,MAAI,KAAG;AAAA,EAAU;AAAC;AAAC,SAASqI,GAAM7J,GAAE;AAAC,MAAIR,IAAE,GAAEC,IAAE,GAAE,IAAE;AAAE,EAAAD,KAAG;AAAG,WAAQgC,IAAE,GAAE7B,IAAEK,EAAE,QAAOwB,IAAE7B,GAAE6B,IAAI,KAAE,OAAKhC,IAAEQ,EAAE,WAAWwB,CAAC,IAAG/B,IAAE,EAAO,OAAK,kwEAAkwE,UAAU,IAAE,GAAE,IAAE,IAAE,CAAC,IAAGD,IAAEA,MAAI,IAAEC;AAAE,UAAO,KAAGD,OAAK;AAAC;AAAC,MAAMsK,KAAE,oBAAI,IAAI,CAAC,CAAC,OAAM,SAAa,GAAE,GAAErK,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAE6I,EAAQ;AAAC,CAAC,GAAE,CAAC,QAAO,SAAc,GAAE,GAAE7I,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEsI,EAAS;AAAC,CAAC,GAAE,CAAC,QAAO,SAAc,GAAE,GAAEtI,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEuI,EAAS;AAAC,CAAC,GAAE,CAAC,QAAO,SAAc,GAAE,GAAEvI,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEwI,EAAS;AAAC,CAAC,GAAE,CAAC,SAAQ,SAAe,GAAE,GAAExI,GAAE;AAAC,SAAOuK,GAA6B,GAAE,GAAEvK,GAAE4I,EAAU;AAAC,CAAC,GAAE,CAAC,QAAO4B,CAAM,GAAE,CAAC,SAAQ,SAAexK,GAAEU,GAAER,GAAE;AAAC,QAAMJ,IAAEiI,GAA2B,CAAC,GAAG/H,EAAE,MAAM,QAAQ,CAAAO,MAAG,CAACwB,EAAExB,CAAC,GAAG,GAAEG,CAAC,GAAEuE,IAAE,CAAA,GAAGnD,IAAE,IAAGlB,IAAE,CAAA;AAAG;AAAC,QAAIL,IAAE0E;AAAE,aAAQjF,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,YAAMU,IAAEZ,EAAEE,CAAC;AAAE,UAAGD,EAAEW,CAAC,KAAG+J,GAAE/J,EAAE,KAAK,GAAE;AAAC,YAAGH,MAAIK,EAAE,QAAM;AAAG,YAAGL,MAAIuB,GAAE;AAAC,UAAAvB,IAAEK;AAAE;AAAA,QAAQ;AAAC,YAAGL,MAAI0E,GAAE;AAAC,UAAA1E,IAAEuB;AAAE;AAAA,QAAQ;AAAC,eAAM;AAAA,MAAE;AAAC,MAAAvB,EAAE,KAAKG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,QAAM8G,IAAEuC,GAAO9E,CAAC,GAAEK,IAAEyE,GAAOnJ,CAAC;AAAE,MAAG4G,KAAGlC,EAAE,QAAOkF,EAAOE,EAAY5I,CAAC,GAAEpB,GAAER,CAAC;AAAE,QAAMkD,IAAEyE,EAAM2C,EAAOE,EAAY5I,CAAC,GAAEpB,GAAER,CAAC,CAAC;AAAE,MAAQkD,MAAL,GAAO;AAAS,MAAGoE,GAAE;AAAC,UAAMzH,IAAE8H,EAAM2C,EAAOE,EAAY9J,CAAC,GAAEF,GAAER,CAAC,CAAC;AAAE,WAAWH,MAAL,KAAO,KAAGoJ,IAAUzB,IAAEtE,GAAEvD,IAAEE,GAAE,IAAIE,EAAE,CAAC0E,EAAE,UAAS,QAAO,IAAG,IAAG,EAAC,OAAM,MAAK,CAAC,GAAE,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM,GAAE,CAAC+C,GAAE,IAAInH,EAAE,CAACoE,EAAE,OAAM,KAAI,IAAG,IAAG,MAAM,CAAC,GAAE9E,CAAC,CAAC,IAAG,CAACuD,GAAErD,CAAC,GAAEG,CAAC;AAAA,EAAC;AAAC,MAAGoF,GAAE;AAAC,UAAM/E,IAAEsH,EAAM2C,EAAOE,EAAYzF,CAAC,GAAEvE,GAAER,CAAC,CAAC;AAAE,WAAWK,MAAL,KAAO,KAAG2I,GAASyB,GAAWpK,GAAE6C,CAAC,GAAE,CAAC7C,GAAE6C,CAAC,GAAElD,CAAC;AAAA,EAAC;AAAC,MAAIwH,GAAE7H;AAAE,QAAMsD,IAAE0E,EAAM2C,EAAOE,EAAYzF,CAAC,GAAEvE,GAAER,CAAC,CAAC;AAAE,MAAQiD,MAAL,GAAO;AAAS,QAAM8E,IAAEJ,EAAM2C,EAAOE,EAAY9J,CAAC,GAAEF,GAAER,CAAC,CAAC;AAAE,SAAQ+H,MAAL,UAAuBa,GAAW9I,GAAEmD,GAAEC,GAAE6E,GAAE/H,CAAC;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAEF,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAE+I,EAAQ;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAE/I,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEgJ,EAAQ;AAAC,CAAC,GAAE,CAAC,SAAQ,SAAe,GAAE,GAAEhJ,GAAE;AAAC,SAAO4K,GAAoB,GAAE,EAAE,OAAM,GAAE5K,GAAEiJ,EAAU;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAEjJ,GAAE;AAAC,SAAO4K,GAAoB,GAAE,EAAE,OAAM,GAAE5K,GAAE6J,EAAQ;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAE7J,GAAE;AAAC,SAAO4K,GAAoB,GAAE,EAAE,OAAM,GAAE5K,GAAEkJ,EAAQ;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAElJ,GAAE;AAAC,SAAO4K,GAAoB,GAAE,EAAE,OAAM,GAAE5K,GAAEmJ,EAAQ;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAEnJ,GAAE;AAAC,SAAOuK,GAA6B,GAAE,GAAEvK,GAAEoJ,EAAQ;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAEpJ,GAAE;AAAC,SAAOuK,GAA6B,GAAE,GAAEvK,GAAEqJ,EAAQ;AAAC,CAAC,GAAE,CAAC,UAAS,SAAgB,GAAE,GAAErJ,GAAE;AAAC,QAAMU,IAAEmK,GAAwB,EAAE,MAAM,QAAQ,CAAAtK,MAAG,CAACwB,EAAExB,CAAC,KAAI,GAAEP,CAAC;AAAE,MAAQU,MAAL,GAAO,QAAM;AAAG,QAAK,CAACR,GAAEJ,CAAC,IAAEY,GAAET,IAAE6K,GAAkBhL,GAAE,GAAEE,CAAC;AAAE,MAAQC,MAAL,GAAO;AAAS,QAAK,CAACgF,GAAEnD,GAAElB,CAAC,IAAEX;AAAE,SAAG,CAACgF,KAAG,CAACnD,IAAQ,KAAUmI,GAAY,GAAE/J,GAAE+E,GAAEnD,GAAElB,GAAEZ,CAAC;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAEA,GAAE;AAAC,SAAOuK,GAA6B,GAAE,GAAEvK,GAAEsJ,EAAQ;AAAC,CAAC,GAAE,CAAC,SAAQ,SAAetJ,GAAEU,GAAER,GAAE;AAAC,QAAMJ,IAAEiI,GAA2B,CAAC,GAAG/H,EAAE,MAAM,QAAQ,CAAAO,MAAG,CAACwB,EAAExB,CAAC,EAAC,CAAE,GAAEG,CAAC;AAAE,MAAIT,IAAE,IAAGgF,IAAE;AAAG,QAAMnD,IAAE,IAAGlB,IAAE,CAAA;AAAG;AAAC,QAAIL,IAAEuB;AAAE,aAAQ9B,IAAE,GAAEA,IAAEF,EAAE,QAAOE,KAAI;AAAC,YAAMU,IAAEZ,EAAEE,CAAC;AAAE,UAAG,CAACC,KAAO6B,EAAE,WAAN,KAAkBlB,EAAE,WAAN,KAAcb,EAAEW,CAAC,KAAGyC,GAAEzC,EAAE,KAAK,GAAE;AAAC,cAAMH,IAAEG,EAAE,MAAM,CAAC,EAAE,MAAM,YAAW;AAAG,YAAGqK,GAAE,IAAIxK,CAAC,GAAE;AAAC,UAAAN,IAAEM;AAAE;AAAA,QAAQ;AAAA,MAAC;AAAC,UAAGR,EAAEW,CAAC,KAAG+J,GAAE/J,EAAE,KAAK,GAAE;AAAC,YAAGH,MAAIK,EAAE,QAAM;AAAG,YAAGL,MAAIuB,KAAG7B,KAAO6B,EAAE,WAAN,EAAa;AAAS,YAAGvB,MAAIuB,GAAE;AAAC,UAAAmD,IAAE,IAAG1E,IAAEK;AAAE;AAAA,QAAQ;AAAC,eAAM;AAAA,MAAE;AAAC,MAAAL,EAAE,KAAKG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,QAAM8G,IAAEK,EAAM2C,EAAOE,EAAY5I,CAAC,GAAEpB,GAAER,CAAC,CAAC;AAAE,MAAQsH,MAAL,GAAO,QAAM;AAAG,EAAAvC,KAAOrE,EAAE,WAAN,KAAcA,EAAE,KAAK,IAAIL,EAAE,CAACoE,EAAE,QAAO,KAAI,IAAG,IAAG,EAAC,OAAM,GAAE,MAAKW,EAAE,QAAO,CAAC,CAAC,CAAC;AAAE,QAAMlC,IAAEyE,EAAM2C,EAAOE,EAAY9J,CAAC,GAAEF,GAAER,CAAC,CAAC;AAAE,SAAQkD,MAAL,KAAa,MAAGnD,MAAIA,IAAE,YAAkBsJ,GAAWvJ,GAAEC,GAAEuH,GAAEpE,GAAElD,CAAC;AAAC,CAAC,GAAE,CAAC,QAAO,SAAc,GAAE,GAAEF,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEwJ,EAAS;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAExJ,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAEyJ,EAAQ;AAAC,CAAC,GAAE,CAAC,QAAO,SAAc,GAAE,GAAEzJ,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAE0J,EAAS;AAAC,CAAC,GAAE,CAAC,OAAM,SAAa,GAAE,GAAE1J,GAAE;AAAC,SAAOsK,EAAiB,GAAE,GAAEtK,GAAE2J,EAAQ;AAAC,CAAC,CAAC,CAAC;AAAE,SAASa,EAAOjK,GAAEP,GAAEU,GAAE;AAAC,QAAMT,IAAE8H,GAA2B,CAAC,GAAGxH,EAAE,MAAM,QAAQ,CAAAA,MAAG,CAACwB,EAAExB,CAAC,EAAC,CAAE,GAAEP,CAAC;AAAE,MAAOC,EAAE,WAAN,KAAcF,EAAEE,EAAE,CAAC,CAAC,EAAE,QAAM,EAAC,QAAO,CAACA,EAAE,CAAC,CAAC,GAAE,WAAU+H,GAAK;AAAE,MAAI/C,IAAE;AAAE,SAAKA,IAAEhF,EAAE,UAAQ;AAAC,UAAMM,IAAEN,EAAEgF,CAAC;AAAE,QAAG/E,GAAEK,CAAC,KAAGyK,GAAEzK,EAAE,UAAU,GAAE;AAAC,YAAMR,IAAEyK,EAAOjK,GAAEP,GAAEU,CAAC;AAAE,UAAQX,MAAL,GAAO,QAAM;AAAG,MAAAE,EAAE,OAAOgF,GAAE,GAAElF,CAAC;AAAA,IAAC,WAASD,GAAES,CAAC,GAAE;AAAC,YAAMR,IAAEsK,GAAE,IAAI9J,EAAE,UAAU,aAAa;AAAE,UAAG,CAACR,EAAE;AAAS,YAAMgC,IAAEhC,EAAEQ,GAAEP,GAAEU,CAAC;AAAE,UAAQqB,MAAL,GAAO;AAAS,MAAA9B,EAAE,OAAOgF,GAAE,GAAElD,CAAC;AAAA,IAAC,MAAM,CAAAkD;AAAA,EAAG;AAAC,MAAGA,IAAE,GAAMhF,EAAE,WAAN,KAAc2H,EAAc3H,EAAE,CAAC,CAAC,EAAE,QAAOA,EAAE,CAAC;AAAE,SAAKgF,IAAEhF,EAAE,UAAQ;AAAC,UAAMM,IAAEN,EAAEgF,CAAC;AAAE,QAAG,CAAC1E,KAAG,CAACR,EAAEQ,CAAC,KAAG,CAACqH,EAAcrH,CAAC,GAAE;AAAC,MAAA0E;AAAI;AAAA,IAAQ;AAAC,UAAMjF,IAAEC,EAAEgF,IAAE,CAAC;AAAE,QAAG,CAACjF,KAAG,CAACD,EAAEC,CAAC,GAAE;AAAC,MAAAiF;AAAI;AAAA,IAAQ;AAAC,UAAMvE,IAAEV,EAAE;AAAM,QAAG,CAACiL,GAAEvK,CAAC,KAASA,EAAE,CAAC,EAAE,UAAX,OAAwBA,EAAE,CAAC,EAAE,UAAX,KAAiB;AAAC,MAAAuE;AAAI;AAAA,IAAQ;AAAC,UAAMlD,IAAE9B,EAAEgF,IAAE,CAAC;AAAE,QAAG,CAAClD,KAAG,CAAChC,EAAEgC,CAAC,KAAG,CAAC6F,EAAc7F,CAAC,EAAE,QAAM;AAAG,IAAMrB,EAAE,CAAC,EAAE,UAAX,MAAuBA,EAAE,CAAC,EAAE,UAAX,MAAiBuE,MAAIhF,EAAE,OAAOgF,GAAE,GAAE,EAAC,QAAO,CAAC1E,GAAEwB,CAAC,GAAE,WAAU4F,GAAQ,CAAC,IAAE1H,EAAE,OAAOgF,GAAE,GAAE,EAAC,QAAO,CAAC1E,GAAEwB,CAAC,GAAE,WAAU+F,GAAc,CAAC;AAAA,EAAC;AAAC,MAAG7C,IAAE,GAAMhF,EAAE,WAAN,KAAc2H,EAAc3H,EAAE,CAAC,CAAC,EAAE,QAAOA,EAAE,CAAC;AAAE,SAAKgF,IAAEhF,EAAE,UAAQ;AAAC,UAAMM,IAAEN,EAAEgF,CAAC;AAAE,QAAG,CAAC1E,KAAG,CAACR,EAAEQ,CAAC,KAAG,CAACqH,EAAcrH,CAAC,GAAE;AAAC,MAAA0E;AAAI;AAAA,IAAQ;AAAC,UAAMjF,IAAEC,EAAEgF,IAAE,CAAC;AAAE,QAAG,CAACjF,KAAG,CAACD,EAAEC,CAAC,GAAE;AAAC,MAAAiF;AAAI;AAAA,IAAQ;AAAC,UAAMvE,IAAEV,EAAE;AAAM,QAAG,CAACiL,GAAEvK,CAAC,KAASA,EAAE,CAAC,EAAE,UAAX,OAAwBA,EAAE,CAAC,EAAE,UAAX,KAAiB;AAAC,MAAAuE;AAAI;AAAA,IAAQ;AAAC,UAAMlD,IAAE9B,EAAEgF,IAAE,CAAC;AAAE,QAAG,CAAClD,KAAG,CAAChC,EAAEgC,CAAC,KAAG,CAAC6F,EAAc7F,CAAC,EAAE,QAAM;AAAG,IAAMrB,EAAE,CAAC,EAAE,UAAX,MAAuBA,EAAE,CAAC,EAAE,UAAX,MAAiBuE,MAAIhF,EAAE,OAAOgF,GAAE,GAAE,EAAC,QAAO,CAAC1E,GAAEwB,CAAC,GAAE,WAAU6H,GAAW,CAAC,IAAE3J,EAAE,OAAOgF,GAAE,GAAE,EAAC,QAAO,CAAC1E,GAAEwB,CAAC,GAAE,WAAU0F,GAAQ,CAAC;AAAA,EAAC;AAAC,SAAWxH,EAAE,WAAN,KAAc2H,EAAc3H,EAAE,CAAC,CAAC,IAAEA,EAAE,CAAC,IAAE;AAAE;AAAC,SAASqK,EAAiB/J,GAAER,GAAEC,GAAE,GAAE;AAAC,QAAM+B,IAAEmJ,GAAe3K,EAAE,OAAMR,GAAEC,CAAC;AAAE,SAAW+B,MAAL,KAAO,KAAG,EAAExB,GAAEwB,GAAE/B,CAAC;AAAC;AAAC,SAASkL,GAAe3K,GAAER,GAAEC,GAAE;AAAC,QAAM,IAAE6H,EAAM2C,EAAOE,EAAY3C,GAA2B,CAAC,GAAGxH,EAAE,QAAQ,CAAAA,MAAG,CAACwB,EAAExB,CAAC,EAAC,CAAE,GAAER,CAAC,CAAC,GAAEA,GAAEC,CAAC,CAAC;AAAE,SAAW,WAAE,KAAG;AAAC;AAAC,SAASuK,GAA6BhK,GAAER,GAAEC,GAAE,GAAE;AAAC,QAAM+B,IAAEoJ,GAA2B5K,EAAE,OAAMR,GAAEC,CAAC;AAAE,MAAQ+B,MAAL,GAAO;AAAS,QAAK,CAAC7B,GAAEJ,CAAC,IAAEiC;AAAE,SAAO,EAAExB,GAAEL,GAAEJ,GAAEE,CAAC;AAAC;AAAC,SAASmL,GAA2B5K,GAAEP,GAAEU,GAAE;AAAC,QAAMR,IAAE6H,GAA2B,CAAC,GAAGxH,EAAE,QAAQ,CAAAA,MAAG,CAACwB,EAAExB,CAAC,EAAC,CAAE,GAAEP,CAAC,GAAEF,IAAE,CAAA,GAAGG,IAAE,CAAA;AAAG;AAAC,QAAIM,IAAET;AAAE,aAAQE,IAAE,GAAEA,IAAEE,EAAE,QAAOF,KAAI;AAAC,YAAMU,IAAER,EAAEF,CAAC;AAAE,UAAGD,EAAEW,CAAC,KAAG+J,GAAE/J,EAAE,KAAK,GAAE;AAAC,YAAGH,MAAIN,EAAE,QAAM;AAAG,YAAGM,MAAIT,GAAE;AAAC,UAAAS,IAAEN;AAAE;AAAA,QAAQ;AAAC;MAAQ;AAAC,MAAAM,EAAE,KAAKG,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,QAAMuE,IAAE4C,EAAM2C,EAAOE,EAAY5K,CAAC,GAAEE,GAAEU,CAAC,CAAC;AAAE,MAAQuE,MAAL,GAAO,QAAM;AAAG,QAAMnD,IAAE+F,EAAM2C,EAAOE,EAAYzK,CAAC,GAAED,GAAEU,CAAC,CAAC;AAAE,SAAWoB,MAAL,KAAO,KAAG,CAACmD,GAAEnD,CAAC;AAAC;AAAC,SAAS8I,GAAoBrK,GAAER,GAAEC,GAAE,GAAE+B,GAAE;AAAC,QAAM7B,IAAE4K,GAAkBvK,EAAE,OAAMP,GAAE,CAAC;AAAE,SAAWE,WAAE,KAAG6B,EAAExB,GAAEL,GAAE,CAAC;AAAC;AAAC,SAAS4K,GAAkBvK,GAAEP,GAAEU,GAAE;AAAC,QAAMR,IAAE6H,GAA2B,CAAC,GAAGxH,EAAE,QAAQ,CAAAA,MAAG,CAACwB,EAAExB,CAAC,EAAC,CAAE,GAAEP,CAAC,GAAEF,IAAE,CAAA;AAAG;AAAC,UAAMS,IAAE,CAAA;AAAG,QAAI,IAAE,CAAA;AAAG,aAAQP,IAAE,GAAEA,IAAEE,EAAE,QAAOF,KAAI;AAAC,YAAMU,IAAER,EAAEF,CAAC;AAAED,MAAAA,EAAEW,CAAC,KAAG+J,GAAE/J,EAAE,KAAK,KAAGH,EAAE,KAAK,CAAC,GAAE,IAAE,CAAA,KAAI,EAAE,KAAKG,CAAC;AAAA,IAAC;AAAC,IAAAH,EAAE,KAAK,CAAC;AAAE,aAAQR,IAAE,GAAEA,IAAEQ,EAAE,QAAOR,KAAI;AAAC,UAAOQ,EAAER,CAAC,EAAE,WAAT,EAAgB,QAAM;AAAG,YAAMgC,IAAE8F,EAAM2C,EAAOE,EAAYnK,EAAER,CAAC,CAAC,GAAEC,GAAEU,CAAC,CAAC;AAAE,UAAQqB,MAAL,GAAO,QAAM;AAAG,MAAAjC,EAAE,KAAKiC,CAAC;AAAA,IAAC;AAAA,EAAC;AAAC,SAAOjC;AAAC;AAAC,MAAMiL,KAAE,oBAAI,IAAI,CAAC,WAAU,MAAK,QAAO,SAAS,CAAC;AAAE,SAASF,GAAwBtK,GAAEP,GAAEU,GAAE;AAAC,QAAMqB,IAAE,EAAC,QAAO,IAAG,aAAY,IAAG,OAAM,IAAG,eAAc,GAAE,GAAE7B,IAAEK,EAAE,CAAC;AAAE,MAAG,CAACR,EAAEG,CAAC,KAAG,CAACiD,GAAEjD,EAAE,KAAK,EAAE,QAAM,CAAC6B,GAAExB,CAAC;AAAE,WAAQL,IAAE,GAAEA,IAAEK,EAAE,QAAOL,KAAI;AAAC,UAAMJ,IAAES,EAAEL,CAAC;AAAE,QAAG,CAACH,EAAED,CAAC,EAAE,QAAM;AAAG,QAAG2K,GAAE3K,EAAE,KAAK,EAAE,QAAM,CAACiC,GAAExB,EAAE,MAAML,IAAE,CAAC,CAAC;AAAE,QAAG,CAACiD,GAAErD,EAAE,KAAK,EAAE;AAAS,UAAMG,IAAEH,EAAE,MAAM,CAAC,EAAE,MAAM,YAAW;AAAG,QAAsBG,MAAnB,iBAAqB,KAAaA,MAAV,QAAY,KAAYA,MAAT;AAAW,UAAGA,EAAE,WAAW,IAAI,GAAE;AAAC,YAAQ8B,EAAE,UAAP,MAAcA,EAAE,OAAO,QAAM;AAAG,QAAAA,EAAE,cAAY9B;AAAA,MAAC;AAAA,WAAU;AAAC,UAAQ8B,EAAE,UAAP,MAAcA,EAAE,YAAY,QAAM;AAAG,MAAAA,EAAE,SAAO;AAAA,IAAE;AAAA,SAAK;AAAC,UAAGA,EAAE,iBAAeA,EAAE,eAAaA,EAAE,OAAO;AAAS,MAAA7B;AAAI,YAAMH,IAAEQ,EAAEL,CAAC;AAAE,UAAG,CAACH,EAAE,QAAM;AAAG,YAAMD,IAAE+H,EAAM2C,EAAOE,EAAY,CAAC3K,CAAC,CAAC,GAAEC,GAAEU,CAAC,CAAC;AAA6C,UAAnCZ,MAAL,MAAmB,CAAC4H,EAAE5H,EAAE,KAAK,KAAcA,EAAE,MAAM,CAAC,EAAE,QAAM,KAAGA,EAAE,MAAM,CAAC,EAAE,QAAM,EAAE;AAAS,MAAAiC,EAAE,QAAM,KAAK,IAAI,GAAE,KAAK,IAAIjC,EAAE,MAAM,CAAC,EAAE,OAAM,IAAE,IAAI,CAAC;AAAA,IAAC;AAAA,SAAK;AAAC,UAAQiC,EAAE,UAAP,GAAa,QAAM;AAAG,MAAAA,EAAE,gBAAc;AAAA,IAAE;AAAA,EAAC;AAAC,SAAM;AAAE;AAAC,SAAS2I,EAAYnK,GAAE;AAAC,SAAO,IAAIN,EAAE,CAAC0E,EAAE,UAAS,SAAQ,IAAG,IAAG,EAAC,OAAM,OAAM,CAAC,GAAE,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM,GAAEpE,CAAC;AAAC;AAAC,SAASoK,GAAW5K,GAAEC,GAAE;AAAC,SAAO,IAAIC,EAAE,CAAC0E,EAAE,UAAS,QAAO,IAAG,IAAG,EAAC,OAAM,MAAK,CAAC,GAAE,CAACA,EAAE,YAAW,KAAI,IAAG,IAAG,MAAM,GAAE,CAAC5E,GAAE,IAAIQ,EAAE,CAACoE,EAAE,OAAM,KAAI,IAAG,IAAG,MAAM,CAAC,GAAE3E,CAAC,CAAC;AAAC;AAAC,SAASoL,GAASrL,GAAE;AAAC,MAAQA,MAAL,GAAO,QAAM;AAAG,MAAGD,GAAEC,CAAC,EAAE,QAAOA;AAAE,QAAMC,IAAED,EAAE;AAAM,SAAOkI,EAAEjI,CAAC,KAAG,OAAO,MAAMA,EAAE,CAAC,EAAE,KAAK,IAAE0H,EAAE1H,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAM,OAAM3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,MAAK,CAAC,CAAC,CAAC,CAAC,IAAEwH,EAAExH,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAM,OAAM3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,MAAK,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,OAAM,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,IAAG,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,WAAU,MAAI3E,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,GAAE,MAAKsF,EAAE,SAAQ,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC,CAAC,CAAC,IAAEH,EAAEG,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAM,OAAM3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,MAAK,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,OAAM,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,IAAG,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,YAAW,MAAK3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,CAAC,IAAE,KAAGD;AAAC;AAAC,SAASsL,GAActL,GAAE;AAAC,MAAQA,MAAL,GAAO,QAAM;AAAG,MAAGD,GAAEC,CAAC,EAAE,QAAOA;AAAE,QAAMC,IAAED,EAAE;AAAwB,MAAf,CAACkI,EAAEjI,CAAC,KAAc,OAAO,SAASA,EAAE,CAAC,EAAE,KAAK,KAAG,OAAO,MAAMA,EAAE,CAAC,EAAE,KAAK,EAAE,QAAOD;AAAE,MAAIW,IAAE;AAAG,SAAO,OAAO,sBAAoBV,EAAE,CAAC,EAAE,UAAQU,IAAE,MAAKgH,EAAE1H,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAMjE,IAAE,YAAWV,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAMU,IAAE,WAAU,CAAC,CAAC,CAAC,CAAC,IAAE8G,EAAExH,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAMjE,IAAE,YAAWV,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAMU,IAAE,WAAU,CAAC,CAAC,GAAE,IAAIuE,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,OAAM,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,IAAG,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,WAAU,MAAI3E,EAAE,CAAC,EAAE,MAAKA,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,GAAE,MAAKsF,EAAE,SAAQ,MAAKtF,EAAE,CAAC,EAAE,KAAI,CAAC,CAAC,CAAC,CAAC,IAAE,IAAIC,EAAE,CAAC0E,EAAE,UAAS,SAAQ3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,OAAM,CAAC,GAAE,CAAC2E,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,GAAE,CAAC,IAAIO,EAAE,CAACoE,EAAE,OAAMjE,IAAE,YAAWV,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAMU,IAAE,WAAU,CAAC,CAAC,GAAE,IAAIuE,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,OAAM,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,IAAG,CAAC,CAAC,GAAE,IAAIiF,EAAE,CAAC,CAACN,EAAE,YAAW,KAAI3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,MAAM,CAAC,CAAC,GAAE,IAAIO,EAAE,CAACoE,EAAE,YAAW,MAAK3E,EAAE,CAAC,GAAEA,EAAE,CAAC,GAAE,EAAC,OAAM,EAAC,CAAC,CAAC,CAAC,CAAC;AAAC;AAAC,SAASsL,GAAe/K,GAAE;AAAC,MAAQA,MAAL,GAAO,QAAM;AAAG,MAAGT,GAAES,CAAC,EAAE,QAAOA;AAAE,QAAMR,IAAEQ,EAAE;AAAM,SAAO0H,EAAElI,CAAC,KAAG,OAAO,GAAG,IAAGA,EAAE,CAAC,EAAE,KAAK,MAAUA,EAAE,CAAC,MAAV,SAAcF,EAAEE,CAAC,IAAEA,EAAE,CAAC,IAAE,QAAMyH,EAAEzH,CAAC,IAAEA,EAAE,CAAC,IAAE,OAAKA,EAAE,CAAC,EAAE,OAAKA,EAAE,CAAC,IAAE,QAAMQ;AAAI;AAAC,SAASgL,GAAehL,GAAER,IAAE,IAAG;AAAC,MAAQQ,MAAL,GAAO;AAA0B,MAAdR,KAAG,KAAcD,GAAES,CAAC,EAAE,QAAOA;AAAE,QAAMP,IAAEO,EAAE;AAAwB,MAAf,CAAC0H,EAAEjI,CAAC,KAAc,OAAO,UAAUA,EAAE,CAAC,EAAE,KAAK,EAAE,QAAOO;AAAE,QAAM,IAAE,OAAOP,EAAE,CAAC,EAAE,MAAM,QAAQD,CAAC,CAAC,EAAE,SAAQ;AAAG,SAAO2H,EAAE1H,CAAC,IAAEA,EAAE,CAAC,IAAE,IAAEH,EAAEG,CAAC,IAAEA,EAAE,CAAC,IAAE,IAAE,MAAIwH,EAAExH,CAAC,MAAIA,EAAE,CAAC,IAAE,IAAEA,EAAE,CAAC,EAAE,OAAMO;AAAC;AAAyG,SAASiL,GAAgBjL,GAAER,GAAE;AAAC,MAAIC,IAAEO;AAAE,SAAsDP,IAAEuL,GAAevL,GAAED,KAAA,gBAAAA,EAAG,SAAS,GAAEC,IAAEsL,GAAetL,CAAC,GAA6CA,IAAEoL,GAASpL,CAAC,GAAEA,IAAEqL,GAAcrL,CAAC,GAAGA;AAAC;AAAC,SAASyL,GAAgBlL,GAAE;AAAuB,SAAd,oBAAI;AAA2M;AAAC,SAASmL,GAAKnL,GAAER,GAAE;AAAC,SAAO4L,GAAwB7J,GAAE8J,GAAE,EAAC,KAAIrL,EAAC,CAAC,GAAE,CAAA,CAAE,GAAER,CAAC,EAAE,KAAK,CAAAQ,MAAGA,EAAE,KAAK,CAAAA,MAAGsL,EAAE,GAAGtL,EAAE,OAAM,CAAE,EAAC,EAAG,KAAK,EAAE,EAAC,EAAG,KAAK,GAAG;AAAC;AAAC,SAASoL,GAAwBpL,GAAER,GAAE;AAAC,QAAMC,IAAEyL,GAA0B;AAAE,SAAO7K,GAAEL,IAAG,CAAAA,MAAG;AAAC,QAAG,CAACT,GAAES,CAAC,EAAE;AAAO,UAAMG,IAAE2J,GAAE,IAAI9J,EAAE,UAAU,YAAW,CAAE;AAAE,QAAG,CAACG,EAAE;AAAO,UAAMqB,IAAEyJ,GAAgB3D,EAAMnH,EAAEH,GAAEP,GAAK,CAAA,CAAE,CAAC,GAAED,CAAC;AAAE,WAAWgC,WAAEA,IAAE;AAAA,EAAM,EAAC;AAAE;AAAS,IAAI,IAAIsI,GAAE,KAAI,CAAE;ACGps4B,MAAMyB,IAAa,CAACtE,MAAM;AAC/B,QAAMuE,IAAQ,GAAGvE,CAAC,IACZwE,IAAS,WAAWD,CAAK;AAC/B,MAAIE,IAAO;AAEX,QAAMC,IAAQH,EAAM,MAAM,WAAW;AACrC,SAAIG,MACFD,IAAOC,EAAM,CAAC,IAGZF,MAAW,KAAKC,MAAS,kBAC3BA,IAAO,SAGF,EAAE,QAAAD,GAAQ,MAAAC,EAAI;AACvB,GAEaE,KAAqB,CAACJ,MAAU;AAC3C,QAAMK,IAAS,CAAA;AACf,MAAI,OAAOL,KAAU;AACnB,IAAAK,EAAO,WAAWN,EAAWC,CAAK;AAAA,WACzB,MAAM,QAAQA,CAAK;AAG5B,QAFAK,EAAO,WAAWN,EAAWC,EAAM,CAAC,CAAC,GAEjC,OAAOA,EAAM,CAAC,KAAM;AACtB,MAAAK,EAAO,aAAaN,EAAWC,EAAM,CAAC,CAAC;AAAA,aAC9B,OAAOA,EAAM,CAAC,KAAM,UAAU;AACvC,UAAI,gBAAgBA,EAAM,CAAC,GAAG;AAC5B,YAAIM,IAAKN,EAAM,CAAC,EAAE;AAClB,QAAI,OAAOM,KAAO,YAAYA,EAAG,SAAS,MAAM,MAC9CA,IAAKX,GAAKW,CAAE;AAEd,cAAMC,IAASR,EAAWO,CAAE;AAC5B,QAAIC,EAAO,SAAS,gBAClBF,EAAO,aAAa;AAAA,UAClB,QAAQC,IAAKD,EAAO,SAAS;AAAA,UAC7B,MAAMA,EAAO,SAAS;AAAA,QAClC,IAEUA,EAAO,aAAaE;AAAA,MAExB;AACA,MAAI,mBAAmBP,EAAM,CAAC,MAC5BK,EAAO,gBAAgBN,EAAWC,EAAM,CAAC,EAAE,aAAa;AAAA,IAE5D;AAAA;AAEF,SAAOK;AACT,GAEaG,KAAiB,CAACC,GAAOC,GAAKV,GAAOW,IAAO,SAEnDF,EAAM,WAAWC,EAAI,UACvBpM,GAAI;AAAA,EACF,8BACEqM,IAAO,KAAKA,CAAI,MAAM,EAC9B,aAAmBX,CAAK;AACxB,GACW,QAKLS,EAAM,SAASC,EAAI,QAAQD,EAAM,SAAS,UAAUC,EAAI,SAAS,UACnEpM,GAAI;AAAA,EACF,sBAAsBqM,IAAO,KAAKA,CAAI,MAAM,EAAE,aAAaX,CAAK,OAC9DS,EAAM,IACd,QAAcC,EAAI,IAAI;AACtB,GACW,QAGLD,EAAM,SAAS,iBAAiBC,EAAI,SAAS,iBAC/CpM,GAAI;AAAA,EACF,0CACEqM,IAAO,KAAKA,CAAI,MAAM,EAC9B,aAAmBX,CAAK;AACxB,GACW,QAGF,IClFIY,KAAQ,CACnBC,GACAC,GACAC,IAAS,EAAE,QAAQ,SAAS,MAAM,MAAK,GACvCC,IAAS,EAAE,QAAQ,IAAI,MAAM,MAAK,GAClCC,IAAe,OACZ;AACH,QAAMf,IAAOW,EAAO,SAAS,SAASC,EAAK,OAAOD,EAAO,MACnDK,IAAOhB,MAAS;AAEtB,MAAIO,IAAQI,EAAO,QACfH,IAAMI,EAAK,QACXK,IAAW,IAEXC,IAAQL,EAAO,QACfM,IAAQL,EAAO;AAEnB,EAAID,EAAO,SAAS,QAAQG,MAC1BE,IAAQL,EAAO,SAAS,KAGtBA,EAAO,SAAS,QAAQ,CAACG,MAC3BE,IAAQL,EAAO,SAAS,KAGtBC,EAAO,SAAS,QAAQE,MAC1BG,IAAQL,EAAO,SAAS,KAGtBA,EAAO,SAAS,QAAQ,CAACE,MAC3BG,IAAQL,EAAO,SAAS,KAGtBN,IAAMD,KAASA,IAAQ,KAAKC,IAAM,KACpCD,IAAQ,KAAK,IAAIA,CAAK,GACtBC,IAAM,KAAK,IAAIA,CAAG,GAClBS,IAAW,MACFT,IAAMD,KAASA,IAAQ,KAAKC,IAAM,KAC3CD,IAAQA,IAAQ,IAChBC,IAAMA,IAAM,IACZS,IAAW,MACFT,IAAMD,MACfA,IAAQ,KAAK,IAAIA,CAAK,IAAI,IAC1BC,IAAM,KAAK,IAAIA,CAAG,GAClBS,IAAW;AAGb,QAAMG,KAASZ,IAAMD,MAAUY,IAAQD,IACjCzB,IAAO,IAAIc,IAAQW,IAAQE,GAAO,QAAQ,CAAC,CAAC,GAAGpB,CAAI,OACvD,MAAMoB,GACN,QAAQ,CAAC,CAAC,GAAGL,IAAe,QAAQ,IAAI,IAEpCjB,IAAQ,SAASS,CAAK,GAAGP,CAAI,KAAKP,CAAI,KAAKe,CAAG,GAAGR,CAAI;AAE3D,SAAOiB,IAAW,QAAQnB,CAAK,WAAWA;AAC5C,GC/CMuB,KAAiB;AAAA,EACrB,SAAS;AAAA,EACT,SAAS;AACX;AAEA,SAASC,GAAmBC,GAAaC,GAAUC,GAASC,GAAY;AACtE,MAAI,CAACH;AACH,WAAO;AAAA,MACL,GAAG1B,EAAW2B,CAAQ;AAAA,MACtB,aAAa;AAAA,IACnB;AAGE,QAAMG,IAAcJ,EAAY,WAAW,GAAG,GAExCK,IAAaD,IAAcJ,EAAY,MAAM,CAAC,IAAIA,GAClDzB,IAAQ6B,IACVD,EAAWE,CAAU,KAAKA,IAC1BH,EAAQG,CAAU,KAAKA;AAE3B,SAAO;AAAA,IACL,GAAG/B,EAAWC,CAAK;AAAA,IACnB,aAAA6B;AAAA,EACJ;AACA;AAEA,MAAME,KAAgB,CAACtG,MACrB,2BAA2B,KAAKA,EAAE,KAAI,CAAE,KAAKA,EAAE,KAAI,MAAO,KAE5DuG,KAAeC,GAAO,YAAY,SAAUC,IAAU,IAAI;AACxD,QAAMhO,IAAI,EAAE,GAAGqN,IAAgB,GAAGW,EAAO;AACzC,SAAO,SAAU,EAAE,gBAAAC,GAAgB,SAAAC,GAAS,OAAAC,GAAO,QAAAC,EAAM,GAAI;AAC3D,UAAMC,IAAaF,EAAM,OAAO,KAAK,CAAA,GAG/BG,IAAgB,CAAA,GAChBC,IAAsB,CAAA;AAE5B,eAAW,CAACpO,GAAM2L,CAAK,KAAK,OAAO,QAAQuC,CAAU,GAAG;AACtD,UAAI,OAAOvC,KAAU,SAAU;AAC/B,YAAM0C,IAAW1C,EAAM,MAAM,GAAG,EAAE,CAAC;AACnC,MAAI+B,GAAcW,CAAQ,IACxBD,EAAoBpO,CAAI,IAAI2L,IAE5BwC,EAAcnO,CAAI,IAAI2L;AAAA,IAE1B;AAGA,QAAI,OAAO,KAAKyC,CAAmB,EAAE,SAAS,GAAG;AAC/C,YAAMd,IAAUU,EAAM,SAAS,GACzBT,IAAaS,EAAM,YAAY,GAC/BM,IAAW,CAAA;AAEjB,iBAAW,CAACtO,GAAM2L,CAAK,KAAK,OAAO,QAAQyC,CAAmB,GAAG;AAC/D,cAAMG,IAAO5C,EAAM,MAAM,GAAG,EAAE,IAAI,CAACnL,OAAMA,GAAE,MAAM;AAEjD,YAAI+N,EAAK,SAAS,GAAG;AACnB,UAAAtO,GAAI;AAAA,YACF,iCAAiCD,CAAI;AAAA,UACjD;AACU;AAAA,QACF;AAEA,cAAMoM,IAAQV,EAAW6C,EAAK,CAAC,CAAC,GAC1BlC,IAAMX,EAAW6C,EAAK,CAAC,CAAC,GAExBxB,IAAQI;AAAA,UACZoB,EAAK,CAAC;AAAA,UACN1O,EAAE;AAAA,UACFyN;AAAA,UACAC;AAAA,QACV,GACcP,IAAQG;AAAA,UACZoB,EAAK,CAAC;AAAA,UACN1O,EAAE;AAAA,UACFyN;AAAA,UACAC;AAAA,QACV;AAGQ,YADI,CAACpB,GAAeY,GAAOC,GAAO,WAAWhN,CAAI,EAAE,KAC/C,CAACmM,GAAeC,GAAOC,GAAK,WAAWrM,CAAI,EAAE,EAAG;AAEpD,cAAM4M,KAAeG,EAAM;AAC3B,QAAAuB,EAAS,WAAWtO,CAAI,EAAE,IAAIuM;AAAA,UAC5BH;AAAA,UACAC;AAAA,UACAU;AAAA,UACAC;AAAA,UACAJ;AAAA,QACV;AAAA,MACM;AAEA,MAAI,OAAO,KAAK0B,CAAQ,EAAE,SAAS,KACjCP,EAAQ,EAAE,SAASO,GAAU;AAAA,IAEjC;AAEA,IAAAR;AAAA,MACE;AAAA,QACE,OAAO,CAACnC,MAAU;AR9G1B,cAAA7B,IAAA0E;AQ+GU,gBAAMD,IAAO5C,EAAM,MAAM,GAAG;AAE5B,cAAI4C,EAAK,SAAS;AAChB,mBAAAtO,GAAI;AAAA,cACF,4DAA4D0L,CAAK;AAAA,YAC/E,GACmB,CAAA;AAGT,gBAAM2B,IAAUU,EAAM,SAAS,GACzBT,IAAaS,EAAM,YAAY,GAE/BjB,IAAQI;AAAA,YACZoB,EAAK,CAAC;AAAA,YACN1O,EAAE;AAAA,YACFyN;AAAA,YACAC;AAAA,UACZ,GAEgBP,IAAQG;AAAA,YACZoB,EAAK,CAAC;AAAA,YACN1O,EAAE;AAAA,YACFyN;AAAA,YACAC;AAAA,UACZ;AAEU,cAAI,CAACpB,GAAeY,GAAOC,GAAOrB,CAAK;AACrC,mBAAO,CAAA;AAGT,gBAAMiB,IAAeG,EAAM,aAErB0B,IADmBF,EAAK,CAAC,EAAE,WAAW,IAAI,IAE5C,EAAE,MAAM,WAAW,KAAK,MAAM,OAAO,CAACA,EAAK,CAAC,CAAC,EAAC,IAC9CxO,GAAgBwO,EAAK,CAAC,CAAC;AAE3B,cAAI,CAACE;AACH,mBAAAxO,GAAI;AAAA,cACF,aAAasO,EAAK,CAAC,CAAC,+BAA+B5C,CAAK;AAAA,YACtE,GACmB,CAAA;AAGT,gBAAM,EAAE,KAAA+C,GAAK,OAAAC,IAAO,MAAAC,GAAI,IAAKH;AAG7B,cAAIG,OAAS,YAAY;AACvB,kBAAMxC,IAAQL;AAAA,cACZkC,EAAM,EAAG,MAAMS,CAAG,EAAEH,EAAK,CAAC,CAAC,KAAKA,EAAK,CAAC;AAAA,YACpD,GACkBlC,IAAMN;AAAA,cACVkC,EAAM,EAAG,MAAMS,CAAG,EAAEH,EAAK,CAAC,CAAC,KAAKA,EAAK,CAAC;AAAA,YACpD,GAEkBM,KAAM,CAAA;AAEZ,0BAAO,KAAKzC,CAAK,EAAE,QAAQ,CAAC5G,MAAM;AAChC,kBAAIA,KAAK6G;AACP,qBACG7G,MAAM,mBAAmBA,MAAM,iBAChC4G,EAAM5G,CAAC,EAAE,WAAW6G,EAAI7G,CAAC,EAAE,UAC3B4G,EAAM5G,CAAC,EAAE,SAAS6G,EAAI7G,CAAC,EAAE;AAEzB,kBAAAqJ,GAAIrJ,CAAC,IAAI,GAAG4G,EAAM5G,CAAC,EAAE,MAAM,GAAG4G,EAAM5G,CAAC,EAAE,IAAI;AAAA,yBAClC2G,GAAeC,EAAM5G,CAAC,GAAG6G,EAAI7G,CAAC,GAAGmG,GAAOnG,CAAC,GAAG;AACrD,wBAAMsJ,KAAMvC;AAAA,oBACVH,EAAM5G,CAAC;AAAA,oBACP6G,EAAI7G,CAAC;AAAA,oBACLuH;AAAA,oBACAC;AAAA,oBACAJ;AAAA,kBACpB;AACkB,kBAAAiC,GAAIrJ,CAAC,IAAIsJ;AAAA,gBACX;AAAA;AAAA,YAEJ,CAAC,GAEMD;AAAA,UACT;AAGA,cAAIzC,KAAQV;AAAA,YACVgD,OAAM5E,KAAAmE,EAAM,EAAG,MAAMS,CAAG,MAAlB,gBAAA5E,GAAsByE,EAAK,CAAC,OAAMA,EAAK,CAAC;AAAA,UAC1D,GACclC,KAAMX;AAAA,YACRgD,OAAMF,KAAAP,EAAM,EAAG,MAAMS,CAAG,MAAlB,gBAAAF,GAAsBD,EAAK,CAAC,OAAMA,EAAK,CAAC;AAAA,UAC1D;AAGU,cAAIK,OAAS,WAAW;AACtB,kBAAMG,IAAUrD;AAAA,cACd,OAAOsC,EAAM,SAAS,KAAM,WACxBA,EAAM,SAAS,IACfA,EAAM,WAAW;AAAA,YACnC,GAEkBgB,IAAkB,gBAAgB,KAAKT,EAAK,CAAC,CAAC,GAC9CU,KAAgB,gBAAgB,KAAKV,EAAK,CAAC,CAAC;AAElD,YAAIS,MACF5C,KAAQ;AAAA,cACN,QAAQ2C,EAAQ,SAAS,WAAWR,EAAK,CAAC,CAAC;AAAA,cAC3C,MAAMQ,EAAQ;AAAA,YAC9B,IAGgBE,OACF5C,KAAM;AAAA,cACJ,QAAQ0C,EAAQ,SAAS,WAAWR,EAAK,CAAC,CAAC;AAAA,cAC3C,MAAMQ,EAAQ;AAAA,YAC9B;AAAA,UAEU;AAEA,cAAI,CAAC5C,GAAeC,IAAOC,IAAKV,CAAK;AACnC,mBAAO,CAAA;AAGT,gBAAMmD,KAAMvC,GAAMH,IAAOC,IAAKU,GAAOC,GAAOJ,CAAY;AAWxD,iBATY+B,GAAM,OAAO,CAACO,GAAK5C,OACzB,OAAOA,KAAS,WAClB4C,EAAI5C,CAAI,IAAIwC,KAEZI,IAAM,EAAE,GAAGA,GAAK,GAAG5C,EAAI,GAElB4C,IACN,CAAA,CAAE;AAAA,QAGP;AAAA,MACR;AAAA,MACM,EAAE,QAAQf,EAAa;AAAA,MACvB;AAAA,QACE,wBAAwB;AAAA,QACxB,WAAW;AAAA,UACT,SAAS;AAAA;AAAA,QACnB;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF,CAAC;","x_google_ignoreList":[0,3,4,5]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["u","ParseError","consumeComment","i","r","a","c","u","l","n","e","t","o","h","m","p","s","d","k","e","f","a","m","p","d","C","n","g","t","D","h","r","u","c","A","l","i","N","o","B","b","F","s","w","E","I","S","plugin"],"sources":["../node_modules/tailwindcss/dist/plugin.mjs","../lib/resolve-property.js","../lib/log.js","../node_modules/@csstools/css-tokenizer/dist/index.mjs","../node_modules/@csstools/css-parser-algorithms/dist/index.mjs","../node_modules/@csstools/css-calc/dist/index.mjs","../lib/parse-value.js","../lib/clamp.js","../lib/index.js"],"sourcesContent":["function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;export{u as default};\n","const cssTransformValue = [\n 'translate(var(--tw-translate-x), var(--tw-translate-y))',\n 'rotate(var(--tw-rotate))',\n 'skewX(var(--tw-skew-x))',\n 'skewY(var(--tw-skew-y))',\n 'scaleX(var(--tw-scale-x))',\n 'scaleY(var(--tw-scale-y))',\n].join(' ');\n\nexport const resolveProperty = (name) => {\n switch (name) {\n // Sizing & Spacing\n case 'p':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['padding'],\n };\n\n case 'pt':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingTop'],\n };\n\n case 'pb':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBottom'],\n };\n\n case 'pl':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingLeft'],\n };\n\n case 'ps':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineStart'],\n };\n\n case 'pr':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingRight'],\n };\n\n case 'pe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInlineEnd'],\n };\n\n case 'px':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingInline'],\n };\n\n case 'py':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlock'],\n };\n\n case 'pbs':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlockStart'],\n };\n\n case 'pbe':\n return {\n type: 'spacing',\n key: 'padding',\n props: ['paddingBlockEnd'],\n };\n\n case 'm':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['margin'],\n };\n\n case 'mt':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginTop'],\n };\n\n case 'mb':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBottom'],\n };\n\n case 'ml':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginLeft'],\n };\n\n case 'ms':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineStart'],\n };\n\n case 'mr':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginRight'],\n };\n\n case 'me':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInlineEnd'],\n };\n\n case 'mx':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginInline'],\n };\n\n case 'my':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlock'],\n };\n\n case 'mbs':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlockStart'],\n };\n\n case 'mbe':\n return {\n type: 'spacing',\n key: 'margin',\n props: ['marginBlockEnd'],\n };\n\n case 'space-x':\n return {\n type: 'spacing',\n key: 'margin',\n selector: '& > :not(:last-child)',\n props: ['marginInlineEnd'],\n };\n\n case 'space-y':\n return {\n type: 'spacing',\n key: 'margin',\n selector: '& > :not(:last-child)',\n props: ['marginBlockEnd'],\n };\n\n case 'inset':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['inset'],\n };\n\n case 'inset-x':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInline'],\n };\n\n case 'inset-y':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlock'],\n };\n\n case 'inset-bs':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlockStart'],\n };\n\n case 'inset-be':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetBlockEnd'],\n };\n\n case 'start':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineStart'],\n };\n\n case 'end':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['insetInlineEnd'],\n };\n\n case 'top':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['top'],\n };\n\n case 'left':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['left'],\n };\n\n case 'right':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['right'],\n };\n\n case 'bottom':\n return {\n type: 'spacing',\n key: 'inset',\n props: ['bottom'],\n };\n\n case 'gap':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['gap'],\n };\n\n case 'gap-x':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['columnGap'],\n };\n\n case 'gap-y':\n return {\n type: 'spacing',\n key: 'gap',\n props: ['rowGap'],\n };\n\n case 'w':\n return {\n type: 'spacing',\n key: 'width',\n props: ['width'],\n };\n\n case 'h':\n return {\n type: 'spacing',\n key: 'height',\n props: ['height'],\n };\n\n case 'size':\n return {\n type: 'spacing',\n key: 'size',\n props: ['width', 'height'],\n };\n\n case 'min-w':\n return {\n type: 'spacing',\n key: 'minWidth',\n props: ['minWidth'],\n };\n\n case 'min-h':\n return {\n type: 'spacing',\n key: 'minHeight',\n props: ['minHeight'],\n };\n\n case 'max-w':\n return {\n type: 'spacing',\n key: 'maxWidth',\n props: ['maxWidth'],\n };\n\n case 'max-h':\n return {\n type: 'spacing',\n key: 'maxHeight',\n props: ['maxHeight'],\n };\n\n case 'inline':\n return {\n type: 'spacing',\n key: 'inlineSize',\n props: ['inlineSize'],\n };\n\n case 'min-inline':\n return {\n type: 'spacing',\n key: 'minInlineSize',\n props: ['minInlineSize'],\n };\n\n case 'max-inline':\n return {\n type: 'spacing',\n key: 'maxInlineSize',\n props: ['maxInlineSize'],\n };\n\n case 'block':\n return {\n type: 'spacing',\n key: 'blockSize',\n props: ['blockSize'],\n };\n\n case 'min-block':\n return {\n type: 'spacing',\n key: 'minBlockSize',\n props: ['minBlockSize'],\n };\n\n case 'max-block':\n return {\n type: 'spacing',\n key: 'maxBlockSize',\n props: ['maxBlockSize'],\n };\n\n case 'basis':\n return {\n type: 'spacing',\n key: 'flexBasis',\n props: ['flexBasis'],\n };\n\n case 'indent':\n return {\n type: 'spacing',\n key: 'textIndent',\n props: ['textIndent'],\n };\n\n case 'scroll-m':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMargin'],\n };\n\n case 'scroll-mx':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInline'],\n };\n\n case 'scroll-my':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlock'],\n };\n case 'scroll-ms':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineStart'],\n };\n\n case 'scroll-me':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginInlineEnd'],\n };\n\n case 'scroll-mt':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginTop'],\n };\n\n case 'scroll-mb':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBottom'],\n };\n\n case 'scroll-ml':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginLeft'],\n };\n\n case 'scroll-mr':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginRight'],\n };\n\n case 'scroll-mbs':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlockStart'],\n };\n\n case 'scroll-mbe':\n return {\n type: 'spacing',\n key: 'scrollMargin',\n props: ['scrollMarginBlockEnd'],\n };\n\n case 'scroll-p':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPadding'],\n };\n\n case 'scroll-px':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInline'],\n };\n\n case 'scroll-py':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlock'],\n };\n\n case 'scroll-ps':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineStart'],\n };\n\n case 'scroll-pe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingInlineEnd'],\n };\n\n case 'scroll-pt':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingTop'],\n };\n\n case 'scroll-pb':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBottom'],\n };\n\n case 'scroll-pl':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingLeft'],\n };\n\n case 'scroll-pr':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingRight'],\n };\n\n case 'scroll-pbs':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlockStart'],\n };\n\n case 'scroll-pbe':\n return {\n type: 'spacing',\n key: 'scrollPadding',\n props: ['scrollPaddingBlockEnd'],\n };\n\n case 'translate':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-x':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-x',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'translate-y':\n return {\n type: 'spacing',\n key: 'translate',\n props: [\n '--tw-translate-y',\n { translate: 'var(--tw-translate-x) var(--tw-translate-y)' },\n ],\n };\n\n case 'underline-offset':\n return {\n type: 'regular',\n key: 'textUnderlineOffset',\n props: ['textUnderlineOffset'],\n };\n\n // Border & Stroke\n case 'stroke':\n return {\n type: 'regular',\n key: 'strokeWidth',\n props: ['strokeWidth'],\n };\n\n case 'border':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderWidth'],\n };\n\n case 'border-t':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderTopWidth'],\n };\n\n case 'border-b':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBottomWidth'],\n };\n\n case 'border-l':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderLeftWidth'],\n };\n\n case 'border-s':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineStartWidth'],\n };\n\n case 'border-r':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderRightWidth'],\n };\n\n case 'border-e':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineEndWidth'],\n };\n\n case 'border-x':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderInlineWidth'],\n };\n\n case 'border-y':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockWidth'],\n };\n\n case 'border-bs':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockStartWidth'],\n };\n\n case 'border-be':\n return {\n type: 'regular',\n key: 'borderWidth',\n props: ['borderBlockEndWidth'],\n };\n\n case 'outline':\n return {\n type: 'regular',\n key: 'outlineWidth',\n props: ['outlineWidth'],\n };\n\n case 'outline-offset':\n return {\n type: 'regular',\n key: 'outlineOffset',\n props: ['outlineOffset'],\n };\n\n case 'decoration':\n return {\n type: 'regular',\n key: 'textDecorationThickness',\n props: ['textDecorationThickness'],\n };\n\n // Border Radius\n case 'rounded':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderRadius'],\n };\n\n case 'rounded-s':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius', 'borderEndStartRadius'],\n };\n\n case 'rounded-ss':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartStartRadius'],\n };\n\n case 'rounded-se':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius'],\n };\n\n case 'rounded-e':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderStartEndRadius', 'borderEndEndRadius'],\n };\n\n case 'rounded-ee':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndEndRadius'],\n };\n\n case 'rounded-es':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderEndStartRadius'],\n };\n\n case 'rounded-t':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderTopRightRadius'],\n };\n\n case 'rounded-r':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-b':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius', 'borderBottomRightRadius'],\n };\n\n case 'rounded-l':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius', 'borderBottomLeftRadius'],\n };\n\n case 'rounded-tl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopLeftRadius'],\n };\n\n case 'rounded-tr':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderTopRightRadius'],\n };\n\n case 'rounded-bl':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomLeftRadius'],\n };\n\n case 'rounded-br':\n return {\n type: 'regular',\n key: 'borderRadius',\n props: ['borderBottomRightRadius'],\n };\n\n case 'leading':\n return {\n type: 'regular',\n key: 'lineHeight',\n props: ['lineHeight'],\n };\n\n case 'tracking':\n return {\n type: 'regular',\n key: 'letterSpacing',\n props: ['letterSpacing'],\n };\n\n // Type\n case 'text':\n return {\n type: 'fontSize',\n key: 'fontSize',\n props: ['fontSize'],\n };\n\n default:\n return null;\n }\n};\n","export const log = {\n error() {\n console.log('\\x1b[31m', ...arguments, '\\x1b[0m');\n },\n warn() {\n console.log('\\x1b[33m', ...arguments, '\\x1b[0m');\n },\n info() {\n console.log('\\x1b[34m', ...arguments, '\\x1b[0m');\n },\n log() {\n console.log('\\x1b[90m', ...arguments, '\\x1b[0m');\n },\n};\n","class ParseError extends Error{sourceStart;sourceEnd;parserState;constructor(e,n,t,o){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=t,this.parserState=o}}class ParseErrorWithToken extends ParseError{token;constructor(e,n,t,o,r){super(e,n,t,o),this.token=r}}const e={UnexpectedNewLineInString:\"Unexpected newline while consuming a string token.\",UnexpectedEOFInString:\"Unexpected EOF while consuming a string token.\",UnexpectedEOFInComment:\"Unexpected EOF while consuming a comment.\",UnexpectedEOFInURL:\"Unexpected EOF while consuming a url token.\",UnexpectedEOFInEscapedCodePoint:\"Unexpected EOF while consuming an escaped code point.\",UnexpectedCharacterInURL:\"Unexpected character while consuming a url token.\",InvalidEscapeSequenceInURL:\"Invalid escape sequence while consuming a url token.\",InvalidEscapeSequenceAfterBackslash:'Invalid escape sequence after \"\\\\\"'},n=\"undefined\"!=typeof globalThis&&\"structuredClone\"in globalThis;function cloneTokens(e){return n?structuredClone(e):JSON.parse(JSON.stringify(e))}function stringify(...e){let n=\"\";for(let t=0;t<e.length;t++)n+=e[t][1];return n}const t=13,o=45,r=10,i=43,s=65533;function checkIfFourCodePointsWouldStartCDO(e){return 60===e.source.codePointAt(e.cursor)&&33===e.source.codePointAt(e.cursor+1)&&e.source.codePointAt(e.cursor+2)===o&&e.source.codePointAt(e.cursor+3)===o}function isDigitCodePoint(e){return e>=48&&e<=57}function isUppercaseLetterCodePoint(e){return e>=65&&e<=90}function isLowercaseLetterCodePoint(e){return e>=97&&e<=122}function isHexDigitCodePoint(e){return e>=48&&e<=57||e>=97&&e<=102||e>=65&&e<=70}function isLetterCodePoint(e){return isLowercaseLetterCodePoint(e)||isUppercaseLetterCodePoint(e)}function isIdentStartCodePoint(e){return isLetterCodePoint(e)||isNonASCII_IdentCodePoint(e)||95===e}function isIdentCodePoint(e){return isIdentStartCodePoint(e)||isDigitCodePoint(e)||e===o}function isNonASCII_IdentCodePoint(e){return 183===e||8204===e||8205===e||8255===e||8256===e||8204===e||(192<=e&&e<=214||216<=e&&e<=246||248<=e&&e<=893||895<=e&&e<=8191||8304<=e&&e<=8591||11264<=e&&e<=12271||12289<=e&&e<=55295||63744<=e&&e<=64975||65008<=e&&e<=65533||(0===e||(!!isSurrogate(e)||e>=65536)))}function isNonPrintableCodePoint(e){return 11===e||127===e||0<=e&&e<=8||14<=e&&e<=31}function isNewLine(e){return e===r||e===t||12===e}function isWhitespace(e){return 32===e||e===r||9===e||e===t||12===e}function isSurrogate(e){return e>=55296&&e<=57343}function checkIfTwoCodePointsAreAValidEscape(e){return 92===e.source.codePointAt(e.cursor)&&!isNewLine(e.source.codePointAt(e.cursor+1)??-1)}function checkIfThreeCodePointsWouldStartAnIdentSequence(e,n){return n.source.codePointAt(n.cursor)===o?n.source.codePointAt(n.cursor+1)===o||(!!isIdentStartCodePoint(n.source.codePointAt(n.cursor+1)??-1)||92===n.source.codePointAt(n.cursor+1)&&!isNewLine(n.source.codePointAt(n.cursor+2)??-1)):!!isIdentStartCodePoint(n.source.codePointAt(n.cursor)??-1)||checkIfTwoCodePointsAreAValidEscape(n)}function checkIfThreeCodePointsWouldStartANumber(e){return e.source.codePointAt(e.cursor)===i||e.source.codePointAt(e.cursor)===o?!!isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1)||46===e.source.codePointAt(e.cursor+1)&&isDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1):46===e.source.codePointAt(e.cursor)?isDigitCodePoint(e.source.codePointAt(e.cursor+1)??-1):isDigitCodePoint(e.source.codePointAt(e.cursor)??-1)}function checkIfTwoCodePointsStartAComment(e){return 47===e.source.codePointAt(e.cursor)&&42===e.source.codePointAt(e.cursor+1)}function checkIfThreeCodePointsWouldStartCDC(e){return e.source.codePointAt(e.cursor)===o&&e.source.codePointAt(e.cursor+1)===o&&62===e.source.codePointAt(e.cursor+2)}var c,a,u;function mirrorVariantType(e){switch(e){case c.OpenParen:return c.CloseParen;case c.CloseParen:return c.OpenParen;case c.OpenCurly:return c.CloseCurly;case c.CloseCurly:return c.OpenCurly;case c.OpenSquare:return c.CloseSquare;case c.CloseSquare:return c.OpenSquare;default:return null}}function mirrorVariant(e){switch(e[0]){case c.OpenParen:return[c.CloseParen,\")\",-1,-1,void 0];case c.CloseParen:return[c.OpenParen,\"(\",-1,-1,void 0];case c.OpenCurly:return[c.CloseCurly,\"}\",-1,-1,void 0];case c.CloseCurly:return[c.OpenCurly,\"{\",-1,-1,void 0];case c.OpenSquare:return[c.CloseSquare,\"]\",-1,-1,void 0];case c.CloseSquare:return[c.OpenSquare,\"[\",-1,-1,void 0];default:return null}}function consumeComment(n,t){for(t.advanceCodePoint(2);;){const o=t.readCodePoint();if(void 0===o){const o=[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInComment,t.representationStart,t.representationEnd,[\"4.3.2. Consume comments\",\"Unexpected EOF\"],o)),o}if(42===o&&(void 0!==t.source.codePointAt(t.cursor)&&47===t.source.codePointAt(t.cursor))){t.advanceCodePoint();break}}return[c.Comment,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0]}function consumeEscapedCodePoint(n,o){const i=o.readCodePoint();if(void 0===i)return n.onParseError(new ParseError(e.UnexpectedEOFInEscapedCodePoint,o.representationStart,o.representationEnd,[\"4.3.7. Consume an escaped code point\",\"Unexpected EOF\"])),s;if(isHexDigitCodePoint(i)){const e=[i];let n;for(;void 0!==(n=o.source.codePointAt(o.cursor))&&isHexDigitCodePoint(n)&&e.length<6;)e.push(n),o.advanceCodePoint();isWhitespace(o.source.codePointAt(o.cursor)??-1)&&(o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint());const c=parseInt(String.fromCodePoint(...e),16);return 0===c||isSurrogate(c)||c>1114111?s:c}return 0===i||isSurrogate(i)?s:i}function consumeIdentSequence(e,n){const t=[];for(;;){const o=n.source.codePointAt(n.cursor)??-1;if(0===o||isSurrogate(o))t.push(s),n.advanceCodePoint(+(o>65535)+1);else if(isIdentCodePoint(o))t.push(o),n.advanceCodePoint(+(o>65535)+1);else{if(!checkIfTwoCodePointsAreAValidEscape(n))return t;n.advanceCodePoint(),t.push(consumeEscapedCodePoint(e,n))}}}function consumeHashToken(e,n){n.advanceCodePoint();const t=n.source.codePointAt(n.cursor);if(void 0!==t&&(isIdentCodePoint(t)||checkIfTwoCodePointsAreAValidEscape(n))){let t=u.Unrestricted;checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)&&(t=u.ID);const o=consumeIdentSequence(e,n);return[c.Hash,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...o),type:t}]}return[c.Delim,\"#\",n.representationStart,n.representationEnd,{value:\"#\"}]}function consumeNumber(e,n){let t=a.Integer;for(n.source.codePointAt(n.cursor)!==i&&n.source.codePointAt(n.cursor)!==o||n.advanceCodePoint();isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(46===n.source.codePointAt(n.cursor)&&isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint(2),t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint();if(101===n.source.codePointAt(n.cursor)||69===n.source.codePointAt(n.cursor)){if(isDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))n.advanceCodePoint(2);else{if(n.source.codePointAt(n.cursor+1)!==o&&n.source.codePointAt(n.cursor+1)!==i||!isDigitCodePoint(n.source.codePointAt(n.cursor+2)??-1))return t;n.advanceCodePoint(3)}for(t=a.Number;isDigitCodePoint(n.source.codePointAt(n.cursor)??-1);)n.advanceCodePoint()}return t}function consumeNumericToken(e,n){let t;{const e=n.source.codePointAt(n.cursor);e===o?t=\"-\":e===i&&(t=\"+\")}const r=consumeNumber(0,n),s=parseFloat(n.source.slice(n.representationStart,n.representationEnd+1));if(checkIfThreeCodePointsWouldStartAnIdentSequence(0,n)){const o=consumeIdentSequence(e,n);return[c.Dimension,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r,unit:String.fromCodePoint(...o)}]}return 37===n.source.codePointAt(n.cursor)?(n.advanceCodePoint(),[c.Percentage,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t}]):[c.Number,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:s,signCharacter:t,type:r}]}function consumeWhiteSpace(e){for(;isWhitespace(e.source.codePointAt(e.cursor)??-1);)e.advanceCodePoint();return[c.Whitespace,e.source.slice(e.representationStart,e.representationEnd+1),e.representationStart,e.representationEnd,void 0]}!function(e){e.Comment=\"comment\",e.AtKeyword=\"at-keyword-token\",e.BadString=\"bad-string-token\",e.BadURL=\"bad-url-token\",e.CDC=\"CDC-token\",e.CDO=\"CDO-token\",e.Colon=\"colon-token\",e.Comma=\"comma-token\",e.Delim=\"delim-token\",e.Dimension=\"dimension-token\",e.EOF=\"EOF-token\",e.Function=\"function-token\",e.Hash=\"hash-token\",e.Ident=\"ident-token\",e.Number=\"number-token\",e.Percentage=\"percentage-token\",e.Semicolon=\"semicolon-token\",e.String=\"string-token\",e.URL=\"url-token\",e.Whitespace=\"whitespace-token\",e.OpenParen=\"(-token\",e.CloseParen=\")-token\",e.OpenSquare=\"[-token\",e.CloseSquare=\"]-token\",e.OpenCurly=\"{-token\",e.CloseCurly=\"}-token\",e.UnicodeRange=\"unicode-range-token\"}(c||(c={})),function(e){e.Integer=\"integer\",e.Number=\"number\"}(a||(a={})),function(e){e.Unrestricted=\"unrestricted\",e.ID=\"id\"}(u||(u={}));class Reader{cursor=0;source=\"\";representationStart=0;representationEnd=-1;constructor(e){this.source=e}advanceCodePoint(e=1){this.cursor=this.cursor+e,this.representationEnd=this.cursor-1}readCodePoint(){const e=this.source.codePointAt(this.cursor);if(void 0!==e)return this.cursor=this.cursor+1,this.representationEnd=this.cursor-1,e}unreadCodePoint(e=1){this.cursor=this.cursor-e,this.representationEnd=this.cursor-1}resetRepresentation(){this.representationStart=this.cursor,this.representationEnd=-1}}function consumeStringToken(n,o){let i=\"\";const a=o.readCodePoint();for(;;){const u=o.readCodePoint();if(void 0===u){const t=[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInString,o.representationStart,o.representationEnd,[\"4.3.5. Consume a string token\",\"Unexpected EOF\"],t)),t}if(isNewLine(u)){o.unreadCodePoint();const i=[c.BadString,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedNewLineInString,o.representationStart,o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r?o.representationEnd+2:o.representationEnd+1,[\"4.3.5. Consume a string token\",\"Unexpected newline\"],i)),i}if(u===a)return[c.String,o.source.slice(o.representationStart,o.representationEnd+1),o.representationStart,o.representationEnd,{value:i}];if(92!==u)0===u||isSurrogate(u)?i+=String.fromCodePoint(s):i+=String.fromCodePoint(u);else{if(void 0===o.source.codePointAt(o.cursor))continue;if(isNewLine(o.source.codePointAt(o.cursor)??-1)){o.source.codePointAt(o.cursor)===t&&o.source.codePointAt(o.cursor+1)===r&&o.advanceCodePoint(),o.advanceCodePoint();continue}i+=String.fromCodePoint(consumeEscapedCodePoint(n,o))}}}function checkIfCodePointsMatchURLIdent(e){return!(3!==e.length||117!==e[0]&&85!==e[0]||114!==e[1]&&82!==e[1]||108!==e[2]&&76!==e[2])}function consumeBadURL(e,n){for(;;){const t=n.source.codePointAt(n.cursor);if(void 0===t)return;if(41===t)return void n.advanceCodePoint();checkIfTwoCodePointsAreAValidEscape(n)?(n.advanceCodePoint(),consumeEscapedCodePoint(e,n)):n.advanceCodePoint()}}function consumeUrlToken(n,t){for(;isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();let o=\"\";for(;;){if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected EOF\"],r)),r}if(41===t.source.codePointAt(t.cursor))return t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];if(isWhitespace(t.source.codePointAt(t.cursor)??-1)){for(t.advanceCodePoint();isWhitespace(t.source.codePointAt(t.cursor)??-1);)t.advanceCodePoint();if(void 0===t.source.codePointAt(t.cursor)){const r=[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}];return n.onParseError(new ParseErrorWithToken(e.UnexpectedEOFInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Consume as much whitespace as possible\",\"Unexpected EOF\"],r)),r}return 41===t.source.codePointAt(t.cursor)?(t.advanceCodePoint(),[c.URL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,{value:o}]):(consumeBadURL(n,t),[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0])}const r=t.source.codePointAt(t.cursor);if(34===r||39===r||40===r||isNonPrintableCodePoint(r??-1)){consumeBadURL(n,t);const o=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.UnexpectedCharacterInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"Unexpected U+0022 QUOTATION MARK (\\\"), U+0027 APOSTROPHE ('), U+0028 LEFT PARENTHESIS (() or non-printable code point\"],o)),o}if(92===r){if(checkIfTwoCodePointsAreAValidEscape(t)){t.advanceCodePoint(),o+=String.fromCodePoint(consumeEscapedCodePoint(n,t));continue}consumeBadURL(n,t);const r=[c.BadURL,t.source.slice(t.representationStart,t.representationEnd+1),t.representationStart,t.representationEnd,void 0];return n.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceInURL,t.representationStart,t.representationEnd,[\"4.3.6. Consume a url token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],r)),r}0===t.source.codePointAt(t.cursor)||isSurrogate(t.source.codePointAt(t.cursor)??-1)?(o+=String.fromCodePoint(s),t.advanceCodePoint()):(o+=t.source[t.cursor],t.advanceCodePoint())}}function consumeIdentLikeToken(e,n){const t=consumeIdentSequence(e,n);if(40!==n.source.codePointAt(n.cursor))return[c.Ident,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];if(checkIfCodePointsMatchURLIdent(t)){n.advanceCodePoint();let o=0;for(;;){const e=isWhitespace(n.source.codePointAt(n.cursor)??-1),r=isWhitespace(n.source.codePointAt(n.cursor+1)??-1);if(e&&r){o+=1,n.advanceCodePoint(1);continue}const i=e?n.source.codePointAt(n.cursor+1):n.source.codePointAt(n.cursor);if(34===i||39===i)return o>0&&n.unreadCodePoint(o),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}];break}return consumeUrlToken(e,n)}return n.advanceCodePoint(),[c.Function,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{value:String.fromCodePoint(...t)}]}function checkIfThreeCodePointsWouldStartAUnicodeRange(e){return!(117!==e.source.codePointAt(e.cursor)&&85!==e.source.codePointAt(e.cursor)||e.source.codePointAt(e.cursor+1)!==i||63!==e.source.codePointAt(e.cursor+2)&&!isHexDigitCodePoint(e.source.codePointAt(e.cursor+2)??-1))}function consumeUnicodeRangeToken(e,n){n.advanceCodePoint(2);const t=[],r=[];let i;for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&isHexDigitCodePoint(i);)t.push(i),n.advanceCodePoint();for(;void 0!==(i=n.source.codePointAt(n.cursor))&&t.length<6&&63===i;)0===r.length&&r.push(...t),t.push(48),r.push(70),n.advanceCodePoint();if(!r.length&&n.source.codePointAt(n.cursor)===o&&isHexDigitCodePoint(n.source.codePointAt(n.cursor+1)??-1))for(n.advanceCodePoint();void 0!==(i=n.source.codePointAt(n.cursor))&&r.length<6&&isHexDigitCodePoint(i);)r.push(i),n.advanceCodePoint();if(!r.length){const e=parseInt(String.fromCodePoint(...t),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:e,endOfRange:e}]}const s=parseInt(String.fromCodePoint(...t),16),a=parseInt(String.fromCodePoint(...r),16);return[c.UnicodeRange,n.source.slice(n.representationStart,n.representationEnd+1),n.representationStart,n.representationEnd,{startOfRange:s,endOfRange:a}]}function tokenize(e,n){const t=tokenizer(e,n),o=[];for(;!t.endOfFile();)o.push(t.nextToken());return o.push(t.nextToken()),o}function tokenizer(n,s){const a=n.css.valueOf(),u=n.unicodeRangesAllowed??!1,d=new Reader(a),p={onParseError:s?.onParseError??noop};return{nextToken:function nextToken(){d.resetRepresentation();const n=d.source.codePointAt(d.cursor);if(void 0===n)return[c.EOF,\"\",-1,-1,void 0];if(47===n&&checkIfTwoCodePointsStartAComment(d))return consumeComment(p,d);if(u&&(117===n||85===n)&&checkIfThreeCodePointsWouldStartAUnicodeRange(d))return consumeUnicodeRangeToken(0,d);if(isIdentStartCodePoint(n))return consumeIdentLikeToken(p,d);if(isDigitCodePoint(n))return consumeNumericToken(p,d);switch(n){case 44:return d.advanceCodePoint(),[c.Comma,\",\",d.representationStart,d.representationEnd,void 0];case 58:return d.advanceCodePoint(),[c.Colon,\":\",d.representationStart,d.representationEnd,void 0];case 59:return d.advanceCodePoint(),[c.Semicolon,\";\",d.representationStart,d.representationEnd,void 0];case 40:return d.advanceCodePoint(),[c.OpenParen,\"(\",d.representationStart,d.representationEnd,void 0];case 41:return d.advanceCodePoint(),[c.CloseParen,\")\",d.representationStart,d.representationEnd,void 0];case 91:return d.advanceCodePoint(),[c.OpenSquare,\"[\",d.representationStart,d.representationEnd,void 0];case 93:return d.advanceCodePoint(),[c.CloseSquare,\"]\",d.representationStart,d.representationEnd,void 0];case 123:return d.advanceCodePoint(),[c.OpenCurly,\"{\",d.representationStart,d.representationEnd,void 0];case 125:return d.advanceCodePoint(),[c.CloseCurly,\"}\",d.representationStart,d.representationEnd,void 0];case 39:case 34:return consumeStringToken(p,d);case 35:return consumeHashToken(p,d);case i:case 46:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):(d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]);case r:case t:case 12:case 9:case 32:return consumeWhiteSpace(d);case o:return checkIfThreeCodePointsWouldStartANumber(d)?consumeNumericToken(p,d):checkIfThreeCodePointsWouldStartCDC(d)?(d.advanceCodePoint(3),[c.CDC,\"--\\x3e\",d.representationStart,d.representationEnd,void 0]):checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)?consumeIdentLikeToken(p,d):(d.advanceCodePoint(),[c.Delim,\"-\",d.representationStart,d.representationEnd,{value:\"-\"}]);case 60:return checkIfFourCodePointsWouldStartCDO(d)?(d.advanceCodePoint(4),[c.CDO,\"\\x3c!--\",d.representationStart,d.representationEnd,void 0]):(d.advanceCodePoint(),[c.Delim,\"<\",d.representationStart,d.representationEnd,{value:\"<\"}]);case 64:if(d.advanceCodePoint(),checkIfThreeCodePointsWouldStartAnIdentSequence(0,d)){const e=consumeIdentSequence(p,d);return[c.AtKeyword,d.source.slice(d.representationStart,d.representationEnd+1),d.representationStart,d.representationEnd,{value:String.fromCodePoint(...e)}]}return[c.Delim,\"@\",d.representationStart,d.representationEnd,{value:\"@\"}];case 92:{if(checkIfTwoCodePointsAreAValidEscape(d))return consumeIdentLikeToken(p,d);d.advanceCodePoint();const n=[c.Delim,\"\\\\\",d.representationStart,d.representationEnd,{value:\"\\\\\"}];return p.onParseError(new ParseErrorWithToken(e.InvalidEscapeSequenceAfterBackslash,d.representationStart,d.representationEnd,[\"4.3.1. Consume a token\",\"U+005C REVERSE SOLIDUS (\\\\)\",\"The input stream does not start with a valid escape sequence\"],n)),n}}return d.advanceCodePoint(),[c.Delim,d.source[d.representationStart],d.representationStart,d.representationEnd,{value:d.source[d.representationStart]}]},endOfFile:function endOfFile(){return void 0===d.source.codePointAt(d.cursor)}}}function noop(){}function mutateIdent(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=String.fromCodePoint(...serializeIdent(t));e[1]=o,e[4].value=n}function mutateUnit(e,n){const t=[];for(const e of n)t.push(e.codePointAt(0));const o=serializeIdent(t);101===o[0]&&insertEscapedCodePoint(o,0,o[0]);const r=String.fromCodePoint(...o),i=\"+\"===e[4].signCharacter?e[4].signCharacter:\"\",s=e[4].value.toString();e[1]=`${i}${s}${r}`,e[4].unit=n}function serializeIdent(e){let n=0;if(0===e[0])e.splice(0,1,s),n=1;else if(e[0]===o&&e[1]===o)n=2;else if(e[0]===o&&e[1])n=2,isIdentStartCodePoint(e[1])||(n+=insertEscapedCodePoint(e,1,e[1]));else{if(e[0]===o&&!e[1])return[92,e[0]];isIdentStartCodePoint(e[0])?n=1:(n=1,n+=insertEscapedCodePoint(e,0,e[0]))}for(let t=n;t<e.length;t++)0!==e[t]?isIdentCodePoint(e[t])||(t+=insertEscapedCharacter(e,t,e[t])):(e.splice(t,1,s),t++);return e}function insertEscapedCharacter(e,n,t){return e.splice(n,1,92,t),1}function insertEscapedCodePoint(e,n,t){const o=t.toString(16),r=[];for(const e of o)r.push(e.codePointAt(0));return e.splice(n,1,92,...r,32),1+r.length}const d=Object.values(c);function isToken(e){return!!Array.isArray(e)&&(!(e.length<4)&&(!!d.includes(e[0])&&(\"string\"==typeof e[1]&&(\"number\"==typeof e[2]&&\"number\"==typeof e[3]))))}function isTokenNumeric(e){if(!e)return!1;switch(e[0]){case c.Dimension:case c.Number:case c.Percentage:return!0;default:return!1}}function isTokenWhiteSpaceOrComment(e){if(!e)return!1;switch(e[0]){case c.Whitespace:case c.Comment:return!0;default:return!1}}function isTokenAtKeyword(e){return!!e&&e[0]===c.AtKeyword}function isTokenBadString(e){return!!e&&e[0]===c.BadString}function isTokenBadURL(e){return!!e&&e[0]===c.BadURL}function isTokenCDC(e){return!!e&&e[0]===c.CDC}function isTokenCDO(e){return!!e&&e[0]===c.CDO}function isTokenColon(e){return!!e&&e[0]===c.Colon}function isTokenComma(e){return!!e&&e[0]===c.Comma}function isTokenComment(e){return!!e&&e[0]===c.Comment}function isTokenDelim(e){return!!e&&e[0]===c.Delim}function isTokenDimension(e){return!!e&&e[0]===c.Dimension}function isTokenEOF(e){return!!e&&e[0]===c.EOF}function isTokenFunction(e){return!!e&&e[0]===c.Function}function isTokenHash(e){return!!e&&e[0]===c.Hash}function isTokenIdent(e){return!!e&&e[0]===c.Ident}function isTokenNumber(e){return!!e&&e[0]===c.Number}function isTokenPercentage(e){return!!e&&e[0]===c.Percentage}function isTokenSemicolon(e){return!!e&&e[0]===c.Semicolon}function isTokenString(e){return!!e&&e[0]===c.String}function isTokenURL(e){return!!e&&e[0]===c.URL}function isTokenWhitespace(e){return!!e&&e[0]===c.Whitespace}function isTokenOpenParen(e){return!!e&&e[0]===c.OpenParen}function isTokenCloseParen(e){return!!e&&e[0]===c.CloseParen}function isTokenOpenSquare(e){return!!e&&e[0]===c.OpenSquare}function isTokenCloseSquare(e){return!!e&&e[0]===c.CloseSquare}function isTokenOpenCurly(e){return!!e&&e[0]===c.OpenCurly}function isTokenCloseCurly(e){return!!e&&e[0]===c.CloseCurly}function isTokenUnicodeRange(e){return!!e&&e[0]===c.UnicodeRange}export{u as HashType,a as NumberType,ParseError,e as ParseErrorMessage,ParseErrorWithToken,c as TokenType,cloneTokens,isToken,isTokenAtKeyword,isTokenBadString,isTokenBadURL,isTokenCDC,isTokenCDO,isTokenCloseCurly,isTokenCloseParen,isTokenCloseSquare,isTokenColon,isTokenComma,isTokenComment,isTokenDelim,isTokenDimension,isTokenEOF,isTokenFunction,isTokenHash,isTokenIdent,isTokenNumber,isTokenNumeric,isTokenOpenCurly,isTokenOpenParen,isTokenOpenSquare,isTokenPercentage,isTokenSemicolon,isTokenString,isTokenURL,isTokenUnicodeRange,isTokenWhiteSpaceOrComment,isTokenWhitespace,mirrorVariant,mirrorVariantType,mutateIdent,mutateUnit,stringify,tokenize,tokenizer};\n","import{isTokenEOF as e,TokenType as n,isToken as t,stringify as o,mirrorVariant as s,isTokenOpenParen as i,isTokenOpenCurly as r,isTokenOpenSquare as a,isTokenFunction as c,isTokenWhitespace as u,isTokenComment as l,mirrorVariantType as d,ParseError as h,isTokenWhiteSpaceOrComment as p,isTokenCloseParen as m,isTokenComma as k}from\"@csstools/css-tokenizer\";var f;function walkerIndexGenerator(e){let n=e.slice();return(e,t,o)=>{let s=-1;for(let i=n.indexOf(t);i<n.length&&(s=e.indexOf(n[i]),-1===s||s<o);i++);return-1===s||s===o&&t===e[o]&&(s++,s>=e.length)?-1:(n=e.slice(),s)}}function consumeComponentValue(e,n){const t=n[0];if(i(t)||r(t)||a(t)){const t=consumeSimpleBlock(e,n);return{advance:t.advance,node:t.node}}if(c(t)){const t=consumeFunction(e,n);return{advance:t.advance,node:t.node}}if(u(t)){const t=consumeWhitespace(e,n);return{advance:t.advance,node:t.node}}if(l(t)){const t=consumeComment(e,n);return{advance:t.advance,node:t.node}}return{advance:1,node:new TokenNode(t)}}!function(e){e.Function=\"function\",e.SimpleBlock=\"simple-block\",e.Whitespace=\"whitespace\",e.Comment=\"comment\",e.Token=\"token\"}(f||(f={}));class ContainerNodeBaseClass{value=[];indexOf(e){return this.value.indexOf(e)}at(e){if(\"number\"==typeof e)return e<0&&(e=this.value.length+e),this.value[e]}forEach(e,n){if(0===this.value.length)return;const t=walkerIndexGenerator(this.value);let o=0;for(;o<this.value.length;){const s=this.value[o];let i;if(n&&(i={...n}),!1===e({node:s,parent:this,state:i},o))return!1;if(o=t(this.value,s,o),-1===o)break}}walk(e,n){0!==this.value.length&&this.forEach((n,t)=>!1!==e(n,t)&&((!(\"walk\"in n.node)||!this.value.includes(n.node)||!1!==n.node.walk(e,n.state))&&void 0),n)}}class FunctionNode extends ContainerNodeBaseClass{type=f.Function;name;endToken;constructor(e,n,t){super(),this.name=e,this.endToken=n,this.value=t}getName(){return this.name[4].value}normalize(){e(this.endToken)&&(this.endToken=[n.CloseParen,\")\",-1,-1,void 0])}tokens(){return e(this.endToken)?[this.name,...this.value.flatMap(e=>e.tokens())]:[this.name,...this.value.flatMap(e=>e.tokens()),this.endToken]}toString(){const e=this.value.map(e=>t(e)?o(e):e.toString()).join(\"\");return o(this.name)+e+o(this.endToken)}toJSON(){return{type:this.type,name:this.getName(),tokens:this.tokens(),value:this.value.map(e=>e.toJSON())}}isFunctionNode(){return FunctionNode.isFunctionNode(this)}static isFunctionNode(e){return!!e&&(e instanceof FunctionNode&&e.type===f.Function)}}function consumeFunction(n,t){const o=[];let s=1;for(;;){const i=t[s];if(!i||e(i))return n.onParseError(new h(\"Unexpected EOF while consuming a function.\",t[0][2],t[t.length-1][3],[\"5.4.9. Consume a function\",\"Unexpected EOF\"])),{advance:t.length,node:new FunctionNode(t[0],i,o)};if(m(i))return{advance:s+1,node:new FunctionNode(t[0],i,o)};if(p(i)){const e=consumeAllCommentsAndWhitespace(n,t.slice(s));s+=e.advance,o.push(...e.nodes);continue}const r=consumeComponentValue(n,t.slice(s));s+=r.advance,o.push(r.node)}}class SimpleBlockNode extends ContainerNodeBaseClass{type=f.SimpleBlock;startToken;endToken;constructor(e,n,t){super(),this.startToken=e,this.endToken=n,this.value=t}normalize(){if(e(this.endToken)){const e=s(this.startToken);e&&(this.endToken=e)}}tokens(){return e(this.endToken)?[this.startToken,...this.value.flatMap(e=>e.tokens())]:[this.startToken,...this.value.flatMap(e=>e.tokens()),this.endToken]}toString(){const e=this.value.map(e=>t(e)?o(e):e.toString()).join(\"\");return o(this.startToken)+e+o(this.endToken)}toJSON(){return{type:this.type,startToken:this.startToken,tokens:this.tokens(),value:this.value.map(e=>e.toJSON())}}isSimpleBlockNode(){return SimpleBlockNode.isSimpleBlockNode(this)}static isSimpleBlockNode(e){return!!e&&(e instanceof SimpleBlockNode&&e.type===f.SimpleBlock)}}function consumeSimpleBlock(n,t){const o=d(t[0][0]);if(!o)throw new Error(\"Failed to parse, a mirror variant must exist for all block open tokens.\");const s=[];let i=1;for(;;){const r=t[i];if(!r||e(r))return n.onParseError(new h(\"Unexpected EOF while consuming a simple block.\",t[0][2],t[t.length-1][3],[\"5.4.8. Consume a simple block\",\"Unexpected EOF\"])),{advance:t.length,node:new SimpleBlockNode(t[0],r,s)};if(r[0]===o)return{advance:i+1,node:new SimpleBlockNode(t[0],r,s)};if(p(r)){const e=consumeAllCommentsAndWhitespace(n,t.slice(i));i+=e.advance,s.push(...e.nodes);continue}const a=consumeComponentValue(n,t.slice(i));i+=a.advance,s.push(a.node)}}class WhitespaceNode{type=f.Whitespace;value;constructor(e){this.value=e}tokens(){return this.value}toString(){return o(...this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isWhitespaceNode(){return WhitespaceNode.isWhitespaceNode(this)}static isWhitespaceNode(e){return!!e&&(e instanceof WhitespaceNode&&e.type===f.Whitespace)}}function consumeWhitespace(e,n){let t=0;for(;;){const e=n[t];if(!u(e))return{advance:t,node:new WhitespaceNode(n.slice(0,t))};t++}}class CommentNode{type=f.Comment;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return o(this.value)}toJSON(){return{type:this.type,tokens:this.tokens()}}isCommentNode(){return CommentNode.isCommentNode(this)}static isCommentNode(e){return!!e&&(e instanceof CommentNode&&e.type===f.Comment)}}function consumeComment(e,n){return{advance:1,node:new CommentNode(n[0])}}function consumeAllCommentsAndWhitespace(e,n){const t=[];let o=0;for(;;){if(u(n[o])){const e=consumeWhitespace(0,n.slice(o));o+=e.advance,t.push(e.node);continue}if(!l(n[o]))return{advance:o,nodes:t};t.push(new CommentNode(n[o])),o++}}class TokenNode{type=f.Token;value;constructor(e){this.value=e}tokens(){return[this.value]}toString(){return this.value[1]}toJSON(){return{type:this.type,tokens:this.tokens()}}isTokenNode(){return TokenNode.isTokenNode(this)}static isTokenNode(e){return!!e&&(e instanceof TokenNode&&e.type===f.Token)}}function parseComponentValue(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])||i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=consumeComponentValue(s,i);if(e(i[Math.min(r.advance,i.length-1)]))return r.node;s.onParseError(new h(\"Expected EOF after parsing a component value.\",t[0][2],t[t.length-1][3],[\"5.3.9. Parse a component value\",\"Expected EOF\"]))}function parseListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=0;for(;;){if(!i[a]||e(i[a]))return r;const n=consumeComponentValue(s,i.slice(a));r.push(n.node),a+=n.advance}}function parseCommaSeparatedListOfComponentValues(t,o){const s={onParseError:o?.onParseError??(()=>{})},i=[...t];if(0===t.length)return[];e(i[i.length-1])&&i.push([n.EOF,\"\",i[i.length-1][2],i[i.length-1][3],void 0]);const r=[];let a=[],c=0;for(;;){if(!i[c]||e(i[c]))return a.length&&r.push(a),r;if(k(i[c])){r.push(a),a=[],c++;continue}const n=consumeComponentValue(s,t.slice(c));a.push(n.node),c+=n.advance}}function gatherNodeAncestry(e){const n=new Map;return e.walk(e=>{Array.isArray(e.node)?e.node.forEach(t=>{n.set(t,e.parent)}):n.set(e.node,e.parent)}),n}function forEach(e,n,t){if(0===e.length)return;const o=walkerIndexGenerator(e);let s=0;for(;s<e.length;){const i=e[s];let r;if(t&&(r={...t}),!1===n({node:i,parent:{value:e},state:r},s))return!1;if(s=o(e,i,s),-1===s)break}}function walk(e,n,t){0!==e.length&&forEach(e,(t,o)=>!1!==n(t,o)&&((!(\"walk\"in t.node)||!e.includes(t.node)||!1!==t.node.walk(n,t.state))&&void 0),t)}function replaceComponentValues(e,n){for(let t=0;t<e.length;t++){walk(e[t],(e,t)=>{if(\"number\"!=typeof t)return;const o=n(e.node);o&&(Array.isArray(o)?e.parent.value.splice(t,1,...o):e.parent.value.splice(t,1,o))})}return e}function stringify(e){return e.map(e=>e.map(e=>o(...e.tokens())).join(\"\")).join(\",\")}function isSimpleBlockNode(e){return SimpleBlockNode.isSimpleBlockNode(e)}function isFunctionNode(e){return FunctionNode.isFunctionNode(e)}function isWhitespaceNode(e){return WhitespaceNode.isWhitespaceNode(e)}function isCommentNode(e){return CommentNode.isCommentNode(e)}function isWhiteSpaceOrCommentNode(e){return isWhitespaceNode(e)||isCommentNode(e)}function isTokenNode(e){return TokenNode.isTokenNode(e)}function sourceIndices(e){if(Array.isArray(e)){const n=e[0];if(!n)return[0,0];const t=e[e.length-1]||n;return[sourceIndices(n)[0],sourceIndices(t)[1]]}const n=e.tokens(),t=n[0],o=n[n.length-1];return t&&o?[t[2],o[3]]:[0,0]}export{CommentNode,f as ComponentValueType,ContainerNodeBaseClass,FunctionNode,SimpleBlockNode,TokenNode,WhitespaceNode,forEach,gatherNodeAncestry,isCommentNode,isFunctionNode,isSimpleBlockNode,isTokenNode,isWhiteSpaceOrCommentNode,isWhitespaceNode,parseCommaSeparatedListOfComponentValues,parseComponentValue,parseListOfComponentValues,replaceComponentValues,sourceIndices,stringify,walk,walkerIndexGenerator};\n","import{sourceIndices as e,TokenNode as n,isTokenNode as t,isWhitespaceNode as r,isCommentNode as a,isWhiteSpaceOrCommentNode as u,isSimpleBlockNode as i,isFunctionNode as o,FunctionNode as l,WhitespaceNode as c,parseCommaSeparatedListOfComponentValues as s,walk as v}from\"@csstools/css-parser-algorithms\";import{isTokenDimension as f,TokenType as m,NumberType as p,mutateUnit as d,isTokenNumber as C,isTokenPercentage as g,isTokenIdent as D,isTokenNumeric as h,isTokenOpenParen as N,isTokenDelim as B,isTokenComma as A,isToken as b,tokenizer as F,tokenize as w,stringify as E,isTokenColon as I,isTokenSemicolon as S}from\"@csstools/css-tokenizer\";class ParseError extends Error{sourceStart;sourceEnd;constructor(e,n,t){super(e),this.name=\"ParseError\",this.sourceStart=n,this.sourceEnd=t}}class ParseErrorWithComponentValues extends ParseError{componentValues;constructor(n,t){super(n,...e(t)),this.componentValues=t}}const y={UnexpectedAdditionOfDimensionOrPercentageWithNumber:\"Unexpected addition of a dimension or percentage with a number.\",UnexpectedSubtractionOfDimensionOrPercentageWithNumber:\"Unexpected subtraction of a dimension or percentage with a number.\"},M=/[A-Z]/g;function toLowerCaseAZ(e){return e.replace(M,e=>String.fromCharCode(e.charCodeAt(0)+32))}const x={cm:\"px\",in:\"px\",mm:\"px\",pc:\"px\",pt:\"px\",px:\"px\",q:\"px\",deg:\"deg\",grad:\"deg\",rad:\"deg\",turn:\"deg\",ms:\"s\",s:\"s\",hz:\"hz\",khz:\"hz\"},T=new Map([[\"cm\",e=>e],[\"mm\",e=>10*e],[\"q\",e=>40*e],[\"in\",e=>e/2.54],[\"pc\",e=>e/2.54*6],[\"pt\",e=>e/2.54*72],[\"px\",e=>e/2.54*96]]),P=new Map([[\"deg\",e=>e],[\"grad\",e=>e/.9],[\"rad\",e=>e/180*Math.PI],[\"turn\",e=>e/360]]),k=new Map([[\"deg\",e=>.9*e],[\"grad\",e=>e],[\"rad\",e=>.9*e/180*Math.PI],[\"turn\",e=>.9*e/360]]),W=new Map([[\"hz\",e=>e],[\"khz\",e=>e/1e3]]),O=new Map([[\"cm\",e=>2.54*e],[\"mm\",e=>25.4*e],[\"q\",e=>25.4*e*4],[\"in\",e=>e],[\"pc\",e=>6*e],[\"pt\",e=>72*e],[\"px\",e=>96*e]]),U=new Map([[\"hz\",e=>1e3*e],[\"khz\",e=>e]]),L=new Map([[\"cm\",e=>e/10],[\"mm\",e=>e],[\"q\",e=>4*e],[\"in\",e=>e/25.4],[\"pc\",e=>e/25.4*6],[\"pt\",e=>e/25.4*72],[\"px\",e=>e/25.4*96]]),$=new Map([[\"ms\",e=>e],[\"s\",e=>e/1e3]]),V=new Map([[\"cm\",e=>e/6*2.54],[\"mm\",e=>e/6*25.4],[\"q\",e=>e/6*25.4*4],[\"in\",e=>e/6],[\"pc\",e=>e],[\"pt\",e=>e/6*72],[\"px\",e=>e/6*96]]),Z=new Map([[\"cm\",e=>e/72*2.54],[\"mm\",e=>e/72*25.4],[\"q\",e=>e/72*25.4*4],[\"in\",e=>e/72],[\"pc\",e=>e/72*6],[\"pt\",e=>e],[\"px\",e=>e/72*96]]),z=new Map([[\"cm\",e=>e/96*2.54],[\"mm\",e=>e/96*25.4],[\"q\",e=>e/96*25.4*4],[\"in\",e=>e/96],[\"pc\",e=>e/96*6],[\"pt\",e=>e/96*72],[\"px\",e=>e]]),q=new Map([[\"cm\",e=>e/4/10],[\"mm\",e=>e/4],[\"q\",e=>e],[\"in\",e=>e/4/25.4],[\"pc\",e=>e/4/25.4*6],[\"pt\",e=>e/4/25.4*72],[\"px\",e=>e/4/25.4*96]]),G=new Map([[\"deg\",e=>180*e/Math.PI],[\"grad\",e=>180*e/Math.PI/.9],[\"rad\",e=>e],[\"turn\",e=>180*e/Math.PI/360]]),R=new Map([[\"ms\",e=>1e3*e],[\"s\",e=>e]]),j=new Map([[\"deg\",e=>360*e],[\"grad\",e=>360*e/.9],[\"rad\",e=>360*e/180*Math.PI],[\"turn\",e=>e]]),Y=new Map([[\"cm\",T],[\"mm\",L],[\"q\",q],[\"in\",O],[\"pc\",V],[\"pt\",Z],[\"px\",z],[\"ms\",$],[\"s\",R],[\"deg\",P],[\"grad\",k],[\"rad\",G],[\"turn\",j],[\"hz\",W],[\"khz\",U]]);function convertUnit(e,n){if(!f(e))return n;if(!f(n))return n;const t=toLowerCaseAZ(e[4].unit),r=toLowerCaseAZ(n[4].unit);if(t===r)return n;const a=Y.get(r);if(!a)return n;const u=a.get(t);if(!u)return n;const i=u(n[4].value),o=[m.Dimension,\"\",n[2],n[3],{...n[4],signCharacter:i<0?\"-\":void 0,type:Number.isInteger(i)?p.Integer:p.Number,value:i}];return d(o,e[4].unit),o}function toCanonicalUnit(e){if(!f(e))return e;const n=toLowerCaseAZ(e[4].unit),t=x[n];if(n===t)return e;const r=Y.get(n);if(!r)return e;const a=r.get(t);if(!a)return e;const u=a(e[4].value),i=[m.Dimension,\"\",e[2],e[3],{...e[4],signCharacter:u<0?\"-\":void 0,type:Number.isInteger(u)?p.Integer:p.Number,value:u}];return d(i,t),i}function addition(e,t){if(2!==e.length)return-1;const r=e[0].value;let a=e[1].value;if(C(r)&&C(a)){const e=r[4].value+a[4].value;return new n([m.Number,e.toString(),r[2],a[3],{value:e,type:r[4].type===p.Integer&&a[4].type===p.Integer?p.Integer:p.Number}])}if(g(r)&&g(a)){const e=r[4].value+a[4].value;return new n([m.Percentage,e.toString()+\"%\",r[2],a[3],{value:e}])}if(f(r)&&f(a)&&(a=convertUnit(r,a),toLowerCaseAZ(r[4].unit)===toLowerCaseAZ(a[4].unit))){const e=r[4].value+a[4].value;return new n([m.Dimension,e.toString()+r[4].unit,r[2],a[3],{value:e,type:r[4].type===p.Integer&&a[4].type===p.Integer?p.Integer:p.Number,unit:r[4].unit}])}return(C(r)&&(f(a)||g(a))||C(a)&&(f(r)||g(r)))&&t.onParseError?.(new ParseErrorWithComponentValues(y.UnexpectedAdditionOfDimensionOrPercentageWithNumber,e)),-1}function division(e){if(2!==e.length)return-1;const t=e[0].value,r=e[1].value;if(C(t)&&C(r)){const e=t[4].value/r[4].value;return new n([m.Number,e.toString(),t[2],r[3],{value:e,type:Number.isInteger(e)?p.Integer:p.Number}])}if(g(t)&&C(r)){const e=t[4].value/r[4].value;return new n([m.Percentage,e.toString()+\"%\",t[2],r[3],{value:e}])}if(f(t)&&C(r)){const e=t[4].value/r[4].value;return new n([m.Dimension,e.toString()+t[4].unit,t[2],r[3],{value:e,type:Number.isInteger(e)?p.Integer:p.Number,unit:t[4].unit}])}return-1}function isCalculation(e){return!!e&&\"object\"==typeof e&&\"inputs\"in e&&Array.isArray(e.inputs)&&\"operation\"in e}function solve(e,n){if(-1===e)return-1;const r=[];for(let a=0;a<e.inputs.length;a++){const u=e.inputs[a];if(t(u)){r.push(u);continue}const i=solve(u,n);if(-1===i)return-1;r.push(i)}return e.operation(r,n)}function multiplication(e){if(2!==e.length)return-1;const t=e[0].value,r=e[1].value;if(C(t)&&C(r)){const e=t[4].value*r[4].value;return new n([m.Number,e.toString(),t[2],r[3],{value:e,type:t[4].type===p.Integer&&r[4].type===p.Integer?p.Integer:p.Number}])}if(g(t)&&C(r)){const e=t[4].value*r[4].value;return new n([m.Percentage,e.toString()+\"%\",t[2],r[3],{value:e}])}if(C(t)&&g(r)){const e=t[4].value*r[4].value;return new n([m.Percentage,e.toString()+\"%\",t[2],r[3],{value:e}])}if(f(t)&&C(r)){const e=t[4].value*r[4].value;return new n([m.Dimension,e.toString()+t[4].unit,t[2],r[3],{value:e,type:t[4].type===p.Integer&&r[4].type===p.Integer?p.Integer:p.Number,unit:t[4].unit}])}if(C(t)&&f(r)){const e=t[4].value*r[4].value;return new n([m.Dimension,e.toString()+r[4].unit,t[2],r[3],{value:e,type:t[4].type===p.Integer&&r[4].type===p.Integer?p.Integer:p.Number,unit:r[4].unit}])}return-1}function resolveGlobalsAndConstants(e,r){for(let a=0;a<e.length;a++){const u=e[a];if(!t(u))continue;const i=u.value;if(!D(i))continue;const o=toLowerCaseAZ(i[4].value);switch(o){case\"e\":e.splice(a,1,new n([m.Number,Math.E.toString(),i[2],i[3],{value:Math.E,type:p.Number}]));break;case\"pi\":e.splice(a,1,new n([m.Number,Math.PI.toString(),i[2],i[3],{value:Math.PI,type:p.Number}]));break;case\"infinity\":e.splice(a,1,new n([m.Number,\"infinity\",i[2],i[3],{value:1/0,type:p.Number}]));break;case\"-infinity\":e.splice(a,1,new n([m.Number,\"-infinity\",i[2],i[3],{value:-1/0,type:p.Number}]));break;case\"nan\":e.splice(a,1,new n([m.Number,\"NaN\",i[2],i[3],{value:Number.NaN,type:p.Number}]));break;default:if(r.has(o)){const t=r.get(o);e.splice(a,1,new n(t))}}}return e}function unary(e){if(1!==e.length)return-1;const n=e[0].value;return h(n)?e[0]:-1}function resultToCalculation(e,n,t){return f(n)?dimensionToCalculation(e,n[4].unit,t):g(n)?percentageToCalculation(e,t):C(n)?numberToCalculation(e,t):-1}function dimensionToCalculation(e,t,r){const a=e.tokens();return{inputs:[new n([m.Dimension,r.toString()+t,a[0][2],a[a.length-1][3],{value:r,type:Number.isInteger(r)?p.Integer:p.Number,unit:t}])],operation:unary}}function percentageToCalculation(e,t){const r=e.tokens();return{inputs:[new n([m.Percentage,t.toString()+\"%\",r[0][2],r[r.length-1][3],{value:t}])],operation:unary}}function numberToCalculation(e,t){const r=e.tokens();return{inputs:[new n([m.Number,t.toString(),r[0][2],r[r.length-1][3],{value:t,type:Number.isInteger(t)?p.Integer:p.Number}])],operation:unary}}function solveACos(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.acos(t[4].value))}function solveASin(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.asin(t[4].value))}function solveATan(e,n){const t=n.value;if(!C(t))return-1;return dimensionToCalculation(e,\"rad\",Math.atan(t[4].value))}function isDimensionOrNumber(e){return f(e)||C(e)}function arrayOfSameNumeric(e){if(0===e.length)return!0;const n=e[0];if(!h(n))return!1;if(1===e.length)return!0;if(f(n)){const t=toLowerCaseAZ(n[4].unit);for(let r=1;r<e.length;r++){const a=e[r];if(n[0]!==a[0])return!1;if(t!==toLowerCaseAZ(a[4].unit))return!1}return!0}for(let t=1;t<e.length;t++){const r=e[t];if(n[0]!==r[0])return!1}return!0}function twoOfSameNumeric(e,n){return!!h(e)&&(f(e)?e[0]===n[0]&&toLowerCaseAZ(e[4].unit)===toLowerCaseAZ(n[4].unit):e[0]===n[0])}function solveATan2(e,n,t){const r=n.value;if(!isDimensionOrNumber(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;return dimensionToCalculation(e,\"rad\",Math.atan2(r[4].value,a[4].value))}function solveAbs(e,n,t){const r=n.value;if(!h(r))return-1;if(!t.rawPercentages&&g(r))return-1;return resultToCalculation(e,r,Math.abs(r[4].value))}function solveClamp(e,n,r,a,u){if(!t(n)||!t(r)||!t(a))return-1;const i=n.value;if(!h(i))return-1;if(!u.rawPercentages&&g(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;const l=convertUnit(i,a.value);if(!twoOfSameNumeric(i,l))return-1;return resultToCalculation(e,i,Math.max(i[4].value,Math.min(o[4].value,l[4].value)))}function solveCos(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(f(t))switch(t[4].unit.toLowerCase()){case\"rad\":break;case\"deg\":r=P.get(\"rad\")(t[4].value);break;case\"grad\":r=k.get(\"rad\")(t[4].value);break;case\"turn\":r=j.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.cos(r),numberToCalculation(e,r)}function solveExp(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.exp(t[4].value))}function solveHypot(e,n,r){if(!n.every(t))return-1;const a=n[0].value;if(!h(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=n.map(e=>convertUnit(a,e.value));if(!arrayOfSameNumeric(u))return-1;const i=u.map(e=>e[4].value),o=Math.hypot(...i);return resultToCalculation(e,a,o)}function solveMax(e,n,r){if(!n.every(t))return-1;const a=n[0].value;if(!h(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=n.map(e=>convertUnit(a,e.value));if(!arrayOfSameNumeric(u))return-1;const i=u.map(e=>e[4].value),o=Math.max(...i);return resultToCalculation(e,a,o)}function solveMin(e,n,r){if(!n.every(t))return-1;const a=n[0].value;if(!h(a))return-1;if(!r.rawPercentages&&g(a))return-1;const u=n.map(e=>convertUnit(a,e.value));if(!arrayOfSameNumeric(u))return-1;const i=u.map(e=>e[4].value),o=Math.min(...i);return resultToCalculation(e,a,o)}function solveMod(e,n,t){const r=n.value;if(!h(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;let u;return u=0===a[4].value?Number.NaN:Number.isFinite(r[4].value)&&(Number.isFinite(a[4].value)||(a[4].value!==Number.POSITIVE_INFINITY||r[4].value!==Number.NEGATIVE_INFINITY&&!Object.is(0*r[4].value,-0))&&(a[4].value!==Number.NEGATIVE_INFINITY||r[4].value!==Number.POSITIVE_INFINITY&&!Object.is(0*r[4].value,0)))?Number.isFinite(a[4].value)?(r[4].value%a[4].value+a[4].value)%a[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,u)}function solvePow(e,n,t){const r=n.value,a=t.value;if(!C(r))return-1;if(!twoOfSameNumeric(r,a))return-1;return numberToCalculation(e,Math.pow(r[4].value,a[4].value))}function solveRem(e,n,t){const r=n.value;if(!h(r))return-1;const a=convertUnit(r,t.value);if(!twoOfSameNumeric(r,a))return-1;let u;return u=0===a[4].value?Number.NaN:Number.isFinite(r[4].value)?Number.isFinite(a[4].value)?r[4].value%a[4].value:r[4].value:Number.NaN,resultToCalculation(e,r,u)}function snapAsBorderWidth(e,n,t){if(!f(n))return-1;const r=t.devicePixelLength??1,a=[m.Dimension,`${r}px`,n[2],n[3],{value:r,type:p.Integer,unit:\"px\"}],u=convertUnit(a,n);if(!twoOfSameNumeric(u,a))return-1;if(u[4].value<0)return-1;if(Number.isInteger(u[4].value/r))return resultToCalculation(e,n,n[4].value);if(u[4].value>0&&u[4].value<r)return resultToCalculation(e,n,convertUnit(n,a)[4].value);if(u[4].value>r){const t=Math.floor(u[4].value/a[4].value)*a[4].value;return u[4].value=t,resultToCalculation(e,n,convertUnit(n,u)[4].value)}return resultToCalculation(e,n,n[4].value)}function solveRound(e,n,t,r,a){const u=t.value;if(!h(u))return-1;if(\"line-width\"===n&&!f(u))return-1;if(!a.rawPercentages&&g(u))return-1;const i=convertUnit(u,r.value);if(!twoOfSameNumeric(u,i))return-1;let o;if(0===i[4].value)o=Number.NaN;else if(Number.isFinite(u[4].value)||Number.isFinite(i[4].value))if(!Number.isFinite(u[4].value)&&Number.isFinite(i[4].value))o=u[4].value;else if(Number.isFinite(u[4].value)&&!Number.isFinite(i[4].value))switch(n){case\"down\":o=u[4].value<0?-1/0:Object.is(-0,0*u[4].value)?-0:0;break;case\"up\":o=u[4].value>0?1/0:Object.is(0,0*u[4].value)?0:-0;break;default:o=Object.is(0,0*u[4].value)?0:-0}else switch(n){case\"down\":o=Math.floor(u[4].value/i[4].value)*i[4].value;break;case\"up\":o=Math.ceil(u[4].value/i[4].value)*i[4].value;break;case\"to-zero\":o=Math.trunc(u[4].value/i[4].value)*i[4].value;break;default:{let t=Math.floor(u[4].value/i[4].value)*i[4].value,r=Math.ceil(u[4].value/i[4].value)*i[4].value;if(t>r){const e=t;t=r,r=e}const l=Math.abs(u[4].value-t),c=Math.abs(u[4].value-r);if(o=\"line-width\"===n&&u[4].value>0&&(0===r||0===t)?0!==r?r:t:l===c?r:l<c?t:r,\"line-width\"===n){const n=solve(resultToCalculation(e,u,o),a);return-1===n?-1:snapAsBorderWidth(e,n.value,a)}break}}else o=Number.NaN;return resultToCalculation(e,u,o)}function solveSign(e,n,t){const r=n.value;if(!h(r))return-1;if(!t.rawPercentages&&g(r))return-1;return numberToCalculation(e,Math.sign(r[4].value))}function solveSin(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;let r=t[4].value;if(f(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":break;case\"deg\":r=P.get(\"rad\")(t[4].value);break;case\"grad\":r=k.get(\"rad\")(t[4].value);break;case\"turn\":r=j.get(\"rad\")(t[4].value);break;default:return-1}return r=Math.sin(r),numberToCalculation(e,r)}function solveSqrt(e,n){const t=n.value;if(!C(t))return-1;return numberToCalculation(e,Math.sqrt(t[4].value))}function solveTan(e,n){const t=n.value;if(!isDimensionOrNumber(t))return-1;const r=t[4].value;let a=0,u=t[4].value;if(f(t))switch(toLowerCaseAZ(t[4].unit)){case\"rad\":a=G.get(\"deg\")(r);break;case\"deg\":a=r,u=P.get(\"rad\")(r);break;case\"grad\":a=k.get(\"deg\")(r),u=k.get(\"rad\")(r);break;case\"turn\":a=j.get(\"deg\")(r),u=j.get(\"rad\")(r);break;default:return-1}const i=a/90;return u=a%90==0&&i%2!=0?i>0?1/0:-1/0:Math.tan(u),numberToCalculation(e,u)}function subtraction(e,t){if(2!==e.length)return-1;const r=e[0].value;let a=e[1].value;if(C(r)&&C(a)){const e=r[4].value-a[4].value;return new n([m.Number,e.toString(),r[2],a[3],{value:e,type:r[4].type===p.Integer&&a[4].type===p.Integer?p.Integer:p.Number}])}if(g(r)&&g(a)){const e=r[4].value-a[4].value;return new n([m.Percentage,e.toString()+\"%\",r[2],a[3],{value:e}])}if(f(r)&&f(a)&&(a=convertUnit(r,a),toLowerCaseAZ(r[4].unit)===toLowerCaseAZ(a[4].unit))){const e=r[4].value-a[4].value;return new n([m.Dimension,e.toString()+r[4].unit,r[2],a[3],{value:e,type:r[4].type===p.Integer&&a[4].type===p.Integer?p.Integer:p.Number,unit:r[4].unit}])}return(C(r)&&(f(a)||g(a))||C(a)&&(f(r)||g(r)))&&t.onParseError?.(new ParseErrorWithComponentValues(y.UnexpectedSubtractionOfDimensionOrPercentageWithNumber,e)),-1}function solveLog(e,n){if(1===n.length){const r=n[0];if(!r||!t(r))return-1;const a=r.value;if(!C(a))return-1;return numberToCalculation(e,Math.log(a[4].value))}if(2===n.length){const r=n[0];if(!r||!t(r))return-1;const a=r.value;if(!C(a))return-1;const u=n[1];if(!u||!t(u))return-1;const i=u.value;if(!C(i))return-1;return numberToCalculation(e,Math.log(a[4].value)/Math.log(i[4].value))}return-1}const _=/^none$/i;function isNone(e){if(Array.isArray(e)){const n=e.filter(e=>!(r(e)&&a(e)));return 1===n.length&&isNone(n[0])}if(!t(e))return!1;const n=e.value;return!!D(n)&&_.test(n[4].value)}const H=String.fromCodePoint(0);function solveRandom(e,n,t,r,a,u){if(-1===n.fixed&&!u.randomCaching)return-1;u.randomCaching||(u.randomCaching={propertyName:\"\",propertyN:0,elementID:\"\",documentID:\"\"}),u.randomCaching&&!u.randomCaching.propertyN&&(u.randomCaching.propertyN=0);const i=t.value;if(!h(i))return-1;const o=convertUnit(i,r.value);if(!twoOfSameNumeric(i,o))return-1;let l=null;if(a&&(l=convertUnit(i,a.value),!twoOfSameNumeric(i,l)))return-1;if(!Number.isFinite(i[4].value))return resultToCalculation(e,i,Number.NaN);if(!Number.isFinite(o[4].value))return resultToCalculation(e,i,Number.NaN);if(!Number.isFinite(o[4].value-i[4].value))return resultToCalculation(e,i,Number.NaN);if(l&&!Number.isFinite(l[4].value))return resultToCalculation(e,i,i[4].value);const c=-1===n.fixed?sfc32(crc32([n.dashedIdent?n.dashedIdent:`${u.randomCaching?.propertyName} ${u.randomCaching.propertyN++}`,n.elementShared?\"\":u.randomCaching.elementID,u.randomCaching.documentID].join(H))):()=>n.fixed;let s=i[4].value,v=o[4].value;if(s>v&&([s,v]=[v,s]),l&&(l[4].value<=0||Math.abs(s-v)/l[4].value>1e10)&&(l=null),l){const n=Math.max(l[4].value/1e3,1e-9),t=[s];let r=0;for(;;){r+=l[4].value;const e=s+r;if(!(e+n<v)){t.push(v);break}if(t.push(e),e+l[4].value-n>v)break}const a=c();return resultToCalculation(e,i,Number(t[Math.floor(t.length*a)].toFixed(5)))}const f=c();return resultToCalculation(e,i,Number((f*(v-s)+s).toFixed(5)))}function sfc32(e=.34944106645296036,n=.19228640875738723,t=.8784393832007205,r=.04850964319275053){return()=>{const a=((e|=0)+(n|=0)|0)+(r|=0)|0;return r=r+1|0,e=n^n>>>9,n=(t|=0)+(t<<3)|0,t=(t=t<<21|t>>>11)+a|0,(a>>>0)/4294967296}}function crc32(e){let n,t,r=0;r^=-1;for(let a=0,u=e.length;a<u;a++)t=255&(r^e.charCodeAt(a)),n=Number(\"0x\"+\"00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D\".substring(9*t,9*t+8)),r=r>>>8^n;return(-1^r)>>>0}const J=new Map([[\"abs\",function abs(e,n,t){return singleNodeSolver(e,n,t,solveAbs)}],[\"acos\",function acos(e,n,t){return singleNodeSolver(e,n,t,solveACos)}],[\"asin\",function asin(e,n,t){return singleNodeSolver(e,n,t,solveASin)}],[\"atan\",function atan(e,n,t){return singleNodeSolver(e,n,t,solveATan)}],[\"atan2\",function atan2(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveATan2)}],[\"calc\",calc$1],[\"clamp\",function clamp(r,a,i){const o=resolveGlobalsAndConstants([...r.value.filter(e=>!u(e))],a),c=[],s=[],v=[];{let e=c;for(let n=0;n<o.length;n++){const r=o[n];if(t(r)&&A(r.value)){if(e===v)return-1;if(e===s){e=v;continue}if(e===c){e=s;continue}return-1}e.push(r)}}const f=isNone(c),p=isNone(v);if(f&&p)return calc$1(calcWrapper(r,s),a,i);const d=solve(calc$1(calcWrapper(r,s),a,i),i);if(-1===d)return-1;if(f){const t=solve(calc$1(calcWrapper(r,v),a,i),i);return-1===t?-1:solveMin((C=r,g=d,D=t,new l([m.Function,\"min(\",C.name[2],C.name[3],{value:\"min\"}],[m.CloseParen,\")\",C.endToken[2],C.endToken[3],void 0],[g,new n([m.Comma,\",\",...e(g),void 0]),D])),[d,t],i)}if(p){const e=solve(calc$1(calcWrapper(r,c),a,i),i);return-1===e?-1:solveMax(maxWrapper(r,e,d),[e,d],i)}var C,g,D;const h=solve(calc$1(calcWrapper(r,c),a,i),i);if(-1===h)return-1;const N=solve(calc$1(calcWrapper(r,v),a,i),i);if(-1===N)return-1;return solveClamp(r,h,d,N,i)}],[\"cos\",function cos(e,n,t){return singleNodeSolver(e,n,t,solveCos)}],[\"exp\",function exp(e,n,t){return singleNodeSolver(e,n,t,solveExp)}],[\"hypot\",function hypot(e,n,t){return variadicNodesSolver(e,n,t,solveHypot)}],[\"log\",function log(e,n,t){return variadicNodesSolver(e,n,t,solveLog)}],[\"max\",function max(e,n,t){return variadicNodesSolver(e,n,t,solveMax)}],[\"min\",function min(e,n,t){return variadicNodesSolver(e,n,t,solveMin)}],[\"mod\",function mod(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveMod)}],[\"pow\",function pow(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solvePow)}],[\"random\",function random(e,n,t){const r=parseRandomValueSharing(e,e.value.filter(e=>!u(e)),n,t);if(-1===r)return-1;const[a,i]=r,o=variadicArguments(e,i,n,t);if(-1===o)return-1;const[l,c,s]=o;if(!l||!c)return-1;return solveRandom(e,a,l,c,s,t)}],[\"rem\",function rem(e,n,t){return twoCommaSeparatedNodesSolver(e,n,t,solveRem)}],[\"round\",function round(e,r,a){const i=resolveGlobalsAndConstants([...e.value.filter(e=>!u(e))],r);let o=\"\",l=!1;const c=[],s=[];{let e=c;for(let n=0;n<i.length;n++){const r=i[n];if(!o&&0===c.length&&0===s.length&&t(r)&&D(r.value)){const e=r.value[4].value.toLowerCase();if(K.has(e)){o=e;continue}}if(t(r)&&A(r.value)){if(e===s)return-1;if(e===c&&o&&0===c.length)continue;if(e===c){l=!0,e=s;continue}return-1}e.push(r)}}const v=solve(calc$1(calcWrapper(e,c),r,a),a);if(-1===v)return-1;if(\"line-width\"===o){const e=convertUnit([m.Dimension,\"1px\",v.value[2],v.value[3],{value:1,type:p.Integer,unit:\"px\"}],v.value);if(!f(e)||\"px\"!==e[4].unit)return-1}if(!l&&0===s.length){if(\"line-width\"===o)return v.value[4].value<=0?-1:snapAsBorderWidth(e,v.value,a);s.push(new n([m.Number,\"1\",v.value[2],v.value[3],{value:1,type:p.Integer}]))}const d=solve(calc$1(calcWrapper(e,s),r,a),a);if(-1===d)return-1;o||(o=\"nearest\");return solveRound(e,o,v,d,a)}],[\"sign\",function sign(e,n,t){return singleNodeSolver(e,n,t,solveSign)}],[\"sin\",function sin(e,n,t){return singleNodeSolver(e,n,t,solveSin)}],[\"sqrt\",function sqrt(e,n,t){return singleNodeSolver(e,n,t,solveSqrt)}],[\"tan\",function tan(e,n,t){return singleNodeSolver(e,n,t,solveTan)}]]);function calc$1(e,n,r){const a=resolveGlobalsAndConstants([...e.value.filter(e=>!u(e))],n);if(1===a.length&&t(a[0]))return{inputs:[a[0]],operation:unary};let l=0;for(;l<a.length;){const e=a[l];if(i(e)&&N(e.startToken)){const t=calc$1(e,n,r);if(-1===t)return-1;a.splice(l,1,t);continue}if(o(e)){const t=J.get(e.getName().toLowerCase());if(!t)return-1;const u=t(e,n,r);if(-1===u)return-1;a.splice(l,1,u);continue}l++}if(l=0,1===a.length&&isCalculation(a[0]))return a[0];for(;l<a.length;){const e=a[l];if(!e||!t(e)&&!isCalculation(e)){l++;continue}const n=a[l+1];if(!n||!t(n)){l++;continue}const r=n.value;if(!B(r)||\"*\"!==r[4].value&&\"/\"!==r[4].value){l++;continue}const u=a[l+2];if(!u||!t(u)&&!isCalculation(u))return-1;\"*\"!==r[4].value?\"/\"!==r[4].value?l++:a.splice(l,3,{inputs:[e,u],operation:division}):a.splice(l,3,{inputs:[e,u],operation:multiplication})}if(l=0,1===a.length&&isCalculation(a[0]))return a[0];for(;l<a.length;){const e=a[l];if(!e||!t(e)&&!isCalculation(e)){l++;continue}const n=a[l+1];if(!n||!t(n)){l++;continue}const r=n.value;if(!B(r)||\"+\"!==r[4].value&&\"-\"!==r[4].value){l++;continue}const u=a[l+2];if(!u||!t(u)&&!isCalculation(u))return-1;\"+\"!==r[4].value?\"-\"!==r[4].value?l++:a.splice(l,3,{inputs:[e,u],operation:subtraction}):a.splice(l,3,{inputs:[e,u],operation:addition})}return 1===a.length&&isCalculation(a[0])?a[0]:-1}function singleNodeSolver(e,n,t,r){const a=singleArgument(e,n,t);return-1===a?-1:r(e,a,t)}function singleArgument(e,n,t){const r=resolveGlobalsAndConstants([...e.value.filter(e=>!u(e))],n),a=solve(calc$1(calcWrapper(e,r),n,t),t);return-1===a?-1:a}function twoCommaSeparatedNodesSolver(e,n,t,r){const a=twoCommaSeparatedArguments(e,n,t);if(-1===a)return-1;const[u,i]=a;return r(e,u,i,t)}function twoCommaSeparatedArguments(e,n,r){const a=resolveGlobalsAndConstants([...e.value.filter(e=>!u(e))],n),i=[],o=[];{let e=i;for(let n=0;n<a.length;n++){const r=a[n];if(t(r)&&A(r.value)){if(e===o)return-1;if(e===i){e=o;continue}return-1}e.push(r)}}const l=solve(calc$1(calcWrapper(e,i),n,r),r);if(-1===l)return-1;const c=solve(calc$1(calcWrapper(e,o),n,r),r);return-1===c?-1:[l,c]}function variadicNodesSolver(e,n,t,r){const a=variadicArguments(e,e.value,n,t);return-1===a?-1:r(e,a,t)}function variadicArguments(e,n,r,a){const i=resolveGlobalsAndConstants([...n.filter(e=>!u(e))],r),o=[];{const n=[];let u=[];for(let e=0;e<i.length;e++){const r=i[e];t(r)&&A(r.value)?(n.push(u),u=[]):u.push(r)}n.push(u);for(let t=0;t<n.length;t++){if(0===n[t].length)return-1;const u=solve(calc$1(calcWrapper(e,n[t]),r,a),a);if(-1===u)return-1;o.push(u)}}return o}const K=new Set([\"nearest\",\"line-width\",\"up\",\"down\",\"to-zero\"]);function parseRandomValueSharing(e,n,r,a){const u={isAuto:!1,dashedIdent:\"\",fixed:-1,elementShared:!1},i=n[0];if(!t(i)||!D(i.value))return[u,n];for(let i=0;i<n.length;i++){const o=n[i];if(!t(o))return-1;if(A(o.value))return[u,n.slice(i+1)];if(!D(o.value))return-1;const l=o.value[4].value.toLowerCase();if(\"element-shared\"!==l){if(\"fixed\"===l){if(u.elementShared||u.dashedIdent||u.isAuto)return-1;i++;const t=n[i];if(!t)return-1;const o=solve(calc$1(calcWrapper(e,[t]),r,a),a);if(-1===o)return-1;if(!C(o.value))return-1;if(o.value[4].value<0||o.value[4].value>1)return-1;u.fixed=Math.max(0,Math.min(o.value[4].value,1-1e-9));continue}if(\"auto\"!==l)if(l.startsWith(\"--\")){if(-1!==u.fixed||u.isAuto)return-1;u.dashedIdent=l}else;else{if(-1!==u.fixed||u.dashedIdent)return-1;u.isAuto=!0}}else{if(-1!==u.fixed)return-1;u.elementShared=!0}}return-1}function calcWrapper(e,n){return new l([m.Function,\"calc(\",e.name[2],e.name[3],{value:\"calc\"}],[m.CloseParen,\")\",e.endToken[2],e.endToken[3],void 0],n)}function maxWrapper(t,r,a){return new l([m.Function,\"max(\",t.name[2],t.name[3],{value:\"max\"}],[m.CloseParen,\")\",t.endToken[2],t.endToken[3],void 0],[r,new n([m.Comma,\",\",...e(r),void 0]),a])}function patchNaN(e){if(-1===e)return-1;if(o(e))return e;const t=e.value;return h(t)&&Number.isNaN(t[4].value)?C(t)?new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}])]):f(t)?new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:p.Integer,unit:t[4].unit}])]):g(t)?new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,\"NaN\",t[2],t[3],{value:\"NaN\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Percentage,\"1%\",t[2],t[3],{value:1}])]):-1:e}function patchInfinity(e){if(-1===e)return-1;if(o(e))return e;const t=e.value;if(!h(t))return e;if(Number.isFinite(t[4].value)||Number.isNaN(t[4].value))return e;let r=\"\";return Number.NEGATIVE_INFINITY===t[4].value&&(r=\"-\"),C(t)?new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}])]):f(t)?new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Dimension,\"1\"+t[4].unit,t[2],t[3],{value:1,type:p.Integer,unit:t[4].unit}])]):new l([m.Function,\"calc(\",t[2],t[3],{value:\"calc\"}],[m.CloseParen,\")\",t[2],t[3],void 0],[new n([m.Ident,r+\"infinity\",t[2],t[3],{value:r+\"infinity\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Delim,\"*\",t[2],t[3],{value:\"*\"}]),new c([[m.Whitespace,\" \",t[2],t[3],void 0]]),new n([m.Percentage,\"1%\",t[2],t[3],{value:1}])])}function patchMinusZero(e){if(-1===e)return-1;if(o(e))return e;const n=e.value;return h(n)&&Object.is(-0,n[4].value)?(\"-0\"===n[1]||(g(n)?n[1]=\"-0%\":f(n)?n[1]=\"-0\"+n[4].unit:n[1]=\"-0\"),e):e}function patchPrecision(e,n=13){if(-1===e)return-1;if(n<=0)return e;if(o(e))return e;const t=e.value;if(!h(t))return e;if(Number.isInteger(t[4].value))return e;const r=Number(t[4].value.toFixed(n)).toString();return C(t)?t[1]=r:g(t)?t[1]=r+\"%\":f(t)&&(t[1]=r+t[4].unit),e}function patchCanonicalUnit(e){return-1===e?-1:o(e)?e:f(e.value)?(e.value=toCanonicalUnit(e.value),e):e}function patchCalcResult(e,n){let t=e;return n?.toCanonicalUnits&&(t=patchCanonicalUnit(t)),t=patchPrecision(t,n?.precision),t=patchMinusZero(t),n?.censorIntoStandardRepresentableValues||(t=patchNaN(t),t=patchInfinity(t)),t}function tokenizeGlobals(e){const n=new Map;if(!e)return n;for(const[t,r]of e)if(b(r))n.set(t,r);else if(\"string\"==typeof r){const e=F({css:r}),a=e.nextToken();if(e.nextToken(),!e.endOfFile())continue;if(!h(a))continue;n.set(t,a);continue}return n}function calc(e,n){return calcFromComponentValues(s(w({css:e}),{}),n).map(e=>e.map(e=>E(...e.tokens())).join(\"\")).join(\",\")}function calcFromComponentValues(e,n){const t=tokenizeGlobals(n?.globals);return replaceComponentValues(e,e=>{if(!o(e))return;const r=J.get(e.getName().toLowerCase());if(!r)return;const a=patchCalcResult(solve(r(e,t,n??{}),n??{}),n);return-1!==a?a:void 0})}function replaceComponentValues(n,r){for(let a=0;a<n.length;a++){const i=n[a];v(i,(n,a)=>{if(\"number\"!=typeof a)return;const i=r(n.node);if(!i)return;const o=[i],l=n.parent.value[a-1];t(l)&&B(l.value)&&(\"-\"===l.value[4].value||\"+\"===l.value[4].value)&&o.splice(0,0,new c([[m.Whitespace,\" \",...e(n.node),void 0]]));const s=n.parent.value[a+1];!s||u(s)||t(s)&&(A(s.value)||I(s.value)||S(s.value)||B(s.value)&&\"-\"!==s.value[4].value&&\"+\"!==s.value[4].value)||o.push(new c([[m.Whitespace,\" \",...e(n.node),void 0]])),n.parent.value.splice(a,1,...o)})}return n}const Q=new Set(J.keys());export{ParseError,y as ParseErrorMessage,ParseErrorWithComponentValues,calc,calcFromComponentValues,Q as mathFunctionNames};\n","import { log } from './log.js';\nimport { calc } from '@csstools/css-calc';\n\nexport const parseValue = (v) => {\n const value = `${v}`;\n const number = parseFloat(value);\n let unit = 'unsupported';\n\n const match = value.match(/px|rem|em/);\n if (match) {\n unit = match[0];\n }\n\n if (number === 0 && unit === 'unsupported') {\n unit = 'zero';\n }\n\n return { number, unit };\n};\n\nexport const parseFontSizeValue = (value) => {\n const values = {};\n if (typeof value === 'string') {\n values.fontSize = parseValue(value);\n } else if (Array.isArray(value)) {\n values.fontSize = parseValue(value[0]);\n\n if (typeof value[1] === 'string') {\n values.lineHeight = parseValue(value[1]);\n } else if (typeof value[1] === 'object') {\n if ('lineHeight' in value[1]) {\n let lh = value[1].lineHeight;\n if (typeof lh === 'string' && lh.includes('calc')) {\n lh = calc(lh);\n }\n const parsed = parseValue(lh);\n if (parsed.unit === 'unsupported') {\n values.lineHeight = {\n number: lh * values.fontSize.number,\n unit: values.fontSize.unit,\n };\n } else {\n values.lineHeight = parsed;\n }\n }\n if ('letterSpacing' in value[1]) {\n values.letterSpacing = parseValue(value[1].letterSpacing);\n }\n }\n }\n return values;\n};\n\nexport const validateValues = (start, end, value, prop = null) => {\n // console.log(start.number === end.number);\n if (start.number === end.number) {\n log.error(\n `Same value for start an end${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n // console.log(start, end);\n\n if (start.unit !== end.unit && start.unit !== 'zero' && end.unit !== 'zero') {\n log.error(\n `Units need to match${prop ? ` (${prop})` : ''}: \"clamp-[${value}]\" ${\n start.unit\n } !== ${end.unit}.`\n );\n return null;\n }\n\n if (start.unit === 'unsupported' || end.unit === 'unsupported') {\n log.error(\n `Only px, rem and em units are supported${\n prop ? ` (${prop})` : ''\n }: \"clamp-[${value}]\".`\n );\n return null;\n }\n\n return true;\n};\n","// https://chriskirknielsen.com/blog/modern-fluid-typography-with-clamp/\n\nexport const clamp = (\n _start,\n _end,\n _minvw = { number: 23.4375, unit: 'rem' },\n _maxvw = { number: 90, unit: 'rem' },\n useContainer = false\n) => {\n const unit = _start.unit === 'zero' ? _end.unit : _start.unit;\n const isPx = unit === 'px';\n\n let start = _start.number;\n let end = _end.number;\n let negative = false;\n\n let minvw = _minvw.number;\n let maxvw = _maxvw.number;\n\n if (_minvw.unit !== 'px' && isPx) {\n minvw = _minvw.number * 16;\n }\n\n if (_minvw.unit === 'px' && !isPx) {\n minvw = _minvw.number / 16;\n }\n\n if (_maxvw.unit !== 'px' && isPx) {\n maxvw = _maxvw.number * 16;\n }\n\n if (_maxvw.unit === 'px' && !isPx) {\n maxvw = _maxvw.number / 16;\n }\n\n if (end < start && start < 0 && end < 0) {\n start = Math.abs(start);\n end = Math.abs(end);\n negative = true;\n } else if (end < start && start > 0 && end > 0) {\n start = start * -1;\n end = end * -1;\n negative = true;\n } else if (end < start) {\n start = Math.abs(start) * -1;\n end = Math.abs(end);\n negative = true;\n }\n\n const slope = (end - start) / (maxvw - minvw);\n const calc = `${(start - minvw * slope).toFixed(6)}${unit} + ${(\n 100 * slope\n ).toFixed(6)}${useContainer ? 'cqw' : 'vw'}`;\n\n const value = `clamp(${start}${unit}, ${calc}, ${end}${unit})`;\n\n return negative ? `calc(${value} * -1)` : value;\n};\n","import plugin from 'tailwindcss/plugin';\nimport { resolveProperty } from './resolve-property.js';\nimport { log } from './log.js';\nimport {\n parseValue,\n parseFontSizeValue,\n validateValues,\n} from './parse-value.js';\nimport { clamp } from './clamp.js';\n\nconst defaultOptions = {\n minSize: '23.4375rem',\n maxSize: '90rem',\n};\n\nfunction getBreakpointValue(customValue, fallback, screens, containers) {\n if (!customValue) {\n return {\n ...parseValue(fallback),\n isContainer: false,\n };\n }\n\n const isContainer = customValue.startsWith('@');\n\n const cleanValue = isContainer ? customValue.slice(1) : customValue;\n const value = isContainer\n ? containers[cleanValue] || cleanValue\n : screens[cleanValue] || cleanValue;\n\n return {\n ...parseValue(value),\n isContainer,\n };\n}\n\nconst isLengthValue = (v) =>\n /^-?\\d*\\.?\\d+(px|rem|em)$/.test(v.trim()) || v.trim() === '0';\n\nexport default plugin.withOptions(function (options = {}) {\n const o = { ...defaultOptions, ...options };\n return function ({ matchUtilities, addBase, theme, config }) {\n const clampTheme = theme('clamp') || {};\n\n // Separate theme values into variable definitions vs utility shortcuts\n const utilityValues = {};\n const variableDefinitions = {};\n\n for (const [name, value] of Object.entries(clampTheme)) {\n if (typeof value !== 'string') continue;\n const firstArg = value.split(',')[0];\n if (isLengthValue(firstArg)) {\n variableDefinitions[name] = value;\n } else {\n utilityValues[name] = value;\n }\n }\n\n // Process variable definitions → inject as computed CSS custom properties\n if (Object.keys(variableDefinitions).length > 0) {\n const screens = theme('screens');\n const containers = theme('containers');\n const rootVars = {};\n\n for (const [name, value] of Object.entries(variableDefinitions)) {\n const args = value.split(',').map((s) => s.trim());\n\n if (args.length < 2) {\n log.error(\n `Theme clamp variable \"--clamp-${name}\" requires at least 2 values (start, end).`,\n );\n continue;\n }\n\n const start = parseValue(args[0]);\n const end = parseValue(args[1]);\n\n const minvw = getBreakpointValue(\n args[2],\n o.minSize,\n screens,\n containers,\n );\n const maxvw = getBreakpointValue(\n args[3],\n o.maxSize,\n screens,\n containers,\n );\n\n if (!validateValues(minvw, maxvw, `--clamp-${name}`)) continue;\n if (!validateValues(start, end, `--clamp-${name}`)) continue;\n\n const useContainer = minvw.isContainer;\n rootVars[`--clamp-${name}`] = clamp(\n start,\n end,\n minvw,\n maxvw,\n useContainer,\n );\n }\n\n if (Object.keys(rootVars).length > 0) {\n addBase({ ':root': rootVars });\n }\n }\n\n matchUtilities(\n {\n clamp: (value) => {\n const args = value.split(',');\n\n if (args.length < 3) {\n log.error(\n `The clamp utility requires at least 3 arguments: \"clamp-[${value}]\".`,\n );\n return {};\n }\n\n const screens = theme('screens');\n const containers = theme('containers');\n\n const minvw = getBreakpointValue(\n args[3],\n o.minSize,\n screens,\n containers,\n );\n\n const maxvw = getBreakpointValue(\n args[4],\n o.maxSize,\n screens,\n containers,\n );\n\n if (!validateValues(minvw, maxvw, value)) {\n return {};\n }\n\n const useContainer = minvw.isContainer;\n const isCustomProperty = args[0].startsWith('--');\n const resolvedProp = isCustomProperty\n ? { type: 'regular', key: null, props: [args[0]] }\n : resolveProperty(args[0]);\n\n if (!resolvedProp) {\n log.error(\n `Property \"${args[0]}\" is not supported: \"clamp-[${value}]\".`,\n );\n return {};\n }\n\n const { key, props, type } = resolvedProp;\n\n // handle fontSize separately\n if (type === 'fontSize') {\n const start = parseFontSizeValue(\n config().theme[key][args[1]] || args[1],\n );\n const end = parseFontSizeValue(\n config().theme[key][args[2]] || args[2],\n );\n\n const css = {};\n\n Object.keys(start).forEach((k) => {\n if (k in end) {\n if (\n (k === 'letterSpacing' || k === 'lineHeight') &&\n start[k].number === end[k].number &&\n start[k].unit === end[k].unit\n ) {\n css[k] = `${start[k].number}${start[k].unit}`;\n } else if (validateValues(start[k], end[k], value, k)) {\n const val = clamp(\n start[k],\n end[k],\n minvw,\n maxvw,\n useContainer,\n );\n css[k] = val;\n }\n }\n });\n\n return css;\n }\n\n // Other values\n let start = parseValue(\n key ? config().theme[key]?.[args[1]] || args[1] : args[1],\n );\n let end = parseValue(\n key ? config().theme[key]?.[args[2]] || args[2] : args[2],\n );\n\n // Handle spacing values\n if (type === 'spacing') {\n const spacing = parseValue(\n typeof theme('spacing') === 'string'\n ? theme('spacing')\n : theme('spacing.1'),\n );\n\n const startIsUnitless = /^-?\\d*\\.?\\d+$/.test(args[1]);\n const endIsUnitless = /^-?\\d*\\.?\\d+$/.test(args[2]);\n\n if (startIsUnitless) {\n start = {\n number: spacing.number * parseFloat(args[1]),\n unit: spacing.unit,\n };\n }\n\n if (endIsUnitless) {\n end = {\n number: spacing.number * parseFloat(args[2]),\n unit: spacing.unit,\n };\n }\n }\n\n if (!validateValues(start, end, value)) {\n return {};\n }\n\n const val = clamp(start, end, minvw, maxvw, useContainer);\n\n const declarations = props.reduce((acc, prop) => {\n if (typeof prop === 'string') {\n acc[prop] = val;\n } else {\n acc = { ...acc, ...prop };\n }\n return acc;\n }, {});\n\n if (resolvedProp.selector) {\n return { [resolvedProp.selector]: declarations };\n }\n\n return declarations;\n },\n },\n { values: utilityValues },\n {\n supportsNegativeValues: false,\n modifiers: {\n pattern: /[\\w-]+(?:,[\\w-]+){2}/, // Matches \"text,lg,3xl\" format\n },\n },\n );\n };\n});\n"],"x_google_ignoreList":[0,3,4,5],"mappings":"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"}
|