brighterscript 1.0.0-alpha.27 → 1.0.0-alpha.29
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/CHANGELOG.md +71 -0
- package/README.md +1 -1
- package/dist/AstValidationSegmenter.d.ts +12 -2
- package/dist/AstValidationSegmenter.js +74 -16
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/DependencyGraph.d.ts +4 -0
- package/dist/DependencyGraph.js +19 -0
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +7 -4
- package/dist/DiagnosticFilterer.js +67 -37
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +1 -1
- package/dist/PluginInterface.js +1 -1
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +19 -15
- package/dist/Program.js +153 -88
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +27 -28
- package/dist/Scope.js +174 -361
- package/dist/Scope.js.map +1 -1
- package/dist/Stopwatch.d.ts +4 -0
- package/dist/Stopwatch.js +7 -0
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +2 -1
- package/dist/SymbolTable.js +26 -0
- package/dist/SymbolTable.js.map +1 -1
- package/dist/{SymbolTableFlag.js → SymbolTypeFlag.js} +1 -1
- package/dist/SymbolTypeFlag.js.map +1 -0
- package/dist/XmlScope.d.ts +0 -8
- package/dist/XmlScope.js +0 -77
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/CachedLookups.js +4 -8
- package/dist/astUtils/CachedLookups.js.map +1 -1
- package/dist/astUtils/creators.d.ts +1 -0
- package/dist/astUtils/creators.js +3 -2
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +0 -10
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -4
- package/dist/astUtils/reflection.js +8 -7
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +10 -15
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +1 -2
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +1 -5
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +3 -1
- package/dist/bscPlugin/BscPlugin.js +10 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/SignatureHelpUtil.js +4 -3
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js +31 -11
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +39 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.js +5 -5
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +51 -5
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
- package/dist/bscPlugin/references/ReferencesProvider.js +56 -0
- package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileAfterValidatior.d.ts +7 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidatior.js +18 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidatior.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +17 -10
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +37 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +434 -25
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +91 -4
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +11 -4
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +23 -5
- package/dist/files/BrsFile.js +189 -51
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +589 -97
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/BscFile.d.ts +2 -1
- package/dist/files/BscFile.js.map +1 -1
- package/dist/files/XmlFile.d.ts +2 -2
- package/dist/files/XmlFile.js +2 -2
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +43 -4
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +9 -3
- package/dist/lexer/Lexer.js +36 -15
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +76 -38
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.js +1 -1
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +1 -0
- package/dist/lexer/TokenKind.js +4 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +1 -2
- package/dist/parser/AstNode.js +0 -1
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +1 -1
- package/dist/parser/Expression.d.ts +77 -47
- package/dist/parser/Expression.js +162 -88
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +7 -2
- package/dist/parser/Parser.js +40 -90
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +21 -44
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGTypes.js +5 -5
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +92 -84
- package/dist/parser/Statement.js +199 -133
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +0 -13
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +17 -8
- package/dist/parser/TranspileState.js +67 -8
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +1 -1
- package/dist/parser/tests/Parser.spec.js +1 -2
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +1 -3
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +44 -0
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +6 -6
- package/dist/parser/tests/expression/TernaryExpression.spec.js +47 -0
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +2 -2
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +8 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +25 -5
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.js +1 -2
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.js +2 -1
- package/dist/preprocessor/PreprocessorParser.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +3 -0
- package/dist/types/AssociativeArrayType.js +9 -0
- package/dist/types/AssociativeArrayType.js.map +1 -1
- package/dist/types/BscType.d.ts +1 -1
- package/dist/types/BscType.js +1 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/ComponentType.d.ts +1 -1
- package/dist/types/ReferenceType.d.ts +9 -1
- package/dist/types/ReferenceType.js +45 -1
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/ReferenceType.spec.js +15 -0
- package/dist/types/ReferenceType.spec.js.map +1 -1
- package/dist/util.d.ts +23 -9
- package/dist/util.js +115 -21
- package/dist/util.js.map +1 -1
- package/package.json +6 -3
- package/dist/SymbolTableFlag.js.map +0 -1
- /package/dist/{SymbolTableFlag.d.ts → SymbolTypeFlag.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/parser/Expression.ts"],"names":[],"mappings":";;;AAEA,kDAA+C;AAG/C,kCAA2B;AAE3B,qCAAqC;AACrC,oCAAoC;AAEpC,mDAAgD;AAChD,mDAAyE;AACzE,uDAA8lB;AAE9lB,8CAA+C;AAC/C,gDAA6C;AAC7C,sDAAmD;AAGnD,kEAA+D;AAC/D,uCAAoD;AACpD,gDAA6C;AAC7C,2CAAwC;AAExC,oDAAiD;AACjD,0DAAmE;AACnE,kDAA+C;AAC/C,kDAA+C;AAC/C,wEAAqE;AAErE,mDAAmD;AAInD,MAAa,gBAAiB,SAAQ,oBAAU;IAC5C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,gBAAgB,CAAC;QAdhD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,GAAG;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC5D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAGM,OAAO,CAAC,OAAuB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,kCAA0B,EAAE;YACzC,0EAA0E;YAC1E,QAAQ,YAAY,EAAE;gBAClB,KAAK,qBAAS,CAAC,EAAE;oBACb,OAAO,IAAI,qBAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpF,oDAAoD;aACvD;SACJ;aAAM,IAAI,OAAO,CAAC,KAAK,iCAAyB,EAAE;YAC/C,OAAO,cAAI,CAAC,wBAAwB,CAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SACpC;QACD,OAAO,yBAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;CAEJ;AA7DD,4CA6DC;AAGD,MAAa,cAAe,SAAQ,oBAAU;IAG1C,YAAY,OAKX;;QACG,KAAK,EAAE,CAAC;QAoBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAnB9C,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzH,CAAC;IAgBD,SAAS,CAAC,KAAwB,EAAE,YAAqB;QACrD,IAAI,MAAM,GAA+B,EAAE,CAAC;QAE5C,oBAAoB;QACpB,IAAI,YAAY,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;SAC5D;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAChD;QAED,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CACtD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,wBAAwB;YACxB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CACjD,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,IAAA,2BAAc,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAA,4BAAe,EAAC,UAAU,CAAC,UAAU,CAAC,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,YAAY,EAAE,CAAA,CAAC,EAAE;YAClH,OAAO,UAAU,CAAC,UAAU,CAAC;SAChC;QACD,IAAI,CAAC,IAAA,4BAAe,EAAC,UAAU,CAAC,KAAI,MAAC,UAAkB,CAAC,UAAU,0CAAE,YAAY,EAAE,CAAA,EAAE;YAChF,OAAQ,UAAkB,CAAC,UAAU,CAAC;SACzC;QACD,OAAO,IAAI,yCAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;;AApFL,wCAqFC;AApFU,+BAAgB,GAAG,EAAE,CAAC;AAsFjC,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OASX;;QACG,KAAK,EAAE,CAAC;QAmBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAlBlD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAEzD,kEAAkE;QAClE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SACjF;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,CAAA,EAAA,CAAC,CAAC;IAClG,CAAC;IAqBM,gBAAgB;;QACnB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,GAAG,IAAI,CAAC,UAAU,EAClB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAED,SAAS,CAAC,KAAwB,EAAE,IAAiB,EAAE,WAAW,GAAG,IAAI;;QACrE,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,kBAAkB;QAClB,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAC7D,CAAC;QACF,eAAe;QACf,IAAI,IAAI,EAAE;YACN,OAAO,CAAC,IAAI,CACR,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAC7B,CAAC;SACL;QACD,WAAW;QACX,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAC9C,CAAC;QACF,YAAY;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,YAAY;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;YACD,eAAe;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QACD,aAAa;QACb,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAC/C,CAAC;QACF,WAAW;QACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAClE,OAAO,CAAC,IAAI,CACR,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAC1C,GAAG;YACH,aAAa;YACb,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAChD,CAAC;SACL;QACD,IAAI,WAAW,EAAE;YACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,0BAA0B;QAC1B,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,MAAM,EAAE,EACd,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,mCAAI,UAAU,EAAE,CAAC,CACrG,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,IAAI,OAAO,GAAG;YACV,IAAI,uBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;gBACvB,kBAAkB;gBAClB,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,mCAAI,UAAU;gBAC5C,eAAe;gBACf,GAAG,CAAC,IAAA,gCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzH,WAAW;gBACX,GAAG;gBACH,YAAY;gBACZ,GAAG,CACC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,kBAAkB;oBAClB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACjB,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;iBAC7B,CAAC,CAAC,mCAAI,EAAE,CACL;gBACR,aAAa;gBACb,GAAG;gBACH,iBAAiB;gBACjB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC5B,GAAG;oBACH,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,0CAAE,IAAI,mCAAI,IAAI;oBAC5B,GAAG;oBACH,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC;iBACjD,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI;gBACJ,KAAK,CAAC,MAAM,EAAE;gBACd,0BAA0B;gBAC1B,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,eAAe,0CAAE,IAAI,mCAAI,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,mCAAI,UAAU,EAAE;aACvF,CAAC;SACL,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,IAAA,eAAI,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,oFAAoF;YACpF,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,qBAAqB,EAAE;gBAC3D,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aACxC;SACJ;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;;QAClC,4CAA4C;QAC5C,IAAI,UAAU,GAAG,MAAA,IAAI,CAAC,oBAAoB,0CAAE,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC;QAC1F,MAAM,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,MAAK,qBAAS,CAAC,GAAG,CAAC;QAC/D,qGAAqG;QACrG,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAW,CAAC,QAAQ,CAAC;SACjE;QAED,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,UAAU,CAAC,CAAC;QACrD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC9H;QACD,4CAA4C;QAC5C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,uCAA0B,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC3E,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,+CAA+C;gBAC/C,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;aACxC;SACJ;aAAM,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;SAC5D;QACD,IAAI,QAAQ,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1I,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA3MD,gDA2MC;AAED,MAAa,2BAA4B,SAAQ,oBAAU;IACvD,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,2BAA2B,CAAC;QAT3D,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IACjD,CAAC;IAaM,OAAO,CAAC,OAAuB;;QAClC,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,mCAA2B,SAAS,EAAE,SAAS,IAAG,mCAChH,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,kCAA0B,SAAS,EAAE,SAAS,IAAG,mCAC/F,yBAAW,CAAC,QAAQ,CAAC;QACzB,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtJ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,IAAI,MAAM,GAAG;YACT,MAAM;YACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SAChC,CAAC;QACX,eAAe;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;QACD,kBAAkB;QAClB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CACP,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CACnD,CAAC;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,UAAU,CAAC,KAAwB;;QACtC,OAAO;YACH,MAAM;YACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;YACrB,eAAe;YACf,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBACpB,KAAK;gBACL,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC;aACxC,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,kBAAkB;YAClB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACtB,MAAM;gBACN,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,KAAK,CAAC,mCAAI,CAAC,EAAE,CAAC,CAAC;aACtD,CAAC,CAAC,CAAC,EAAE,CAAC;SACV,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,sCAAsC;QACtC,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;CACJ;AA9FD,kEA8FC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAC/C,YAAY,OAOX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAfnD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,gEAAgE;QAChE,IAAI,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO;gBACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC;aAC/D,CAAC;SACL;aAAM;YACH,OAAO;gBACH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC1C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACzC,CAAC;SACL;IACL,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACvC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACvE,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;YACvC,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI;YAC5B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,mCAAI,IAAI,CAAC,KAAK;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC,CAAC;QACJ,IAAI,MAAM,IAAI,OAAO,CAAC,KAAK,kCAA0B,EAAE;YACnD,wCAAwC;YACxC,OAAO,MAAM,CAAC;SACjB;QACD,+FAA+F;QAC/F,0CAA0C;QAC1C,OAAO,yBAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,SAAoB;QACxB,OAAO,cAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CAEJ;AAzED,kDAyEC;AAED,MAAa,yBAA0B,SAAQ,oBAAU;IACrD,YAAY,OAOX;QACG,KAAK,EAAE,CAAC;QAMI,SAAI,GAAG,qBAAW,CAAC,yBAAyB,CAAC;QALzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;YACzC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACzC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACvC;IACL,CAAC;CACJ;AAvCD,8DAuCC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OASX;QACG,KAAK,EAAE,CAAC;QAWI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QAVpD,IAAI,CAAC,MAAM,GAAG;YACV,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/K,CAAC;IAkBD,SAAS,CAAC,KAAwB;;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5E,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CACvD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CACP,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CACrC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CACvD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;YACtB,oEAAoE;YACpE,OAAO,OAAO,CAAC,WAAW,CAAC;SAC9B;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACJ;AA5ED,oDA4EC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAdlD,IAAI,CAAC,MAAM,GAAG;YACV,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1G,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC3C;QACD,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3C,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;YACnC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACJ;AA7CD,gDA6CC;AAED,MAAa,iBAAkB,SAAQ,oBAAU;IAC7C,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QATjD,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;IACN,CAAC;IAQD,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,OAAwB;QACnC,OAAO,cAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,mBAAmB,EAAE;YAC1D,uDAAuD;YACvD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;SAE5D;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,aAAa,EAAE;YAC3D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,+FAA+F;YAC/F,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC9B,IAAI,IAAI,GAAG,CAAC;aACf;SACJ;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;SACjC;QAED,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;CACJ;AAhDD,8CAgDC;AAED;;;GAGG;AACH,MAAa,gCAAiC,SAAQ,oBAAU;IAC5D,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAKI,SAAI,GAAG,qBAAW,CAAC,gCAAgC,CAAC;QAJhE,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,CAAC;IAUD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;SAC/D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;CACJ;AA1BD,4EA0BC;AAED,MAAa,sBAAuB,SAAQ,oBAAU;IAClD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,sBAAsB,CAAC;QAftD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAC9C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,IAAA,+BAAkB,EAAC,OAAO,CAAC,EAAE;gBAC7B,+FAA+F;gBAC/F,IAAI,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE;oBACzF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACpB;qBAAM;oBACH,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;iBACL;gBACD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aACzB;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,MAAM,EAAE,EACd,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAC9B,CAAC;aACL;SACJ;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,4DAA4D;QAC5D,IAAI,WAAW,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAC1C,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,+BAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACxG,OAAO,IAAI,qBAAS,CAAC,GAAG,UAAU,CAAC,CAAC;IACxC,CAAC;CACJ;AApFD,wDAoFC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QATlD,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAeD,SAAS,CAAC,KAAwB;QAC9B,sEAAsE;QACtE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CAEJ;AA5CD,gDA4CC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAC/C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAdnD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,YAAY;QACZ,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAC9C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,uHAAuH;QACvH,IAAI,WAAW,IAAI,CAAC,IAAA,+BAAkB,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE;YACzH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvC,sCAAsC;YACtC,IAAI,IAAA,+BAAkB,EAAC,OAAc,CAAC;gBAClC,CAAC,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAI,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,EAC3F;gBACE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEjB,aAAa;aAChB;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B;YAED,iBAAiB;YACjB,IAAI,IAAA,+BAAkB,EAAC,OAAO,CAAC,EAAE;gBAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACH,KAAK;gBACL,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAC3C,CAAC;gBACF,OAAO;gBACP,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/C,GAAG,CACN,CAAC;gBAEF,OAAO;gBACP,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD;YAGD,0DAA0D;YAC1D,IAAI,WAAW,IAAI,IAAA,+BAAkB,EAAC,WAAW,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;gBAE7G,kCAAkC;aACrC;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,mDAAmD;QACnD,IAAI,WAAW,EAAE;YACb,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B;QACD,aAAa;QACb,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,UAAU,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,IAAA,iCAAoB,EAAC,OAAO,CAAC,EAAE;gBAC/B,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAyB,CAAC;aAC9H;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA3GD,kDA2GC;AAED,MAAa,eAAgB,SAAQ,oBAAU;IAC3C,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,eAAe,CAAC;QAP/C,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAWD,SAAS,CAAC,KAAwB;QAC9B,IAAI,oBAA4B,CAAC;QACjC,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;SACnE;aAAM,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACxC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;SACpE;aAAM;YACH,oBAAoB,GAAG,GAAG,CAAC;SAC9B;QACD,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,oBAAoB;YACpB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SACjC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,cAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,CAAC;CACJ;AA/CD,0CA+CC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QAWI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAVlD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,CAAC;IACzC,CAAC;IAUM,OAAO,CAAC,SAAqB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,yDAAyD;QACzD,IAAI,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,EAAE;YAC/F,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;gBACnB,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC;gBACzC,GAAG;gBACH,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC;aACvC,CAAC,CACL,CAAC;YAEF,qBAAqB;SACxB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CACzC,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAGD,OAAO,CAAC,OAAuB;;QAC3B,IAAI,UAAU,GAAY,cAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,CAAC,OAAO,kCAAO,OAAO,KAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,IAAG,CAAC;SACnI;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzI,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5DD,gDA4DC;AAED,MAAa,uBAAwB,SAAQ,oBAAU;IACnD,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QASI,SAAI,GAAG,qBAAW,CAAC,uBAAuB,CAAC;QARvD,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC;IAC1C,CAAC;IAUD;;OAEG;IACK,iBAAiB,CAAC,cAAkC,EAAE,IAAwB;QAClF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,EAAE;gBAC5B,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,KAAK,IAAI,EAAE;oBACf,OAAO,IAAI,CAAC;iBACf;aACJ;QACL,CAAC,EAAE;YACC,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB;SACvC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,KAAwB,EAAE,SAAoB;QAClE,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QACrF,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,cAAkC,CAAC;QACvC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC,EAAE;YACnF,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACzD,SAAS,CAAC,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG,cAAc,CAAC;SACzB;QACD,8CAA8C;QAC9C,SAAS,CAAC,OAAO,CACb,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAC5C,CAAC;QACF,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAY,CAAC;QACjB,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC5B,KAAK,qBAAS,CAAC,qBAAqB;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,MAAM;YACV,KAAK,qBAAS,CAAC,oBAAoB;gBAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM;YACV,KAAK,qBAAS,CAAC,mBAAmB;gBAC9B,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAS,CAAC,YAAY,CAAC,GAAG,CAAC;gBAClE,MAAM;YACV,KAAK,qBAAS,CAAC,yBAAyB;gBACpC,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAS,CAAC,cAAc,CAAC,GAAG,CAAC;gBACpE,MAAM;YACV,KAAK,qBAAS,CAAC,qBAAqB;gBAChC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC;gBACpH,MAAM;YACV,KAAK,qBAAS,CAAC,cAAc;gBACzB,IAAI,GAAG,IAAI,cAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACvD,MAAM;YACV,KAAK,qBAAS,CAAC,kBAAkB;gBAC7B,IAAI,GAAG,IAAI,cAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACxE,MAAM;YACV,KAAK,qBAAS,CAAC,cAAc,CAAC;YAC9B;gBACI,0DAA0D;gBAC1D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM;SAEb;QACD,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;CACJ;AA9FD,0DA8FC;AAED;;;;GAIG;AACH,MAAa,aAAc,SAAQ,oBAAU;IACzC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAP7C,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAWD;;OAEG;IACH,IAAW,SAAS;QAChB,2EAA2E;QAC3E,4CAA4C;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAoD,CAAC;IAC1E,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,EAChD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAC/C,0CAAE,IAAI,CAAC;QACR,qHAAqH;QACrH,6GAA6G;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,wDAAwD;YACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC9B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AA3DD,sCA2DC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAOX;;QACG,KAAK,EAAE,CAAC;QA8BI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QA7BlD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,GAAG,IAAI,CAAC,IAAI,EACZ,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAgBM,SAAS,CAAC,KAAwB;;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EACnD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACnD,0BAA0B;QAC1B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,IAAG,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,wBAAwB;gBACxB,IAAI,CAAC,GAAG,CAAC,EAAE;oBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACxC;SACJ;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAChC;QAED,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CACtD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,IAAI,MAAM,GAAY,yBAAW,CAAC,QAAQ,CAAC;QAC3C,sGAAsG;QACtG,wEAAwE;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,iCAAM,OAAO,KAAE,KAAK,oCAA2B,CAAC;QACtF,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,MAAA,MAAC,UAA4B,EAAC,eAAe,mDAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvG,IAAI,QAAQ,EAAE;gBACV,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;oBACjC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;oBACvD,cAAc,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC,CAAC;gBACJ,IAAI,OAAO,CAAC,UAAU,EAAE;oBACpB,MAAM,GAAG,QAAQ,CAAC;iBACrB;aACJ;YACD;;;;;;;;;cASE;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAjHD,gDAiHC;AAED;;;GAGG;AACH,MAAa,6BAA8B,SAAQ,oBAAU;IACzD,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,6BAA6B,CAAC;QAP7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,GAAG,IAAI,CAAC,WAAW,CACtB,CAAC;IACN,CAAC;IAOD,SAAS,CAAC,KAAwB,EAAE,gBAAgB,GAAG,IAAI;QACvD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACrC,oBAAoB;YACpB,8DAA8D;YAC9D,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,gBAAgB,KAAK,IAAI,EAAE;gBAClE,SAAS;aACZ;YACD,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;YACF,IAAI,GAAG,KAAK,CAAC;SAChB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvD;IACL,CAAC;CACJ;AAvCD,sEAuCC;AAED,MAAa,wBAAyB,SAAQ,oBAAU;IACpD,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,wBAAwB,CAAC;QAdxD,IAAI,CAAC,MAAM,GAAG;YACV,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAaM,OAAO,CAAC,OAAuB;QAClC,OAAO,uBAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC1C;QACD,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,wDAAwD;QACxD,SAAS,GAAG,CAAC,GAAG,KAAK;YACjB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,GAAG,KAAK,CACX,CAAC;aACL;YACD,yEAAyE;YACzE,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,KAAK,CAAC;aAChB;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAErC,GAAG,CACC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAC5B,CAAC;YACF,IAAI,UAAU,EAAE;gBACZ,sDAAsD;gBACtD,IACI,IAAA,+CAAkC,EAAC,UAAU,CAAC;oBAC9C,CAAC,IAAA,gCAAmB,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EACzE;oBACE,GAAG,CACC,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;oBAEF,+FAA+F;iBAClG;qBAAM;oBACH,GAAG,CACC,KAAK,CAAC,WAAW,GAAG,YAAY,EAChC,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAC9B,GAAG,CACN,CAAC;iBACL;aACJ;SACJ;QACD,kGAAkG;QAClG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAA,eAAI,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE7C,4FAA4F;gBAC5F,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAA,eAAI,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;CACJ;AAvGD,4DAuGC;AAED,MAAa,8BAA+B,SAAQ,oBAAU;IAC1D,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAkBI,SAAI,GAAG,qBAAW,CAAC,8BAA8B,CAAC;QAjB9D,IAAI,CAAC,MAAM,GAAG;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAeD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EACzC,IAAI,CACP,CAAC;QAEF,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,6BAA6B;YAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CACP,IAAI,CACP,CAAC;aACL;YACD,MAAM,CAAC,IAAI,CACP,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CACnC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,MAAM,CACT,CAAC;QAEF,qCAAqC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CACP,IAAI,CACP,CAAC;aACL;YACD,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CACtD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAA,eAAI,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE7C,4FAA4F;gBAC5F,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAA,eAAI,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;CACJ;AA9FD,wEA8FC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QASI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QARpD,IAAI,CAAC,MAAM,GAAG;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC;IASD,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,IAAI,CACZ,CAAC;IACN,CAAC;IAMD;;;OAGG;IACH,YAAY,CAAC,MAAM,GAAG,IAAI;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,gBAAgB;;QACnB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,0CAAE,aAAa,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IACD,UAAU,CAAC,KAAwB;;QAC/B,OAAO;YACH,GAAG;YACH,IAAI,CAAC,IAAI;YACT,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;CACJ;AA/DD,oDA+DC;AAED,MAAa,iBAAkB,SAAQ,oBAAU;IAC7C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QAhBjD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,SAAS,CACjB,CAAC;IACN,CAAC;IAeD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,cAAc,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,aAAa,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,8HAA8H;QAC9H,IAAI,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjH,IAAI,mBAAmB,GAAG;YACtB,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,aAAa,CAAC,WAAW;SAC/B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,cAAc,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,YAAY,mBAAmB,CAAC,CAAC;QAElH,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CACZ,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,8CAA8C;YAC9C,oDAAoD;YACpD,4BAA4B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9D,EACD,KAAK,CAAC,OAAO;YACb,2EAA2E;YAC3E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,EACpD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,EACxE,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,EAC/F,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EACrE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,EACxE,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,EACjH,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,EACpD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAC5D,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACnF,CAAC;YACF,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,EAC5D,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EACjC,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,SAAS,CAAC,EACnD,IAAI,EACJ,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,SAAS,CAAC,EAClD,GAAG,CACN,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;CACJ;AAxGD,8CAwGC;AAED,MAAa,wBAAyB,SAAQ,oBAAU;IACpD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAaI,SAAI,GAAG,qBAAW,CAAC,wBAAwB,CAAC;QAZxD,IAAI,CAAC,MAAM,GAAG;YACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC7C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,SAAS,CACjB,CAAC;IACN,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,cAAc,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,aAAa,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,8HAA8H;QAC9H,IAAI,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjH,IAAI,qBAAqB,GAAG;YACxB,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,aAAa,CAAC,WAAW;SAC/B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,6BAAgB,EAAC,CAAC,CAAC,IAAI,IAAA,iCAAoB,EAAC,CAAC,CAAC,IAAI,IAAA,kCAAqB,EAAC,CAAC,CAAC,CAAC,CAAC;QAExF,IAAI,qBAAqB,EAAE;YACvB,MAAM,CAAC,IAAI,CACP,YAAY;YACZ,8CAA8C;YAC9C,oDAAoD;YACpD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,GAAG,EACH,KAAK,CAAC,OAAO;YACb,2EAA2E;YAC3E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACf,kFAAkF;YAClF,mBAAmB,EACnB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EACnC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,EACd,mCAAmC,EACnC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,uBAAuB,EACvB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAClC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,gBAAgB,EAChB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,GAAG,CACN,CAAC;YACF,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,WAAW,GAAG,YAAY,EAChC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EACnC,IAAI,EACJ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAClC,GAAG,CACN,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;CACJ;AAhGD,4DAgGC;AAED,MAAa,sBAAuB,SAAQ,oBAAU;IAClD,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAMI,SAAI,GAAG,qBAAW,CAAC,sBAAsB,CAAC;QALtD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;IACN,CAAC;IAOD,IAAW,KAAK;;QACZ,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,KAAK,CAAC;IAC5C,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,IAAI,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,mCAAI,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,4BAA4B;QAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE;YACX,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9C,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,IAAI,OAAO,GAAG,IAAI;YACd,qCAAqC;aACpC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,mBAAmB;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExC,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACvC,0BAA0B;gBAC1B,IAAI,OAAO,KAAK;gBAChB,IAAI,KAAK,GAAG;gBACZ,GAAG;aACN,CAAC;SACL,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;CACJ;AA/CD,wDA+CC;AAKD,SAAS,iBAAiB,CAAC,IAAgB,EAAE,MAAe;IACxD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IACD,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACxD,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzE;IACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,oCAAoC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACrE;IACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACxC;IAED,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;KAC1D;IACD,IAAI,IAAA,qCAAwB,EAAC,IAAI,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC,QAAQ;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,+BAAkB,EAAC,CAAC,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;KAC/C;IACD,IAAI,IAAA,kCAAqB,EAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,IAAA,+BAAkB,EAAC,CAAC,CAAC,EAAE;gBACxB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aAC/D;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAuB,EAAE,QAAQ,GAAG,EAAE;IACnE,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;QACpE,OAAO,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACtD;SAAM;QACH,OAAO,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACxD;AACL,CAAC;AAED,MAAa,cAAe,SAAQ,oBAAU;IAC1C,YAAY,OAKX;;QACG,KAAK,EAAE,CAAC;QAKI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAJ9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,CAAC;IACxC,CAAC;IAWM,SAAS,CAAC,KAAwB;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IACM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,iCAAM,OAAO,KAAE,KAAK,qCAA4B,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,KAAqB;QAC5B,oDAAoD;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAA0B,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,kBAAS,CAAC,cAAc;QACxC,kEAAkE;QAClE,OAAO,cAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,YAAY;QACR,iFAAiF;QACjF,OAAO,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;CACJ;AAhDD,wCAgDC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAaI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAZlD,IAAI,CAAC,MAAM,GAAG;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAcM,SAAS,CAAC,KAAwB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,uDAAuD;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC9B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,gDAoDC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAoBI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QAnBpD,IAAI,CAAC,MAAM,GAAG;YACV,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAaM,SAAS,CAAC,KAAwB;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AA3CD,oDA2CC"}
|
|
1
|
+
{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/parser/Expression.ts"],"names":[],"mappings":";;;AAEA,kDAA+C;AAG/C,kCAA2B;AAE3B,qCAAqC;AACrC,oCAAoC;AAEpC,mDAAgD;AAChD,mDAAyE;AACzE,uDAA2lB;AAE3lB,8CAA+C;AAC/C,gDAA6C;AAC7C,sDAAmD;AAGnD,uCAAoD;AACpD,gDAA6C;AAC7C,2CAAwC;AAExC,oDAAiD;AACjD,0DAAmE;AACnE,kDAA+C;AAC/C,kDAA+C;AAC/C,wEAAqE;AAErE,mDAAmD;AACnD,oCAA6C;AAE7C,wDAAqD;AAIrD,MAAa,gBAAiB,SAAQ,oBAAU;IAC5C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,gBAAgB,CAAC;QAdhD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvF,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACvD,GAAG;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,GAAG;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC5D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAGM,OAAO,CAAC,OAAuB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/C,IAAI,OAAO,CAAC,KAAK,kCAA0B,EAAE;YACzC,0EAA0E;YAC1E,QAAQ,YAAY,EAAE;gBAClB,KAAK,qBAAS,CAAC,EAAE;oBACb,OAAO,IAAI,qBAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpF,oDAAoD;aACvD;SACJ;aAAM,IAAI,OAAO,CAAC,KAAK,iCAAyB,EAAE;YAC/C,OAAO,cAAI,CAAC,wBAAwB,CAChC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;SACpC;QACD,OAAO,yBAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;CACJ;AAhED,4CAgEC;AAGD,MAAa,cAAe,SAAQ,oBAAU;IAS1C,YAAY,OAKX;;QACG,KAAK,EAAE,CAAC;QAoBI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAnB9C,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzH,CAAC;IAgBD,SAAS,CAAC,KAAwB,EAAE,YAAqB;QACrD,IAAI,MAAM,GAAoB,EAAE,CAAC;QAEjC,oBAAoB;QACpB,IAAI,YAAY,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;SAC5D;aAAM;YACH,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAChD;QAED,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CACtD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,wBAAwB;YACxB,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CACjD,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,UAAU,EAAE;YACpB,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,UAAU,CAAC;SACrB;QACD,IAAI,IAAA,2BAAc,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAA,4BAAe,EAAC,UAAU,CAAC,UAAU,CAAC,KAAI,MAAA,UAAU,CAAC,UAAU,0CAAE,YAAY,EAAE,CAAA,CAAC,EAAE;YAClH,OAAO,UAAU,CAAC,UAAU,CAAC;SAChC;QACD,IAAI,CAAC,IAAA,4BAAe,EAAC,UAAU,CAAC,KAAI,MAAC,UAAkB,aAAlB,UAAU,uBAAV,UAAU,CAAU,UAAU,0CAAE,YAAY,EAAE,CAAA,EAAE;YACjF,OAAQ,UAAkB,CAAC,UAAU,CAAC;SACzC;QACD,OAAO,IAAI,yCAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;;AA9FL,wCA+FC;AA9FG;;;;;GAKG;AACI,+BAAgB,GAAG,EAAE,CAAC;AA0FjC,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OASX;;QACG,KAAK,EAAE,CAAC;QAmBI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAlBlD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAEzD,kEAAkE;QAClE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;SACjF;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,oBAAoB,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,CAAA,EAAA,CAAC,CAAC;IAClG,CAAC;IAqBM,gBAAgB;;QACnB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,GAAG,IAAI,CAAC,UAAU,EAClB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAED,SAAS,CAAC,KAAwB,EAAE,IAAiB,EAAE,WAAW,GAAG,IAAI;;QACrE,IAAI,OAAO,GAAG,EAAqB,CAAC;QACpC,kBAAkB;QAClB,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAC7D,CAAC;QACF,eAAe;QACf,IAAI,IAAI,EAAE;YACN,OAAO,CAAC,IAAI,CACR,GAAG,EACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAC7B,CAAC;SACL;QACD,WAAW;QACX,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAC9C,CAAC;QACF,YAAY;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC/B,YAAY;YACZ,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;YACD,eAAe;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACxC;QACD,aAAa;QACb,OAAO,CAAC,IAAI,CACR,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAC/C,CAAC;QACF,WAAW;QACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAClE,OAAO,CAAC,IAAI,CACR,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAC1C,GAAG;YACH,aAAa;YACb,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAChD,CAAC;SACL;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,WAAW,EAAE;YACb,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SACzB;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,oBAAoB,mCAAI,IAAI,CAAC,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC3H,OAAO,CAAC,IAAI,CACR,GAAG,KAAK,CAAC,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,mCAAI,UAAU,EAAE,CAAC,CAC/H,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,KAAwB;;QAC/B,IAAI,OAAO,GAAG;YACV,IAAI,uBAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;gBACvB,kBAAkB;gBAClB,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,mCAAI,UAAU;gBAC5C,eAAe;gBACf,GAAG,CAAC,IAAA,gCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzH,WAAW;gBACX,GAAG;gBACH,YAAY;gBACZ,GAAG,CACC,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,kBAAkB;oBAClB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBACjB,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC;iBAC7B,CAAC,CAAC,mCAAI,EAAE,CACL;gBACR,aAAa;gBACb,GAAG;gBACH,iBAAiB;gBACjB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC5B,GAAG;oBACH,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,0CAAE,IAAI,mCAAI,IAAI;oBAC5B,GAAG;oBACH,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC;iBACjD,CAAC,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI;gBACJ,KAAK,CAAC,MAAM,EAAE;gBACd,0BAA0B;gBAC1B,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,eAAe,0CAAE,IAAI,mCAAI,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,mCAAI,UAAU,EAAE;aACvF,CAAC;SACL,CAAC;QACF,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;YACnD,IAAA,eAAI,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,oFAAoF;YACpF,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,qBAAqB,EAAE;gBAC3D,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;aACxC;SACJ;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;;QAClC,4CAA4C;QAC5C,IAAI,UAAU,GAAG,MAAA,IAAI,CAAC,oBAAoB,0CAAE,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,CAAC;QAC1F,MAAM,KAAK,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,MAAK,qBAAS,CAAC,GAAG,CAAC;QAC/D,qGAAqG;QACrG,IAAI,CAAC,UAAU,EAAE;YACb,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,mBAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAW,CAAC,QAAQ,CAAC;SACjE;QAED,MAAM,UAAU,GAAG,IAAI,yBAAiB,CAAC,UAAU,CAAC,CAAC;QACrD,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,iCAAM,OAAO,KAAE,SAAS,EAAE,SAAS,IAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC9H;QACD,4CAA4C;QAC5C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,uCAA0B,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC3E,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,SAAS,EAAE;gBACnB,+CAA+C;gBAC/C,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;aACxC;SACJ;aAAM,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC;SAC5D;QACD,IAAI,QAAQ,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1I,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5MD,gDA4MC;AAED,MAAa,2BAA4B,SAAQ,oBAAU;IACvD,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,2BAA2B,CAAC;QAT3D,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IACjD,CAAC;IAaM,OAAO,CAAC,OAAuB;;QAClC,MAAM,SAAS,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,mCAA2B,SAAS,EAAE,SAAS,IAAG,mCAChH,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,iCAAM,OAAO,KAAE,KAAK,kCAA0B,SAAS,EAAE,SAAS,IAAG,mCAC/F,yBAAW,CAAC,QAAQ,CAAC;QACzB,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtJ,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAClB,IAAI,CAAC,YAAY,CACpB,CAAC;IACN,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,IAAI,MAAM,GAAoB;YAC1B,MAAM;YACN,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACzC,CAAC;QACF,eAAe;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACnD;QACD,kBAAkB;QAClB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE;YAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CACP,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CACnD,CAAC;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,UAAU,CAAC,KAAwB;;QACtC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAoB,CAAC;QAE3D,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,gEAAgE;YAChE,+BAA+B;YAC/B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,KAAK,CAAC,mCAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACrE;SACJ;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,sCAAsC;QACtC,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;CACJ;AArGD,kEAqGC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAC/C,YAAY,OAOX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAfnD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAEvB,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,gEAAgE;QAChE,IAAI,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO;gBACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC;aAC/D,CAAC;SACL;aAAM;YACH,OAAO;gBACH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC1C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACzC,CAAC;SACL;IACL,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACvC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,cAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;YACnD,6CAA6C;YAC7C,MAAM,GAAG,2BAAY,CAAC,QAAQ,CAAC;SAClC;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;YACvC,IAAI,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,IAAI;YAC5B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,mCAAI,IAAI,CAAC,KAAK;YAC5C,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB,CAAC,CAAC,CAAC;QACJ,IAAI,MAAM;YACN,OAAO,CAAC,KAAK,kCAA0B;YACvC,CAAC,IAAA,4BAAe,EAAC,OAAO,CAAC,IAAI,IAAA,2BAAc,EAAC,OAAO,CAAC,CAAC,EAAE;YACvD,kEAAkE;YAClE,OAAO,MAAM,CAAC;SACjB;QACD,+FAA+F;QAC/F,0CAA0C;QAC1C,OAAO,yBAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,SAAoB;QACxB,OAAO,cAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;CAEJ;AApFD,kDAoFC;AAED,MAAa,yBAA0B,SAAQ,oBAAU;IACrD,YAAY,OAOX;QACG,KAAK,EAAE,CAAC;QAMI,SAAI,GAAG,qBAAW,CAAC,yBAAyB,CAAC;QALzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5B,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC;YACzC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACzC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACvC;IACL,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;CACJ;AA3CD,8DA2CC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OASX;QACG,KAAK,EAAE,CAAC;QAWI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QAVpD,IAAI,CAAC,MAAM,GAAG;YACV,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;SACnC,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/K,CAAC;IAkBD,SAAS,CAAC,KAAwB;;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5E,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CACvD,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,2BAA2B;YAC3B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CACP,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC,CACrC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CACvD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,IAAA,wBAAW,EAAC,OAAO,CAAC,EAAE;YACtB,oEAAoE;YACpE,OAAO,OAAO,CAAC,WAAW,CAAC;SAC9B;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;CACJ;AAhFD,oDAgFC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAdlD,IAAI,CAAC,MAAM,GAAG;YACV,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;SAC/B,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC1G,CAAC;IAYD,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC3C;QACD,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3C,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;YACnC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;SAC/C,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,SAAS,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACtD,CAAC;CACJ;AAjDD,gDAiDC;AAED,MAAa,iBAAkB,SAAQ,oBAAU;IAC7C,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QATjD,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;IACN,CAAC;IAQD,IAAW,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,OAAwB;QACnC,OAAO,cAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAY,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,mBAAmB,EAAE;YAC1D,uDAAuD;YACvD,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;SAE5D;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,qBAAS,CAAC,aAAa,EAAE;YAC3D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,+FAA+F;YAC/F,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC9B,IAAI,IAAI,GAAG,CAAC;aACf;SACJ;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;SACjC;QAED,OAAO;YACH,KAAK,CAAC,cAAc,iCAAM,IAAI,CAAC,MAAM,CAAC,KAAK,KAAE,IAAI,EAAE,IAAI,IAAG;SAC7D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAC;IACjD,CAAC;CACJ;AApDD,8CAoDC;AAED;;;GAGG;AACH,MAAa,gCAAiC,SAAQ,oBAAU;IAC5D,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAKI,SAAI,GAAG,qBAAW,CAAC,gCAAgC,CAAC;QAJhE,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,CAAC;IAUD,SAAS,CAAC,KAAwB;QAC9B,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;SAC/D,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;CACJ;AA1BD,4EA0BC;AAED,MAAa,sBAAuB,SAAQ,oBAAU;IAClD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAgBI,SAAI,GAAG,qBAAW,CAAC,sBAAsB,CAAC;QAftD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC;IAaD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAC9C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,cAAI,CAAC,0BAA0B,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAC/E,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;iBAAM;gBACH,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,KAAK,CAAC,MAAM,EAAE,CACjB,CAAC;aACL;YACD,MAAM,CAAC,IAAI,CACP,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAC9B,CAAC;SACL;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,4DAA4D;QAC5D,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAEjG,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,qBAAS,CAAC,GAAG,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;CACJ;AAvED,wDAuEC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAUI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QATlD,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAeD,SAAS,CAAC,KAAwB;QAC9B,sEAAsE;QACtE,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,mCAAI,EAAE,CAAC;IAC/C,CAAC;CAEJ;AAhDD,gDAgDC;AAED,MAAa,mBAAoB,SAAQ,oBAAU;IAC/C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,mBAAmB,CAAC;QAdnD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC;IAYD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,YAAY;QACZ,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAC9C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,uHAAuH;QACvH,IAAI,WAAW,IAAI,CAAC,cAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;YACrF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACrB;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC3C,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEvC,sCAAsC;YACtC,IAAI,cAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC1D,cAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,OAAO,CAAC,EAAE;gBAC3D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpB;iBAAM;gBACH,aAAa;gBACb,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;aAC/B;YAED,KAAK;YACL,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAC3C,CAAC;YACF,OAAO;YACP,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAC/C,GAAG,CACN,CAAC;YACF,OAAO;YACP,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/C,0DAA0D;YAC1D,IAAI,WAAW,IAAI,CAAC,cAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE;gBACvE,kCAAkC;gBAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;QACD,KAAK,CAAC,UAAU,EAAE,CAAC;QAEnB,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,mCAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAChF,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAE/F,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACpD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,UAAU,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAC9C,UAAU,CAAC,oBAAoB,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,IAAI,IAAA,iCAAoB,EAAC,OAAO,CAAC,EAAE;gBAC/B,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAyB,CAAC;aAC9H;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAEM,gBAAgB;;QACnB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;CAEJ;AAlGD,kDAkGC;AAED,MAAa,eAAgB,SAAQ,oBAAU;IAC3C,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,eAAe,CAAC;QAP/C,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAWD,SAAS,CAAC,KAAwB;QAC9B,IAAI,oBAAwC,CAAC;QAC7C,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAClC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC;SACnE;aAAM,IAAI,IAAA,gCAAmB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACxC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;SACpE;aAAM;YACH,oBAAoB,GAAG,GAAG,CAAC;SAC9B;QAED,OAAO;YACH,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1C,oBAAoB;YACpB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;SACjC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACzC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,OAAO,cAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,gBAAgB;;QACnB,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,mCAAI,EAAE,CAAC;IACpD,CAAC;CACJ;AApDD,0CAoDC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QAWI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAVlD,IAAI,CAAC,MAAM,GAAG;YACV,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,CAAC;IACzC,CAAC;IAUM,OAAO,CAAC,SAAqB;QAChC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAoB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,yDAAyD;QACzD,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,EAAE;YAC3G,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;gBACnB,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC;gBACzC,GAAG;gBACH,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC;aACvC,CAAC,CACL,CAAC;YAEF,qBAAqB;SACxB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CACzC,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAGD,OAAO,CAAC,OAAuB;;QAC3B,IAAI,UAAU,GAAY,cAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,UAAU,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,CAAC,OAAO,kCAAO,OAAO,KAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,IAAG,CAAC;YAEhI,IAAI,cAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;gBACvD,UAAU,GAAG,2BAAY,CAAC,QAAQ,CAAC;aACtC;SAEJ;QACD,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzI,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,mCAAI,EAAE,CAAC;IAChD,CAAC;CACJ;AArED,gDAqEC;AAED,MAAa,uBAAwB,SAAQ,oBAAU;IACnD,YAAY,OAEX;;QACG,KAAK,EAAE,CAAC;QASI,SAAI,GAAG,qBAAW,CAAC,uBAAuB,CAAC;QARvD,IAAI,CAAC,MAAM,GAAG;YACV,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC;IAC1C,CAAC;IAUD;;OAEG;IACK,iBAAiB,CAAC,cAAkC,EAAE,IAAwB;QAClF,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;QACf,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAA,iCAAoB,EAAC,IAAI,CAAC,EAAE;gBAC5B,KAAK,EAAE,CAAC;gBACR,IAAI,IAAI,KAAK,IAAI,EAAE;oBACf,OAAO,IAAI,CAAC;iBACf;aACJ;QACL,CAAC,EAAE;YACC,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB;SACvC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,eAAe,CAAC,KAAwB,EAAE,SAAoB;QAClE,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QACvE,IAAI,SAAS,GAAG,EAAqB,CAAC;QACtC,IAAI,cAAkC,CAAC;QACvC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC,EAAE;YACnF,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACzD,SAAS,CAAC,OAAO,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG,cAAc,CAAC;SACzB;QACD,8CAA8C;QAC9C,SAAS,CAAC,OAAO,CACb,IAAI,CAAC,iBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,CAC7C,CAAC;QACF,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,oBAAoB;QACxB,IAAI,IAAI,GAAY,IAAI,CAAC;QACzB,OAAO,IAAI,EAAE;YACT,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;aACpC;YACD,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;SACtB;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAY,CAAC;QACjB,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;YAC5B,KAAK,qBAAS,CAAC,qBAAqB;gBAChC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClE,MAAM;YACV,KAAK,qBAAS,CAAC,oBAAoB;gBAC/B,yDAAyD;gBACzD,IAAI,GAAG,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,qBAAS,CAAC,mBAAmB;gBAC9B,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAS,CAAC,YAAY,CAAC,GAAG,CAAC;gBAClE,MAAM;YACV,KAAK,qBAAS,CAAC,yBAAyB;gBACpC,IAAI,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAS,CAAC,cAAc,CAAC,GAAG,CAAC;gBACpE,MAAM;YACV,KAAK,qBAAS,CAAC,qBAAqB;gBAChC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC3C,yDAAyD;gBACzD,IAAI,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,GAAG,CAAC;gBACzG,MAAM;YACV,KAAK,qBAAS,CAAC,cAAc;gBACzB,IAAI,GAAG,IAAI,cAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACvD,MAAM;YACV,KAAK,qBAAS,CAAC,kBAAkB;gBAC7B,IAAI,GAAG,IAAI,cAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;gBACxE,MAAM;YACV,KAAK,qBAAS,CAAC,cAAc,CAAC;YAC9B;gBACI,0DAA0D;gBAC1D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC9B,MAAM;SAEb;QACD,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;SAC/B,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,mCAAI,EAAE,CAAC;IACjD,CAAC;CACJ;AAlHD,0DAkHC;AAED;;;;GAIG;AACH,MAAa,aAAc,SAAQ,oBAAU;IACzC,YAAY,OAGX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,aAAa,CAAC;QAP7C,IAAI,CAAC,MAAM,GAAG;YACV,GAAG,EAAE,OAAO,CAAC,GAAG;SACnB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAWD;;OAEG;IACH,IAAW,SAAS;QAChB,2EAA2E;QAC3E,4CAA4C;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAoD,CAAC;IAC1E,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,EAChD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAC/C,0CAAE,IAAI,CAAC;QACR,qHAAqH;QACrH,6GAA6G;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACxC;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,wDAAwD;YACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC9B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,mCAAI,EAAE,CAAC;IAC/C,CAAC;CACJ;AA/DD,sCA+DC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAOX;;QACG,KAAK,EAAE,CAAC;QA8BI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QA7BlD,IAAI,CAAC,MAAM,GAAG;YACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;QAE/B,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,GAAG,IAAI,CAAC,IAAI,EACZ,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAgBM,SAAS,CAAC,KAAwB;;QACrC,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,CAAC,IAAI,CACP,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAC/B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,EACnD,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;QACnD,0BAA0B;QAC1B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CACpF,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,MAAM,IAAG,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,gBAAgB;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,wBAAwB;gBACxB,IAAI,CAAC,GAAG,CAAC,EAAE;oBACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;aACxC;SACJ;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAChC;QAED,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,CACtD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,IAAA,oBAAS,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAChD;IACL,CAAC;IAED,OAAO,CAAC,OAAuB;;QAC3B,IAAI,MAAM,GAAY,yBAAW,CAAC,QAAQ,CAAC;QAC3C,sGAAsG;QACtG,wEAAwE;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,iCAAM,OAAO,KAAE,KAAK,oCAA2B,CAAC;QACtF,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC5D,MAAM,QAAQ,GAAG,MAAA,MAAC,UAA4B,EAAC,eAAe,mDAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvG,IAAI,QAAQ,EAAE;gBACV,MAAA,OAAO,CAAC,SAAS,0CAAE,IAAI,CAAC,IAAI,2BAAc,CAAC;oBACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;oBACjC,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK;oBACvD,cAAc,EAAE,IAAA,sBAAW,EAAC,qBAAS,CAAC,QAAQ,CAAC;oBAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC,CAAC;gBACJ,IAAI,OAAO,CAAC,UAAU,EAAE;oBACpB,MAAM,GAAG,QAAQ,CAAC;iBACrB;aACJ;YACD;;;;;;;;;cASE;SACL;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;CACJ;AArHD,gDAqHC;AAED;;;GAGG;AACH,MAAa,6BAA8B,SAAQ,oBAAU;IACzD,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAQI,SAAI,GAAG,qBAAW,CAAC,6BAA6B,CAAC;QAP7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,GAAG,IAAI,CAAC,WAAW,CACtB,CAAC;IACN,CAAC;IAOD,SAAS,CAAC,KAAwB,EAAE,gBAAgB,GAAG,IAAI;QACvD,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACrC,oBAAoB;YACpB,8DAA8D;YAC9D,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,gBAAgB,KAAK,IAAI,EAAE;gBAClE,SAAS;aACZ;YACD,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;YACF,IAAI,GAAG,KAAK,CAAC;SAChB;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,oBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SACvD;IACL,CAAC;CACJ;AAvCD,sEAuCC;AAED,MAAa,wBAAyB,SAAQ,oBAAU;IACpD,YAAY,OAKX;QACG,KAAK,EAAE,CAAC;QAeI,SAAI,GAAG,qBAAW,CAAC,wBAAwB,CAAC;QAdxD,IAAI,CAAC,MAAM,GAAG;YACV,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAaM,OAAO,CAAC,OAAuB;QAClC,OAAO,uBAAU,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC1C;QACD,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,wDAAwD;QACxD,SAAS,GAAG,CAAC,GAAG,KAAK;YACjB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,MAAM,CAAC,IAAI,CACP,IAAI,EACJ,GAAG,KAAK,CACX,CAAC;aACL;YACD,yEAAyE;YACzE,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,IAAI,GAAG,KAAK,CAAC;aAChB;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAErC,GAAG,CACC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAC5B,CAAC;YACF,IAAI,UAAU,EAAE;gBACZ,sDAAsD;gBACtD,IACI,IAAA,+CAAkC,EAAC,UAAU,CAAC;oBAC9C,CAAC,IAAA,gCAAmB,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,EACzE;oBACE,GAAG,CACC,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;oBAEF,+FAA+F;iBAClG;qBAAM;oBACH,GAAG,CACC,KAAK,CAAC,WAAW,GAAG,YAAY,EAChC,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EAC9B,GAAG,CACN,CAAC;iBACL;aACJ;SACJ;QACD,kGAAkG;QAClG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEjB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAA,eAAI,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE7C,4FAA4F;gBAC5F,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAA,eAAI,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;CACJ;AAvGD,4DAuGC;AAED,MAAa,8BAA+B,SAAQ,oBAAU;IAC1D,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAkBI,SAAI,GAAG,qBAAW,CAAC,8BAA8B,CAAC;QAjB9D,IAAI,CAAC,MAAM,GAAG;YACV,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,eAAe,EAAE,OAAO,CAAC,eAAe;SAC3C,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAEvC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,CAAC,eAAe,EAC3B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACnC,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAeD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EACzC,IAAI,CACP,CAAC;QAEF,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3B,6BAA6B;YAC7B,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CACP,IAAI,CACP,CAAC;aACL;YACD,MAAM,CAAC,IAAI,CACP,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CACnC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,MAAM,CACT,CAAC;QAEF,qCAAqC;QACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,CAAC,IAAI,CACP,IAAI,CACP,CAAC;aACL;YACD,MAAM,CAAC,IAAI,CACP,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CACjC,CAAC;SACL;QACD,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CACtD,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,wDAAwD;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACzC,IAAA,eAAI,EAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAE7C,4FAA4F;gBAC5F,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAA,eAAI,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;iBACrD;aACJ;SACJ;IACL,CAAC;CACJ;AA9FD,wEA8FC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QASI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QARpD,IAAI,CAAC,MAAM,GAAG;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC,CAAC;IASD,IAAW,KAAK;QACZ,OAAO,cAAI,CAAC,mBAAmB,CAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,IAAI,CAAC,IAAI,CACZ,CAAC;IACN,CAAC;IAMD;;;OAGG;IACH,YAAY,CAAC,MAAM,GAAG,IAAI;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,gBAAgB;;QACnB,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,EAAE,0CAAE,aAAa,mCAAI,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,KAAwB;QAC9B,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IACD,UAAU,CAAC,KAAwB;;QAC/B,OAAO;YACH,GAAG;YACH,IAAI,CAAC,IAAI;YACT,GAAG,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,EAAE,CAAC;SACzC,CAAC;IACN,CAAC;CACJ;AA/DD,oDA+DC;AAED,MAAa,iBAAkB,SAAQ,oBAAU;IAC7C,YAAY,OAMX;QACG,KAAK,EAAE,CAAC;QAiBI,SAAI,GAAG,qBAAW,CAAC,iBAAiB,CAAC;QAhBjD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;SACvB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,KAAK,EACjB,IAAI,CAAC,SAAS,CACjB,CAAC;IACN,CAAC;IAeD,SAAS,CAAC,KAAwB;;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,cAAc,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAW,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,aAAa,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAU,EAAE,IAAI,CAAC,CAAC;QAElE,8HAA8H;QAC9H,IAAI,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjH,IAAI,mBAAmB,GAAG;YACtB,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,aAAa,CAAC,WAAW;SAC/B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,cAAc,IAAI,CAAC,YAAY,kBAAkB,IAAI,CAAC,YAAY,mBAAmB,CAAC,CAAC;QAElH,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CACZ,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,8CAA8C;YAC9C,oDAAoD;YACpD,aAAa,CAAC,eAAe,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrE,EACD,KAAK,CAAC,OAAO;YACb,2EAA2E;YAC3E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,uBAAuB,CAAC,EACpD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,EACxE,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,EAC/F,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EACrE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,EACxE,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,EACjH,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,EACpD,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAC5D,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1F,CAAC;YACF,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,EAC5D,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC7B,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EACjC,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,SAAS,CAAC,EACnD,IAAI,EACJ,GAAG,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,SAAS,CAAC,KAAK,CAAC,mCAAI,CAAC,SAAS,CAAC,EAClD,GAAG,CACN,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;CACJ;AA7GD,8CA6GC;AAED,MAAa,wBAAyB,SAAQ,oBAAU;IACpD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAaI,SAAI,GAAG,qBAAW,CAAC,wBAAwB,CAAC;QAZxD,IAAI,CAAC,MAAM,GAAG;YACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC7C,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAC5B,IAAI,CAAC,SAAS,CACjB,CAAC;IACN,CAAC;IAaD,SAAS,CAAC,KAAwB;QAC9B,IAAI,MAAM,GAAG,EAAqB,CAAC;QACnC,IAAI,cAAc,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,aAAa,GAAG,cAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvE,8HAA8H;QAC9H,IAAI,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjH,IAAI,qBAAqB,GAAG;YACxB,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,aAAa,CAAC,WAAW;SAC/B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,6BAAgB,EAAC,CAAC,CAAC,IAAI,IAAA,iCAAoB,EAAC,CAAC,CAAC,IAAI,IAAA,kCAAqB,EAAC,CAAC,CAAC,CAAC,CAAC;QAExF,IAAI,qBAAqB,EAAE;YACvB,MAAM,CAAC,IAAI,CACP,YAAY;YACZ,8CAA8C;YAC9C,oDAAoD;YACpD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,GAAG,EACH,KAAK,CAAC,OAAO;YACb,2EAA2E;YAC3E,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACf,kFAAkF;YAClF,mBAAmB,EACnB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EACnC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,EAAE,EACd,mCAAmC,EACnC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,uBAAuB,EACvB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,MAAM,EACN,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACf,SAAS,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAClC,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,QAAQ,EACR,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAChB,gBAAgB,EAChB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,GAAG,CACN,CAAC;YACF,KAAK,CAAC,UAAU,EAAE,CAAC;SACtB;aAAM;YACH,MAAM,CAAC,IAAI,CACP,KAAK,CAAC,WAAW,GAAG,YAAY,EAChC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,EACnC,IAAI,EACJ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,EAClC,GAAG,CACN,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAED,gBAAgB;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;CACJ;AApGD,4DAoGC;AAED,MAAa,sBAAuB,SAAQ,oBAAU;IAClD,YAAY,OAEX;QACG,KAAK,EAAE,CAAC;QAMI,SAAI,GAAG,qBAAW,CAAC,sBAAsB,CAAC;QALtD,IAAI,CAAC,MAAM,GAAG;YACV,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;IACN,CAAC;IAOD,IAAW,KAAK;;QACZ,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,0CAAE,KAAK,CAAC;IAC5C,CAAC;IAEM,SAAS,CAAC,KAAwB;;QACrC,IAAI,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,IAAI,mCAAI,EAAE,CAAC;QAChD,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,4BAA4B;QAC5B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE;YACX,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9C,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;SACxB;QACD,IAAI,OAAO,GAAG,IAAI;YACd,qCAAqC;aACpC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,mBAAmB;aAClB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExC,OAAO;YACH,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;gBACvC,0BAA0B;gBAC1B,IAAI,OAAO,KAAK;gBAChB,IAAI,KAAK,GAAG;gBACZ,GAAG;aACN,CAAC;SACL,CAAC;IACN,CAAC;IAED,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAC3C,iBAAiB;IACrB,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,YAAY,0CAAE,aAAa,mCAAI,EAAE,CAAC;IACzD,CAAC;CACJ;AAnDD,wDAmDC;AAKD,SAAS,iBAAiB,CAAC,IAAgB,EAAE,MAAe;IACxD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IACD,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACxD,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzE;IACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,oCAAoC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACrE;IACD,IAAI,IAAA,4BAAe,EAAC,IAAI,CAAC,EAAE;QACvB,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAC;KACxC;IAED,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;KAC1D;IACD,IAAI,IAAA,qCAAwB,EAAC,IAAI,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC,QAAQ;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;KAC/C;IACD,IAAI,IAAA,kCAAqB,EAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC5D,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAuB,EAAE,QAAQ,GAAG,EAAE;IACnE,IAAI,IAAA,0BAAa,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;QACpE,OAAO,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACtD;SAAM;QACH,OAAO,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACxD;AACL,CAAC;AAED,MAAa,cAAe,SAAQ,oBAAU;IAC1C,YAAY,OAKX;;QACG,KAAK,EAAE,CAAC;QAKI,SAAI,GAAG,qBAAW,CAAC,cAAc,CAAC;QAJ9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,KAAK,CAAC;IACxC,CAAC;IAWM,SAAS,CAAC,KAAwB;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IACM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,iCAAM,OAAO,KAAE,KAAK,qCAA4B,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,KAAqB;QAC5B,oDAAoD;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAA0B,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,CAAC,SAAS,GAAG,kBAAS,CAAC,cAAc;QACxC,kEAAkE;QAClE,OAAO,cAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,YAAY;QACR,iFAAiF;QACjF,OAAO,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;CACJ;AAhDD,wCAgDC;AAED,MAAa,kBAAmB,SAAQ,oBAAU;IAC9C,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAaI,SAAI,GAAG,qBAAW,CAAC,kBAAkB,CAAC;QAZlD,IAAI,CAAC,MAAM,GAAG;YACV,EAAE,EAAE,OAAO,CAAC,EAAE;SACjB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,MAAM,CAAC,EAAE,EACd,IAAI,CAAC,cAAc,CACtB,CAAC;IACN,CAAC;IAcM,SAAS,CAAC,KAAwB;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACpC,IAAA,eAAI,EAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,SAAS,EAAE;YACnB,uDAAuD;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,SAAS,EAAE;gBACX,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC9B;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AApDD,gDAoDC;AAED,MAAa,oBAAqB,SAAQ,oBAAU;IAChD,YAAY,OAIX;QACG,KAAK,EAAE,CAAC;QAoBI,SAAI,GAAG,qBAAW,CAAC,oBAAoB,CAAC;QAnBpD,IAAI,CAAC,MAAM,GAAG;YACV,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,OAAO,CAAC,YAAY;SACrC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CACjC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;IACN,CAAC;IAaM,SAAS,CAAC,KAAwB;QACrC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,iCAAyB,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,IAAI,CAAC,OAAoB,EAAE,OAAoB;QAClD,IAAI,OAAO,CAAC,QAAQ,GAAG,2BAAgB,CAAC,eAAe,EAAE;YACrD,IAAA,eAAI,EAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7C;IACL,CAAC;IAEM,OAAO,CAAC,OAAuB;QAClC,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AA3CD,oDA2CC"}
|
package/dist/parser/Parser.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export declare class Parser {
|
|
|
17
17
|
* The list of statements for the parsed file
|
|
18
18
|
*/
|
|
19
19
|
ast: Body;
|
|
20
|
+
get eofToken(): Token;
|
|
20
21
|
get statements(): Statement[];
|
|
21
22
|
/**
|
|
22
23
|
* The top-level symbol table for the body of this file.
|
|
@@ -110,7 +111,6 @@ export declare class Parser {
|
|
|
110
111
|
private forStatement;
|
|
111
112
|
private forEachStatement;
|
|
112
113
|
private exitFor;
|
|
113
|
-
private commentStatement;
|
|
114
114
|
private namespaceStatement;
|
|
115
115
|
/**
|
|
116
116
|
* Get an expression with identifiers separated by periods. Useful for namespaces and class extends
|
|
@@ -293,9 +293,14 @@ export interface ParseOptions {
|
|
|
293
293
|
/**
|
|
294
294
|
* The parse mode. When in 'BrightScript' mode, no BrighterScript syntax is allowed, and will emit diagnostics.
|
|
295
295
|
*/
|
|
296
|
-
mode
|
|
296
|
+
mode?: ParseMode;
|
|
297
297
|
/**
|
|
298
298
|
* A logger that should be used for logging. If omitted, a default logger is used
|
|
299
299
|
*/
|
|
300
300
|
logger?: Logger;
|
|
301
|
+
/**
|
|
302
|
+
* Should locations be tracked. If false, the `range` property will be omitted
|
|
303
|
+
* @default true
|
|
304
|
+
*/
|
|
305
|
+
trackLocations?: boolean;
|
|
301
306
|
}
|
package/dist/parser/Parser.js
CHANGED
|
@@ -27,6 +27,13 @@ class Parser {
|
|
|
27
27
|
*/
|
|
28
28
|
this.callExpressions = [];
|
|
29
29
|
}
|
|
30
|
+
get eofToken() {
|
|
31
|
+
var _a;
|
|
32
|
+
const lastToken = (_a = this.tokens) === null || _a === void 0 ? void 0 : _a[this.tokens.length - 1];
|
|
33
|
+
if ((lastToken === null || lastToken === void 0 ? void 0 : lastToken.kind) === TokenKind_1.TokenKind.Eof) {
|
|
34
|
+
return lastToken;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
30
37
|
get statements() {
|
|
31
38
|
return this.ast.statements;
|
|
32
39
|
}
|
|
@@ -56,16 +63,17 @@ class Parser {
|
|
|
56
63
|
*/
|
|
57
64
|
parse(toParse, options) {
|
|
58
65
|
var _a;
|
|
66
|
+
this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : new Logger_1.Logger();
|
|
67
|
+
options = this.sanitizeParseOptions(options);
|
|
68
|
+
this.options = options;
|
|
59
69
|
let tokens;
|
|
60
70
|
if (typeof toParse === 'string') {
|
|
61
|
-
tokens = Lexer_1.Lexer.scan(toParse).tokens;
|
|
71
|
+
tokens = Lexer_1.Lexer.scan(toParse, { trackLocations: options.trackLocations }).tokens;
|
|
62
72
|
}
|
|
63
73
|
else {
|
|
64
74
|
tokens = toParse;
|
|
65
75
|
}
|
|
66
|
-
this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : new Logger_1.Logger();
|
|
67
76
|
this.tokens = tokens;
|
|
68
|
-
this.options = this.sanitizeParseOptions(options);
|
|
69
77
|
this.allowedLocalIdentifiers = [
|
|
70
78
|
...TokenKind_1.AllowedLocalIdentifiers,
|
|
71
79
|
//when in plain brightscript mode, the BrighterScript source literals can be used as regular variables
|
|
@@ -114,7 +122,11 @@ class Parser {
|
|
|
114
122
|
return body;
|
|
115
123
|
}
|
|
116
124
|
sanitizeParseOptions(options) {
|
|
117
|
-
|
|
125
|
+
var _a, _b;
|
|
126
|
+
options !== null && options !== void 0 ? options : (options = {});
|
|
127
|
+
(_a = options.mode) !== null && _a !== void 0 ? _a : (options.mode = ParseMode.BrightScript);
|
|
128
|
+
(_b = options.trackLocations) !== null && _b !== void 0 ? _b : (options.trackLocations = true);
|
|
129
|
+
return options;
|
|
118
130
|
}
|
|
119
131
|
/**
|
|
120
132
|
* Determine if the parser is currently parsing tokens at the root level.
|
|
@@ -154,9 +166,6 @@ class Parser {
|
|
|
154
166
|
if (this.check(TokenKind_1.TokenKind.At) && this.checkNext(TokenKind_1.TokenKind.Identifier)) {
|
|
155
167
|
return this.annotationExpression();
|
|
156
168
|
}
|
|
157
|
-
if (this.check(TokenKind_1.TokenKind.Comment)) {
|
|
158
|
-
return this.commentStatement();
|
|
159
|
-
}
|
|
160
169
|
//catch certain global terminators to prevent unnecessary lookahead (i.e. like `end namespace`, no need to continue)
|
|
161
170
|
if (this.checkAny(...this.peekGlobalTerminators())) {
|
|
162
171
|
return;
|
|
@@ -291,6 +300,10 @@ class Parser {
|
|
|
291
300
|
let body = [];
|
|
292
301
|
while (this.checkAny(TokenKind_1.TokenKind.Comment, TokenKind_1.TokenKind.Identifier, TokenKind_1.TokenKind.At, ...TokenKind_1.AllowedProperties)) {
|
|
293
302
|
try {
|
|
303
|
+
//break out of this loop if we encountered the `EndInterface` token not followed by `as`
|
|
304
|
+
if (this.check(TokenKind_1.TokenKind.EndInterface) && !this.checkNext(TokenKind_1.TokenKind.As)) {
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
294
307
|
let decl;
|
|
295
308
|
//collect leading annotations
|
|
296
309
|
if (this.check(TokenKind_1.TokenKind.At)) {
|
|
@@ -310,10 +323,6 @@ class Parser {
|
|
|
310
323
|
}
|
|
311
324
|
else if (this.checkAny(TokenKind_1.TokenKind.Function, TokenKind_1.TokenKind.Sub) && this.checkAnyNext(TokenKind_1.TokenKind.Identifier, ...TokenKind_1.AllowedProperties)) {
|
|
312
325
|
decl = this.interfaceMethodStatement(optionalKeyword);
|
|
313
|
-
//comments
|
|
314
|
-
}
|
|
315
|
-
else if (this.check(TokenKind_1.TokenKind.Comment)) {
|
|
316
|
-
decl = this.commentStatement();
|
|
317
326
|
}
|
|
318
327
|
if (decl) {
|
|
319
328
|
this.consumePendingAnnotations(decl);
|
|
@@ -330,10 +339,6 @@ class Parser {
|
|
|
330
339
|
}
|
|
331
340
|
//ensure statement separator
|
|
332
341
|
this.consumeStatementSeparators();
|
|
333
|
-
//break out of this loop if we encountered the `EndInterface` token not followed by `as`
|
|
334
|
-
if (this.check(TokenKind_1.TokenKind.EndInterface) && !this.checkNext(TokenKind_1.TokenKind.As)) {
|
|
335
|
-
break;
|
|
336
|
-
}
|
|
337
342
|
}
|
|
338
343
|
//consume the final `end interface` token
|
|
339
344
|
const endInterfaceToken = this.consumeToken(TokenKind_1.TokenKind.EndInterface);
|
|
@@ -366,10 +371,6 @@ class Parser {
|
|
|
366
371
|
//members
|
|
367
372
|
if (this.checkAny(TokenKind_1.TokenKind.Identifier, ...TokenKind_1.AllowedProperties)) {
|
|
368
373
|
decl = this.enumMemberStatement();
|
|
369
|
-
//comments
|
|
370
|
-
}
|
|
371
|
-
else if (this.check(TokenKind_1.TokenKind.Comment)) {
|
|
372
|
-
decl = this.commentStatement();
|
|
373
374
|
}
|
|
374
375
|
if (decl) {
|
|
375
376
|
this.consumePendingAnnotations(decl);
|
|
@@ -463,10 +464,6 @@ class Parser {
|
|
|
463
464
|
if (overrideKeyword) {
|
|
464
465
|
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.classFieldCannotBeOverridden()), { range: overrideKeyword.range }));
|
|
465
466
|
}
|
|
466
|
-
//comments
|
|
467
|
-
}
|
|
468
|
-
else if (this.check(TokenKind_1.TokenKind.Comment)) {
|
|
469
|
-
decl = this.commentStatement();
|
|
470
467
|
}
|
|
471
468
|
if (decl) {
|
|
472
469
|
this.consumePendingAnnotations(decl);
|
|
@@ -597,9 +594,6 @@ class Parser {
|
|
|
597
594
|
let typeExpression;
|
|
598
595
|
if (!this.check(TokenKind_1.TokenKind.RightParen)) {
|
|
599
596
|
do {
|
|
600
|
-
if (params.length >= Expression_1.CallExpression.MaximumArguments) {
|
|
601
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.tooManyCallableParameters(params.length, Expression_1.CallExpression.MaximumArguments)), { range: this.peek().range }));
|
|
602
|
-
}
|
|
603
597
|
params.push(this.functionParameter());
|
|
604
598
|
} while (this.match(TokenKind_1.TokenKind.Comma));
|
|
605
599
|
}
|
|
@@ -922,6 +916,7 @@ class Parser {
|
|
|
922
916
|
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.expectedInAfterForEach(name.text)), { range: this.peek().range }));
|
|
923
917
|
throw this.lastDiagnosticAsError();
|
|
924
918
|
}
|
|
919
|
+
maybeIn.kind = TokenKind_1.TokenKind.In;
|
|
925
920
|
let target = this.expression();
|
|
926
921
|
if (!target) {
|
|
927
922
|
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.expectedExpressionAfterForEachIn()), { range: this.peek().range }));
|
|
@@ -947,22 +942,6 @@ class Parser {
|
|
|
947
942
|
let keyword = this.advance();
|
|
948
943
|
return new Statement_1.ExitForStatement({ exitFor: keyword });
|
|
949
944
|
}
|
|
950
|
-
commentStatement() {
|
|
951
|
-
//if this comment is on the same line as the previous statement,
|
|
952
|
-
//then this comment should be treated as a single-line comment
|
|
953
|
-
let prev = this.previous();
|
|
954
|
-
if ((prev === null || prev === void 0 ? void 0 : prev.range.end.line) === this.peek().range.start.line) {
|
|
955
|
-
return new Statement_1.CommentStatement({ comments: [this.advance()] });
|
|
956
|
-
}
|
|
957
|
-
else {
|
|
958
|
-
let comments = [this.advance()];
|
|
959
|
-
while (this.check(TokenKind_1.TokenKind.Newline) && this.checkNext(TokenKind_1.TokenKind.Comment)) {
|
|
960
|
-
this.advance();
|
|
961
|
-
comments.push(this.advance());
|
|
962
|
-
}
|
|
963
|
-
return new Statement_1.CommentStatement({ comments: comments });
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
945
|
namespaceStatement() {
|
|
967
946
|
this.warnIfNotBrighterScriptMode('namespace');
|
|
968
947
|
let keyword = this.advance();
|
|
@@ -2083,8 +2062,6 @@ class Parser {
|
|
|
2083
2062
|
return this.anonymousFunction();
|
|
2084
2063
|
case this.check(TokenKind_1.TokenKind.RegexLiteral):
|
|
2085
2064
|
return this.regexLiteralExpression();
|
|
2086
|
-
case this.check(TokenKind_1.TokenKind.Comment):
|
|
2087
|
-
return new Statement_1.CommentStatement({ comments: [this.advance()] });
|
|
2088
2065
|
default:
|
|
2089
2066
|
//if we found an expected terminator, don't throw a diagnostic...just return undefined
|
|
2090
2067
|
if (this.checkAny(...this.peekGlobalTerminators())) {
|
|
@@ -2100,10 +2077,6 @@ class Parser {
|
|
|
2100
2077
|
arrayLiteral() {
|
|
2101
2078
|
let elements = [];
|
|
2102
2079
|
let openingSquare = this.previous();
|
|
2103
|
-
//add any comment found right after the opening square
|
|
2104
|
-
if (this.check(TokenKind_1.TokenKind.Comment)) {
|
|
2105
|
-
elements.push(new Statement_1.CommentStatement({ comments: [this.advance()] }));
|
|
2106
|
-
}
|
|
2107
2080
|
while (this.match(TokenKind_1.TokenKind.Newline)) {
|
|
2108
2081
|
}
|
|
2109
2082
|
let closingSquare;
|
|
@@ -2111,10 +2084,6 @@ class Parser {
|
|
|
2111
2084
|
try {
|
|
2112
2085
|
elements.push(this.expression());
|
|
2113
2086
|
while (this.matchAny(TokenKind_1.TokenKind.Comma, TokenKind_1.TokenKind.Newline, TokenKind_1.TokenKind.Comment)) {
|
|
2114
|
-
if (this.checkPrevious(TokenKind_1.TokenKind.Comment) || this.check(TokenKind_1.TokenKind.Comment)) {
|
|
2115
|
-
let comment = this.check(TokenKind_1.TokenKind.Comment) ? this.advance() : this.previous();
|
|
2116
|
-
elements.push(new Statement_1.CommentStatement({ comments: [comment] }));
|
|
2117
|
-
}
|
|
2118
2087
|
while (this.match(TokenKind_1.TokenKind.Newline)) {
|
|
2119
2088
|
}
|
|
2120
2089
|
if (this.check(TokenKind_1.TokenKind.RightSquareBracket)) {
|
|
@@ -2162,11 +2131,23 @@ class Parser {
|
|
|
2162
2131
|
if (!this.match(TokenKind_1.TokenKind.RightCurlyBrace)) {
|
|
2163
2132
|
let lastAAMember;
|
|
2164
2133
|
try {
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2134
|
+
let k = key();
|
|
2135
|
+
let expr = this.expression();
|
|
2136
|
+
lastAAMember = new Expression_1.AAMemberExpression({
|
|
2137
|
+
key: k.keyToken,
|
|
2138
|
+
colon: k.colonToken,
|
|
2139
|
+
value: expr
|
|
2140
|
+
});
|
|
2141
|
+
members.push(lastAAMember);
|
|
2142
|
+
while (this.matchAny(TokenKind_1.TokenKind.Comma, TokenKind_1.TokenKind.Newline, TokenKind_1.TokenKind.Colon, TokenKind_1.TokenKind.Comment)) {
|
|
2143
|
+
// collect comma at end of expression
|
|
2144
|
+
if (lastAAMember && this.checkPrevious(TokenKind_1.TokenKind.Comma)) {
|
|
2145
|
+
lastAAMember.tokens.comma = this.previous();
|
|
2146
|
+
}
|
|
2147
|
+
this.consumeStatementSeparators(true);
|
|
2148
|
+
if (this.check(TokenKind_1.TokenKind.RightCurlyBrace)) {
|
|
2149
|
+
break;
|
|
2150
|
+
}
|
|
2170
2151
|
let k = key();
|
|
2171
2152
|
let expr = this.expression();
|
|
2172
2153
|
lastAAMember = new Expression_1.AAMemberExpression({
|
|
@@ -2176,38 +2157,6 @@ class Parser {
|
|
|
2176
2157
|
});
|
|
2177
2158
|
members.push(lastAAMember);
|
|
2178
2159
|
}
|
|
2179
|
-
while (this.matchAny(TokenKind_1.TokenKind.Comma, TokenKind_1.TokenKind.Newline, TokenKind_1.TokenKind.Colon, TokenKind_1.TokenKind.Comment)) {
|
|
2180
|
-
// collect comma at end of expression
|
|
2181
|
-
if (lastAAMember && this.checkPrevious(TokenKind_1.TokenKind.Comma)) {
|
|
2182
|
-
lastAAMember.tokens.comma = this.previous();
|
|
2183
|
-
}
|
|
2184
|
-
//check for comment at the end of the current line
|
|
2185
|
-
if (this.check(TokenKind_1.TokenKind.Comment) || this.checkPrevious(TokenKind_1.TokenKind.Comment)) {
|
|
2186
|
-
let token = this.checkPrevious(TokenKind_1.TokenKind.Comment) ? this.previous() : this.advance();
|
|
2187
|
-
members.push(new Statement_1.CommentStatement({ comments: [token] }));
|
|
2188
|
-
}
|
|
2189
|
-
else {
|
|
2190
|
-
this.consumeStatementSeparators(true);
|
|
2191
|
-
//check for a comment on its own line
|
|
2192
|
-
if (this.check(TokenKind_1.TokenKind.Comment) || this.checkPrevious(TokenKind_1.TokenKind.Comment)) {
|
|
2193
|
-
let token = this.checkPrevious(TokenKind_1.TokenKind.Comment) ? this.previous() : this.advance();
|
|
2194
|
-
lastAAMember = null;
|
|
2195
|
-
members.push(new Statement_1.CommentStatement({ comments: [token] }));
|
|
2196
|
-
continue;
|
|
2197
|
-
}
|
|
2198
|
-
if (this.check(TokenKind_1.TokenKind.RightCurlyBrace)) {
|
|
2199
|
-
break;
|
|
2200
|
-
}
|
|
2201
|
-
let k = key();
|
|
2202
|
-
let expr = this.expression();
|
|
2203
|
-
lastAAMember = new Expression_1.AAMemberExpression({
|
|
2204
|
-
key: k.keyToken,
|
|
2205
|
-
colon: k.colonToken,
|
|
2206
|
-
value: expr
|
|
2207
|
-
});
|
|
2208
|
-
members.push(lastAAMember);
|
|
2209
|
-
}
|
|
2210
|
-
}
|
|
2211
2160
|
}
|
|
2212
2161
|
catch (error) {
|
|
2213
2162
|
this.rethrowNonDiagnosticError(error);
|
|
@@ -2359,7 +2308,8 @@ class Parser {
|
|
|
2359
2308
|
return tokenKinds.includes(nextKind);
|
|
2360
2309
|
}
|
|
2361
2310
|
isAtEnd() {
|
|
2362
|
-
|
|
2311
|
+
const peekToken = this.peek();
|
|
2312
|
+
return !peekToken || peekToken.kind === TokenKind_1.TokenKind.Eof;
|
|
2363
2313
|
}
|
|
2364
2314
|
peekNext() {
|
|
2365
2315
|
if (this.isAtEnd()) {
|