@zzzen/pyright-internal 1.2.0-dev.20240901 → 1.2.0-dev.20240915

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/dist/analyzer/analysis.d.ts +1 -0
  2. package/dist/analyzer/analysis.js +2 -0
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/backgroundAnalysisProgram.js +6 -2
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +14 -8
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/cacheManager.d.ts +2 -2
  9. package/dist/analyzer/cacheManager.js.map +1 -1
  10. package/dist/analyzer/checker.js +53 -192
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +7 -2
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/constraintSolver.d.ts +1 -2
  15. package/dist/analyzer/constraintSolver.js +2 -2
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/constructors.js +7 -1
  18. package/dist/analyzer/constructors.js.map +1 -1
  19. package/dist/analyzer/dataClasses.js +6 -1
  20. package/dist/analyzer/dataClasses.js.map +1 -1
  21. package/dist/analyzer/namedTuples.js +4 -1
  22. package/dist/analyzer/namedTuples.js.map +1 -1
  23. package/dist/analyzer/operations.js +5 -0
  24. package/dist/analyzer/operations.js.map +1 -1
  25. package/dist/analyzer/parseTreeWalker.js +1 -1
  26. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  27. package/dist/analyzer/patternMatching.js +3 -1
  28. package/dist/analyzer/patternMatching.js.map +1 -1
  29. package/dist/analyzer/program.js +2 -3
  30. package/dist/analyzer/program.js.map +1 -1
  31. package/dist/analyzer/properties.js.map +1 -1
  32. package/dist/analyzer/protocols.d.ts +1 -2
  33. package/dist/analyzer/protocols.js +5 -8
  34. package/dist/analyzer/protocols.js.map +1 -1
  35. package/dist/analyzer/pythonPathUtils.d.ts +1 -1
  36. package/dist/analyzer/service.d.ts +3 -1
  37. package/dist/analyzer/service.js +50 -33
  38. package/dist/analyzer/service.js.map +1 -1
  39. package/dist/analyzer/sourceMapper.js +10 -5
  40. package/dist/analyzer/sourceMapper.js.map +1 -1
  41. package/dist/analyzer/tuples.d.ts +1 -2
  42. package/dist/analyzer/tuples.js.map +1 -1
  43. package/dist/analyzer/typeEvaluator.js +599 -181
  44. package/dist/analyzer/typeEvaluator.js.map +1 -1
  45. package/dist/analyzer/typeEvaluatorTypes.d.ts +33 -6
  46. package/dist/analyzer/typeEvaluatorTypes.js +66 -2
  47. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  48. package/dist/analyzer/typeGuards.d.ts +3 -12
  49. package/dist/analyzer/typeGuards.js +286 -461
  50. package/dist/analyzer/typeGuards.js.map +1 -1
  51. package/dist/analyzer/typeStubWriter.js +12 -1
  52. package/dist/analyzer/typeStubWriter.js.map +1 -1
  53. package/dist/analyzer/typeUtils.d.ts +4 -17
  54. package/dist/analyzer/typeUtils.js +61 -60
  55. package/dist/analyzer/typeUtils.js.map +1 -1
  56. package/dist/analyzer/typedDicts.d.ts +1 -2
  57. package/dist/analyzer/typedDicts.js.map +1 -1
  58. package/dist/analyzer/types.d.ts +9 -4
  59. package/dist/analyzer/types.js +80 -26
  60. package/dist/analyzer/types.js.map +1 -1
  61. package/dist/backgroundAnalysisBase.d.ts +23 -16
  62. package/dist/backgroundAnalysisBase.js +64 -35
  63. package/dist/backgroundAnalysisBase.js.map +1 -1
  64. package/dist/backgroundThreadBase.js +9 -0
  65. package/dist/backgroundThreadBase.js.map +1 -1
  66. package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
  67. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  68. package/dist/common/languageServerInterface.d.ts +1 -1
  69. package/dist/common/uri/uriUtils.d.ts +1 -1
  70. package/dist/common/uri/uriUtils.js +6 -1
  71. package/dist/common/uri/uriUtils.js.map +1 -1
  72. package/dist/languageServerBase.d.ts +2 -2
  73. package/dist/languageServerBase.js +1 -3
  74. package/dist/languageServerBase.js.map +1 -1
  75. package/dist/languageService/analyzerServiceExecutor.d.ts +6 -1
  76. package/dist/languageService/analyzerServiceExecutor.js +7 -6
  77. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  78. package/dist/languageService/callHierarchyProvider.js +2 -1
  79. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  80. package/dist/languageService/completionProvider.js +12 -12
  81. package/dist/languageService/completionProvider.js.map +1 -1
  82. package/dist/languageService/definitionProvider.js +6 -6
  83. package/dist/languageService/definitionProvider.js.map +1 -1
  84. package/dist/languageService/documentSymbolCollector.js +9 -9
  85. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  86. package/dist/languageService/fileWatcherDynamicFeature.d.ts +5 -1
  87. package/dist/languageService/fileWatcherDynamicFeature.js +12 -2
  88. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  89. package/dist/languageService/hoverProvider.d.ts +1 -0
  90. package/dist/languageService/hoverProvider.js +30 -3
  91. package/dist/languageService/hoverProvider.js.map +1 -1
  92. package/dist/languageService/signatureHelpProvider.js +2 -2
  93. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  94. package/dist/languageService/tooltipUtils.js +2 -2
  95. package/dist/languageService/tooltipUtils.js.map +1 -1
  96. package/dist/localization/localize.d.ts +10 -0
  97. package/dist/localization/localize.js +4 -0
  98. package/dist/localization/localize.js.map +1 -1
  99. package/dist/localization/package.nls.cs.json +155 -153
  100. package/dist/localization/package.nls.de.json +128 -126
  101. package/dist/localization/package.nls.en-us.json +1632 -404
  102. package/dist/localization/package.nls.es.json +151 -149
  103. package/dist/localization/package.nls.fr.json +129 -127
  104. package/dist/localization/package.nls.it.json +143 -141
  105. package/dist/localization/package.nls.ja.json +142 -140
  106. package/dist/localization/package.nls.ko.json +155 -153
  107. package/dist/localization/package.nls.pl.json +178 -176
  108. package/dist/localization/package.nls.pt-br.json +139 -137
  109. package/dist/localization/package.nls.qps-ploc.json +392 -390
  110. package/dist/localization/package.nls.ru.json +170 -168
  111. package/dist/localization/package.nls.tr.json +153 -151
  112. package/dist/localization/package.nls.zh-cn.json +149 -147
  113. package/dist/localization/package.nls.zh-tw.json +133 -131
  114. package/dist/parser/parseNodes.d.ts +2 -3
  115. package/dist/parser/parseNodes.js.map +1 -1
  116. package/dist/parser/parser.js +6 -20
  117. package/dist/parser/parser.js.map +1 -1
  118. package/dist/tests/checker.test.js +14 -1
  119. package/dist/tests/checker.test.js.map +1 -1
  120. package/dist/tests/envVarUtils.test.js +0 -3
  121. package/dist/tests/envVarUtils.test.js.map +1 -1
  122. package/dist/tests/harness/fourslash/testLanguageService.js +0 -3
  123. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  124. package/dist/tests/harness/fourslash/testState.js +2 -5
  125. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  126. package/dist/tests/harness/fourslash/testStateUtils.d.ts +1 -0
  127. package/dist/tests/harness/fourslash/testStateUtils.js +5 -0
  128. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  129. package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
  130. package/dist/tests/harness/vfs/filesystem.js +6 -3
  131. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  132. package/dist/tests/importStatementUtils.test.js +1 -1
  133. package/dist/tests/importStatementUtils.test.js.map +1 -1
  134. package/dist/tests/service.test.js +31 -0
  135. package/dist/tests/service.test.js.map +1 -1
  136. package/dist/tests/typeEvaluator1.test.js +5 -1
  137. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  138. package/dist/tests/typeEvaluator2.test.js +13 -1
  139. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  140. package/dist/tests/typeEvaluator3.test.js +5 -1
  141. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  142. package/dist/tests/typeEvaluator5.test.js +6 -0
  143. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  144. package/dist/tests/typeEvaluator6.test.js +5 -1
  145. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  146. package/dist/tests/typeEvaluator7.test.js +1 -1
  147. package/dist/tests/typeEvaluator8.test.js +40 -0
  148. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  149. package/dist/workspaceFactory.d.ts +2 -20
  150. package/dist/workspaceFactory.js +26 -64
  151. package/dist/workspaceFactory.js.map +1 -1
  152. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;AA+DH,kDAqKC;AAED,0EA8eC;AAED,kEA8DC;AAID,sEA2BC;AAID,gEAkDC;AAgJD,0EAwBC;AAED,gEA6LC;AAQD,8CAgJC;AAED,8DAmHC;AAID,wDA6BC;AA5/CD,+DAAwD;AACxD,2CAAyC;AACzC,qDAA0D;AAC1D,+DAA2D;AAC3D,2DAAgE;AAChE,mDAAgD;AAChD,uDAAmE;AAWnE,qEAAuD;AACvD,2DAAwD;AAExD,iEAAmD;AACnD,qCAA4D;AAC5D,+CAAiE;AAEjE,mCAuBiB;AACjB,2CAUqB;AAErB,mEAAmE;AACnE,SAAgB,mBAAmB,CAC/B,SAAwB,EACxB,SAAyB,EACzB,cAAyB,EACzB,OAAc;;IAEd,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEzD,6CAA6C;IAC7C,qEAAqE;IACrE,0DAA0D;IAC1D,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,eAAe,EAAE,qBAAU,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAC;IACvG,CAAC;SAAM,CAAC;QACJ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IACI,OAAO,CAAC,WAAW,+BAAuB;YAC1C,CAAC,OAAO,CAAC,eAAe;YACxB,OAAO,CAAC,eAAe,CAAC,QAAQ,sCAA6B,EAC/D,CAAC;YACC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,kBAAkB,EACjC,qBAAU,CAAC,iBAAiB,EAAE,EAC9B,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAC1C,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED,MAAM,kBAAkB,GAAG,SAAS,IAAI,WAAW,CAAC;IACpD,MAAM,SAAS,GAAG,iBAAS,CAAC,kBAAkB,CAC1C,kBAAkB,EAClB,cAAc,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,EACnF,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,OAAO,EAChB,wFAAkE,EAClE,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC;IACzC,uBAAuB,CAAC,SAAS,EACjC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAC3C,CAAC;IACF,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,IAAA,mCAAuB,EAAC,SAAS,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,iBAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,WAAW,CAAC,GAAG,CACX,WAAW,EACX,eAAM,CAAC,cAAc,CAAC,8EAA6D,EAAE,SAAS,CAAC,CAClG,CAAC;IAEF,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,eAAe,EAAE,qBAAU,CAAC,sBAAsB,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5G,CAAC;SAAM,CAAC;QACJ,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE9B,IACI,UAAU,CAAC,WAAW,+BAAuB;YAC7C,UAAU,CAAC,eAAe;YAC1B,UAAU,CAAC,eAAe,CAAC,QAAQ,sCAA6B,EAClE,CAAC;YACC,eAAe,GAAG,IAAI,CAAC;YAEvB,gCAAgC,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxC,SAAS;gBACb,CAAC;gBAED,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,oBAAoB,EAAE,EACjC,KAAK,CAAC,eAAe,CACxB,CAAC;oBACF,SAAS;gBACb,CAAC;gBAED,8CAA8C;gBAC9C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAEjC,MAAM,SAAS,GAAG,IAAI,eAAM,oCAA4B,CAAC;gBACzD,MAAM,WAAW,GAAwB;oBACrC,IAAI,kCAA0B;oBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,GAAG,EAAE,QAAQ,CAAC,OAAO;oBACrB,kBAAkB,EAAE,KAAK,CAAC,eAAe;oBACzC,uBAAuB,EAAE,IAAI;oBAC7B,KAAK,EAAE,IAAA,qCAAqB,EACxB,KAAK,CAAC,IAAI,CAAC,KAAK,EAChB,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,EACvC,QAAQ,CAAC,KAAK,CACjB;oBACD,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,eAAe,EAAE,KAAK;iBACzB,CAAC;gBACF,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAEtC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,kBAAkB,EAAE,qBAAU,CAAC,sBAAsB,EAAE,EAAE,SAAS,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,IAAI,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,CAAC,CAAC,KAAK,MAAK,OAAO,IAAI,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,CAAC,CAAC,KAAK,MAAK,QAAQ,EAAE,CAAC;gBAClE,IACI,CAAC,GAAG,CAAC,eAAe;oBACpB,GAAG,CAAC,eAAe,CAAC,QAAQ,oCAA2B;oBACvD,CAAC,CACG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,+BAAsB;wBACrD,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,8BAAqB,CACvD,EACH,CAAC;oBACC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAClE,GAAG,CAAC,eAAe,IAAI,SAAS,CACnC,CAAC;gBACN,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,+BAAsB,EAAE,CAAC;oBAC/F,SAAS,CAAC,MAAM,CAAC,KAAK,6CAAoC,CAAC;gBAC/D,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,8BAAqB,EAAE,CAAC;oBAC/F,4EAA4E;oBAC5E,IAAI,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,CAAC;wBACvF,SAAS,CAAC,MAAM,CAAC,KAAK;4BAClB,iGAAgF,CAAC;oBACzF,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,eAAe,EAC9B,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,GAAG,CAAC,eAAe,IAAI,SAAS,CACnC,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,+BAA+B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjE,iFAAiF;IACjF,IAAI,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,QAAQ,sCAA6B,IAAI,SAAS,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,0CAAiC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAEvG,IAAI,eAAe,CAAC,QAAQ,gCAAuB,EAAE,CAAC;YAClD,IAAI,eAAe,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxC,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;oBACtC,IAAI,EAAE,SAAS;iBAClB,CAAC,EACF,eAAe,CAClB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAgB,+BAA+B,CAC3C,SAAwB,EACxB,IAAgC,EAChC,SAAoB;;IAEpB,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,8CAAsC,CAAC;IACvG,oBAAY,CAAC,QAAQ,CACjB,OAAO,EACP,qBAAa,CAAC,MAAM,+BAAuB,SAAS,EAAE,0BAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAChG,CAAC;IACF,oBAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,kBAAkB,GAAG,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;IAEtE,oDAAoD;IACpD,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,yCAA+B,CAAC;IACvG,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EACpC,0BAAkB,CAAC,YAAY,EAC/B,MAAM,CACT,CACJ,CAAC;IACF,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAClE,aAAa,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;IAE5E,+CAA+C;IAC/C,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EACpC,0BAAkB,CAAC,YAAY,EAC/B,OAAO,CACV,CACJ,CAAC;IAEF,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,+BAA+B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACrG,IAAI,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IAExD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9B,oBAAY,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAE1D,mEAAmE;QACnE,oBAAY,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,yCAA+B,CAAC;IACvG,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EACpC,0BAAkB,CAAC,YAAY,EAC/B,MAAM,CACT,CACJ,CAAC;IACF,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAClE,aAAa,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;IAE5E,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC9B,wDAAwD;QACxD,oBAAY,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,KAAK,CAAC,SAAS,EACf,0BAAkB,CAAC,YAAY,EAC/B,IAAI,EACJ,KAAK,CAAC,SAAS,CAClB,CACJ,CAAC;QAEF,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,KAAK,CAAC,SAAS,EACf,0BAAkB,CAAC,YAAY,EAC/B,IAAI,EACJ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CACjD,CACJ,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpB,qBAAqB,GAAG,KAAK,CAAC;QAClC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,mCAEhB,OAAO,CAAC,UAAU,CAAC,SAAS,EAC5B,0BAAkB,CAAC,YAAY,EAC/B,QAAQ,CACX,CACJ,CAAC;QAEF,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,mCAEhB,OAAO,CAAC,UAAU,CAAC,SAAS,EAC5B,0BAAkB,CAAC,YAAY,EAC/B,QAAQ,CACX,CACJ,CAAC;IACN,CAAC;IAED,MAAM,WAAW,GAAG,iBAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,sBAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,eAAM,CAAC,cAAc,kCAA0B,QAAQ,CAAC,CAAC,CAAC;IACtF,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,eAAM,CAAC,cAAc,kCAA0B,OAAO,CAAC,CAAC,CAAC;IAEpF,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEvD,uEAAuE;IACvE,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,qBAAa,CAAC,MAAM,+BAElC,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EACpC,0BAAkB,CAAC,YAAY,EAC/B,MAAM,CACT,CAAC;QAEF,SAAS,oBAAoB,CAAC,IAAkB;YAC5C,IAAI,cAAc,GAAG,mBAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9D,cAAc,GAAG,mBAAW,CAAC,eAAe,CACxC,cAAc,EACd,IAAI,CAAC,MAAM,CAAC,cAAe,EAC3B,SAAS,CAAC,MAAM,CAAC,IAAI,oCAExB,CAAC;YACF,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,SAAS,eAAe,CACpB,OAAa,EACb,SAAe,EACf,cAAuB,EACvB,eAAe,GAAG,KAAK,EACvB,uBAAuB,GAAG,KAAK;YAE/B,MAAM,WAAW,GAAG,oBAAY,CAAC,yBAAyB,CAAC,KAAK,yCAA+B,CAAC;YAChG,oBAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9C,WAAW,CAAC,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3E,oBAAY,CAAC,QAAQ,CACjB,WAAW,EACX,qBAAa,CAAC,MAAM,+BAAuB,OAAO,EAAE,0BAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,CAC5F,CAAC;YAEF,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,cAAc,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBACzD,IAAI,gBAAsB,CAAC;gBAC3B,IAAI,UAAgB,CAAC;gBAErB,IAAI,eAAe,EAAE,CAAC;oBAClB,yEAAyE;oBACzE,oDAAoD;oBACpD,gBAAgB,GAAG,eAAO,CAAC,MAAM,EAAE,CAAC;oBACpC,UAAU,GAAG,SAAS,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACJ,IAAI,uBAAuB,EAAE,CAAC;wBAC1B,gBAAgB,GAAG,SAAS,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACJ,gBAAgB,GAAG,IAAA,oBAAY,EAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;oBACjE,CAAC;oBAED,UAAU,GAAG,gBAAgB,CAAC;gBAClC,CAAC;gBAED,oBAAY,CAAC,QAAQ,CACjB,WAAW,EACX,qBAAa,CAAC,MAAM,+BAEhB,gBAAgB,EAChB,0BAAkB,CAAC,YAAY,EAC/B,SAAS,CACZ,CACJ,CAAC;gBACF,WAAW,CAAC,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,WAAW,CAAC,MAAM,CAAC,kBAAkB,GAAG,eAAe;oBACnD,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,IAAA,oBAAY,EAAC,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,SAAS,gBAAgB,CAAC,OAAa,EAAE,SAAe,EAAE,eAAwB;YAC9E,MAAM,QAAQ,GAAG,qBAAa,CAAC,MAAM,+BAAuB,OAAO,EAAE,0BAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YAE3G,MAAM,YAAY,GAAG,oBAAY,CAAC,yBAAyB,CAAC,KAAK,yCAA+B,CAAC;YACjG,oBAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC/C,oBAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC9C,YAAY,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;YAEnD,MAAM,YAAY,GAAG,oBAAY,CAAC,yBAAyB,CAAC,KAAK,yCAA+B,CAAC;YACjG,oBAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC/C,oBAAY,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC9C,YAAY,CAAC,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC5E,MAAM,cAAc,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAE1D,IAAI,gBAAsB,CAAC;YAC3B,IAAI,UAAgB,CAAC;YAErB,IAAI,eAAe,EAAE,CAAC;gBAClB,yEAAyE;gBACzE,oDAAoD;gBACpD,gBAAgB,GAAG,eAAO,CAAC,MAAM,EAAE,CAAC;gBACpC,UAAU,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,gBAAgB,GAAG,IAAA,oBAAY,EAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC7D,UAAU,GAAG,gBAAgB,CAAC;YAClC,CAAC;YAED,oBAAY,CAAC,QAAQ,CACjB,YAAY,EACZ,qBAAa,CAAC,MAAM,+BAEhB,gBAAgB,EAChB,0BAAkB,CAAC,YAAY,EAC/B,SAAS,EACT,gBAAgB,CACnB,CACJ,CAAC;YACF,YAAY,CAAC,MAAM,CAAC,kBAAkB,GAAG,UAAU,CAAC;YACpD,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QACxC,CAAC;QAED,SAAS,sBAAsB,CAAC,OAAa,EAAE,SAAe;YAC1D,MAAM,kBAAkB,GAAG,oBAAY,CAAC,yBAAyB,CAC7D,YAAY,yCAEf,CAAC;YACF,oBAAY,CAAC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YACrD,oBAAY,CAAC,QAAQ,CACjB,kBAAkB,EAClB,qBAAa,CAAC,MAAM,+BAAuB,OAAO,EAAE,0BAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,CAC5F,CAAC;YACF,oBAAY,CAAC,QAAQ,CACjB,kBAAkB,EAClB,qBAAa,CAAC,MAAM,+BAAuB,SAAS,EAAE,0BAAkB,CAAC,YAAY,EAAE,SAAS,CAAC,CACpG,CAAC;YACF,kBAAkB,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACzD,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,SAAS,mBAAmB,CAAC,OAAa;YACtC,MAAM,eAAe,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,yCAA+B,CAAC;YACxG,oBAAY,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAClD,oBAAY,CAAC,QAAQ,CACjB,eAAe,EACf,qBAAa,CAAC,MAAM,+BAAuB,OAAO,EAAE,0BAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,CAC5F,CAAC;YACF,eAAe,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACpE,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,SAAS,kBAAkB;YACvB,yDAAyD;YACzD,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,QAAQ,yCAA+B,CAAC;YACrG,oBAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAEhD,8DAA8D;YAC9D,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,QAAQ,yCAA+B,CAAC;YACrG,oBAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAEhD,6CAA6C;YAC7C,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,QAAQ,yCAA+B,CAAC;YACrG,oBAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAEhD,qDAAqD;YACrD,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,qBAAqB;gBACjB,CAAC,CAAC,iBAAS,CAAC,WAAW,EAAE;gBACzB,CAAC,CAAC,iBAAS,CAAC,eAAe,CAAC,iBAAS,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,EAC9E,0BAAkB,CAAC,YAAY,EAC/B,KAAK,CACR,CACJ,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,oBAAY,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;gBAC1D,oBAAY,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC;YAED,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClE,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClE,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAElE,MAAM,eAAe,GAAW,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE3D,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACvC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpB,2CAA2C;oBAC3C,IAAI,UAAU,IAAI,IAAA,2BAAmB,EAAC,UAAU,CAAC,IAAI,QAAQ,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7F,MAAM,SAAS,GAAG,IAAA,gCAAoB,EAAC,iBAAS,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;4BAC1E;gCACI,IAAI,EAAE,iBAAS,CAAC,gBAAgB,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;gCAC3E,WAAW,EAAE,KAAK;6BACrB;4BACD,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE;yBAChD,CAAC,CAAC;wBAEH,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpC,CAAC;oBAED,gDAAgD;oBAChD,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,KAAK,CAAC,SAAS,EACf,0BAAkB,CAAC,YAAY,EAC/B,IAAI,EACJ,eAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACxC,CACJ,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChE,IAAI,aAAa,IAAI,IAAA,2BAAmB,EAAC,aAAa,CAAC,EAAE,CAAC;gBACtD,MAAM,YAAY,GAAG,iBAAS,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;gBAE9D,oBAAY,CAAC,QAAQ,CACjB,aAAa,EACb,qBAAa,CAAC,MAAM,+BAEhB,iBAAS,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,IAAA,oBAAY,EAAC,eAAe,CAAC,CAAC,CAAC,EACnE,0BAAkB,CAAC,YAAY,EAC/B,KAAK,CACR,CACJ,CAAC;YACN,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,oBAAY,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;YAC9D,CAAC;YAED,yEAAyE;YACzE,0EAA0E;YAC1E,oBAAoB;YACpB,OAAO,sBAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAmB,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAmB,EAAE,CAAC;QAE/C,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvC,MAAM,eAAe,GAAG,iBAAS,CAAC,eAAe,CAAC,iBAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;YAE9F,YAAY,CAAC,IAAI,CACb,eAAe,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,EAAE,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAClG,CAAC;YAEF,YAAY,CAAC,IAAI,CACb,eAAe,CACX,eAAe,EACf,KAAK,CAAC,SAAS;YACf,oBAAoB,CAAC,IAAI;YACzB,qBAAqB,CAAC,KAAK,CAAC,UAAU;YACtC,6BAA6B,CAAC,KAAK,CAAC,UAAU,CACjD,CACJ,CAAC;YAEF,iDAAiD;YACjD,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACzC,IAAA,6BAAW,EAAC,YAAY,EAAE,gBAAgB,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YACpG,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpB,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YACvF,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpD,iEAAiE;QACjE,mEAAmE;QACnE,sBAAsB;QACtB,IAAI,iBAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,YAAY,CAAC,IAAI,CACb,eAAe,CACX,OAAO,EACP,IAAA,oBAAY,EAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACnE,oBAAoB,CAAC,KAAK;YAC1B,qBAAqB,CAAC,IAAI,CAC7B,CACJ,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QACvG,CAAC;aAAM,CAAC;YACJ,qEAAqE;YACrE,sDAAsD;YACtD,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAO,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1F,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,eAAO,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,eAAM,CAAC,cAAc,kCAA0B,sBAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE5G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,eAAM,CAAC,cAAc,kCAA0B,sBAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,GAAG,CACX,YAAY,EACZ,eAAM,CAAC,cAAc,kCAA0B,sBAAc,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAC7F,CAAC;QACN,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,CACX,aAAa,EACb,eAAM,CAAC,cAAc,kCAA0B,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAC/E,CAAC;QACN,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAM,CAAC,cAAc,kCAA0B,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEhG,wEAAwE;QACxE,oDAAoD;QACpD,MAAM,aAAa,GAAG,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEvE,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,oBAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACpE,oBAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC9C,WAAW,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAChE,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,eAAM,CAAC,cAAc,kCAA0B,WAAW,CAAC,CAAC,CAAC;YAEtF,MAAM,aAAa,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;YACxE,oBAAY,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAChD,IAAI,SAAS,GAAqB,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAEhE,IAAI,SAAS,IAAI,IAAA,2BAAmB,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC9C,SAAS,GAAG,IAAA,gCAAoB,EAC5B,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EACpC;oBACI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE;oBACrC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE;iBAC9C;gBACD,uBAAuB,CAAC,IAAI,CAC/B,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,SAAS,GAAG,mBAAW,CAAC,MAAM,EAAE,CAAC;YACrC,CAAC;YAED,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,eAAM,CAAC,cAAc,kCAA0B,aAAa,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,wEAAwE;QACxE,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE7E,IAAI,gBAAgB,EAAE,CAAC;YACnB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC/C,MAAM,MAAM,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;gBAClE,oBAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAEzC,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,UAAU,EAAE,CAAC,CAAC;gBAC5E,IACI,eAAe;oBACf,IAAA,2BAAmB,EAAC,eAAe,CAAC;oBACpC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAChD,CAAC;oBACC,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,iBAAS,CAAC,UAAU,CACnD,iBAAS,CAAC,eAAe,CAAC,eAAe,CAAC,EAC1C,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAC9B,CAAC;oBAEF,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,eAAM,CAAC,cAAc,kCAA0B,MAAM,CAAC,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAgB,2BAA2B,CACvC,SAAwB,EACxB,SAAoB,EACpB,aAAa,GAAG,KAAK;;IAErB,kDAAkD;IAClD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACrC,MAAM,OAAO,GAAqB;YAC9B,UAAU,EAAE,IAAI,GAAG,EAA0B;YAC7C,UAAU,EAAE,SAAS;SACxB,CAAC;QACF,oCAAoC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAEpE,IAAI,iBAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACtE,OAAO,CAAC,UAAU,GAAG;gBACjB,SAAS,EAAE,iBAAS,CAAC,WAAW,EAAE;gBAClC,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,KAAK;aACpB,CAAC;QACN,CAAC;QAED,mCAAmC;QACnC,SAAS,CAAC,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAA,6CAAiC,EAAC,SAAS,CAAC,CAAC;IAE9D,0EAA0E;IAC1E,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAClD,SAAS,CAAC,MAAM,CAAC,gBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,SAAS,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErE,uEAAuE;QACvE,8BAA8B;QAC9B,IAAI,SAAS,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;YAE3B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,OAAO,CAAC,SAAS,GAAG,iBAAS,CAAC,WAAW,EAAE,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,8DAA8D;IAC9D,IAAI,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC3D,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC7B,OAAO,CAAC,SAAS,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,UAAU,EAAE,OAAO;QACnB,UAAU,EAAE,MAAA,SAAS,CAAC,MAAM,CAAC,gBAAgB,0CAAE,UAAU;KAC5D,CAAC;AACN,CAAC;AAED,oEAAoE;AACpE,gFAAgF;AAChF,SAAgB,6BAA6B,CAAC,SAAwB,EAAE,SAAoB;IACxF,IAAA,cAAM,EAAC,IAAA,2BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC;IACvC,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,gFAAgF;IAChF,IAAI,CAAC,iBAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClE,MAAM,cAAc,GAAW,EAAE,CAAC;IAElC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,oCAAoC;IACpC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,cAAc,CAAC,CAAC;IAC/C,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzE,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,wEAAwE;AACxE,kCAAkC;AAClC,SAAgB,0BAA0B,CACtC,SAAwB,EACxB,SAAoB,EACpB,cAAc,GAAG,CAAC;IAElB,IAAA,cAAM,EAAC,IAAA,2BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC;IACvC,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,sEAAsE;IACtE,IAAI,CAAC,iBAAS,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAElE,mEAAmE;IACnE,wBAAwB;IACxB,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC;IAEjD,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACvC,kBAAkB,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,aAAa,GAAG,IAAA,oBAAY,EAAC,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAE/D,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,aAAa,EACb,KAAK,CAAC,SAAS;QACf,UAAU,CAAC,SAAS;QACpB,iBAAiB,CAAC,SAAS,qCAE3B,cAAc,GAAG,CAAC,CACrB,EACH,CAAC;YACC,kBAAkB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,gCAAgC,CACrC,SAAwB,EACxB,SAAyB,EACzB,WAAwB,EACxB,QAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAEzD,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,KAAK,CAAC,QAAQ,8CAAqC,EAAE,CAAC;YACtD,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,2BAA2B,EAAE,EACxC,KAAK,CACR,CAAC;YACF,OAAO;QACX,CAAC;QAED,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,sCAA6B,EAAE,CAAC;YACxD,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,CAClB,CAAC;YACF,OAAO;QACX,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,kBAAkB,EAAE,EAC/B,KAAK,CAAC,CAAC,CAAC,OAAO,CAClB,CAAC;YACF,OAAO;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,oBAAoB,EAAE,EACjC,KAAK,CAAC,CAAC,CAAC,OAAO,CAClB,CAAC;YACF,OAAO;QACX,CAAC;QAED,8CAA8C;QAC9C,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAExB,MAAM,SAAS,GAAG,IAAI,eAAM,oCAA4B,CAAC;QACzD,MAAM,WAAW,GAAwB;YACrC,IAAI,kCAA0B;YAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO;YACrB,GAAG,EAAE,QAAQ,CAAC,OAAO;YACrB,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS;YACrC,uBAAuB,EAAE,CAAC,QAAQ;YAClC,KAAK,EAAE,IAAA,qCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC;YACtG,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,eAAe,EAAE,KAAK;SACzB,CAAC;QACF,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEtC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,iEAAiE;IACjE,uBAAuB;IACvB,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,oCAAoC,CACzC,SAAwB,EACxB,SAAoB,EACpB,OAAyB,EACzB,cAAc,GAAG,CAAC;IAElB,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,IAAI,cAAc,GAAG,6BAAqB,EAAE,CAAC;QACzC,OAAO;IACX,CAAC;IACD,cAAc,EAAE,CAAC;IAEjB,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACnD,IAAI,IAAA,2BAAmB,EAAC,aAAa,CAAC,IAAI,iBAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;YAClF,MAAM,wBAAwB,GAAG,IAAA,mCAAuB,EACpD,aAAa,EACb,SAAS,EACT,SAAS,CAAC,gBAAgB,EAAE,CAC/B,CAAC;YACF,IAAA,cAAM,EAAC,IAAA,eAAO,EAAC,wBAAwB,CAAC,CAAC,CAAC;YAE1C,uEAAuE;YACvE,kEAAkE;YAClE,oCAAoC,CAAC,SAAS,EAAE,wBAAwB,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QACvG,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAA,6CAAiC,EAAC,SAAS,CAAC,CAAC;IAE9D,kDAAkD;IAClD,iBAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC;YACtC,gEAAgE;YAChE,MAAM,QAAQ,GAAG,IAAA,8CAAgC,EAAC,MAAM,CAAC,CAAC;YAE1D,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,qCAA6B,EAAE,CAAC;gBACzD,IAAI,SAAS,GAAG,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;gBAC3D,SAAS,GAAG,IAAA,+BAAmB,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAErD,MAAM,aAAa,GAAG,CAAC,iBAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,iBAAiB,CAAC;gBAClG,IAAI,UAAU,GAAG,CAAC,iBAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,UAAU,GAAG,KAAK,CAAC;gBAEvB,IAAI,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;oBAChE,UAAU,GAAG,IAAI,CAAC;gBACtB,CAAC;qBAAM,IAAI,8BAA8B,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC1E,UAAU,GAAG,KAAK,CAAC;gBACvB,CAAC;gBAED,IAAI,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;oBACjD,UAAU,GAAG,IAAI,CAAC;gBACtB,CAAC;gBAED,MAAM,OAAO,GAAmB;oBAC5B,SAAS;oBACT,UAAU;oBACV,UAAU;oBACV,UAAU,EAAE,KAAK;iBACpB,CAAC;gBAEF,IAAI,iBAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAC7E,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC3B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,+BAA+B,CAAC,SAAwB,EAAE,SAAoB;;IAC1F,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,iCAAiC;IACjC,IAAI,CAAC,iBAAS,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,OAAO;YACH,SAAS,EAAE,SAAS,CAAC,aAAa,EAAE;YACpC,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;SACpB,CAAC;IACN,CAAC;IAED,IAAI,MAAA,SAAS,CAAC,MAAM,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC;IACxD,CAAC;IAED,OAAO;QACH,SAAS,EAAE,iBAAS,CAAC,WAAW,EAAE;QAClC,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;KACpB,CAAC;AACN,CAAC;AAED,SAAgB,0BAA0B,CACtC,SAAwB,EACxB,QAAmB,EACnB,OAAkB,EAClB,IAAoC,EACpC,WAA0C,EAC1C,KAAsB,EACtB,cAAc,GAAG,CAAC;;IAElB,IAAI,kBAAkB,GAAG,IAAI,CAAC;IAC9B,MAAM,WAAW,GAAG,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,+BAA+B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAErG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE;QAC/C,kEAAkE;QAClE,2EAA2E;QAC3E,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBAChD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,sBAAW,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC;oBACvC,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBAChE,CAAC,CACL,CAAC;gBACF,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,IAAI,IAAA,uBAAe,EAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,CAAC;oBACvC,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,SAAS,CAAC,SAAS,EACnB,eAAe,CAAC,SAAS,EACzB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,EACX,KAAK,EACL,cAAc,CACjB,EACH,CAAC;wBACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,sBAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBACvE,kBAAkB,GAAG,KAAK,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,CAAC,UAAU,KAAK,QAAQ,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU;oBAChC,CAAC,CAAC,sBAAW,CAAC,sBAAsB,EAAE;oBACtC,CAAC,CAAC,sBAAW,CAAC,yBAAyB,EAAE,CAAC;gBAC9C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,OAAO,CAAC,MAAM,CAAC;oBACX,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACjE,CAAC,CACL,CAAC;gBACF,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC/C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,sBAAW,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC;oBAC3C,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACjE,CAAC,CACL,CAAC;gBACF,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,CAAC;YAEvC,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,SAAS,CAAC,SAAS,EACnB,QAAQ,CAAC,SAAS,EAClB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,EACX,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,oCAA4B,EAChE,cAAc,CACjB,EACH,CAAC;gBACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,sBAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvE,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,qDAAqD;IACrD,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,gFAAgF;IAChF,sEAAsE;IACtE,IAAI,iBAAS,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAG,MAAA,WAAW,CAAC,UAAU,mCAAI,+BAA+B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAExG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC7C,uDAAuD;YACvD,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,OAAO;YACX,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,CAAC;gBACvC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CACf,sBAAW,CAAC,6BAA6B,EAAE,CAAC,MAAM,CAAC;oBAC/C,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACjE,CAAC,CACL,CAAC;gBACF,kBAAkB,GAAG,KAAK,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC5D,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,sBAAW,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC;wBAC3C,IAAI;wBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;qBACjE,CAAC,CACL,CAAC;oBACF,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,CAAC;gBAEvC,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,WAAW,CAAC,UAAU,CAAC,SAAS,EAChC,QAAQ,CAAC,SAAS,EAClB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,EACX,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,oCAA4B,EAC7E,cAAc,CACjB,EACH,CAAC;oBACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CACf,sBAAW,CAAC,+BAA+B,EAAE,CAAC,MAAM,CAAC;wBACjD,IAAI;wBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;qBACjE,CAAC,CACL,CAAC;oBACF,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,CAAC;qBAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACnE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,sBAAW,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC;wBAC3C,IAAI;wBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;qBAChE,CAAC,CACL,CAAC;oBACF,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,CAAC;QACvC,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,gBAAgB,CAAC,SAAS,EAC1B,eAAe,CAAC,SAAS,EACzB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,EACX,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,oCAA4B,EACvE,cAAc,CACjB,EACH,CAAC;YACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CACf,sBAAW,CAAC,+BAA+B,EAAE,CAAC,MAAM,CAAC;gBACjD,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAChE,CAAC,CACL,CAAC;YACF,kBAAkB,GAAG,KAAK,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YACpE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,GAAG,UAAU,CAC7B,sBAAW,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC;gBAC3C,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;aACjE,CAAC,CACL,CAAC;YACF,kBAAkB,GAAG,KAAK,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED,sEAAsE;AACtE,qEAAqE;AACrE,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,4DAA4D;AAC5D,SAAgB,iBAAiB,CAC7B,SAAwB,EACxB,SAAoB,EACpB,QAA8B,EAC9B,UAAgC,EAChC,YAAiC;IAEjC,IAAA,cAAM,EAAC,IAAA,uBAAe,EAAC,SAAS,CAAC,CAAC,CAAC;IACnC,IAAA,cAAM,EAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9C,IAAA,cAAM,EAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC;IAE9C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,IAAI,WAA0C,CAAC;IAC/C,IAAI,gBAAgB,GAAG,SAAS,CAAC;IAEjC,IAAI,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,WAAW,GAAG,IAAI,qCAAiB,EAAE,CAAC;QAEtC,0DAA0D;QAC1D,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,gBAAgB,GAAG,iBAAS,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACjF,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,2BAA2B,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAE3E,QAAQ,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,CAAC,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAA,yBAAa,EAAC,OAAO,CAAC,EAAE,CAAC;YAC/F,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,YAAsB,CAAC;YACrD,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEvD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC;oBAC/C,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,SAAS,CAAC,UAAU,CAAC,SAAS,EAC9B,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,qDAEd,EACH,CAAC;wBACC,IAAI,OAAO,EAAE,CAAC;4BACV,OAAO,CAAC,UAAU,CACd,sBAAW,CAAC,0BAA0B,EAAE,CAAC,MAAM,CAAC;gCAC5C,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;6BACpD,CAAC,CACL,CAAC;4BAEF,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC7C,CAAC;wBACD,OAAO,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,uCAAuC;oBACvC,OAAO,GAAG,KAAK,CAAC;oBAChB,IAAI,YAAY,EAAE,CAAC;wBACf,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC;wBAC/C,OAAO,CAAC,UAAU,CACd,sBAAW,CAAC,uBAAuB,EAAE,CAAC,MAAM,CAAC;4BACzC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAAsB;4BACzC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;yBAClE,CAAC,CACL,CAAC;wBAEF,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,gDAAgD;gBAChD,MAAM,OAAO,GAAG,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,cAAc,EAAE,CAAC;gBAC/C,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,WAAW,CAAC,SAAS,EACrB,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EACtB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,EAAE,EACzB,WAAW,qDAEd,EACH,CAAC;oBACC,IAAI,OAAO,EAAE,CAAC;wBACV,OAAO,CAAC,UAAU,CACd,sBAAW,CAAC,0BAA0B,EAAE,CAAC,MAAM,CAAC;4BAC5C,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,YAAsB;4BACzC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;yBACpD,CAAC,CACL,CAAC;wBAEF,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,GAAG,KAAK,CAAC;gBACpB,CAAC;gBAED,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC1B,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE;wBAC1B,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;wBACjC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,UAAU;wBAC1C,UAAU,EAAE,KAAK;wBACjB,UAAU,EAAE,IAAI;qBACnB,CAAC,CAAC;gBACP,CAAC;gBAED,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;YAClC,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wCAAwC;IACxC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,IAAI,YAAY,EAAE,CAAC;gBACf,YAAY,CAAC,UAAU,CACnB,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC;oBACxC,IAAI;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;iBACvC,CAAC,CACL,CAAC;YACN,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;QACpB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW;QACpC,CAAC,CAAE,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,WAAW,CAAe;QAClF,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,eAAe,CAAC,IAAI,KAAK,CAAC;QAC7B,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,iBAAS,CAAC,gCAAgC,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,yBAAyB,CACrC,SAAwB,EACxB,IAAe,EACf,QAAmB,EACnB,KAAqB;IAErB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAC1E,IAAI,CACP,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,mBAAW,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,gEAAgE;IAChE,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,+BAAuB,EAAE,CAAC;QACzG,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;IAE7G,MAAM,eAAe,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IACvC,IAAI,IAAI,GAAG,IAAI,+BAAkB,EAAE,CAAC;IACpC,IAAI,8BAA8B,GAAG,IAAI,CAAC;IAE1C,MAAM,aAAa,GAAG,IAAA,uBAAW,EAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;;QACrD,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC1C,sDAAsD;gBACtD,mDAAmD;gBACnD,OAAO,mBAAW,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;YAED,uDAAuD;YACvD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,YAAsB,CAAC;YACtD,MAAM,KAAK,GAAG,MAAA,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,mCAAI,OAAO,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;oBAC9B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;iBACtC,CAAC,CACL,CAAC;gBACF,8BAA8B,GAAG,KAAK,CAAC;gBACvC,OAAO,mBAAW,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC3E,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC;oBAChC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;iBACtC,CAAC,CACL,CAAC;YACN,CAAC;iBAAM,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACpD,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;oBAC7B,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC;iBACtC,CAAC,CACL,CAAC;YACN,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,IAAI,mCAAI,eAAO,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;oBACxF,8BAA8B,GAAG,KAAK,CAAC;gBAC3C,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACpD,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC;oBACpC,IAAI,EAAE,SAAS;iBAClB,CAAC,CACL,CAAC;gBACF,8BAA8B,GAAG,KAAK,CAAC;YAC3C,CAAC;YAED,OAAO,KAAK,CAAC,SAAS,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,sBAAW,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACnG,8BAA8B,GAAG,KAAK,CAAC;QACvC,OAAO,mBAAW,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,4EAA4E;IAC5E,wEAAwE;IACxE,uBAAuB;IACvB,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;QACvF,IAAI,GAAG,KAAK,CAAC,mBAAmB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,IAAI,aAAqB,CAAC;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,aAAa,GAAG,qBAAU,CAAC,YAAY,EAAE,CAAC;QAC9C,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAChC,aAAa,GAAG,qBAAU,CAAC,eAAe,EAAE,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,aAAa,GAAG,qBAAU,CAAC,eAAe,EAAE,CAAC;QACjD,CAAC;QAED,SAAS,CAAC,aAAa,CACnB,8BAA8B;YAC1B,CAAC,CAAC,gCAAc,CAAC,gCAAgC;YACjD,CAAC,CAAC,gCAAc,CAAC,uBAAuB,EAC5C,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,EAChC,IAAI,CACP,CAAC;IACN,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;AACjF,CAAC;AAED,sEAAsE;AACtE,kBAAkB;AAClB,SAAgB,sBAAsB,CAAC,SAAoB,EAAE,GAAW;;IACpE,uFAAuF;IACvF,kFAAkF;IAClF,gBAAgB;IAChB,IAAI,CAAC,iBAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,wBAAwB,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1E,IAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,wBAAwB;QAC3D,CAAC,CAAC,IAAI,GAAG,CAAyB,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC;QAC1E,CAAC,CAAC,IAAI,GAAG,EAA0B,CAAC;IACxC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC/B,CAAC,CAAC;IAEH,OAAO,iBAAS,CAAC,gCAAgC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAwB,EAAE,MAAc,EAAE,aAAsB;IACjG,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,IAAI,qCAA6B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtF,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC3B,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,sBAAsB,EAAE,EACnC,IAAI,CAAC,kBAAkB,CAC1B,CAAC;YACN,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,8BAA8B,CAAC,SAAwB,EAAE,MAAc,EAAE,aAAsB;IACpG,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,IAAI,qCAA6B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtF,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,IAAI,aAAa,CAAC,aAAa,EAAE,CAAC;gBAC9B,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,uBAAuB,EACtC,qBAAU,CAAC,yBAAyB,EAAE,EACtC,IAAI,CAAC,kBAAkB,CAC1B,CAAC;YACN,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAwB,EAAE,MAAc;IACzE,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,IAAI,CAAC,IAAI,qCAA6B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAG,SAAS,CAAC,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACtF,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;SACtB,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"typedDicts.js","sourceRoot":"","sources":["../../../../../src/analyzer/typedDicts.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,7 @@ export interface TypeSameOptions {
43
43
  ignoreTypeFlags?: boolean;
44
44
  ignoreConditions?: boolean;
45
45
  ignoreTypedDictNarrowEntries?: boolean;
46
+ honorTypeForm?: boolean;
46
47
  treatAnySameAsUnknown?: boolean;
47
48
  }
48
49
  export interface TypeAliasInfo {
@@ -66,6 +67,7 @@ interface CachedTypeInfo {
66
67
  export interface TypeBaseProps {
67
68
  instantiableDepth: number | undefined;
68
69
  specialForm: ClassType | undefined;
70
+ typeForm: Type | undefined;
69
71
  typeAliasInfo: TypeAliasInfo | undefined;
70
72
  condition: TypeCondition[] | undefined;
71
73
  }
@@ -82,15 +84,18 @@ export declare namespace TypeBase {
82
84
  function isInstance(type: TypeBase<any>): boolean;
83
85
  function isAmbiguous(type: TypeBase<any>): boolean;
84
86
  function addProps(type: TypeBase<any>): TypeBaseProps;
87
+ function getInstantiableDepth(type: TypeBase<any>): number;
85
88
  function setSpecialForm(type: TypeBase<any>, specialForm: ClassType | undefined): void;
86
89
  function setInstantiableDepth(type: TypeBase<any>, depth: number | undefined): void;
87
90
  function setTypeAliasInfo(type: TypeBase<any>, typeAliasInfo: TypeAliasInfo | undefined): void;
91
+ function setTypeForm(type: TypeBase<any>, typeForm: Type | undefined): void;
88
92
  function setCondition(type: TypeBase<any>, condition: TypeCondition[] | undefined): void;
89
93
  function cloneType<T extends TypeBase<any>>(type: T): T;
90
94
  function cloneAsSpecialForm<T extends TypeBase<any>>(type: T, specialForm: ClassType | undefined): T;
91
95
  function cloneTypeAsInstance<T extends Type>(type: T, cache: boolean): T;
92
96
  function cloneTypeAsInstantiable<T extends Type>(type: T, cache: boolean): T;
93
97
  function cloneForTypeAlias<T extends Type>(type: T, aliasInfo: TypeAliasInfo): T;
98
+ function cloneWithTypeForm<T extends Type>(type: T, typeForm: Type | undefined): T;
94
99
  function cloneForCondition<T extends Type>(type: T, condition: TypeCondition[] | undefined): T;
95
100
  function cloneForAmbiguousType(type: Type): Type;
96
101
  }
@@ -171,7 +176,6 @@ export declare const enum ClassTypeFlags {
171
176
  EnumClass = 65536,
172
177
  ClassProperty = 131072,
173
178
  DefinedInStub = 262144,
174
- ReadOnlyInstanceVariables = 524288,
175
179
  TypeCheckOnly = 1048576,
176
180
  NewTypeClass = 2097152,
177
181
  ValidTypeAliasClass = 4194304,
@@ -207,6 +211,7 @@ interface ClassDetailsShared {
207
211
  docString?: string | undefined;
208
212
  dataClassEntries?: DataClassEntry[] | undefined;
209
213
  dataClassBehaviors?: DataClassBehaviors | undefined;
214
+ namedTupleEntries?: Set<string> | undefined;
210
215
  typedDictEntries?: TypedDictEntries | undefined;
211
216
  localSlotsNames?: string[];
212
217
  deprecatedMessage?: string | undefined;
@@ -302,12 +307,12 @@ export declare namespace ClassType {
302
307
  function isPartiallyEvaluated(classType: ClassType): boolean;
303
308
  function hasCustomClassGetItem(classType: ClassType): boolean;
304
309
  function isTupleClass(classType: ClassType): boolean;
305
- function isReadOnlyInstanceVariables(classType: ClassType): boolean;
306
310
  function getTypeParams(classType: ClassType): TypeVarType[];
307
311
  function derivesFromAnyOrUnknown(classType: ClassType): boolean;
308
312
  function getSymbolTable(classType: ClassType): SymbolTable;
309
313
  function getInheritedSlotsNames(classType: ClassType): string[] | undefined;
310
314
  function isHierarchyPartiallyEvaluated(classType: ClassType): boolean;
315
+ function hasNamedTupleEntry(classType: ClassType, name: string): boolean;
311
316
  function isSameGenericClass(classType: ClassType, type2: ClassType, recursionCount?: number): boolean;
312
317
  function isDerivedFrom(subclassType: ClassType, parentClassType: ClassType, inheritanceChain?: InheritanceChain): boolean;
313
318
  function getReverseMro(classType: ClassType): (ClassType | UnknownType | AnyType)[];
@@ -511,7 +516,7 @@ export interface UnionType extends TypeBase<TypeCategory.Union> {
511
516
  export declare namespace UnionType {
512
517
  function create(): UnionType;
513
518
  function addType(unionType: UnionType, newType: UnionableType): void;
514
- function containsType(unionType: UnionType, subtype: Type, exclusionSet?: Set<number>, recursionCount?: number): boolean;
519
+ function containsType(unionType: UnionType, subtype: Type, options?: TypeSameOptions, exclusionSet?: Set<number>, recursionCount?: number): boolean;
515
520
  function addTypeAliasSource(unionType: UnionType, typeAliasSource: Type): void;
516
521
  }
517
522
  export declare const enum Variance {
@@ -603,7 +608,7 @@ export declare namespace TypeVarType {
603
608
  function cloneForParamSpecAccess(type: ParamSpecType, access: ParamSpecAccess | undefined): ParamSpecType;
604
609
  function cloneAsSpecializedSelf(type: TypeVarType, specializedBoundType: Type): TypeVarType;
605
610
  function cloneAsUnificationVar(type: TypeVarType, usageOffset?: number): TypeVarType;
606
- function makeNameWithScope(name: string, scopeId: string): string;
611
+ function makeNameWithScope(name: string, scopeId: string, scopeName: string): string;
607
612
  function makeBoundScopeId(scopeId: TypeVarScopeId): TypeVarScopeId;
608
613
  function makeBoundScopeId(scopeId: TypeVarScopeId | undefined): TypeVarScopeId | undefined;
609
614
  function cloneAsBound(type: TypeVarType): TypeVarType;
@@ -119,6 +119,7 @@ var TypeBase;
119
119
  type.props = {
120
120
  instantiableDepth: undefined,
121
121
  specialForm: undefined,
122
+ typeForm: undefined,
122
123
  typeAliasInfo: undefined,
123
124
  condition: undefined,
124
125
  };
@@ -126,6 +127,11 @@ var TypeBase;
126
127
  return type.props;
127
128
  }
128
129
  TypeBase.addProps = addProps;
130
+ function getInstantiableDepth(type) {
131
+ var _a, _b;
132
+ return (_b = (_a = type.props) === null || _a === void 0 ? void 0 : _a.instantiableDepth) !== null && _b !== void 0 ? _b : 0;
133
+ }
134
+ TypeBase.getInstantiableDepth = getInstantiableDepth;
129
135
  function setSpecialForm(type, specialForm) {
130
136
  TypeBase.addProps(type).specialForm = specialForm;
131
137
  }
@@ -138,6 +144,10 @@ var TypeBase;
138
144
  TypeBase.addProps(type).typeAliasInfo = typeAliasInfo;
139
145
  }
140
146
  TypeBase.setTypeAliasInfo = setTypeAliasInfo;
147
+ function setTypeForm(type, typeForm) {
148
+ TypeBase.addProps(type).typeForm = typeForm;
149
+ }
150
+ TypeBase.setTypeForm = setTypeForm;
141
151
  function setCondition(type, condition) {
142
152
  TypeBase.addProps(type).condition = condition;
143
153
  }
@@ -161,10 +171,14 @@ var TypeBase;
161
171
  }
162
172
  TypeBase.cloneAsSpecialForm = cloneAsSpecialForm;
163
173
  function cloneTypeAsInstance(type, cache) {
164
- var _a;
174
+ var _a, _b;
165
175
  (0, debug_1.assert)(TypeBase.isInstantiable(type));
166
176
  const newInstance = TypeBase.cloneType(type);
167
- const depth = (_a = newInstance.props) === null || _a === void 0 ? void 0 : _a.instantiableDepth;
177
+ // Remove type form information from the type.
178
+ if ((_a = newInstance.props) === null || _a === void 0 ? void 0 : _a.typeForm) {
179
+ TypeBase.setTypeForm(newInstance, undefined);
180
+ }
181
+ const depth = (_b = newInstance.props) === null || _b === void 0 ? void 0 : _b.instantiableDepth;
168
182
  if (depth === undefined) {
169
183
  newInstance.flags &= ~1 /* TypeFlags.Instantiable */;
170
184
  newInstance.flags |= 2 /* TypeFlags.Instance */;
@@ -186,7 +200,7 @@ var TypeBase;
186
200
  }
187
201
  TypeBase.cloneTypeAsInstance = cloneTypeAsInstance;
188
202
  function cloneTypeAsInstantiable(type, cache) {
189
- var _a, _b;
203
+ var _a, _b, _c;
190
204
  const newInstance = TypeBase.cloneType(type);
191
205
  if (TypeBase.isInstance(type)) {
192
206
  newInstance.flags &= ~2 /* TypeFlags.Instance */;
@@ -201,6 +215,10 @@ var TypeBase;
201
215
  if ((_b = newInstance.props) === null || _b === void 0 ? void 0 : _b.typeAliasInfo) {
202
216
  TypeBase.setTypeAliasInfo(newInstance, undefined);
203
217
  }
218
+ // Remove type form information from the type.
219
+ if ((_c = newInstance.props) === null || _c === void 0 ? void 0 : _c.typeForm) {
220
+ TypeBase.setTypeForm(newInstance, undefined);
221
+ }
204
222
  // Should we cache it for next time?
205
223
  if (cache) {
206
224
  if (!type.cached) {
@@ -217,6 +235,12 @@ var TypeBase;
217
235
  return typeClone;
218
236
  }
219
237
  TypeBase.cloneForTypeAlias = cloneForTypeAlias;
238
+ function cloneWithTypeForm(type, typeForm) {
239
+ const typeClone = cloneType(type);
240
+ TypeBase.setTypeForm(typeClone, typeForm);
241
+ return typeClone;
242
+ }
243
+ TypeBase.cloneWithTypeForm = cloneWithTypeForm;
220
244
  function cloneForCondition(type, condition) {
221
245
  var _a;
222
246
  // Handle the common case where there are no conditions. In this case,
@@ -419,9 +443,6 @@ var ClassTypeFlags;
419
443
  ClassTypeFlags[ClassTypeFlags["ClassProperty"] = 131072] = "ClassProperty";
420
444
  // Class is declared within a type stub file.
421
445
  ClassTypeFlags[ClassTypeFlags["DefinedInStub"] = 262144] = "DefinedInStub";
422
- // Class does not allow writing or deleting its instance variables
423
- // through a member access. Used with named tuples.
424
- ClassTypeFlags[ClassTypeFlags["ReadOnlyInstanceVariables"] = 524288] = "ReadOnlyInstanceVariables";
425
446
  // Decorated with @type_check_only.
426
447
  ClassTypeFlags[ClassTypeFlags["TypeCheckOnly"] = 1048576] = "TypeCheckOnly";
427
448
  // Created with the NewType call.
@@ -822,10 +843,6 @@ var ClassType;
822
843
  return !!(classType.shared.flags & 32768 /* ClassTypeFlags.TupleClass */);
823
844
  }
824
845
  ClassType.isTupleClass = isTupleClass;
825
- function isReadOnlyInstanceVariables(classType) {
826
- return !!(classType.shared.flags & 524288 /* ClassTypeFlags.ReadOnlyInstanceVariables */);
827
- }
828
- ClassType.isReadOnlyInstanceVariables = isReadOnlyInstanceVariables;
829
846
  function getTypeParams(classType) {
830
847
  return classType.shared.typeParams;
831
848
  }
@@ -857,11 +874,25 @@ var ClassType;
857
874
  classType.shared.mro.some((mroClass) => isClass(mroClass) && ClassType.isPartiallyEvaluated(mroClass)));
858
875
  }
859
876
  ClassType.isHierarchyPartiallyEvaluated = isHierarchyPartiallyEvaluated;
877
+ function hasNamedTupleEntry(classType, name) {
878
+ if (!classType.shared.namedTupleEntries) {
879
+ return false;
880
+ }
881
+ return classType.shared.namedTupleEntries.has(name);
882
+ }
883
+ ClassType.hasNamedTupleEntry = hasNamedTupleEntry;
860
884
  // Same as isTypeSame except that it doesn't compare type arguments.
861
885
  function isSameGenericClass(classType, type2, recursionCount = 0) {
862
886
  if (!classType.priv.isTypedDictPartial !== !type2.priv.isTypedDictPartial) {
863
887
  return false;
864
888
  }
889
+ // Handle type[] specially.
890
+ if (TypeBase.getInstantiableDepth(classType) > 0) {
891
+ return TypeBase.isInstantiable(type2) || ClassType.isBuiltIn(type2, 'type');
892
+ }
893
+ if (TypeBase.getInstantiableDepth(type2) > 0) {
894
+ return TypeBase.isInstantiable(classType) || ClassType.isBuiltIn(classType, 'type');
895
+ }
865
896
  const class1Details = classType.shared;
866
897
  const class2Details = type2.shared;
867
898
  if (class1Details === class2Details) {
@@ -1556,6 +1587,9 @@ var OverloadedType;
1556
1587
  overloads.forEach((overload) => {
1557
1588
  OverloadedType.addOverload(newType, overload);
1558
1589
  });
1590
+ if (implementation && isFunction(implementation)) {
1591
+ implementation.priv.overloaded = newType;
1592
+ }
1559
1593
  return newType;
1560
1594
  }
1561
1595
  OverloadedType.create = create;
@@ -1601,9 +1635,9 @@ var NeverType;
1601
1635
  }
1602
1636
  NeverType.createNoReturn = createNoReturn;
1603
1637
  function convertToInstance(type) {
1604
- var _a;
1605
- // Remove the "special form" if present. Otherwise return the existing type.
1606
- if (!((_a = type.props) === null || _a === void 0 ? void 0 : _a.specialForm)) {
1638
+ var _a, _b;
1639
+ // Remove the specialForm or typeForm if present. Otherwise return the existing type.
1640
+ if (!((_a = type.props) === null || _a === void 0 ? void 0 : _a.specialForm) && !((_b = type.props) === null || _b === void 0 ? void 0 : _b.typeForm)) {
1607
1641
  return type;
1608
1642
  }
1609
1643
  return type.priv.isNoReturn ? NeverType.createNoReturn() : NeverType.createNever();
@@ -1793,7 +1827,7 @@ var UnionType;
1793
1827
  // Determines whether the union contains a specified subtype. If exclusionSet is passed,
1794
1828
  // the method skips any subtype indexes that are in the set and adds a found index to
1795
1829
  // the exclusion set. This speeds up union type comparisons.
1796
- function containsType(unionType, subtype, exclusionSet, recursionCount = 0) {
1830
+ function containsType(unionType, subtype, options = {}, exclusionSet, recursionCount = 0) {
1797
1831
  var _a;
1798
1832
  // Handle string literals as a special case because unions can sometimes
1799
1833
  // contain hundreds of string literal types.
@@ -1816,7 +1850,7 @@ var UnionType;
1816
1850
  if (exclusionSet === null || exclusionSet === void 0 ? void 0 : exclusionSet.has(i)) {
1817
1851
  return false;
1818
1852
  }
1819
- return isTypeSame(t, subtype, {}, recursionCount);
1853
+ return isTypeSame(t, subtype, options, recursionCount);
1820
1854
  });
1821
1855
  if (foundIndex < 0) {
1822
1856
  return false;
@@ -1912,18 +1946,19 @@ var TypeVarType;
1912
1946
  }
1913
1947
  TypeVarType.cloneAsInstantiable = cloneAsInstantiable;
1914
1948
  function cloneForNewName(type, name) {
1949
+ var _a;
1915
1950
  const newInstance = TypeBase.cloneType(type);
1916
1951
  newInstance.shared = { ...type.shared };
1917
1952
  newInstance.shared.name = name;
1918
1953
  if (newInstance.priv.scopeId) {
1919
- newInstance.priv.nameWithScope = makeNameWithScope(name, newInstance.priv.scopeId);
1954
+ newInstance.priv.nameWithScope = makeNameWithScope(name, newInstance.priv.scopeId, (_a = newInstance.priv.scopeName) !== null && _a !== void 0 ? _a : '');
1920
1955
  }
1921
1956
  return newInstance;
1922
1957
  }
1923
1958
  TypeVarType.cloneForNewName = cloneForNewName;
1924
1959
  function cloneForScopeId(type, scopeId, scopeName, scopeType) {
1925
1960
  const newInstance = TypeBase.cloneType(type);
1926
- newInstance.priv.nameWithScope = makeNameWithScope(type.shared.name, scopeId);
1961
+ newInstance.priv.nameWithScope = makeNameWithScope(type.shared.name, scopeId, scopeName !== null && scopeName !== void 0 ? scopeName : '');
1927
1962
  newInstance.priv.scopeId = scopeId;
1928
1963
  newInstance.priv.scopeName = scopeName;
1929
1964
  newInstance.priv.scopeType = scopeType;
@@ -2006,8 +2041,12 @@ var TypeVarType;
2006
2041
  return newInstance;
2007
2042
  }
2008
2043
  TypeVarType.cloneAsUnificationVar = cloneAsUnificationVar;
2009
- function makeNameWithScope(name, scopeId) {
2010
- return `${name}.${scopeId}`;
2044
+ function makeNameWithScope(name, scopeId, scopeName) {
2045
+ // We include the scopeName here even though it's normally already part
2046
+ // of the scopeId. There are cases where it can diverge, specifically
2047
+ // in scenarios involving higher-order functions that return generic
2048
+ // callable types. See adjustCallableReturnType for details.
2049
+ return `${name}.${scopeId}.${scopeName}`;
2011
2050
  }
2012
2051
  TypeVarType.makeNameWithScope = makeNameWithScope;
2013
2052
  function makeBoundScopeId(scopeId) {
@@ -2203,7 +2242,7 @@ function getTypeAliasInfo(type) {
2203
2242
  // type arguments for "pseudo-generic" classes (non-generic classes whose init
2204
2243
  // methods are not annotated and are therefore treated as generic) are ignored.
2205
2244
  function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
2206
- var _a, _b, _c, _d, _e, _f;
2245
+ var _a, _b, _c, _d, _e, _f, _g, _h;
2207
2246
  if (type1 === type2) {
2208
2247
  return true;
2209
2248
  }
@@ -2227,6 +2266,21 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
2227
2266
  return true;
2228
2267
  }
2229
2268
  recursionCount++;
2269
+ if (options.honorTypeForm) {
2270
+ const typeForm1 = (_a = type1.props) === null || _a === void 0 ? void 0 : _a.typeForm;
2271
+ const typeForm2 = (_b = type2.props) === null || _b === void 0 ? void 0 : _b.typeForm;
2272
+ if (typeForm1) {
2273
+ if (!typeForm2) {
2274
+ return false;
2275
+ }
2276
+ if (!isTypeSame(typeForm1, typeForm2, options, recursionCount)) {
2277
+ return false;
2278
+ }
2279
+ }
2280
+ else if (typeForm2) {
2281
+ return false;
2282
+ }
2283
+ }
2230
2284
  switch (type1.category) {
2231
2285
  case 6 /* TypeCategory.Class */: {
2232
2286
  const classType2 = type2;
@@ -2234,7 +2288,7 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
2234
2288
  if (!ClassType.isSameGenericClass(type1, classType2, recursionCount)) {
2235
2289
  return false;
2236
2290
  }
2237
- if (!options.ignoreConditions && !TypeCondition.isSame((_a = type1.props) === null || _a === void 0 ? void 0 : _a.condition, (_b = type2.props) === null || _b === void 0 ? void 0 : _b.condition)) {
2291
+ if (!options.ignoreConditions && !TypeCondition.isSame((_c = type1.props) === null || _c === void 0 ? void 0 : _c.condition, (_d = type2.props) === null || _d === void 0 ? void 0 : _d.condition)) {
2238
2292
  return false;
2239
2293
  }
2240
2294
  if (!options.ignorePseudoGeneric || !ClassType.isPseudoGenericClass(type1)) {
@@ -2374,7 +2428,7 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
2374
2428
  // The types do not have a particular order, so we need to
2375
2429
  // do the comparison in an order-independent manner.
2376
2430
  const exclusionSet = new Set();
2377
- return (findSubtype(type1, (subtype) => !UnionType.containsType(unionType2, subtype, exclusionSet, recursionCount)) === undefined);
2431
+ return (findSubtype(type1, (subtype) => !UnionType.containsType(unionType2, subtype, options, exclusionSet, recursionCount)) === undefined);
2378
2432
  }
2379
2433
  case 9 /* TypeCategory.TypeVar */: {
2380
2434
  const type2TypeVar = type2;
@@ -2384,8 +2438,8 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
2384
2438
  // Handle the case where this is a generic recursive type alias. Make
2385
2439
  // sure that the type argument types match.
2386
2440
  if (type1.shared.recursiveAlias && type2TypeVar.shared.recursiveAlias) {
2387
- const type1TypeArgs = ((_d = (_c = type1 === null || type1 === void 0 ? void 0 : type1.props) === null || _c === void 0 ? void 0 : _c.typeAliasInfo) === null || _d === void 0 ? void 0 : _d.typeArgs) || [];
2388
- const type2TypeArgs = ((_f = (_e = type2 === null || type2 === void 0 ? void 0 : type2.props) === null || _e === void 0 ? void 0 : _e.typeAliasInfo) === null || _f === void 0 ? void 0 : _f.typeArgs) || [];
2441
+ const type1TypeArgs = ((_f = (_e = type1 === null || type1 === void 0 ? void 0 : type1.props) === null || _e === void 0 ? void 0 : _e.typeAliasInfo) === null || _f === void 0 ? void 0 : _f.typeArgs) || [];
2442
+ const type2TypeArgs = ((_h = (_g = type2 === null || type2 === void 0 ? void 0 : type2.props) === null || _g === void 0 ? void 0 : _g.typeAliasInfo) === null || _h === void 0 ? void 0 : _h.typeArgs) || [];
2389
2443
  const typeArgCount = Math.max(type1TypeArgs.length, type2TypeArgs.length);
2390
2444
  for (let i = 0; i < typeArgCount; i++) {
2391
2445
  // Assume that missing type args are "Any".
@@ -2662,7 +2716,7 @@ function _addTypeIfUnique(unionType, typeToAdd, elideRedundantLiterals) {
2662
2716
  for (let i = 0; i < unionType.priv.subtypes.length; i++) {
2663
2717
  const type = unionType.priv.subtypes[i];
2664
2718
  // Does this type already exist in the types array?
2665
- if (isTypeSame(type, typeToAdd)) {
2719
+ if (isTypeSame(type, typeToAdd, { honorTypeForm: true })) {
2666
2720
  return;
2667
2721
  }
2668
2722
  // Handle the case where pseudo-generic classes with different
@@ -2672,7 +2726,7 @@ function _addTypeIfUnique(unionType, typeToAdd, elideRedundantLiterals) {
2672
2726
  // we can hit recursive cases (where a pseudo-generic class is
2673
2727
  // parameterized with its own class) ad infinitum.
2674
2728
  if (isPseudoGeneric) {
2675
- if (isTypeSame(type, typeToAdd, { ignorePseudoGeneric: true })) {
2729
+ if (isTypeSame(type, typeToAdd, { ignorePseudoGeneric: true, honorTypeForm: true })) {
2676
2730
  unionType.priv.subtypes[i] = ClassType.specialize(typeToAdd, typeToAdd.shared.typeParams.map(() => UnknownType.create()));
2677
2731
  return;
2678
2732
  }