@azure/ai-form-recognizer 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (849) hide show
  1. package/LICENSE +3 -3
  2. package/README.md +322 -340
  3. package/dist/browser/azureKeyCredentialPolicy.d.ts +8 -0
  4. package/dist/browser/azureKeyCredentialPolicy.d.ts.map +1 -0
  5. package/{dist-esm/src → dist/browser}/azureKeyCredentialPolicy.js +1 -1
  6. package/dist/browser/azureKeyCredentialPolicy.js.map +1 -0
  7. package/dist/browser/bin/defaultFields.d.ts +14 -0
  8. package/dist/browser/bin/defaultFields.d.ts.map +1 -0
  9. package/dist/browser/bin/defaultFields.js +83 -0
  10. package/dist/browser/bin/defaultFields.js.map +1 -0
  11. package/dist/browser/bin/gen-model.d.ts +3 -0
  12. package/dist/browser/bin/gen-model.d.ts.map +1 -0
  13. package/dist/browser/bin/gen-model.js +101 -0
  14. package/dist/browser/bin/gen-model.js.map +1 -0
  15. package/dist/browser/bin/utils.d.ts +22 -0
  16. package/dist/browser/bin/utils.d.ts.map +1 -0
  17. package/dist/browser/bin/utils.js +21 -0
  18. package/dist/browser/bin/utils.js.map +1 -0
  19. package/dist/browser/bin/writeModelCode.d.ts +9 -0
  20. package/dist/browser/bin/writeModelCode.d.ts.map +1 -0
  21. package/dist/browser/bin/writeModelCode.js +323 -0
  22. package/dist/browser/bin/writeModelCode.js.map +1 -0
  23. package/dist/browser/constants.d.ts +29 -0
  24. package/dist/browser/constants.d.ts.map +1 -0
  25. package/dist/browser/constants.js +32 -0
  26. package/dist/browser/constants.js.map +1 -0
  27. package/dist/browser/documentAnalysisClient.d.ts +485 -0
  28. package/dist/browser/documentAnalysisClient.d.ts.map +1 -0
  29. package/{dist-esm/src → dist/browser}/documentAnalysisClient.js +85 -47
  30. package/dist/browser/documentAnalysisClient.js.map +1 -0
  31. package/dist/browser/documentModel.d.ts +34 -0
  32. package/dist/browser/documentModel.d.ts.map +1 -0
  33. package/{dist-esm/src → dist/browser}/documentModel.js +3 -3
  34. package/dist/browser/documentModel.js.map +1 -0
  35. package/dist/browser/documentModelAdministrationClient.d.ts +792 -0
  36. package/dist/browser/documentModelAdministrationClient.d.ts.map +1 -0
  37. package/{dist-esm/src → dist/browser}/documentModelAdministrationClient.js +202 -92
  38. package/dist/browser/documentModelAdministrationClient.js.map +1 -0
  39. package/dist/browser/error.d.ts +31 -0
  40. package/dist/browser/error.d.ts.map +1 -0
  41. package/{dist-esm/src → dist/browser}/error.js +1 -1
  42. package/dist/browser/error.js.map +1 -0
  43. package/dist/browser/generated/generatedClient.d.ts +21 -0
  44. package/dist/browser/generated/generatedClient.d.ts.map +1 -0
  45. package/{dist-esm/src → dist/browser}/generated/generatedClient.js +2 -2
  46. package/dist/browser/generated/generatedClient.js.map +1 -0
  47. package/dist/browser/generated/index.d.ts +4 -0
  48. package/dist/browser/generated/index.d.ts.map +1 -0
  49. package/{dist-esm/src → dist/browser}/generated/index.js +3 -3
  50. package/dist/browser/generated/index.js.map +1 -0
  51. package/dist/browser/generated/models/index.d.ts +1208 -0
  52. package/dist/browser/generated/models/index.d.ts.map +1 -0
  53. package/dist/browser/generated/models/mappers.d.ts +67 -0
  54. package/dist/browser/generated/models/mappers.d.ts.map +1 -0
  55. package/dist/browser/generated/models/parameters.d.ts +31 -0
  56. package/dist/browser/generated/models/parameters.d.ts.map +1 -0
  57. package/{dist-esm/src → dist/browser}/generated/models/parameters.js +1 -1
  58. package/dist/browser/generated/models/parameters.js.map +1 -0
  59. package/dist/browser/generated/operations/documentClassifiers.d.ts +78 -0
  60. package/dist/browser/generated/operations/documentClassifiers.d.ts.map +1 -0
  61. package/{dist-esm/src → dist/browser}/generated/operations/documentClassifiers.js +5 -10
  62. package/dist/browser/generated/operations/documentClassifiers.js.map +1 -0
  63. package/dist/browser/generated/operations/documentModels.d.ts +98 -0
  64. package/dist/browser/generated/operations/documentModels.d.ts.map +1 -0
  65. package/{dist-esm/src → dist/browser}/generated/operations/documentModels.js +5 -10
  66. package/dist/browser/generated/operations/documentModels.js.map +1 -0
  67. package/dist/browser/generated/operations/index.d.ts +4 -0
  68. package/dist/browser/generated/operations/index.d.ts.map +1 -0
  69. package/{dist-esm/src/generated/operationsInterfaces → dist/browser/generated/operations}/index.js +3 -3
  70. package/{dist-esm/src → dist/browser}/generated/operations/index.js.map +1 -1
  71. package/dist/browser/generated/operations/miscellaneous.d.ts +43 -0
  72. package/dist/browser/generated/operations/miscellaneous.d.ts.map +1 -0
  73. package/{dist-esm/src → dist/browser}/generated/operations/miscellaneous.js +5 -10
  74. package/dist/browser/generated/operations/miscellaneous.js.map +1 -0
  75. package/dist/browser/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  76. package/dist/browser/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  77. package/dist/browser/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  78. package/dist/browser/generated/operationsInterfaces/documentModels.d.ts +69 -0
  79. package/dist/browser/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  80. package/dist/browser/generated/operationsInterfaces/documentModels.js.map +1 -0
  81. package/dist/browser/generated/operationsInterfaces/index.d.ts +4 -0
  82. package/dist/browser/generated/operationsInterfaces/index.d.ts.map +1 -0
  83. package/dist/browser/generated/operationsInterfaces/index.js +11 -0
  84. package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/index.js.map +1 -1
  85. package/dist/browser/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  86. package/dist/browser/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  87. package/dist/browser/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  88. package/dist/browser/index.d.ts +18 -0
  89. package/dist/browser/index.d.ts.map +1 -0
  90. package/{dist-esm/src → dist/browser}/index.js +8 -7
  91. package/dist/browser/index.js.map +1 -0
  92. package/dist/browser/lro/administration.d.ts +101 -0
  93. package/dist/browser/lro/administration.d.ts.map +1 -0
  94. package/{dist-esm/src → dist/browser}/lro/administration.js +2 -2
  95. package/dist/browser/lro/administration.js.map +1 -0
  96. package/dist/browser/lro/analysis.d.ts +210 -0
  97. package/dist/browser/lro/analysis.d.ts.map +1 -0
  98. package/{dist-esm/src → dist/browser}/lro/analysis.js +5 -5
  99. package/dist/browser/lro/analysis.js.map +1 -0
  100. package/dist/browser/lro/util/delayMs.d.ts +32 -0
  101. package/dist/browser/lro/util/delayMs.d.ts.map +1 -0
  102. package/{dist-esm/src → dist/browser}/lro/util/delayMs.js +3 -3
  103. package/dist/browser/lro/util/delayMs.js.map +1 -0
  104. package/dist/browser/lro/util/poller.d.ts +41 -0
  105. package/dist/browser/lro/util/poller.d.ts.map +1 -0
  106. package/{dist-esm/src → dist/browser}/lro/util/poller.js +2 -2
  107. package/dist/browser/lro/util/poller.js.map +1 -0
  108. package/dist/browser/models/contentSource.d.ts +56 -0
  109. package/dist/browser/models/contentSource.d.ts.map +1 -0
  110. package/dist/browser/models/contentSource.js +4 -0
  111. package/dist/browser/models/contentSource.js.map +1 -0
  112. package/dist/browser/models/documentElements.d.ts +210 -0
  113. package/dist/browser/models/documentElements.d.ts.map +1 -0
  114. package/dist/browser/models/documentElements.js +4 -0
  115. package/dist/browser/models/documentElements.js.map +1 -0
  116. package/dist/browser/models/fields.d.ts +205 -0
  117. package/dist/browser/models/fields.d.ts.map +1 -0
  118. package/{dist-esm/src → dist/browser}/models/fields.js +3 -3
  119. package/{dist-esm/src → dist/browser}/models/fields.js.map +1 -1
  120. package/dist/browser/models/index.d.ts +4 -0
  121. package/dist/browser/models/index.d.ts.map +1 -0
  122. package/dist/browser/models/index.js +4 -0
  123. package/dist/browser/models/index.js.map +1 -0
  124. package/dist/browser/options/AnalyzeDocumentOptions.d.ts +69 -0
  125. package/dist/browser/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  126. package/{dist-esm/src → dist/browser}/options/AnalyzeDocumentOptions.js +1 -1
  127. package/dist/browser/options/AnalyzeDocumentOptions.js.map +1 -0
  128. package/dist/browser/options/BeginCopyModelOptions.d.ts +9 -0
  129. package/dist/browser/options/BeginCopyModelOptions.d.ts.map +1 -0
  130. package/dist/browser/options/BeginCopyModelOptions.js +4 -0
  131. package/dist/browser/options/BeginCopyModelOptions.js.map +1 -0
  132. package/dist/browser/options/BuildDocumentClassifierOptions.d.ts +13 -0
  133. package/dist/browser/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  134. package/dist/browser/options/BuildDocumentClassifierOptions.js +4 -0
  135. package/dist/browser/options/BuildDocumentClassifierOptions.js.map +1 -0
  136. package/dist/browser/options/BuildModelOptions.d.ts +61 -0
  137. package/dist/browser/options/BuildModelOptions.d.ts.map +1 -0
  138. package/{dist-esm/src → dist/browser}/options/BuildModelOptions.js +1 -1
  139. package/dist/browser/options/BuildModelOptions.js.map +1 -0
  140. package/dist/browser/options/ClassifyDocumentOptions.d.ts +9 -0
  141. package/dist/browser/options/ClassifyDocumentOptions.d.ts.map +1 -0
  142. package/dist/browser/options/ClassifyDocumentOptions.js +4 -0
  143. package/dist/browser/options/ClassifyDocumentOptions.js.map +1 -0
  144. package/dist/browser/options/DeleteModelOptions.d.ts +7 -0
  145. package/dist/browser/options/DeleteModelOptions.d.ts.map +1 -0
  146. package/dist/browser/options/DeleteModelOptions.js +4 -0
  147. package/dist/browser/options/DeleteModelOptions.js.map +1 -0
  148. package/dist/browser/options/FormRecognizerClientOptions.d.ts +70 -0
  149. package/dist/browser/options/FormRecognizerClientOptions.d.ts.map +1 -0
  150. package/{dist-esm/src → dist/browser}/options/FormRecognizerClientOptions.js +1 -1
  151. package/dist/browser/options/FormRecognizerClientOptions.js.map +1 -0
  152. package/dist/browser/options/GetCopyAuthorizationOptions.d.ts +8 -0
  153. package/dist/browser/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  154. package/dist/browser/options/GetCopyAuthorizationOptions.js +4 -0
  155. package/dist/browser/options/GetCopyAuthorizationOptions.js.map +1 -0
  156. package/dist/browser/options/GetModelOptions.d.ts +7 -0
  157. package/dist/browser/options/GetModelOptions.d.ts.map +1 -0
  158. package/dist/browser/options/GetModelOptions.js +4 -0
  159. package/dist/browser/options/GetModelOptions.js.map +1 -0
  160. package/dist/browser/options/GetOperationOptions.d.ts +7 -0
  161. package/dist/browser/options/GetOperationOptions.d.ts.map +1 -0
  162. package/dist/browser/options/GetOperationOptions.js +4 -0
  163. package/dist/browser/options/GetOperationOptions.js.map +1 -0
  164. package/dist/browser/options/GetResourceDetailsOptions.d.ts +7 -0
  165. package/dist/browser/options/GetResourceDetailsOptions.d.ts.map +1 -0
  166. package/dist/browser/options/GetResourceDetailsOptions.js +4 -0
  167. package/{dist-esm/src → dist/browser}/options/GetResourceDetailsOptions.js.map +1 -1
  168. package/dist/browser/options/ListModelsOptions.d.ts +7 -0
  169. package/dist/browser/options/ListModelsOptions.d.ts.map +1 -0
  170. package/dist/browser/options/ListModelsOptions.js +4 -0
  171. package/dist/browser/options/ListModelsOptions.js.map +1 -0
  172. package/dist/browser/options/ListOperationsOptions.d.ts +7 -0
  173. package/dist/browser/options/ListOperationsOptions.d.ts.map +1 -0
  174. package/dist/browser/options/ListOperationsOptions.js +4 -0
  175. package/{dist-esm/src → dist/browser}/options/ListOperationsOptions.js.map +1 -1
  176. package/dist/browser/options/PollerOptions.d.ts +22 -0
  177. package/dist/browser/options/PollerOptions.d.ts.map +1 -0
  178. package/dist/browser/options/PollerOptions.js +4 -0
  179. package/dist/browser/options/PollerOptions.js.map +1 -0
  180. package/dist/browser/options/index.d.ts +16 -0
  181. package/dist/browser/options/index.d.ts.map +1 -0
  182. package/dist/browser/options/index.js +7 -0
  183. package/dist/browser/options/index.js.map +1 -0
  184. package/dist/browser/package.json +3 -0
  185. package/dist/browser/transforms/polygon.d.ts +20 -0
  186. package/dist/browser/transforms/polygon.d.ts.map +1 -0
  187. package/{dist-esm/src → dist/browser}/transforms/polygon.js +1 -1
  188. package/dist/browser/transforms/polygon.js.map +1 -0
  189. package/dist/browser/util.d.ts +33 -0
  190. package/dist/browser/util.d.ts.map +1 -0
  191. package/{dist-esm/src → dist/browser}/util.js +12 -7
  192. package/dist/browser/util.js.map +1 -0
  193. package/dist/commonjs/azureKeyCredentialPolicy.d.ts +8 -0
  194. package/dist/commonjs/azureKeyCredentialPolicy.d.ts.map +1 -0
  195. package/dist/commonjs/azureKeyCredentialPolicy.js +20 -0
  196. package/dist/commonjs/azureKeyCredentialPolicy.js.map +1 -0
  197. package/dist/commonjs/bin/defaultFields.d.ts +14 -0
  198. package/dist/commonjs/bin/defaultFields.d.ts.map +1 -0
  199. package/dist/commonjs/bin/defaultFields.js +87 -0
  200. package/dist/commonjs/bin/defaultFields.js.map +1 -0
  201. package/dist/commonjs/bin/gen-model.d.ts +3 -0
  202. package/dist/commonjs/bin/gen-model.d.ts.map +1 -0
  203. package/dist/commonjs/bin/gen-model.js +103 -0
  204. package/dist/commonjs/bin/gen-model.js.map +1 -0
  205. package/dist/commonjs/bin/utils.d.ts +22 -0
  206. package/dist/commonjs/bin/utils.d.ts.map +1 -0
  207. package/dist/commonjs/bin/utils.js +26 -0
  208. package/dist/commonjs/bin/utils.js.map +1 -0
  209. package/dist/commonjs/bin/writeModelCode.d.ts +9 -0
  210. package/dist/commonjs/bin/writeModelCode.d.ts.map +1 -0
  211. package/dist/commonjs/bin/writeModelCode.js +326 -0
  212. package/dist/commonjs/bin/writeModelCode.js.map +1 -0
  213. package/dist/commonjs/constants.d.ts +29 -0
  214. package/dist/commonjs/constants.d.ts.map +1 -0
  215. package/dist/commonjs/constants.js +35 -0
  216. package/dist/commonjs/constants.js.map +1 -0
  217. package/dist/commonjs/documentAnalysisClient.d.ts +485 -0
  218. package/dist/commonjs/documentAnalysisClient.d.ts.map +1 -0
  219. package/dist/commonjs/documentAnalysisClient.js +351 -0
  220. package/dist/commonjs/documentAnalysisClient.js.map +1 -0
  221. package/dist/commonjs/documentModel.d.ts +34 -0
  222. package/dist/commonjs/documentModel.d.ts.map +1 -0
  223. package/dist/commonjs/documentModel.js +76 -0
  224. package/dist/commonjs/documentModel.js.map +1 -0
  225. package/dist/commonjs/documentModelAdministrationClient.d.ts +792 -0
  226. package/dist/commonjs/documentModelAdministrationClient.d.ts.map +1 -0
  227. package/dist/commonjs/documentModelAdministrationClient.js +763 -0
  228. package/dist/commonjs/documentModelAdministrationClient.js.map +1 -0
  229. package/dist/commonjs/error.d.ts +31 -0
  230. package/dist/commonjs/error.d.ts.map +1 -0
  231. package/dist/commonjs/error.js +43 -0
  232. package/dist/commonjs/error.js.map +1 -0
  233. package/dist/commonjs/generated/generatedClient.d.ts +21 -0
  234. package/dist/commonjs/generated/generatedClient.d.ts.map +1 -0
  235. package/dist/commonjs/generated/generatedClient.js +94 -0
  236. package/dist/commonjs/generated/generatedClient.js.map +1 -0
  237. package/dist/commonjs/generated/index.d.ts +4 -0
  238. package/dist/commonjs/generated/index.d.ts.map +1 -0
  239. package/dist/commonjs/generated/index.js +17 -0
  240. package/dist/commonjs/generated/index.js.map +1 -0
  241. package/dist/commonjs/generated/models/index.d.ts +1208 -0
  242. package/dist/commonjs/generated/models/index.d.ts.map +1 -0
  243. package/dist/commonjs/generated/models/index.js +207 -0
  244. package/dist/commonjs/generated/models/index.js.map +1 -0
  245. package/dist/commonjs/generated/models/mappers.d.ts +67 -0
  246. package/dist/commonjs/generated/models/mappers.d.ts.map +1 -0
  247. package/dist/commonjs/generated/models/mappers.js +2505 -0
  248. package/dist/commonjs/generated/models/mappers.js.map +1 -0
  249. package/dist/commonjs/generated/models/parameters.d.ts +31 -0
  250. package/dist/commonjs/generated/models/parameters.d.ts.map +1 -0
  251. package/dist/commonjs/generated/models/parameters.js +294 -0
  252. package/dist/commonjs/generated/models/parameters.js.map +1 -0
  253. package/dist/commonjs/generated/operations/documentClassifiers.d.ts +78 -0
  254. package/dist/commonjs/generated/operations/documentClassifiers.d.ts.map +1 -0
  255. package/dist/commonjs/generated/operations/documentClassifiers.js +334 -0
  256. package/dist/commonjs/generated/operations/documentClassifiers.js.map +1 -0
  257. package/dist/commonjs/generated/operations/documentModels.d.ts +98 -0
  258. package/dist/commonjs/generated/operations/documentModels.d.ts.map +1 -0
  259. package/dist/commonjs/generated/operations/documentModels.js +428 -0
  260. package/dist/commonjs/generated/operations/documentModels.js.map +1 -0
  261. package/dist/commonjs/generated/operations/index.d.ts +4 -0
  262. package/dist/commonjs/generated/operations/index.d.ts.map +1 -0
  263. package/dist/commonjs/generated/operations/index.js +14 -0
  264. package/dist/commonjs/generated/operations/index.js.map +1 -0
  265. package/dist/commonjs/generated/operations/miscellaneous.d.ts +43 -0
  266. package/dist/commonjs/generated/operations/miscellaneous.d.ts.map +1 -0
  267. package/dist/commonjs/generated/operations/miscellaneous.js +173 -0
  268. package/dist/commonjs/generated/operations/miscellaneous.js.map +1 -0
  269. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  270. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  271. package/{dist-esm/src/generated/operations/index.js → dist/commonjs/generated/operationsInterfaces/documentClassifiers.js} +3 -4
  272. package/dist/commonjs/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  273. package/dist/commonjs/generated/operationsInterfaces/documentModels.d.ts +69 -0
  274. package/dist/commonjs/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  275. package/dist/commonjs/generated/operationsInterfaces/documentModels.js +10 -0
  276. package/dist/commonjs/generated/operationsInterfaces/documentModels.js.map +1 -0
  277. package/dist/commonjs/generated/operationsInterfaces/index.d.ts +4 -0
  278. package/dist/commonjs/generated/operationsInterfaces/index.d.ts.map +1 -0
  279. package/dist/commonjs/generated/operationsInterfaces/index.js +14 -0
  280. package/dist/commonjs/generated/operationsInterfaces/index.js.map +1 -0
  281. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  282. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  283. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.js +10 -0
  284. package/dist/commonjs/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  285. package/dist/commonjs/index.d.ts +18 -0
  286. package/dist/commonjs/index.d.ts.map +1 -0
  287. package/dist/commonjs/index.js +38 -0
  288. package/dist/commonjs/index.js.map +1 -0
  289. package/dist/commonjs/lro/administration.d.ts +101 -0
  290. package/dist/commonjs/lro/administration.d.ts.map +1 -0
  291. package/dist/commonjs/lro/administration.js +32 -0
  292. package/dist/commonjs/lro/administration.js.map +1 -0
  293. package/dist/commonjs/lro/analysis.d.ts +210 -0
  294. package/dist/commonjs/lro/analysis.d.ts.map +1 -0
  295. package/dist/commonjs/lro/analysis.js +186 -0
  296. package/dist/commonjs/lro/analysis.js.map +1 -0
  297. package/dist/commonjs/lro/util/delayMs.d.ts +32 -0
  298. package/dist/commonjs/lro/util/delayMs.d.ts.map +1 -0
  299. package/dist/commonjs/lro/util/delayMs.js +55 -0
  300. package/dist/commonjs/lro/util/delayMs.js.map +1 -0
  301. package/dist/commonjs/lro/util/poller.d.ts +41 -0
  302. package/dist/commonjs/lro/util/poller.d.ts.map +1 -0
  303. package/dist/commonjs/lro/util/poller.js +87 -0
  304. package/dist/commonjs/lro/util/poller.js.map +1 -0
  305. package/dist/commonjs/models/contentSource.d.ts +56 -0
  306. package/dist/commonjs/models/contentSource.d.ts.map +1 -0
  307. package/dist/commonjs/models/contentSource.js +5 -0
  308. package/dist/commonjs/models/contentSource.js.map +1 -0
  309. package/dist/commonjs/models/documentElements.d.ts +210 -0
  310. package/dist/commonjs/models/documentElements.d.ts.map +1 -0
  311. package/dist/commonjs/models/documentElements.js +5 -0
  312. package/dist/commonjs/models/documentElements.js.map +1 -0
  313. package/dist/commonjs/models/fields.d.ts +205 -0
  314. package/dist/commonjs/models/fields.d.ts.map +1 -0
  315. package/dist/commonjs/models/fields.js +59 -0
  316. package/dist/commonjs/models/fields.js.map +1 -0
  317. package/dist/commonjs/models/index.d.ts +4 -0
  318. package/dist/commonjs/models/index.d.ts.map +1 -0
  319. package/dist/commonjs/models/index.js +5 -0
  320. package/dist/commonjs/models/index.js.map +1 -0
  321. package/dist/commonjs/options/AnalyzeDocumentOptions.d.ts +69 -0
  322. package/dist/commonjs/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  323. package/dist/commonjs/options/AnalyzeDocumentOptions.js +36 -0
  324. package/dist/commonjs/options/AnalyzeDocumentOptions.js.map +1 -0
  325. package/dist/commonjs/options/BeginCopyModelOptions.d.ts +9 -0
  326. package/dist/commonjs/options/BeginCopyModelOptions.d.ts.map +1 -0
  327. package/dist/commonjs/options/BeginCopyModelOptions.js +5 -0
  328. package/dist/commonjs/options/BeginCopyModelOptions.js.map +1 -0
  329. package/dist/commonjs/options/BuildDocumentClassifierOptions.d.ts +13 -0
  330. package/dist/commonjs/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  331. package/dist/commonjs/options/BuildDocumentClassifierOptions.js +5 -0
  332. package/dist/commonjs/options/BuildDocumentClassifierOptions.js.map +1 -0
  333. package/dist/commonjs/options/BuildModelOptions.d.ts +61 -0
  334. package/dist/commonjs/options/BuildModelOptions.d.ts.map +1 -0
  335. package/dist/commonjs/options/BuildModelOptions.js +22 -0
  336. package/dist/commonjs/options/BuildModelOptions.js.map +1 -0
  337. package/dist/commonjs/options/ClassifyDocumentOptions.d.ts +9 -0
  338. package/dist/commonjs/options/ClassifyDocumentOptions.d.ts.map +1 -0
  339. package/dist/commonjs/options/ClassifyDocumentOptions.js +5 -0
  340. package/dist/commonjs/options/ClassifyDocumentOptions.js.map +1 -0
  341. package/dist/commonjs/options/DeleteModelOptions.d.ts +7 -0
  342. package/dist/commonjs/options/DeleteModelOptions.d.ts.map +1 -0
  343. package/dist/commonjs/options/DeleteModelOptions.js +5 -0
  344. package/dist/commonjs/options/DeleteModelOptions.js.map +1 -0
  345. package/dist/commonjs/options/FormRecognizerClientOptions.d.ts +70 -0
  346. package/dist/commonjs/options/FormRecognizerClientOptions.d.ts.map +1 -0
  347. package/dist/commonjs/options/FormRecognizerClientOptions.js +28 -0
  348. package/dist/commonjs/options/FormRecognizerClientOptions.js.map +1 -0
  349. package/dist/commonjs/options/GetCopyAuthorizationOptions.d.ts +8 -0
  350. package/dist/commonjs/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  351. package/dist/commonjs/options/GetCopyAuthorizationOptions.js +5 -0
  352. package/dist/commonjs/options/GetCopyAuthorizationOptions.js.map +1 -0
  353. package/dist/commonjs/options/GetModelOptions.d.ts +7 -0
  354. package/dist/commonjs/options/GetModelOptions.d.ts.map +1 -0
  355. package/dist/commonjs/options/GetModelOptions.js +5 -0
  356. package/dist/commonjs/options/GetModelOptions.js.map +1 -0
  357. package/dist/commonjs/options/GetOperationOptions.d.ts +7 -0
  358. package/dist/commonjs/options/GetOperationOptions.d.ts.map +1 -0
  359. package/dist/commonjs/options/GetOperationOptions.js +5 -0
  360. package/dist/commonjs/options/GetOperationOptions.js.map +1 -0
  361. package/dist/commonjs/options/GetResourceDetailsOptions.d.ts +7 -0
  362. package/dist/commonjs/options/GetResourceDetailsOptions.d.ts.map +1 -0
  363. package/dist/commonjs/options/GetResourceDetailsOptions.js +5 -0
  364. package/dist/commonjs/options/GetResourceDetailsOptions.js.map +1 -0
  365. package/dist/commonjs/options/ListModelsOptions.d.ts +7 -0
  366. package/dist/commonjs/options/ListModelsOptions.d.ts.map +1 -0
  367. package/dist/commonjs/options/ListModelsOptions.js +5 -0
  368. package/dist/commonjs/options/ListModelsOptions.js.map +1 -0
  369. package/dist/commonjs/options/ListOperationsOptions.d.ts +7 -0
  370. package/dist/commonjs/options/ListOperationsOptions.d.ts.map +1 -0
  371. package/dist/commonjs/options/ListOperationsOptions.js +5 -0
  372. package/dist/commonjs/options/ListOperationsOptions.js.map +1 -0
  373. package/dist/commonjs/options/PollerOptions.d.ts +22 -0
  374. package/dist/commonjs/options/PollerOptions.d.ts.map +1 -0
  375. package/dist/commonjs/options/PollerOptions.js +5 -0
  376. package/dist/commonjs/options/PollerOptions.js.map +1 -0
  377. package/dist/commonjs/options/index.d.ts +16 -0
  378. package/dist/commonjs/options/index.d.ts.map +1 -0
  379. package/dist/commonjs/options/index.js +12 -0
  380. package/dist/commonjs/options/index.js.map +1 -0
  381. package/dist/commonjs/package.json +3 -0
  382. package/dist/commonjs/transforms/polygon.d.ts +20 -0
  383. package/dist/commonjs/transforms/polygon.d.ts.map +1 -0
  384. package/dist/commonjs/transforms/polygon.js +32 -0
  385. package/dist/commonjs/transforms/polygon.js.map +1 -0
  386. package/dist/commonjs/tsdoc-metadata.json +11 -0
  387. package/dist/commonjs/util.d.ts +33 -0
  388. package/dist/commonjs/util.d.ts.map +1 -0
  389. package/dist/commonjs/util.js +65 -0
  390. package/dist/commonjs/util.js.map +1 -0
  391. package/dist/esm/azureKeyCredentialPolicy.d.ts +8 -0
  392. package/dist/esm/azureKeyCredentialPolicy.d.ts.map +1 -0
  393. package/dist/esm/azureKeyCredentialPolicy.js +17 -0
  394. package/dist/esm/azureKeyCredentialPolicy.js.map +1 -0
  395. package/dist/esm/bin/defaultFields.d.ts +14 -0
  396. package/dist/esm/bin/defaultFields.d.ts.map +1 -0
  397. package/dist/esm/bin/defaultFields.js +83 -0
  398. package/dist/esm/bin/defaultFields.js.map +1 -0
  399. package/dist/esm/bin/gen-model.d.ts +3 -0
  400. package/dist/esm/bin/gen-model.d.ts.map +1 -0
  401. package/dist/esm/bin/gen-model.js +101 -0
  402. package/dist/esm/bin/gen-model.js.map +1 -0
  403. package/dist/esm/bin/utils.d.ts +22 -0
  404. package/dist/esm/bin/utils.d.ts.map +1 -0
  405. package/dist/esm/bin/utils.js +21 -0
  406. package/dist/esm/bin/utils.js.map +1 -0
  407. package/dist/esm/bin/writeModelCode.d.ts +9 -0
  408. package/dist/esm/bin/writeModelCode.d.ts.map +1 -0
  409. package/dist/esm/bin/writeModelCode.js +323 -0
  410. package/dist/esm/bin/writeModelCode.js.map +1 -0
  411. package/dist/esm/constants.d.ts +29 -0
  412. package/dist/esm/constants.d.ts.map +1 -0
  413. package/dist/esm/constants.js +32 -0
  414. package/dist/esm/constants.js.map +1 -0
  415. package/dist/esm/documentAnalysisClient.d.ts +485 -0
  416. package/dist/esm/documentAnalysisClient.d.ts.map +1 -0
  417. package/dist/esm/documentAnalysisClient.js +347 -0
  418. package/dist/esm/documentAnalysisClient.js.map +1 -0
  419. package/dist/esm/documentModel.d.ts +34 -0
  420. package/dist/esm/documentModel.d.ts.map +1 -0
  421. package/dist/esm/documentModel.js +73 -0
  422. package/dist/esm/documentModel.js.map +1 -0
  423. package/dist/esm/documentModelAdministrationClient.d.ts +792 -0
  424. package/dist/esm/documentModelAdministrationClient.d.ts.map +1 -0
  425. package/dist/esm/documentModelAdministrationClient.js +759 -0
  426. package/dist/esm/documentModelAdministrationClient.js.map +1 -0
  427. package/dist/esm/error.d.ts +31 -0
  428. package/dist/esm/error.d.ts.map +1 -0
  429. package/dist/esm/error.js +39 -0
  430. package/dist/esm/error.js.map +1 -0
  431. package/dist/esm/generated/generatedClient.d.ts +21 -0
  432. package/dist/esm/generated/generatedClient.d.ts.map +1 -0
  433. package/dist/esm/generated/generatedClient.js +89 -0
  434. package/dist/esm/generated/generatedClient.js.map +1 -0
  435. package/dist/esm/generated/index.d.ts +4 -0
  436. package/dist/esm/generated/index.d.ts.map +1 -0
  437. package/dist/esm/generated/index.js +12 -0
  438. package/dist/esm/generated/index.js.map +1 -0
  439. package/dist/esm/generated/models/index.d.ts +1208 -0
  440. package/dist/esm/generated/models/index.d.ts.map +1 -0
  441. package/dist/esm/generated/models/index.js +204 -0
  442. package/dist/esm/generated/models/index.js.map +1 -0
  443. package/dist/esm/generated/models/mappers.d.ts +67 -0
  444. package/dist/esm/generated/models/mappers.d.ts.map +1 -0
  445. package/dist/esm/generated/models/mappers.js +2501 -0
  446. package/dist/esm/generated/models/mappers.js.map +1 -0
  447. package/dist/esm/generated/models/parameters.d.ts +31 -0
  448. package/dist/esm/generated/models/parameters.d.ts.map +1 -0
  449. package/dist/esm/generated/models/parameters.js +291 -0
  450. package/dist/esm/generated/models/parameters.js.map +1 -0
  451. package/dist/esm/generated/operations/documentClassifiers.d.ts +78 -0
  452. package/dist/esm/generated/operations/documentClassifiers.d.ts.map +1 -0
  453. package/dist/esm/generated/operations/documentClassifiers.js +330 -0
  454. package/dist/esm/generated/operations/documentClassifiers.js.map +1 -0
  455. package/dist/esm/generated/operations/documentModels.d.ts +98 -0
  456. package/dist/esm/generated/operations/documentModels.d.ts.map +1 -0
  457. package/dist/esm/generated/operations/documentModels.js +424 -0
  458. package/dist/esm/generated/operations/documentModels.js.map +1 -0
  459. package/dist/esm/generated/operations/index.d.ts +4 -0
  460. package/dist/esm/generated/operations/index.d.ts.map +1 -0
  461. package/dist/esm/generated/operations/index.js +11 -0
  462. package/dist/esm/generated/operations/index.js.map +1 -0
  463. package/dist/esm/generated/operations/miscellaneous.d.ts +43 -0
  464. package/dist/esm/generated/operations/miscellaneous.d.ts.map +1 -0
  465. package/dist/esm/generated/operations/miscellaneous.js +169 -0
  466. package/dist/esm/generated/operations/miscellaneous.js.map +1 -0
  467. package/dist/esm/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  468. package/dist/esm/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  469. package/dist/esm/generated/operationsInterfaces/documentClassifiers.js +9 -0
  470. package/dist/esm/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  471. package/dist/esm/generated/operationsInterfaces/documentModels.d.ts +69 -0
  472. package/dist/esm/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  473. package/dist/esm/generated/operationsInterfaces/documentModels.js +9 -0
  474. package/dist/esm/generated/operationsInterfaces/documentModels.js.map +1 -0
  475. package/dist/esm/generated/operationsInterfaces/index.d.ts +4 -0
  476. package/dist/esm/generated/operationsInterfaces/index.d.ts.map +1 -0
  477. package/dist/esm/generated/operationsInterfaces/index.js +11 -0
  478. package/dist/esm/generated/operationsInterfaces/index.js.map +1 -0
  479. package/dist/esm/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  480. package/dist/esm/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  481. package/dist/esm/generated/operationsInterfaces/miscellaneous.js +9 -0
  482. package/dist/esm/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  483. package/dist/esm/index.d.ts +18 -0
  484. package/dist/esm/index.d.ts.map +1 -0
  485. package/dist/esm/index.js +19 -0
  486. package/dist/esm/index.js.map +1 -0
  487. package/dist/esm/lro/administration.d.ts +101 -0
  488. package/dist/esm/lro/administration.d.ts.map +1 -0
  489. package/dist/esm/lro/administration.js +29 -0
  490. package/dist/esm/lro/administration.js.map +1 -0
  491. package/dist/esm/lro/analysis.d.ts +210 -0
  492. package/dist/esm/lro/analysis.d.ts.map +1 -0
  493. package/dist/esm/lro/analysis.js +175 -0
  494. package/dist/esm/lro/analysis.js.map +1 -0
  495. package/dist/esm/lro/util/delayMs.d.ts +32 -0
  496. package/dist/esm/lro/util/delayMs.d.ts.map +1 -0
  497. package/dist/esm/lro/util/delayMs.js +52 -0
  498. package/dist/esm/lro/util/delayMs.js.map +1 -0
  499. package/dist/esm/lro/util/poller.d.ts +41 -0
  500. package/dist/esm/lro/util/poller.d.ts.map +1 -0
  501. package/dist/esm/lro/util/poller.js +84 -0
  502. package/dist/esm/lro/util/poller.js.map +1 -0
  503. package/dist/esm/models/contentSource.d.ts +56 -0
  504. package/dist/esm/models/contentSource.d.ts.map +1 -0
  505. package/dist/esm/models/contentSource.js +4 -0
  506. package/dist/esm/models/contentSource.js.map +1 -0
  507. package/dist/esm/models/documentElements.d.ts +210 -0
  508. package/dist/esm/models/documentElements.d.ts.map +1 -0
  509. package/dist/esm/models/documentElements.js +4 -0
  510. package/dist/esm/models/documentElements.js.map +1 -0
  511. package/dist/esm/models/fields.d.ts +205 -0
  512. package/dist/esm/models/fields.d.ts.map +1 -0
  513. package/dist/esm/models/fields.js +55 -0
  514. package/dist/esm/models/fields.js.map +1 -0
  515. package/dist/esm/models/index.d.ts +4 -0
  516. package/dist/esm/models/index.d.ts.map +1 -0
  517. package/dist/esm/models/index.js +4 -0
  518. package/dist/esm/models/index.js.map +1 -0
  519. package/dist/esm/options/AnalyzeDocumentOptions.d.ts +69 -0
  520. package/dist/esm/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  521. package/dist/esm/options/AnalyzeDocumentOptions.js +33 -0
  522. package/dist/esm/options/AnalyzeDocumentOptions.js.map +1 -0
  523. package/dist/esm/options/BeginCopyModelOptions.d.ts +9 -0
  524. package/dist/esm/options/BeginCopyModelOptions.d.ts.map +1 -0
  525. package/dist/esm/options/BeginCopyModelOptions.js +4 -0
  526. package/dist/esm/options/BeginCopyModelOptions.js.map +1 -0
  527. package/dist/esm/options/BuildDocumentClassifierOptions.d.ts +13 -0
  528. package/dist/esm/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  529. package/dist/esm/options/BuildDocumentClassifierOptions.js +4 -0
  530. package/dist/esm/options/BuildDocumentClassifierOptions.js.map +1 -0
  531. package/dist/esm/options/BuildModelOptions.d.ts +61 -0
  532. package/dist/esm/options/BuildModelOptions.d.ts.map +1 -0
  533. package/dist/esm/options/BuildModelOptions.js +19 -0
  534. package/dist/esm/options/BuildModelOptions.js.map +1 -0
  535. package/dist/esm/options/ClassifyDocumentOptions.d.ts +9 -0
  536. package/dist/esm/options/ClassifyDocumentOptions.d.ts.map +1 -0
  537. package/dist/esm/options/ClassifyDocumentOptions.js +4 -0
  538. package/dist/esm/options/ClassifyDocumentOptions.js.map +1 -0
  539. package/dist/esm/options/DeleteModelOptions.d.ts +7 -0
  540. package/dist/esm/options/DeleteModelOptions.d.ts.map +1 -0
  541. package/dist/esm/options/DeleteModelOptions.js +4 -0
  542. package/dist/esm/options/DeleteModelOptions.js.map +1 -0
  543. package/dist/esm/options/FormRecognizerClientOptions.d.ts +70 -0
  544. package/dist/esm/options/FormRecognizerClientOptions.d.ts.map +1 -0
  545. package/dist/esm/options/FormRecognizerClientOptions.js +25 -0
  546. package/dist/esm/options/FormRecognizerClientOptions.js.map +1 -0
  547. package/dist/esm/options/GetCopyAuthorizationOptions.d.ts +8 -0
  548. package/dist/esm/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  549. package/dist/esm/options/GetCopyAuthorizationOptions.js +4 -0
  550. package/dist/esm/options/GetCopyAuthorizationOptions.js.map +1 -0
  551. package/dist/esm/options/GetModelOptions.d.ts +7 -0
  552. package/dist/esm/options/GetModelOptions.d.ts.map +1 -0
  553. package/dist/esm/options/GetModelOptions.js +4 -0
  554. package/dist/esm/options/GetModelOptions.js.map +1 -0
  555. package/dist/esm/options/GetOperationOptions.d.ts +7 -0
  556. package/dist/esm/options/GetOperationOptions.d.ts.map +1 -0
  557. package/dist/esm/options/GetOperationOptions.js +4 -0
  558. package/dist/esm/options/GetOperationOptions.js.map +1 -0
  559. package/dist/esm/options/GetResourceDetailsOptions.d.ts +7 -0
  560. package/dist/esm/options/GetResourceDetailsOptions.d.ts.map +1 -0
  561. package/dist/esm/options/GetResourceDetailsOptions.js +4 -0
  562. package/dist/esm/options/GetResourceDetailsOptions.js.map +1 -0
  563. package/dist/esm/options/ListModelsOptions.d.ts +7 -0
  564. package/dist/esm/options/ListModelsOptions.d.ts.map +1 -0
  565. package/dist/esm/options/ListModelsOptions.js +4 -0
  566. package/dist/esm/options/ListModelsOptions.js.map +1 -0
  567. package/dist/esm/options/ListOperationsOptions.d.ts +7 -0
  568. package/dist/esm/options/ListOperationsOptions.d.ts.map +1 -0
  569. package/dist/esm/options/ListOperationsOptions.js +4 -0
  570. package/dist/esm/options/ListOperationsOptions.js.map +1 -0
  571. package/dist/esm/options/PollerOptions.d.ts +22 -0
  572. package/dist/esm/options/PollerOptions.d.ts.map +1 -0
  573. package/dist/esm/options/PollerOptions.js +4 -0
  574. package/dist/esm/options/PollerOptions.js.map +1 -0
  575. package/dist/esm/options/index.d.ts +16 -0
  576. package/dist/esm/options/index.d.ts.map +1 -0
  577. package/dist/esm/options/index.js +7 -0
  578. package/dist/esm/options/index.js.map +1 -0
  579. package/dist/esm/package.json +3 -0
  580. package/dist/esm/transforms/polygon.d.ts +20 -0
  581. package/dist/esm/transforms/polygon.d.ts.map +1 -0
  582. package/dist/esm/transforms/polygon.js +26 -0
  583. package/dist/esm/transforms/polygon.js.map +1 -0
  584. package/dist/esm/util.d.ts +33 -0
  585. package/dist/esm/util.d.ts.map +1 -0
  586. package/dist/esm/util.js +56 -0
  587. package/dist/esm/util.js.map +1 -0
  588. package/dist/react-native/azureKeyCredentialPolicy.d.ts +8 -0
  589. package/dist/react-native/azureKeyCredentialPolicy.d.ts.map +1 -0
  590. package/dist/react-native/azureKeyCredentialPolicy.js +17 -0
  591. package/dist/react-native/azureKeyCredentialPolicy.js.map +1 -0
  592. package/dist/react-native/bin/defaultFields.d.ts +14 -0
  593. package/dist/react-native/bin/defaultFields.d.ts.map +1 -0
  594. package/dist/react-native/bin/defaultFields.js +83 -0
  595. package/dist/react-native/bin/defaultFields.js.map +1 -0
  596. package/dist/react-native/bin/gen-model.d.ts +3 -0
  597. package/dist/react-native/bin/gen-model.d.ts.map +1 -0
  598. package/dist/react-native/bin/gen-model.js +101 -0
  599. package/dist/react-native/bin/gen-model.js.map +1 -0
  600. package/dist/react-native/bin/utils.d.ts +22 -0
  601. package/dist/react-native/bin/utils.d.ts.map +1 -0
  602. package/dist/react-native/bin/utils.js +21 -0
  603. package/dist/react-native/bin/utils.js.map +1 -0
  604. package/dist/react-native/bin/writeModelCode.d.ts +9 -0
  605. package/dist/react-native/bin/writeModelCode.d.ts.map +1 -0
  606. package/dist/react-native/bin/writeModelCode.js +323 -0
  607. package/dist/react-native/bin/writeModelCode.js.map +1 -0
  608. package/dist/react-native/constants.d.ts +29 -0
  609. package/dist/react-native/constants.d.ts.map +1 -0
  610. package/dist/react-native/constants.js +32 -0
  611. package/dist/react-native/constants.js.map +1 -0
  612. package/dist/react-native/documentAnalysisClient.d.ts +485 -0
  613. package/dist/react-native/documentAnalysisClient.d.ts.map +1 -0
  614. package/dist/react-native/documentAnalysisClient.js +347 -0
  615. package/dist/react-native/documentAnalysisClient.js.map +1 -0
  616. package/dist/react-native/documentModel.d.ts +34 -0
  617. package/dist/react-native/documentModel.d.ts.map +1 -0
  618. package/dist/react-native/documentModel.js +73 -0
  619. package/dist/react-native/documentModel.js.map +1 -0
  620. package/dist/react-native/documentModelAdministrationClient.d.ts +792 -0
  621. package/dist/react-native/documentModelAdministrationClient.d.ts.map +1 -0
  622. package/dist/react-native/documentModelAdministrationClient.js +759 -0
  623. package/dist/react-native/documentModelAdministrationClient.js.map +1 -0
  624. package/dist/react-native/error.d.ts +31 -0
  625. package/dist/react-native/error.d.ts.map +1 -0
  626. package/dist/react-native/error.js +39 -0
  627. package/dist/react-native/error.js.map +1 -0
  628. package/dist/react-native/generated/generatedClient.d.ts +21 -0
  629. package/dist/react-native/generated/generatedClient.d.ts.map +1 -0
  630. package/dist/react-native/generated/generatedClient.js +89 -0
  631. package/dist/react-native/generated/generatedClient.js.map +1 -0
  632. package/dist/react-native/generated/index.d.ts +4 -0
  633. package/dist/react-native/generated/index.d.ts.map +1 -0
  634. package/dist/react-native/generated/index.js +12 -0
  635. package/dist/react-native/generated/index.js.map +1 -0
  636. package/dist/react-native/generated/models/index.d.ts +1208 -0
  637. package/dist/react-native/generated/models/index.d.ts.map +1 -0
  638. package/dist/react-native/generated/models/index.js +204 -0
  639. package/dist/react-native/generated/models/index.js.map +1 -0
  640. package/dist/react-native/generated/models/mappers.d.ts +67 -0
  641. package/dist/react-native/generated/models/mappers.d.ts.map +1 -0
  642. package/dist/react-native/generated/models/mappers.js +2501 -0
  643. package/dist/react-native/generated/models/mappers.js.map +1 -0
  644. package/dist/react-native/generated/models/parameters.d.ts +31 -0
  645. package/dist/react-native/generated/models/parameters.d.ts.map +1 -0
  646. package/dist/react-native/generated/models/parameters.js +291 -0
  647. package/dist/react-native/generated/models/parameters.js.map +1 -0
  648. package/dist/react-native/generated/operations/documentClassifiers.d.ts +78 -0
  649. package/dist/react-native/generated/operations/documentClassifiers.d.ts.map +1 -0
  650. package/dist/react-native/generated/operations/documentClassifiers.js +330 -0
  651. package/dist/react-native/generated/operations/documentClassifiers.js.map +1 -0
  652. package/dist/react-native/generated/operations/documentModels.d.ts +98 -0
  653. package/dist/react-native/generated/operations/documentModels.d.ts.map +1 -0
  654. package/dist/react-native/generated/operations/documentModels.js +424 -0
  655. package/dist/react-native/generated/operations/documentModels.js.map +1 -0
  656. package/dist/react-native/generated/operations/index.d.ts +4 -0
  657. package/dist/react-native/generated/operations/index.d.ts.map +1 -0
  658. package/dist/react-native/generated/operations/index.js +11 -0
  659. package/dist/react-native/generated/operations/index.js.map +1 -0
  660. package/dist/react-native/generated/operations/miscellaneous.d.ts +43 -0
  661. package/dist/react-native/generated/operations/miscellaneous.d.ts.map +1 -0
  662. package/dist/react-native/generated/operations/miscellaneous.js +169 -0
  663. package/dist/react-native/generated/operations/miscellaneous.js.map +1 -0
  664. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.d.ts +53 -0
  665. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.d.ts.map +1 -0
  666. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.js +9 -0
  667. package/dist/react-native/generated/operationsInterfaces/documentClassifiers.js.map +1 -0
  668. package/dist/react-native/generated/operationsInterfaces/documentModels.d.ts +69 -0
  669. package/dist/react-native/generated/operationsInterfaces/documentModels.d.ts.map +1 -0
  670. package/dist/react-native/generated/operationsInterfaces/documentModels.js +9 -0
  671. package/dist/react-native/generated/operationsInterfaces/documentModels.js.map +1 -0
  672. package/dist/react-native/generated/operationsInterfaces/index.d.ts +4 -0
  673. package/dist/react-native/generated/operationsInterfaces/index.d.ts.map +1 -0
  674. package/dist/react-native/generated/operationsInterfaces/index.js +11 -0
  675. package/dist/react-native/generated/operationsInterfaces/index.js.map +1 -0
  676. package/dist/react-native/generated/operationsInterfaces/miscellaneous.d.ts +22 -0
  677. package/dist/react-native/generated/operationsInterfaces/miscellaneous.d.ts.map +1 -0
  678. package/dist/react-native/generated/operationsInterfaces/miscellaneous.js +9 -0
  679. package/dist/react-native/generated/operationsInterfaces/miscellaneous.js.map +1 -0
  680. package/dist/react-native/index.d.ts +18 -0
  681. package/dist/react-native/index.d.ts.map +1 -0
  682. package/dist/react-native/index.js +19 -0
  683. package/dist/react-native/index.js.map +1 -0
  684. package/dist/react-native/lro/administration.d.ts +101 -0
  685. package/dist/react-native/lro/administration.d.ts.map +1 -0
  686. package/dist/react-native/lro/administration.js +29 -0
  687. package/dist/react-native/lro/administration.js.map +1 -0
  688. package/dist/react-native/lro/analysis.d.ts +210 -0
  689. package/dist/react-native/lro/analysis.d.ts.map +1 -0
  690. package/dist/react-native/lro/analysis.js +175 -0
  691. package/dist/react-native/lro/analysis.js.map +1 -0
  692. package/dist/react-native/lro/util/delayMs.d.ts +32 -0
  693. package/dist/react-native/lro/util/delayMs.d.ts.map +1 -0
  694. package/dist/react-native/lro/util/delayMs.js +52 -0
  695. package/dist/react-native/lro/util/delayMs.js.map +1 -0
  696. package/dist/react-native/lro/util/poller.d.ts +41 -0
  697. package/dist/react-native/lro/util/poller.d.ts.map +1 -0
  698. package/dist/react-native/lro/util/poller.js +84 -0
  699. package/dist/react-native/lro/util/poller.js.map +1 -0
  700. package/dist/react-native/models/contentSource.d.ts +56 -0
  701. package/dist/react-native/models/contentSource.d.ts.map +1 -0
  702. package/dist/react-native/models/contentSource.js +4 -0
  703. package/dist/react-native/models/contentSource.js.map +1 -0
  704. package/dist/react-native/models/documentElements.d.ts +210 -0
  705. package/dist/react-native/models/documentElements.d.ts.map +1 -0
  706. package/dist/react-native/models/documentElements.js +4 -0
  707. package/dist/react-native/models/documentElements.js.map +1 -0
  708. package/dist/react-native/models/fields.d.ts +205 -0
  709. package/dist/react-native/models/fields.d.ts.map +1 -0
  710. package/dist/react-native/models/fields.js +55 -0
  711. package/dist/react-native/models/fields.js.map +1 -0
  712. package/dist/react-native/models/index.d.ts +4 -0
  713. package/dist/react-native/models/index.d.ts.map +1 -0
  714. package/dist/react-native/models/index.js +4 -0
  715. package/dist/react-native/models/index.js.map +1 -0
  716. package/dist/react-native/options/AnalyzeDocumentOptions.d.ts +69 -0
  717. package/dist/react-native/options/AnalyzeDocumentOptions.d.ts.map +1 -0
  718. package/dist/react-native/options/AnalyzeDocumentOptions.js +33 -0
  719. package/dist/react-native/options/AnalyzeDocumentOptions.js.map +1 -0
  720. package/dist/react-native/options/BeginCopyModelOptions.d.ts +9 -0
  721. package/dist/react-native/options/BeginCopyModelOptions.d.ts.map +1 -0
  722. package/dist/react-native/options/BeginCopyModelOptions.js +4 -0
  723. package/dist/react-native/options/BeginCopyModelOptions.js.map +1 -0
  724. package/dist/react-native/options/BuildDocumentClassifierOptions.d.ts +13 -0
  725. package/dist/react-native/options/BuildDocumentClassifierOptions.d.ts.map +1 -0
  726. package/dist/react-native/options/BuildDocumentClassifierOptions.js +4 -0
  727. package/dist/react-native/options/BuildDocumentClassifierOptions.js.map +1 -0
  728. package/dist/react-native/options/BuildModelOptions.d.ts +61 -0
  729. package/dist/react-native/options/BuildModelOptions.d.ts.map +1 -0
  730. package/dist/react-native/options/BuildModelOptions.js +19 -0
  731. package/dist/react-native/options/BuildModelOptions.js.map +1 -0
  732. package/dist/react-native/options/ClassifyDocumentOptions.d.ts +9 -0
  733. package/dist/react-native/options/ClassifyDocumentOptions.d.ts.map +1 -0
  734. package/dist/react-native/options/ClassifyDocumentOptions.js +4 -0
  735. package/dist/react-native/options/ClassifyDocumentOptions.js.map +1 -0
  736. package/dist/react-native/options/DeleteModelOptions.d.ts +7 -0
  737. package/dist/react-native/options/DeleteModelOptions.d.ts.map +1 -0
  738. package/dist/react-native/options/DeleteModelOptions.js +4 -0
  739. package/dist/react-native/options/DeleteModelOptions.js.map +1 -0
  740. package/dist/react-native/options/FormRecognizerClientOptions.d.ts +70 -0
  741. package/dist/react-native/options/FormRecognizerClientOptions.d.ts.map +1 -0
  742. package/dist/react-native/options/FormRecognizerClientOptions.js +25 -0
  743. package/dist/react-native/options/FormRecognizerClientOptions.js.map +1 -0
  744. package/dist/react-native/options/GetCopyAuthorizationOptions.d.ts +8 -0
  745. package/dist/react-native/options/GetCopyAuthorizationOptions.d.ts.map +1 -0
  746. package/dist/react-native/options/GetCopyAuthorizationOptions.js +4 -0
  747. package/dist/react-native/options/GetCopyAuthorizationOptions.js.map +1 -0
  748. package/dist/react-native/options/GetModelOptions.d.ts +7 -0
  749. package/dist/react-native/options/GetModelOptions.d.ts.map +1 -0
  750. package/dist/react-native/options/GetModelOptions.js +4 -0
  751. package/dist/react-native/options/GetModelOptions.js.map +1 -0
  752. package/dist/react-native/options/GetOperationOptions.d.ts +7 -0
  753. package/dist/react-native/options/GetOperationOptions.d.ts.map +1 -0
  754. package/dist/react-native/options/GetOperationOptions.js +4 -0
  755. package/dist/react-native/options/GetOperationOptions.js.map +1 -0
  756. package/dist/react-native/options/GetResourceDetailsOptions.d.ts +7 -0
  757. package/dist/react-native/options/GetResourceDetailsOptions.d.ts.map +1 -0
  758. package/dist/react-native/options/GetResourceDetailsOptions.js +4 -0
  759. package/dist/react-native/options/GetResourceDetailsOptions.js.map +1 -0
  760. package/dist/react-native/options/ListModelsOptions.d.ts +7 -0
  761. package/dist/react-native/options/ListModelsOptions.d.ts.map +1 -0
  762. package/dist/react-native/options/ListModelsOptions.js +4 -0
  763. package/dist/react-native/options/ListModelsOptions.js.map +1 -0
  764. package/dist/react-native/options/ListOperationsOptions.d.ts +7 -0
  765. package/dist/react-native/options/ListOperationsOptions.d.ts.map +1 -0
  766. package/dist/react-native/options/ListOperationsOptions.js +4 -0
  767. package/dist/react-native/options/ListOperationsOptions.js.map +1 -0
  768. package/dist/react-native/options/PollerOptions.d.ts +22 -0
  769. package/dist/react-native/options/PollerOptions.d.ts.map +1 -0
  770. package/dist/react-native/options/PollerOptions.js +4 -0
  771. package/dist/react-native/options/PollerOptions.js.map +1 -0
  772. package/dist/react-native/options/index.d.ts +16 -0
  773. package/dist/react-native/options/index.d.ts.map +1 -0
  774. package/dist/react-native/options/index.js +7 -0
  775. package/dist/react-native/options/index.js.map +1 -0
  776. package/dist/react-native/package.json +3 -0
  777. package/dist/react-native/transforms/polygon.d.ts +20 -0
  778. package/dist/react-native/transforms/polygon.d.ts.map +1 -0
  779. package/dist/react-native/transforms/polygon.js +26 -0
  780. package/dist/react-native/transforms/polygon.js.map +1 -0
  781. package/dist/react-native/util.d.ts +33 -0
  782. package/dist/react-native/util.d.ts.map +1 -0
  783. package/dist/react-native/util.js +56 -0
  784. package/dist/react-native/util.js.map +1 -0
  785. package/package.json +85 -74
  786. package/dist/index.js +0 -5721
  787. package/dist/index.js.map +0 -1
  788. package/dist-esm/src/azureKeyCredentialPolicy.js.map +0 -1
  789. package/dist-esm/src/constants.js +0 -13
  790. package/dist-esm/src/constants.js.map +0 -1
  791. package/dist-esm/src/documentAnalysisClient.js.map +0 -1
  792. package/dist-esm/src/documentModel.js.map +0 -1
  793. package/dist-esm/src/documentModelAdministrationClient.js.map +0 -1
  794. package/dist-esm/src/error.js.map +0 -1
  795. package/dist-esm/src/generated/generatedClient.js.map +0 -1
  796. package/dist-esm/src/generated/index.js.map +0 -1
  797. package/dist-esm/src/generated/models/parameters.js.map +0 -1
  798. package/dist-esm/src/generated/operations/documentClassifiers.js.map +0 -1
  799. package/dist-esm/src/generated/operations/documentModels.js.map +0 -1
  800. package/dist-esm/src/generated/operations/miscellaneous.js.map +0 -1
  801. package/dist-esm/src/generated/operationsInterfaces/documentClassifiers.js.map +0 -1
  802. package/dist-esm/src/generated/operationsInterfaces/documentModels.js.map +0 -1
  803. package/dist-esm/src/generated/operationsInterfaces/miscellaneous.js.map +0 -1
  804. package/dist-esm/src/index.js.map +0 -1
  805. package/dist-esm/src/lro/administration.js.map +0 -1
  806. package/dist-esm/src/lro/analysis.js.map +0 -1
  807. package/dist-esm/src/lro/util/delayMs.js.map +0 -1
  808. package/dist-esm/src/lro/util/poller.js.map +0 -1
  809. package/dist-esm/src/models/contentSource.js +0 -4
  810. package/dist-esm/src/models/contentSource.js.map +0 -1
  811. package/dist-esm/src/models/documentElements.js +0 -4
  812. package/dist-esm/src/models/documentElements.js.map +0 -1
  813. package/dist-esm/src/models/index.js +0 -4
  814. package/dist-esm/src/models/index.js.map +0 -1
  815. package/dist-esm/src/options/AnalyzeDocumentOptions.js.map +0 -1
  816. package/dist-esm/src/options/BeginCopyModelOptions.js +0 -4
  817. package/dist-esm/src/options/BeginCopyModelOptions.js.map +0 -1
  818. package/dist-esm/src/options/BuildDocumentClassifierOptions.js +0 -4
  819. package/dist-esm/src/options/BuildDocumentClassifierOptions.js.map +0 -1
  820. package/dist-esm/src/options/BuildModelOptions.js.map +0 -1
  821. package/dist-esm/src/options/ClassifyDocumentOptions.js +0 -4
  822. package/dist-esm/src/options/ClassifyDocumentOptions.js.map +0 -1
  823. package/dist-esm/src/options/DeleteModelOptions.js +0 -4
  824. package/dist-esm/src/options/DeleteModelOptions.js.map +0 -1
  825. package/dist-esm/src/options/FormRecognizerClientOptions.js.map +0 -1
  826. package/dist-esm/src/options/GetCopyAuthorizationOptions.js +0 -4
  827. package/dist-esm/src/options/GetCopyAuthorizationOptions.js.map +0 -1
  828. package/dist-esm/src/options/GetModelOptions.js +0 -4
  829. package/dist-esm/src/options/GetModelOptions.js.map +0 -1
  830. package/dist-esm/src/options/GetOperationOptions.js +0 -4
  831. package/dist-esm/src/options/GetOperationOptions.js.map +0 -1
  832. package/dist-esm/src/options/GetResourceDetailsOptions.js +0 -4
  833. package/dist-esm/src/options/ListModelsOptions.js +0 -4
  834. package/dist-esm/src/options/ListModelsOptions.js.map +0 -1
  835. package/dist-esm/src/options/ListOperationsOptions.js +0 -4
  836. package/dist-esm/src/options/PollerOptions.js +0 -4
  837. package/dist-esm/src/options/PollerOptions.js.map +0 -1
  838. package/dist-esm/src/options/index.js +0 -7
  839. package/dist-esm/src/options/index.js.map +0 -1
  840. package/dist-esm/src/transforms/polygon.js.map +0 -1
  841. package/dist-esm/src/util.js.map +0 -1
  842. package/types/ai-form-recognizer.d.ts +0 -2670
  843. /package/{dist-esm/src → dist/browser}/generated/models/index.js +0 -0
  844. /package/{dist-esm/src → dist/browser}/generated/models/index.js.map +0 -0
  845. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js +0 -0
  846. /package/{dist-esm/src → dist/browser}/generated/models/mappers.js.map +0 -0
  847. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/documentClassifiers.js +0 -0
  848. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/documentModels.js +0 -0
  849. /package/{dist-esm/src → dist/browser}/generated/operationsInterfaces/miscellaneous.js +0 -0
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/generated/models/mappers.ts","../src/generated/models/parameters.ts","../src/error.ts","../src/transforms/polygon.ts","../src/azureKeyCredentialPolicy.ts","../src/generated/models/index.ts","../src/generated/operations/documentModels.ts","../src/generated/operations/miscellaneous.ts","../src/generated/operations/documentClassifiers.ts","../src/generated/generatedClient.ts","../src/options/FormRecognizerClientOptions.ts","../src/util.ts","../src/models/fields.ts","../src/lro/analysis.ts","../src/lro/util/delayMs.ts","../src/lro/util/poller.ts","../src/documentAnalysisClient.ts","../src/lro/administration.ts","../src/documentModelAdministrationClient.ts","../src/options/AnalyzeDocumentOptions.ts","../src/options/BuildModelOptions.ts","../src/documentModel.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * The default AAD permissions scope for Cognitive Services.\n * @internal\n */\nexport const DEFAULT_COGNITIVE_SCOPE = \"https://cognitiveservices.azure.com/.default\";\n\n/**\n * @internal\n */\nexport const SDK_VERSION = \"5.0.0\";\n\nexport const FORM_RECOGNIZER_API_VERSION = \"2023-07-31\";\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const AnalyzeDocumentRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeDocumentRequest\",\n modelProperties: {\n urlSource: {\n serializedName: \"urlSource\",\n type: {\n name: \"String\"\n }\n },\n base64Source: {\n serializedName: \"base64Source\",\n type: {\n name: \"ByteArray\"\n }\n }\n }\n }\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorResponse\",\n modelProperties: {\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n target: {\n serializedName: \"target\",\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const InnerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InnerError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n type: {\n name: \"String\"\n }\n },\n innererror: {\n serializedName: \"innererror\",\n type: {\n name: \"Composite\",\n className: \"InnerError\"\n }\n }\n }\n }\n};\n\nexport const AnalyzeResultOperation: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeResultOperation\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"notStarted\", \"running\", \"failed\", \"succeeded\"]\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdatedDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n },\n analyzeResult: {\n serializedName: \"analyzeResult\",\n type: {\n name: \"Composite\",\n className: \"AnalyzeResult\"\n }\n }\n }\n }\n};\n\nexport const AnalyzeResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeResult\",\n modelProperties: {\n apiVersion: {\n serializedName: \"apiVersion\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n stringIndexType: {\n serializedName: \"stringIndexType\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n pages: {\n serializedName: \"pages\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentPage\"\n }\n }\n }\n },\n paragraphs: {\n serializedName: \"paragraphs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentParagraph\"\n }\n }\n }\n },\n tables: {\n serializedName: \"tables\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentTable\"\n }\n }\n }\n },\n keyValuePairs: {\n serializedName: \"keyValuePairs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentKeyValuePair\"\n }\n }\n }\n },\n styles: {\n serializedName: \"styles\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentStyle\"\n }\n }\n }\n },\n languages: {\n serializedName: \"languages\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentLanguage\"\n }\n }\n }\n },\n documents: {\n serializedName: \"documents\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Document\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentPage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentPage\",\n modelProperties: {\n pageNumber: {\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"pageNumber\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n angle: {\n constraints: {\n InclusiveMaximum: 180,\n ExclusiveMinimum: -180\n },\n serializedName: \"angle\",\n type: {\n name: \"Number\"\n }\n },\n width: {\n constraints: {\n InclusiveMinimum: 0\n },\n serializedName: \"width\",\n type: {\n name: \"Number\"\n }\n },\n height: {\n constraints: {\n InclusiveMinimum: 0\n },\n serializedName: \"height\",\n type: {\n name: \"Number\"\n }\n },\n unit: {\n serializedName: \"unit\",\n type: {\n name: \"String\"\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n },\n words: {\n serializedName: \"words\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentWord\"\n }\n }\n }\n },\n selectionMarks: {\n serializedName: \"selectionMarks\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSelectionMark\"\n }\n }\n }\n },\n lines: {\n serializedName: \"lines\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentLine\"\n }\n }\n }\n },\n barcodes: {\n serializedName: \"barcodes\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentBarcode\"\n }\n }\n }\n },\n formulas: {\n serializedName: \"formulas\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentFormula\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentSpan: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\",\n modelProperties: {\n offset: {\n constraints: {\n InclusiveMinimum: 0\n },\n serializedName: \"offset\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n length: {\n constraints: {\n InclusiveMinimum: 0\n },\n serializedName: \"length\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentWord: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentWord\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n },\n span: {\n serializedName: \"span\",\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentSelectionMark: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentSelectionMark\",\n modelProperties: {\n state: {\n serializedName: \"state\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n },\n span: {\n serializedName: \"span\",\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentLine: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentLine\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentBarcode: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentBarcode\",\n modelProperties: {\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n },\n span: {\n serializedName: \"span\",\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentFormula: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentFormula\",\n modelProperties: {\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n },\n span: {\n serializedName: \"span\",\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentParagraph: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentParagraph\",\n modelProperties: {\n role: {\n serializedName: \"role\",\n type: {\n name: \"String\"\n }\n },\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const BoundingRegion: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\",\n modelProperties: {\n pageNumber: {\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"pageNumber\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n polygon: {\n serializedName: \"polygon\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n constraints: {\n InclusiveMinimum: 0\n },\n type: {\n name: \"Number\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentTable: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentTable\",\n modelProperties: {\n rowCount: {\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"rowCount\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n columnCount: {\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"columnCount\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n cells: {\n serializedName: \"cells\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentTableCell\"\n }\n }\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentTableCell: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentTableCell\",\n modelProperties: {\n kind: {\n defaultValue: \"content\",\n serializedName: \"kind\",\n type: {\n name: \"String\"\n }\n },\n rowIndex: {\n serializedName: \"rowIndex\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n columnIndex: {\n serializedName: \"columnIndex\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n rowSpan: {\n defaultValue: 1,\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"rowSpan\",\n type: {\n name: \"Number\"\n }\n },\n columnSpan: {\n defaultValue: 1,\n constraints: {\n InclusiveMinimum: 1\n },\n serializedName: \"columnSpan\",\n type: {\n name: \"Number\"\n }\n },\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentKeyValuePair: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentKeyValuePair\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n type: {\n name: \"Composite\",\n className: \"DocumentKeyValueElement\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"Composite\",\n className: \"DocumentKeyValueElement\"\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentKeyValueElement: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentKeyValueElement\",\n modelProperties: {\n content: {\n serializedName: \"content\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentStyle: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentStyle\",\n modelProperties: {\n isHandwritten: {\n serializedName: \"isHandwritten\",\n type: {\n name: \"Boolean\"\n }\n },\n similarFontFamily: {\n serializedName: \"similarFontFamily\",\n type: {\n name: \"String\"\n }\n },\n fontStyle: {\n serializedName: \"fontStyle\",\n type: {\n name: \"String\"\n }\n },\n fontWeight: {\n serializedName: \"fontWeight\",\n type: {\n name: \"String\"\n }\n },\n color: {\n constraints: {\n Pattern: new RegExp(\"^#[0-9a-f]{6}$\")\n },\n serializedName: \"color\",\n type: {\n name: \"String\"\n }\n },\n backgroundColor: {\n constraints: {\n Pattern: new RegExp(\"^#[0-9a-f]{6}$\")\n },\n serializedName: \"backgroundColor\",\n type: {\n name: \"String\"\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentLanguage: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentLanguage\",\n modelProperties: {\n locale: {\n serializedName: \"locale\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Document: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Document\",\n modelProperties: {\n docType: {\n constraints: {\n MaxLength: 64,\n MinLength: 2\n },\n serializedName: \"docType\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n },\n fields: {\n serializedName: \"fields\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Composite\", className: \"DocumentField\" } }\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DocumentField: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentField\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n valueString: {\n serializedName: \"valueString\",\n type: {\n name: \"String\"\n }\n },\n valueDate: {\n serializedName: \"valueDate\",\n type: {\n name: \"Date\"\n }\n },\n valueTime: {\n serializedName: \"valueTime\",\n type: {\n name: \"String\"\n }\n },\n valuePhoneNumber: {\n serializedName: \"valuePhoneNumber\",\n type: {\n name: \"String\"\n }\n },\n valueNumber: {\n serializedName: \"valueNumber\",\n type: {\n name: \"Number\"\n }\n },\n valueInteger: {\n serializedName: \"valueInteger\",\n type: {\n name: \"Number\"\n }\n },\n valueSelectionMark: {\n serializedName: \"valueSelectionMark\",\n type: {\n name: \"String\"\n }\n },\n valueSignature: {\n serializedName: \"valueSignature\",\n type: {\n name: \"String\"\n }\n },\n valueCountryRegion: {\n serializedName: \"valueCountryRegion\",\n type: {\n name: \"String\"\n }\n },\n valueArray: {\n serializedName: \"valueArray\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentField\"\n }\n }\n }\n },\n valueObject: {\n serializedName: \"valueObject\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Composite\", className: \"DocumentField\" } }\n }\n },\n valueCurrency: {\n serializedName: \"valueCurrency\",\n type: {\n name: \"Composite\",\n className: \"CurrencyValue\"\n }\n },\n valueAddress: {\n serializedName: \"valueAddress\",\n type: {\n name: \"Composite\",\n className: \"AddressValue\"\n }\n },\n valueBoolean: {\n serializedName: \"valueBoolean\",\n type: {\n name: \"Boolean\"\n }\n },\n content: {\n serializedName: \"content\",\n type: {\n name: \"String\"\n }\n },\n boundingRegions: {\n serializedName: \"boundingRegions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"BoundingRegion\"\n }\n }\n }\n },\n spans: {\n serializedName: \"spans\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentSpan\"\n }\n }\n }\n },\n confidence: {\n constraints: {\n InclusiveMaximum: 1,\n InclusiveMinimum: 0\n },\n serializedName: \"confidence\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const CurrencyValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CurrencyValue\",\n modelProperties: {\n amount: {\n serializedName: \"amount\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n currencySymbol: {\n serializedName: \"currencySymbol\",\n type: {\n name: \"String\"\n }\n },\n currencyCode: {\n serializedName: \"currencyCode\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AddressValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AddressValue\",\n modelProperties: {\n houseNumber: {\n serializedName: \"houseNumber\",\n type: {\n name: \"String\"\n }\n },\n poBox: {\n serializedName: \"poBox\",\n type: {\n name: \"String\"\n }\n },\n road: {\n serializedName: \"road\",\n type: {\n name: \"String\"\n }\n },\n city: {\n serializedName: \"city\",\n type: {\n name: \"String\"\n }\n },\n state: {\n serializedName: \"state\",\n type: {\n name: \"String\"\n }\n },\n postalCode: {\n serializedName: \"postalCode\",\n type: {\n name: \"String\"\n }\n },\n countryRegion: {\n serializedName: \"countryRegion\",\n type: {\n name: \"String\"\n }\n },\n streetAddress: {\n serializedName: \"streetAddress\",\n type: {\n name: \"String\"\n }\n },\n unit: {\n serializedName: \"unit\",\n type: {\n name: \"String\"\n }\n },\n cityDistrict: {\n serializedName: \"cityDistrict\",\n type: {\n name: \"String\"\n }\n },\n stateDistrict: {\n serializedName: \"stateDistrict\",\n type: {\n name: \"String\"\n }\n },\n suburb: {\n serializedName: \"suburb\",\n type: {\n name: \"String\"\n }\n },\n house: {\n serializedName: \"house\",\n type: {\n name: \"String\"\n }\n },\n level: {\n serializedName: \"level\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const BuildDocumentModelRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BuildDocumentModelRequest\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n buildMode: {\n serializedName: \"buildMode\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n azureBlobSource: {\n serializedName: \"azureBlobSource\",\n type: {\n name: \"Composite\",\n className: \"AzureBlobContentSource\"\n }\n },\n azureBlobFileListSource: {\n serializedName: \"azureBlobFileListSource\",\n type: {\n name: \"Composite\",\n className: \"AzureBlobFileListContentSource\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const AzureBlobContentSource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AzureBlobContentSource\",\n modelProperties: {\n containerUrl: {\n serializedName: \"containerUrl\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n prefix: {\n serializedName: \"prefix\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AzureBlobFileListContentSource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AzureBlobFileListContentSource\",\n modelProperties: {\n containerUrl: {\n serializedName: \"containerUrl\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n fileList: {\n serializedName: \"fileList\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ComposeDocumentModelRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ComposeDocumentModelRequest\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n componentModels: {\n constraints: {\n UniqueItems: true\n },\n serializedName: \"componentModels\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ComponentDocumentModelDetails\"\n }\n }\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const ComponentDocumentModelDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ComponentDocumentModelDetails\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AuthorizeCopyRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AuthorizeCopyRequest\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const CopyAuthorization: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CopyAuthorization\",\n modelProperties: {\n targetResourceId: {\n serializedName: \"targetResourceId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetResourceRegion: {\n serializedName: \"targetResourceRegion\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetModelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"targetModelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetModelLocation: {\n serializedName: \"targetModelLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n accessToken: {\n serializedName: \"accessToken\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n expirationDateTime: {\n serializedName: \"expirationDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const GetOperationsResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GetOperationsResponse\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OperationSummary\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OperationSummary: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationSummary\",\n modelProperties: {\n operationId: {\n serializedName: \"operationId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"notStarted\",\n \"running\",\n \"failed\",\n \"succeeded\",\n \"canceled\"\n ]\n }\n },\n percentCompleted: {\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 0\n },\n serializedName: \"percentCompleted\",\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdatedDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n resourceLocation: {\n serializedName: \"resourceLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n apiVersion: {\n serializedName: \"apiVersion\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const OperationDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OperationDetails\",\n uberParent: \"OperationDetails\",\n polymorphicDiscriminator: {\n serializedName: \"kind\",\n clientName: \"kind\"\n },\n modelProperties: {\n operationId: {\n serializedName: \"operationId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"notStarted\",\n \"running\",\n \"failed\",\n \"succeeded\",\n \"canceled\"\n ]\n }\n },\n percentCompleted: {\n constraints: {\n InclusiveMaximum: 100,\n InclusiveMinimum: 0\n },\n serializedName: \"percentCompleted\",\n type: {\n name: \"Number\"\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n lastUpdatedOn: {\n serializedName: \"lastUpdatedDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n kind: {\n serializedName: \"kind\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n resourceLocation: {\n serializedName: \"resourceLocation\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n apiVersion: {\n serializedName: \"apiVersion\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n error: {\n serializedName: \"error\",\n type: {\n name: \"Composite\",\n className: \"ErrorModel\"\n }\n }\n }\n }\n};\n\nexport const GetDocumentModelsResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GetDocumentModelsResponse\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentModelSummary\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelSummary: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelSummary\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n expiresOn: {\n serializedName: \"expirationDateTime\",\n type: {\n name: \"DateTime\"\n }\n },\n apiVersion: {\n serializedName: \"apiVersion\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n }\n }\n }\n};\n\nexport const DocumentModelDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelDetails\",\n modelProperties: {\n modelId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n expiresOn: {\n serializedName: \"expirationDateTime\",\n type: {\n name: \"DateTime\"\n }\n },\n apiVersion: {\n serializedName: \"apiVersion\",\n type: {\n name: \"String\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n docTypes: {\n serializedName: \"docTypes\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"DocumentTypeDetails\" }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentTypeDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentTypeDetails\",\n modelProperties: {\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n buildMode: {\n serializedName: \"buildMode\",\n type: {\n name: \"String\"\n }\n },\n fieldSchema: {\n serializedName: \"fieldSchema\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"DocumentFieldSchema\" }\n }\n }\n },\n fieldConfidence: {\n serializedName: \"fieldConfidence\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Number\" },\n constraints: { InclusiveMaximum: 1, InclusiveMinimum: 0 }\n }\n }\n }\n }\n }\n};\n\nexport const DocumentFieldSchema: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentFieldSchema\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n example: {\n serializedName: \"example\",\n type: {\n name: \"String\"\n }\n },\n items: {\n serializedName: \"items\",\n type: {\n name: \"Composite\",\n className: \"DocumentFieldSchema\"\n }\n },\n properties: {\n serializedName: \"properties\",\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Composite\", className: \"DocumentFieldSchema\" }\n }\n }\n }\n }\n }\n};\n\nexport const BuildDocumentClassifierRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"BuildDocumentClassifierRequest\",\n modelProperties: {\n classifierId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"classifierId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n docTypes: {\n serializedName: \"docTypes\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Composite\",\n className: \"ClassifierDocumentTypeDetails\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ClassifierDocumentTypeDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ClassifierDocumentTypeDetails\",\n modelProperties: {\n azureBlobSource: {\n serializedName: \"azureBlobSource\",\n type: {\n name: \"Composite\",\n className: \"AzureBlobContentSource\"\n }\n },\n azureBlobFileListSource: {\n serializedName: \"azureBlobFileListSource\",\n type: {\n name: \"Composite\",\n className: \"AzureBlobFileListContentSource\"\n }\n }\n }\n }\n};\n\nexport const GetDocumentClassifiersResponse: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GetDocumentClassifiersResponse\",\n modelProperties: {\n value: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"DocumentClassifierDetails\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentClassifierDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentClassifierDetails\",\n modelProperties: {\n classifierId: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\")\n },\n serializedName: \"classifierId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n constraints: {\n MaxLength: 4096\n },\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n createdOn: {\n serializedName: \"createdDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n },\n expiresOn: {\n serializedName: \"expirationDateTime\",\n type: {\n name: \"DateTime\"\n }\n },\n apiVersion: {\n serializedName: \"apiVersion\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n docTypes: {\n serializedName: \"docTypes\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Composite\",\n className: \"ClassifierDocumentTypeDetails\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ClassifyDocumentRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ClassifyDocumentRequest\",\n modelProperties: {\n urlSource: {\n serializedName: \"urlSource\",\n type: {\n name: \"String\"\n }\n },\n base64Source: {\n serializedName: \"base64Source\",\n type: {\n name: \"ByteArray\"\n }\n }\n }\n }\n};\n\nexport const ResourceDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceDetails\",\n modelProperties: {\n customDocumentModels: {\n serializedName: \"customDocumentModels\",\n type: {\n name: \"Composite\",\n className: \"CustomDocumentModelsDetails\"\n }\n },\n customNeuralDocumentModelBuilds: {\n serializedName: \"customNeuralDocumentModelBuilds\",\n type: {\n name: \"Composite\",\n className: \"QuotaDetails\"\n }\n }\n }\n }\n};\n\nexport const CustomDocumentModelsDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomDocumentModelsDetails\",\n modelProperties: {\n count: {\n serializedName: \"count\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n limit: {\n serializedName: \"limit\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const QuotaDetails: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"QuotaDetails\",\n modelProperties: {\n used: {\n serializedName: \"used\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n quota: {\n serializedName: \"quota\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n quotaResetOn: {\n serializedName: \"quotaResetDateTime\",\n required: true,\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelBuildOperationDetails: coreClient.CompositeMapper = {\n serializedName: \"documentModelBuild\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelBuildOperationDetails\",\n uberParent: \"OperationDetails\",\n polymorphicDiscriminator: OperationDetails.type.polymorphicDiscriminator,\n modelProperties: {\n ...OperationDetails.type.modelProperties,\n result: {\n serializedName: \"result\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelDetails\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelComposeOperationDetails: coreClient.CompositeMapper = {\n serializedName: \"documentModelCompose\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelComposeOperationDetails\",\n uberParent: \"OperationDetails\",\n polymorphicDiscriminator: OperationDetails.type.polymorphicDiscriminator,\n modelProperties: {\n ...OperationDetails.type.modelProperties,\n result: {\n serializedName: \"result\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelDetails\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelCopyToOperationDetails: coreClient.CompositeMapper = {\n serializedName: \"documentModelCopyTo\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelCopyToOperationDetails\",\n uberParent: \"OperationDetails\",\n polymorphicDiscriminator: OperationDetails.type.polymorphicDiscriminator,\n modelProperties: {\n ...OperationDetails.type.modelProperties,\n result: {\n serializedName: \"result\",\n type: {\n name: \"Composite\",\n className: \"DocumentModelDetails\"\n }\n }\n }\n }\n};\n\nexport const DocumentClassifierBuildOperationDetails: coreClient.CompositeMapper = {\n serializedName: \"documentClassifierBuild\",\n type: {\n name: \"Composite\",\n className: \"DocumentClassifierBuildOperationDetails\",\n uberParent: \"OperationDetails\",\n polymorphicDiscriminator: OperationDetails.type.polymorphicDiscriminator,\n modelProperties: {\n ...OperationDetails.type.modelProperties,\n result: {\n serializedName: \"result\",\n type: {\n name: \"Composite\",\n className: \"DocumentClassifierDetails\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelsAnalyzeDocumentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelsAnalyzeDocumentHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelsBuildModelHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelsBuildModelHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelsComposeModelHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelsComposeModelHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentModelsCopyModelToHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentModelsCopyModelToHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentClassifiersBuildClassifierHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentClassifiersBuildClassifierHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentClassifiersClassifyDocumentHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DocumentClassifiersClassifyDocumentHeaders\",\n modelProperties: {\n operationLocation: {\n serializedName: \"operation-location\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport let discriminators = {\n OperationDetails: OperationDetails,\n \"OperationDetails.documentModelBuild\": DocumentModelBuildOperationDetails,\n \"OperationDetails.documentModelCompose\": DocumentModelComposeOperationDetails,\n \"OperationDetails.documentModelCopyTo\": DocumentModelCopyToOperationDetails,\n \"OperationDetails.documentClassifierBuild\": DocumentClassifierBuildOperationDetails\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n AnalyzeDocumentRequest as AnalyzeDocumentRequestMapper,\n BuildDocumentModelRequest as BuildDocumentModelRequestMapper,\n ComposeDocumentModelRequest as ComposeDocumentModelRequestMapper,\n AuthorizeCopyRequest as AuthorizeCopyRequestMapper,\n CopyAuthorization as CopyAuthorizationMapper,\n BuildDocumentClassifierRequest as BuildDocumentClassifierRequestMapper,\n ClassifyDocumentRequest as ClassifyDocumentRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: \"contentType\",\n mapper: {\n serializedName: \"Content-Type\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"application/octet-stream\",\n \"application/pdf\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n \"image/bmp\",\n \"image/heif\",\n \"image/jpeg\",\n \"image/png\",\n \"image/tiff\"\n ]\n }\n }\n};\n\nexport const analyzeRequest: OperationParameter = {\n parameterPath: [\"options\", \"analyzeRequest\"],\n mapper: {\n serializedName: \"analyzeRequest\",\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType1: OperationParameter = {\n parameterPath: \"contentType\",\n mapper: {\n defaultValue: \"text/html\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const analyzeRequest1: OperationParameter = {\n parameterPath: [\"options\", \"analyzeRequest\"],\n mapper: {\n serializedName: \"analyzeRequest\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept1: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const contentType2: OperationParameter = {\n parameterPath: \"contentType\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const analyzeRequest2: OperationParameter = {\n parameterPath: [\"options\", \"analyzeRequest\"],\n mapper: AnalyzeDocumentRequestMapper\n};\n\nexport const accept2: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const modelId: OperationURLParameter = {\n parameterPath: \"modelId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\"),\n MaxLength: 64\n },\n serializedName: \"modelId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const pages: OperationQueryParameter = {\n parameterPath: [\"options\", \"pages\"],\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^(\\\\d+(-\\\\d+)?)(,\\\\s*(\\\\d+(-\\\\d+)?))*$\")\n },\n serializedName: \"pages\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const locale: OperationQueryParameter = {\n parameterPath: [\"options\", \"locale\"],\n mapper: {\n serializedName: \"locale\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const stringIndexType: OperationQueryParameter = {\n parameterPath: \"stringIndexType\",\n mapper: {\n serializedName: \"stringIndexType\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n defaultValue: \"2023-07-31\",\n isConstant: true,\n serializedName: \"api-version\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const features: OperationQueryParameter = {\n parameterPath: [\"options\", \"features\"],\n mapper: {\n serializedName: \"features\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const resultId: OperationURLParameter = {\n parameterPath: \"resultId\",\n mapper: {\n serializedName: \"resultId\",\n required: true,\n type: {\n name: \"Uuid\"\n }\n }\n};\n\nexport const contentType3: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const buildRequest: OperationParameter = {\n parameterPath: \"buildRequest\",\n mapper: BuildDocumentModelRequestMapper\n};\n\nexport const composeRequest: OperationParameter = {\n parameterPath: \"composeRequest\",\n mapper: ComposeDocumentModelRequestMapper\n};\n\nexport const authorizeCopyRequest: OperationParameter = {\n parameterPath: \"authorizeCopyRequest\",\n mapper: AuthorizeCopyRequestMapper\n};\n\nexport const copyToRequest: OperationParameter = {\n parameterPath: \"copyToRequest\",\n mapper: CopyAuthorizationMapper\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const operationId: OperationURLParameter = {\n parameterPath: \"operationId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\n \"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\"\n ),\n MaxLength: 36\n },\n serializedName: \"operationId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const buildRequest1: OperationParameter = {\n parameterPath: \"buildRequest\",\n mapper: BuildDocumentClassifierRequestMapper\n};\n\nexport const classifierId: OperationURLParameter = {\n parameterPath: \"classifierId\",\n mapper: {\n constraints: {\n Pattern: new RegExp(\"^[a-zA-Z0-9][a-zA-Z0-9._~-]{1,63}$\"),\n MaxLength: 64\n },\n serializedName: \"classifierId\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const classifyRequest: OperationParameter = {\n parameterPath: [\"options\", \"classifyRequest\"],\n mapper: {\n serializedName: \"classifyRequest\",\n type: {\n name: \"Stream\"\n }\n }\n};\n\nexport const classifyRequest1: OperationParameter = {\n parameterPath: [\"options\", \"classifyRequest\"],\n mapper: {\n serializedName: \"classifyRequest\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const classifyRequest2: OperationParameter = {\n parameterPath: [\"options\", \"classifyRequest\"],\n mapper: ClassifyDocumentRequestMapper\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ErrorModel, InnerError } from \"./generated\";\n\n/**\n * Returns the innermost error that has a message field.\n *\n * @internal\n * @param error - the error to unwrap\n * @returns - the innermost populated error\n */\nfunction unwrap(error: ErrorModel | InnerError): ErrorModel {\n if (error.innererror !== undefined && error.innererror.message !== undefined) {\n return unwrap(error.innererror);\n }\n\n return error as ErrorModel;\n}\n\n/**\n * A class representing an Error from the Form Recognizer Service.\n *\n * For information about the error codes the service produces, refer to the service's error documentation:\n *\n * https://aka.ms/azsdk/formrecognizer/errors\n */\nexport class FormRecognizerError extends Error {\n /**\n * The error code.\n *\n * Example: `InternalServerError`\n */\n public code: string;\n\n /**\n * A list of detailed errors that are related to this error.\n */\n public details: ErrorModel[];\n\n /**\n * The target of the error (the component or resource that the error refers to).\n */\n public target?: string;\n\n /**\n * Create a FormRecognizerError from a generated ErrorModel.\n * @internal\n * @hidden\n */\n constructor(formRecognizerError: ErrorModel) {\n // TODO: We used to unwrap FR errors this way, but is it still necessary\n const e = unwrap(formRecognizerError);\n super(e.message);\n\n this.code = e.code;\n this.details = e.details ?? [];\n this.target = e.target;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n BoundingRegion as GeneratedBoundingRegion,\n DocumentKeyValuePair as GeneratedDocumentKeyValuePair,\n DocumentTable as GeneratedDocumentTable,\n} from \"../generated\";\nimport { BoundingRegion, DocumentKeyValuePair, DocumentTable } from \"../models/documentElements\";\n\n/**\n * Represents a point used to define bounding polygons. The unit is either 'pixel' or 'inch' (See {@link LengthUnit}).\n */\nexport interface Point2D {\n /**\n * x coordinate - relative from the left side of the page\n */\n x: number;\n /**\n * y coordinate - relative from the top of the page\n */\n y: number;\n}\n\nexport function toBoundingPolygon(original: number[] | undefined): Point2D[] | undefined {\n const points: Point2D[] = [];\n if (!original) return;\n\n if (original.length % 2 !== 0) {\n throw new Error(\n \"Unexpected number of points in the response, unable to translate as 2D points\"\n );\n }\n\n for (let i = 0; i < original.length; i += 2) {\n points.push({ x: original[i], y: original[i + 1] });\n }\n\n return points;\n}\n\nexport function toBoundingRegions(\n original: GeneratedBoundingRegion[] | undefined\n): BoundingRegion[] | undefined {\n return original?.map((region) => ({ ...region, polygon: toBoundingPolygon(region.polygon) }));\n}\n\nexport function toDocumentTableFromGenerated(table: GeneratedDocumentTable): DocumentTable {\n return {\n ...table,\n boundingRegions: toBoundingRegions(table.boundingRegions),\n cells: table.cells.map((cell) => ({\n ...cell,\n boundingRegions: toBoundingRegions(cell.boundingRegions),\n })),\n };\n}\n\nexport function toKeyValuePairFromGenerated(\n pair: GeneratedDocumentKeyValuePair\n): DocumentKeyValuePair {\n return {\n ...pair,\n key: { ...pair.key, boundingRegions: toBoundingRegions(pair.key.boundingRegions) },\n value: pair.value\n ? { ...pair.value, boundingRegions: toBoundingRegions(pair.value?.boundingRegions) }\n : undefined,\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential } from \"@azure/core-auth\";\nimport { PipelinePolicy, PipelineResponse } from \"@azure/core-rest-pipeline\";\n\nconst APIM_SUBSCRIPTION_KEY_HEADER = \"Ocp-Apim-Subscription-Key\";\n\n/**\n * Create an HTTP pipeline policy to authenticate a request using an `AzureKeyCredential` for Azure Form Recognizer\n * @internal\n */\nexport function createFormRecognizerAzureKeyCredentialPolicy(\n credential: KeyCredential\n): PipelinePolicy {\n return {\n name: \"cognitiveServicesApimSubscriptionKeyCredentialPolicy\",\n sendRequest(request, next): Promise<PipelineResponse> {\n request.headers.set(APIM_SUBSCRIPTION_KEY_HEADER, credential.key);\n return next(request);\n },\n };\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\n\n/**\n * Details about any of several different types of Form Recognizer management operations.\n */\nexport type OperationDetailsUnion =\n | OperationDetails\n | DocumentModelBuildOperationDetails\n | DocumentModelComposeOperationDetails\n | DocumentModelCopyToOperationDetails\n | DocumentClassifierBuildOperationDetails;\n\n/** Document analysis parameters. */\nexport interface AnalyzeDocumentRequest {\n /** Document URL to analyze. Either urlSource or base64Source must be specified. */\n urlSource?: string;\n /** Base64 encoding of the document to analyze. Either urlSource or base64Source must be specified. */\n base64Source?: Uint8Array;\n}\n\n/** Error response object. */\nexport interface ErrorResponse {\n /** Error info. */\n error: ErrorModel;\n}\n\n/** Error info. */\nexport interface ErrorModel {\n /** Error code. */\n code: string;\n /** Error message. */\n message: string;\n /** Target of the error. */\n target?: string;\n /** List of detailed errors. */\n details?: ErrorModel[];\n /** Detailed error. */\n innererror?: InnerError;\n}\n\n/** Detailed error. */\nexport interface InnerError {\n /** Error code. */\n code: string;\n /** Error message. */\n message?: string;\n /** Detailed error. */\n innererror?: InnerError;\n}\n\n/** Status and result of the analyze operation. */\nexport interface AnalyzeResultOperation {\n /** Operation status. */\n status: AnalyzeResultOperationStatus;\n /** Date and time (UTC) when the analyze operation was submitted. */\n createdOn: Date;\n /** Date and time (UTC) when the status was last updated. */\n lastUpdatedOn: Date;\n /** Encountered error during document analysis. */\n error?: ErrorModel;\n /** Document analysis result. */\n analyzeResult?: AnalyzeResult;\n}\n\n/** Document analysis result. */\nexport interface AnalyzeResult {\n /** API version used to produce this result. */\n apiVersion: string;\n /** Document model ID used to produce this result. */\n modelId: string;\n /** Method used to compute string offset and length. */\n stringIndexType: StringIndexType;\n /** Concatenate string representation of all textual and visual elements in reading order. */\n content: string;\n /** Analyzed pages. */\n pages: DocumentPage[];\n /** Extracted paragraphs. */\n paragraphs?: DocumentParagraph[];\n /** Extracted tables. */\n tables?: DocumentTable[];\n /** Extracted key-value pairs. */\n keyValuePairs?: DocumentKeyValuePair[];\n /** Extracted font styles. */\n styles?: DocumentStyle[];\n /** Detected languages. */\n languages?: DocumentLanguage[];\n /** Extracted documents. */\n documents?: Document[];\n}\n\n/** Content and layout elements extracted from a page from the input. */\nexport interface DocumentPage {\n /** 1-based page number in the input document. */\n pageNumber: number;\n /** The general orientation of the content in clockwise direction, measured in degrees between (-180, 180]. */\n angle?: number;\n /** The width of the image/PDF in pixels/inches, respectively. */\n width?: number;\n /** The height of the image/PDF in pixels/inches, respectively. */\n height?: number;\n /** The unit used by the width, height, and polygon properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\". */\n unit?: LengthUnit;\n /** Location of the page in the reading order concatenated content. */\n spans: DocumentSpan[];\n /** Extracted words from the page. */\n words?: DocumentWord[];\n /** Extracted selection marks from the page. */\n selectionMarks?: DocumentSelectionMark[];\n /** Extracted lines from the page, potentially containing both textual and visual elements. */\n lines?: DocumentLine[];\n /** Extracted barcodes from the page. */\n barcodes?: DocumentBarcode[];\n /** Extracted formulas from the page. */\n formulas?: DocumentFormula[];\n}\n\n/** Contiguous region of the concatenated content property, specified as an offset and length. */\nexport interface DocumentSpan {\n /** Zero-based index of the content represented by the span. */\n offset: number;\n /** Number of characters in the content represented by the span. */\n length: number;\n}\n\n/** A word object consisting of a contiguous sequence of characters. For non-space delimited languages, such as Chinese, Japanese, and Korean, each character is represented as its own word. */\nexport interface DocumentWord {\n /** Text content of the word. */\n content: string;\n /** Bounding polygon of the word. */\n polygon?: number[];\n /** Location of the word in the reading order concatenated content. */\n span: DocumentSpan;\n /** Confidence of correctly extracting the word. */\n confidence: number;\n}\n\n/** A selection mark object representing check boxes, radio buttons, and other elements indicating a selection. */\nexport interface DocumentSelectionMark {\n /** State of the selection mark. */\n state: SelectionMarkState;\n /** Bounding polygon of the selection mark. */\n polygon?: number[];\n /** Location of the selection mark in the reading order concatenated content. */\n span: DocumentSpan;\n /** Confidence of correctly extracting the selection mark. */\n confidence: number;\n}\n\n/** A content line object consisting of an adjacent sequence of content elements, such as words and selection marks. */\nexport interface DocumentLine {\n /** Concatenated content of the contained elements in reading order. */\n content: string;\n /** Bounding polygon of the line. */\n polygon?: number[];\n /** Location of the line in the reading order concatenated content. */\n spans: DocumentSpan[];\n}\n\n/** A barcode object. */\nexport interface DocumentBarcode {\n /** Barcode kind. */\n kind: DocumentBarcodeKind;\n /** Barcode value */\n value: string;\n /** Bounding polygon of the barcode. */\n polygon?: number[];\n /** Location of the barcode in the reading order concatenated content. */\n span: DocumentSpan;\n /** Confidence of correctly extracting the barcode. */\n confidence: number;\n}\n\n/** A formula object. */\nexport interface DocumentFormula {\n /** Formula kind. */\n kind: DocumentFormulaKind;\n /** LaTex expression describing the formula. */\n value: string;\n /** Bounding polygon of the formula. */\n polygon?: number[];\n /** Location of the formula in the reading order concatenated content. */\n span: DocumentSpan;\n /** Confidence of correctly extracting the formula. */\n confidence: number;\n}\n\n/** A paragraph object consisting with contiguous lines generally with common alignment and spacing. */\nexport interface DocumentParagraph {\n /** Semantic role of the paragraph. */\n role?: ParagraphRole;\n /** Concatenated content of the paragraph in reading order. */\n content: string;\n /** Bounding regions covering the paragraph. */\n boundingRegions?: BoundingRegion[];\n /** Location of the paragraph in the reading order concatenated content. */\n spans: DocumentSpan[];\n}\n\n/** Bounding polygon on a specific page of the input. */\nexport interface BoundingRegion {\n /** 1-based page number of page containing the bounding region. */\n pageNumber: number;\n /** Bounding polygon on the page, or the entire page if not specified. */\n polygon: number[];\n}\n\n/** A table object consisting table cells arranged in a rectangular layout. */\nexport interface DocumentTable {\n /** Number of rows in the table. */\n rowCount: number;\n /** Number of columns in the table. */\n columnCount: number;\n /** Cells contained within the table. */\n cells: DocumentTableCell[];\n /** Bounding regions covering the table. */\n boundingRegions?: BoundingRegion[];\n /** Location of the table in the reading order concatenated content. */\n spans: DocumentSpan[];\n}\n\n/** An object representing the location and content of a table cell. */\nexport interface DocumentTableCell {\n /** Table cell kind. */\n kind?: DocumentTableCellKind;\n /** Row index of the cell. */\n rowIndex: number;\n /** Column index of the cell. */\n columnIndex: number;\n /** Number of rows spanned by this cell. */\n rowSpan?: number;\n /** Number of columns spanned by this cell. */\n columnSpan?: number;\n /** Concatenated content of the table cell in reading order. */\n content: string;\n /** Bounding regions covering the table cell. */\n boundingRegions?: BoundingRegion[];\n /** Location of the table cell in the reading order concatenated content. */\n spans: DocumentSpan[];\n}\n\n/** An object representing a form field with distinct field label (key) and field value (may be empty). */\nexport interface DocumentKeyValuePair {\n /** Field label of the key-value pair. */\n key: DocumentKeyValueElement;\n /** Field value of the key-value pair. */\n value?: DocumentKeyValueElement;\n /** Confidence of correctly extracting the key-value pair. */\n confidence: number;\n}\n\n/** An object representing the field key or value in a key-value pair. */\nexport interface DocumentKeyValueElement {\n /** Concatenated content of the key-value element in reading order. */\n content: string;\n /** Bounding regions covering the key-value element. */\n boundingRegions?: BoundingRegion[];\n /** Location of the key-value element in the reading order concatenated content. */\n spans: DocumentSpan[];\n}\n\n/** An object representing observed text styles. */\nexport interface DocumentStyle {\n /** Is content handwritten? */\n isHandwritten?: boolean;\n /** Visually most similar font from among the set of supported font families, with fallback fonts following CSS convention (ex. 'Arial, sans-serif'). */\n similarFontFamily?: string;\n /** Font style. */\n fontStyle?: FontStyle;\n /** Font weight. */\n fontWeight?: FontWeight;\n /** Foreground color in #rrggbb hexadecimal format. */\n color?: string;\n /** Background color in #rrggbb hexadecimal format.. */\n backgroundColor?: string;\n /** Location of the text elements in the concatenated content the style applies to. */\n spans: DocumentSpan[];\n /** Confidence of correctly identifying the style. */\n confidence: number;\n}\n\n/** An object representing the detected language for a given text span. */\nexport interface DocumentLanguage {\n /** Detected language. Value may an ISO 639-1 language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"zh-Hans\"). */\n locale: string;\n /** Location of the text elements in the concatenated content the language applies to. */\n spans: DocumentSpan[];\n /** Confidence of correctly identifying the language. */\n confidence: number;\n}\n\n/** An object describing the location and semantic content of a document. */\nexport interface Document {\n /** Document type. */\n docType: string;\n /** Bounding regions covering the document. */\n boundingRegions?: BoundingRegion[];\n /** Location of the document in the reading order concatenated content. */\n spans: DocumentSpan[];\n /** Dictionary of named field values. */\n fields?: { [propertyName: string]: DocumentField };\n /** Confidence of correctly extracting the document. */\n confidence: number;\n}\n\n/** An object representing the content and location of a field value. */\nexport interface DocumentField {\n /** Data type of the field value. */\n type: DocumentFieldType;\n /** String value. */\n valueString?: string;\n /** Date value in YYYY-MM-DD format (ISO 8601). */\n valueDate?: Date;\n /**\n * Time value in hh:mm:ss format (ISO 8601).\n * This value should be an ISO-8601 formatted string representing time. E.g. \"HH:MM:SS\" or \"HH:MM:SS.mm\".\n */\n valueTime?: string;\n /** Phone number value in E.164 format (ex. +19876543210). */\n valuePhoneNumber?: string;\n /** Floating point value. */\n valueNumber?: number;\n /** Integer value. */\n valueInteger?: number;\n /** Selection mark value. */\n valueSelectionMark?: SelectionMarkState;\n /** Presence of signature. */\n valueSignature?: DocumentSignatureType;\n /** 3-letter country code value (ISO 3166-1 alpha-3). */\n valueCountryRegion?: string;\n /** Array of field values. */\n valueArray?: DocumentField[];\n /** Dictionary of named field values. */\n valueObject?: { [propertyName: string]: DocumentField };\n /** Currency value. */\n valueCurrency?: CurrencyValue;\n /** Address value. */\n valueAddress?: AddressValue;\n /** Boolean value. */\n valueBoolean?: boolean;\n /** Field content. */\n content?: string;\n /** Bounding regions covering the field. */\n boundingRegions?: BoundingRegion[];\n /** Location of the field in the reading order concatenated content. */\n spans?: DocumentSpan[];\n /** Confidence of correctly extracting the field. */\n confidence?: number;\n}\n\n/** Currency field value. */\nexport interface CurrencyValue {\n /** Currency amount. */\n amount: number;\n /** Currency symbol label, if any. */\n currencySymbol?: string;\n /** Resolved currency code (ISO 4217), if any. */\n currencyCode?: string;\n}\n\n/** Address field value. */\nexport interface AddressValue {\n /** House or building number. */\n houseNumber?: string;\n /** Post office box number. */\n poBox?: string;\n /** Street name. */\n road?: string;\n /** Name of city, town, village, etc. */\n city?: string;\n /** First-level administrative division. */\n state?: string;\n /** Postal code used for mail sorting. */\n postalCode?: string;\n /** Country/region. */\n countryRegion?: string;\n /** Street-level address, excluding city, state, countryRegion, and postalCode. */\n streetAddress?: string;\n /** Apartment or office number */\n unit?: string;\n /** Districts or boroughs within a city, such as Brooklyn in New York City or City of Westminster in London. */\n cityDistrict?: string;\n /** Second-level administrative division used in certain locales. */\n stateDistrict?: string;\n /** Unofficial neighborhood name, like Chinatown. */\n suburb?: string;\n /** Build name, such as World Trade Center. */\n house?: string;\n /** Floor number, such as 3F. */\n level?: string;\n}\n\n/** Request body to build a new custom document model. */\nexport interface BuildDocumentModelRequest {\n /** Unique document model name. */\n modelId: string;\n /** Document model description. */\n description?: string;\n /** Custom document model build mode. */\n buildMode: DocumentBuildMode;\n /** Azure Blob Storage location containing the training data. Either azureBlobSource or azureBlobFileListSource must be specified. */\n azureBlobSource?: AzureBlobContentSource;\n /** Azure Blob Storage file list specifying the training data. Either azureBlobSource or azureBlobFileListSource must be specified. */\n azureBlobFileListSource?: AzureBlobFileListContentSource;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n}\n\n/** Azure Blob Storage content. */\nexport interface AzureBlobContentSource {\n /** Azure Blob Storage container URL. */\n containerUrl: string;\n /** Blob name prefix. */\n prefix?: string;\n}\n\n/** File list in Azure Blob Storage. */\nexport interface AzureBlobFileListContentSource {\n /** Azure Blob Storage container URL. */\n containerUrl: string;\n /** Path to a JSONL file within the container specifying a subset of documents for training. */\n fileList: string;\n}\n\n/** Request body to create a composed document model from component document models. */\nexport interface ComposeDocumentModelRequest {\n /** Unique document model name. */\n modelId: string;\n /** Document model description. */\n description?: string;\n /** List of component document models to compose. */\n componentModels: ComponentDocumentModelDetails[];\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n}\n\n/** A component of a composed document model. */\nexport interface ComponentDocumentModelDetails {\n /** Unique document model name. */\n modelId: string;\n}\n\n/** Request body to authorize document model copy. */\nexport interface AuthorizeCopyRequest {\n /** Unique document model name. */\n modelId: string;\n /** Document model description. */\n description?: string;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n}\n\n/** Authorization to copy a document model to the specified target resource and modelId. */\nexport interface CopyAuthorization {\n /** ID of the target Azure resource where the document model should be copied to. */\n targetResourceId: string;\n /** Location of the target Azure resource where the document model should be copied to. */\n targetResourceRegion: string;\n /** Identifier of the target document model. */\n targetModelId: string;\n /** URL of the copied document model in the target account. */\n targetModelLocation: string;\n /** Token used to authorize the request. */\n accessToken: string;\n /** Date/time when the access token expires. */\n expirationDateTime: Date;\n}\n\n/** List Operations response object. */\nexport interface GetOperationsResponse {\n /** List of operations. */\n value: OperationSummary[];\n /** Link to the next page of operations. */\n nextLink?: string;\n}\n\n/** Operation info. */\nexport interface OperationSummary {\n /** Operation ID */\n operationId: string;\n /** Operation status. */\n status: OperationStatus;\n /** Operation progress (0-100). */\n percentCompleted?: number;\n /** Date and time (UTC) when the operation was created. */\n createdOn: Date;\n /** Date and time (UTC) when the status was last updated. */\n lastUpdatedOn: Date;\n /** Type of operation. */\n kind: OperationKind;\n /** URL of the resource targeted by this operation. */\n resourceLocation: string;\n /** API version used to create this operation. */\n apiVersion?: string;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n}\n\n/** Get Operation response object. */\nexport interface OperationDetails {\n /** Polymorphic discriminator, which specifies the different types this object can be */\n kind:\n | \"documentModelBuild\"\n | \"documentModelCompose\"\n | \"documentModelCopyTo\"\n | \"documentClassifierBuild\";\n /** Operation ID */\n operationId: string;\n /** Operation status. */\n status: OperationStatus;\n /** Operation progress (0-100). */\n percentCompleted?: number;\n /** Date and time (UTC) when the operation was created. */\n createdOn: Date;\n /** Date and time (UTC) when the status was last updated. */\n lastUpdatedOn: Date;\n /** URL of the resource targeted by this operation. */\n resourceLocation: string;\n /** API version used to create this operation. */\n apiVersion?: string;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n /** Encountered error. */\n error?: ErrorModel;\n}\n\n/** List document models response object. */\nexport interface GetDocumentModelsResponse {\n /** List of document models. */\n value: DocumentModelSummary[];\n /** Link to the next page of document models. */\n nextLink?: string;\n}\n\n/** Document model summary. */\nexport interface DocumentModelSummary {\n /** Unique document model name. */\n modelId: string;\n /** Document model description. */\n description?: string;\n /** Date and time (UTC) when the document model was created. */\n createdOn: Date;\n /** Date and time (UTC) when the document model will expire. */\n expiresOn?: Date;\n /** API version used to create this document model. */\n apiVersion?: string;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n}\n\n/** Document model info. */\nexport interface DocumentModelDetails {\n /** Unique document model name. */\n modelId: string;\n /** Document model description. */\n description?: string;\n /** Date and time (UTC) when the document model was created. */\n createdOn: Date;\n /** Date and time (UTC) when the document model will expire. */\n expiresOn?: Date;\n /** API version used to create this document model. */\n apiVersion?: string;\n /** List of key-value tag attributes associated with the document model. */\n tags?: { [propertyName: string]: string };\n /** Supported document types. */\n docTypes?: { [propertyName: string]: DocumentTypeDetails };\n}\n\n/** Document type info. */\nexport interface DocumentTypeDetails {\n /** Document model description. */\n description?: string;\n /** Custom document model build mode. */\n buildMode?: DocumentBuildMode;\n /** Description of the document semantic schema using a JSON Schema style syntax. */\n fieldSchema: { [propertyName: string]: DocumentFieldSchema };\n /** Estimated confidence for each field. */\n fieldConfidence?: { [propertyName: string]: number };\n}\n\n/** Description of the field semantic schema using a JSON Schema style syntax. */\nexport interface DocumentFieldSchema {\n /** Semantic data type of the field value. */\n type: DocumentFieldType;\n /** Field description. */\n description?: string;\n /** Example field content. */\n example?: string;\n /** Field type schema of each array element. */\n items?: DocumentFieldSchema;\n /** Named sub-fields of the object field. */\n properties?: { [propertyName: string]: DocumentFieldSchema };\n}\n\n/** Request body to build a new custom document classifier. */\nexport interface BuildDocumentClassifierRequest {\n /** Unique document classifier name. */\n classifierId: string;\n /** Document classifier description. */\n description?: string;\n /** List of document types to classify against. */\n docTypes: { [propertyName: string]: ClassifierDocumentTypeDetails };\n}\n\n/** Classifier document type info. */\nexport interface ClassifierDocumentTypeDetails {\n /** Azure Blob Storage location containing the training data for a classifier document type. Either azureBlobSource or azureBlobFileListSource must be specified. */\n azureBlobSource?: AzureBlobContentSource;\n /** Azure Blob Storage file list specifying the training data for a classifier document type. Either azureBlobSource or azureBlobFileListSource must be specified. */\n azureBlobFileListSource?: AzureBlobFileListContentSource;\n}\n\n/** List document classifiers response object. */\nexport interface GetDocumentClassifiersResponse {\n /** List of document classifiers. */\n value: DocumentClassifierDetails[];\n /** Link to the next page of document classifiers. */\n nextLink?: string;\n}\n\n/** Document classifier info. */\nexport interface DocumentClassifierDetails {\n /** Unique document classifier name. */\n classifierId: string;\n /** Document classifier description. */\n description?: string;\n /** Date and time (UTC) when the document classifier was created. */\n createdOn: Date;\n /** Date and time (UTC) when the document classifier will expire. */\n expiresOn?: Date;\n /** API version used to create this document classifier. */\n apiVersion: string;\n /** List of document types to classify against. */\n docTypes: { [propertyName: string]: ClassifierDocumentTypeDetails };\n}\n\n/** Document classification parameters. */\nexport interface ClassifyDocumentRequest {\n /** Document URL to classify. Either urlSource or base64Source must be specified. */\n urlSource?: string;\n /** Base64 encoding of the document to classify. Either urlSource or base64Source must be specified. */\n base64Source?: Uint8Array;\n}\n\n/** General information regarding the current resource. */\nexport interface ResourceDetails {\n /** Details regarding custom document models. */\n customDocumentModels: CustomDocumentModelsDetails;\n /** Quota used, limit, and next reset date/time. */\n customNeuralDocumentModelBuilds: QuotaDetails;\n}\n\n/** Details regarding custom document models. */\nexport interface CustomDocumentModelsDetails {\n /** Number of custom document models in the current resource. */\n count: number;\n /** Maximum number of custom document models supported in the current resource. */\n limit: number;\n}\n\n/** Quota used, limit, and next reset date/time. */\nexport interface QuotaDetails {\n /** Amount of the resource quota used. */\n used: number;\n /** Resource quota limit. */\n quota: number;\n /** Date/time when the resource quota usage will be reset. */\n quotaResetOn: Date;\n}\n\n/** Get Operation response object. */\nexport interface DocumentModelBuildOperationDetails extends OperationDetails {\n /** Polymorphic discriminator, which specifies the different types this object can be */\n kind: \"documentModelBuild\";\n /** Operation result upon success. */\n result?: DocumentModelDetails;\n}\n\n/** Get Operation response object. */\nexport interface DocumentModelComposeOperationDetails extends OperationDetails {\n /** Polymorphic discriminator, which specifies the different types this object can be */\n kind: \"documentModelCompose\";\n /** Operation result upon success. */\n result?: DocumentModelDetails;\n}\n\n/** Get Operation response object. */\nexport interface DocumentModelCopyToOperationDetails extends OperationDetails {\n /** Polymorphic discriminator, which specifies the different types this object can be */\n kind: \"documentModelCopyTo\";\n /** Operation result upon success. */\n result?: DocumentModelDetails;\n}\n\n/** Get Operation response object. */\nexport interface DocumentClassifierBuildOperationDetails extends OperationDetails {\n /** Polymorphic discriminator, which specifies the different types this object can be */\n kind: \"documentClassifierBuild\";\n /** Operation result upon success. */\n result?: DocumentClassifierDetails;\n}\n\n/** Defines headers for DocumentModels_analyzeDocument operation. */\nexport interface DocumentModelsAnalyzeDocumentHeaders {\n /** URL used to track the progress and obtain the result of the analyze operation. */\n operationLocation?: string;\n}\n\n/** Defines headers for DocumentModels_buildModel operation. */\nexport interface DocumentModelsBuildModelHeaders {\n /** Operation result URL. */\n operationLocation?: string;\n}\n\n/** Defines headers for DocumentModels_composeModel operation. */\nexport interface DocumentModelsComposeModelHeaders {\n /** Operation result URL. */\n operationLocation?: string;\n}\n\n/** Defines headers for DocumentModels_copyModelTo operation. */\nexport interface DocumentModelsCopyModelToHeaders {\n /** Operation result URL. */\n operationLocation?: string;\n}\n\n/** Defines headers for DocumentClassifiers_buildClassifier operation. */\nexport interface DocumentClassifiersBuildClassifierHeaders {\n /** Operation result URL. */\n operationLocation?: string;\n}\n\n/** Defines headers for DocumentClassifiers_classifyDocument operation. */\nexport interface DocumentClassifiersClassifyDocumentHeaders {\n /** URL used to track the progress and obtain the result of the classification operation. */\n operationLocation?: string;\n}\n\n/** Known values of {@link StringIndexType} that the service accepts. */\nexport enum KnownStringIndexType {\n /** User-perceived display character, or grapheme cluster, as defined by Unicode 8.0.0. */\n TextElements = \"textElements\",\n /** Character unit represented by a single unicode code point. Used by Python 3. */\n UnicodeCodePoint = \"unicodeCodePoint\",\n /** Character unit represented by a 16-bit Unicode code unit. Used by JavaScript, Java, and .NET. */\n Utf16CodeUnit = \"utf16CodeUnit\",\n}\n\n/**\n * Defines values for StringIndexType. \\\n * {@link KnownStringIndexType} can be used interchangeably with StringIndexType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **textElements**: User-perceived display character, or grapheme cluster, as defined by Unicode 8.0.0. \\\n * **unicodeCodePoint**: Character unit represented by a single unicode code point. Used by Python 3. \\\n * **utf16CodeUnit**: Character unit represented by a 16-bit Unicode code unit. Used by JavaScript, Java, and .NET.\n */\nexport type StringIndexType = string;\n\n/** Known values of {@link DocumentAnalysisFeature} that the service accepts. */\nexport enum KnownDocumentAnalysisFeature {\n /** Perform OCR at a higher resolution to handle documents with fine print. */\n OcrHighResolution = \"ocrHighResolution\",\n /** Enable the detection of the text content language. */\n Languages = \"languages\",\n /** Enable the detection of barcodes in the document. */\n Barcodes = \"barcodes\",\n /** Enable the detection of mathematical expressions in the document. */\n Formulas = \"formulas\",\n /** Enable the detection of general key value pairs (form fields) in the document. */\n KeyValuePairs = \"keyValuePairs\",\n /** Enable the recognition of various font styles. */\n StyleFont = \"styleFont\",\n}\n\n/**\n * Defines values for DocumentAnalysisFeature. \\\n * {@link KnownDocumentAnalysisFeature} can be used interchangeably with DocumentAnalysisFeature,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **ocrHighResolution**: Perform OCR at a higher resolution to handle documents with fine print. \\\n * **languages**: Enable the detection of the text content language. \\\n * **barcodes**: Enable the detection of barcodes in the document. \\\n * **formulas**: Enable the detection of mathematical expressions in the document. \\\n * **keyValuePairs**: Enable the detection of general key value pairs (form fields) in the document. \\\n * **styleFont**: Enable the recognition of various font styles.\n */\nexport type DocumentAnalysisFeature = string;\n\n/** Known values of {@link LengthUnit} that the service accepts. */\nexport enum KnownLengthUnit {\n /** Length unit for image files. */\n Pixel = \"pixel\",\n /** Length unit for PDF files. */\n Inch = \"inch\",\n}\n\n/**\n * Defines values for LengthUnit. \\\n * {@link KnownLengthUnit} can be used interchangeably with LengthUnit,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **pixel**: Length unit for image files. \\\n * **inch**: Length unit for PDF files.\n */\nexport type LengthUnit = string;\n\n/** Known values of {@link SelectionMarkState} that the service accepts. */\nexport enum KnownSelectionMarkState {\n /** The selection mark is selected, often indicated by a check ✓ or cross X inside the selection mark. */\n Selected = \"selected\",\n /** The selection mark is not selected. */\n Unselected = \"unselected\",\n}\n\n/**\n * Defines values for SelectionMarkState. \\\n * {@link KnownSelectionMarkState} can be used interchangeably with SelectionMarkState,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **selected**: The selection mark is selected, often indicated by a check ✓ or cross X inside the selection mark. \\\n * **unselected**: The selection mark is not selected.\n */\nexport type SelectionMarkState = string;\n\n/** Known values of {@link DocumentBarcodeKind} that the service accepts. */\nexport enum KnownDocumentBarcodeKind {\n /** QR code, as defined in ISO/IEC 18004:2015. */\n QRCode = \"QRCode\",\n /** PDF417, as defined in ISO 15438. */\n PDF417 = \"PDF417\",\n /** GS1 12-digit Universal Product Code. */\n Upca = \"UPCA\",\n /** GS1 6-digit Universal Product Code. */\n Upce = \"UPCE\",\n /** Code 39 barcode, as defined in ISO/IEC 16388:2007. */\n Code39 = \"Code39\",\n /** Code 128 barcode, as defined in ISO/IEC 15417:2007. */\n Code128 = \"Code128\",\n /** GS1 8-digit International Article Number (European Article Number). */\n EAN8 = \"EAN8\",\n /** GS1 13-digit International Article Number (European Article Number). */\n EAN13 = \"EAN13\",\n /** GS1 DataBar barcode. */\n DataBar = \"DataBar\",\n /** Code 93 barcode, as defined in ANSI/AIM BC5-1995. */\n Code93 = \"Code93\",\n /** Codabar barcode, as defined in ANSI/AIM BC3-1995. */\n Codabar = \"Codabar\",\n /** GS1 DataBar Expanded barcode. */\n DataBarExpanded = \"DataBarExpanded\",\n /** Interleaved 2 of 5 barcode, as defined in ANSI/AIM BC2-1995. */\n ITF = \"ITF\",\n /** Micro QR code, as defined in ISO/IEC 23941:2022. */\n MicroQRCode = \"MicroQRCode\",\n /** Aztec code, as defined in ISO/IEC 24778:2008. */\n Aztec = \"Aztec\",\n /** Data matrix code, as defined in ISO/IEC 16022:2006. */\n DataMatrix = \"DataMatrix\",\n /** MaxiCode, as defined in ISO/IEC 16023:2000. */\n MaxiCode = \"MaxiCode\",\n}\n\n/**\n * Defines values for DocumentBarcodeKind. \\\n * {@link KnownDocumentBarcodeKind} can be used interchangeably with DocumentBarcodeKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **QRCode**: QR code, as defined in ISO\\/IEC 18004:2015. \\\n * **PDF417**: PDF417, as defined in ISO 15438. \\\n * **UPCA**: GS1 12-digit Universal Product Code. \\\n * **UPCE**: GS1 6-digit Universal Product Code. \\\n * **Code39**: Code 39 barcode, as defined in ISO\\/IEC 16388:2007. \\\n * **Code128**: Code 128 barcode, as defined in ISO\\/IEC 15417:2007. \\\n * **EAN8**: GS1 8-digit International Article Number (European Article Number). \\\n * **EAN13**: GS1 13-digit International Article Number (European Article Number). \\\n * **DataBar**: GS1 DataBar barcode. \\\n * **Code93**: Code 93 barcode, as defined in ANSI\\/AIM BC5-1995. \\\n * **Codabar**: Codabar barcode, as defined in ANSI\\/AIM BC3-1995. \\\n * **DataBarExpanded**: GS1 DataBar Expanded barcode. \\\n * **ITF**: Interleaved 2 of 5 barcode, as defined in ANSI\\/AIM BC2-1995. \\\n * **MicroQRCode**: Micro QR code, as defined in ISO\\/IEC 23941:2022. \\\n * **Aztec**: Aztec code, as defined in ISO\\/IEC 24778:2008. \\\n * **DataMatrix**: Data matrix code, as defined in ISO\\/IEC 16022:2006. \\\n * **MaxiCode**: MaxiCode, as defined in ISO\\/IEC 16023:2000.\n */\nexport type DocumentBarcodeKind = string;\n\n/** Known values of {@link DocumentFormulaKind} that the service accepts. */\nexport enum KnownDocumentFormulaKind {\n /** A formula embedded within the content of a paragraph. */\n Inline = \"inline\",\n /** A formula in display mode that takes up an entire line. */\n Display = \"display\",\n}\n\n/**\n * Defines values for DocumentFormulaKind. \\\n * {@link KnownDocumentFormulaKind} can be used interchangeably with DocumentFormulaKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **inline**: A formula embedded within the content of a paragraph. \\\n * **display**: A formula in display mode that takes up an entire line.\n */\nexport type DocumentFormulaKind = string;\n\n/** Known values of {@link ParagraphRole} that the service accepts. */\nexport enum KnownParagraphRole {\n /** Text near the top edge of the page. */\n PageHeader = \"pageHeader\",\n /** Text near the bottom edge of the page. */\n PageFooter = \"pageFooter\",\n /** Page number. */\n PageNumber = \"pageNumber\",\n /** Top-level title describing the entire document. */\n Title = \"title\",\n /** Sub heading describing a section of the document. */\n SectionHeading = \"sectionHeading\",\n /** A note usually placed after the main content on a page. */\n Footnote = \"footnote\",\n /** A block of formulas, often with shared alignment. */\n FormulaBlock = \"formulaBlock\",\n}\n\n/**\n * Defines values for ParagraphRole. \\\n * {@link KnownParagraphRole} can be used interchangeably with ParagraphRole,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **pageHeader**: Text near the top edge of the page. \\\n * **pageFooter**: Text near the bottom edge of the page. \\\n * **pageNumber**: Page number. \\\n * **title**: Top-level title describing the entire document. \\\n * **sectionHeading**: Sub heading describing a section of the document. \\\n * **footnote**: A note usually placed after the main content on a page. \\\n * **formulaBlock**: A block of formulas, often with shared alignment.\n */\nexport type ParagraphRole = string;\n\n/** Known values of {@link DocumentTableCellKind} that the service accepts. */\nexport enum KnownDocumentTableCellKind {\n /** Contains the main content/data. */\n Content = \"content\",\n /** Describes the content of the row. */\n RowHeader = \"rowHeader\",\n /** Describes the content of the column. */\n ColumnHeader = \"columnHeader\",\n /** Describes the row headers, usually located at the top left corner of a table. */\n StubHead = \"stubHead\",\n /** Describes the content in (parts of) the table. */\n Description = \"description\",\n}\n\n/**\n * Defines values for DocumentTableCellKind. \\\n * {@link KnownDocumentTableCellKind} can be used interchangeably with DocumentTableCellKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **content**: Contains the main content\\/data. \\\n * **rowHeader**: Describes the content of the row. \\\n * **columnHeader**: Describes the content of the column. \\\n * **stubHead**: Describes the row headers, usually located at the top left corner of a table. \\\n * **description**: Describes the content in (parts of) the table.\n */\nexport type DocumentTableCellKind = string;\n\n/** Known values of {@link FontStyle} that the service accepts. */\nexport enum KnownFontStyle {\n /** Characters are represented normally. */\n Normal = \"normal\",\n /** Characters are visually slanted to the right. */\n Italic = \"italic\",\n}\n\n/**\n * Defines values for FontStyle. \\\n * {@link KnownFontStyle} can be used interchangeably with FontStyle,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **normal**: Characters are represented normally. \\\n * **italic**: Characters are visually slanted to the right.\n */\nexport type FontStyle = string;\n\n/** Known values of {@link FontWeight} that the service accepts. */\nexport enum KnownFontWeight {\n /** Characters are represented normally. */\n Normal = \"normal\",\n /** Characters are represented with thicker strokes. */\n Bold = \"bold\",\n}\n\n/**\n * Defines values for FontWeight. \\\n * {@link KnownFontWeight} can be used interchangeably with FontWeight,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **normal**: Characters are represented normally. \\\n * **bold**: Characters are represented with thicker strokes.\n */\nexport type FontWeight = string;\n\n/** Known values of {@link DocumentFieldType} that the service accepts. */\nexport enum KnownDocumentFieldType {\n /** Plain text. */\n String = \"string\",\n /** Date, normalized to ISO 8601 (YYYY-MM-DD) format. */\n Date = \"date\",\n /** Time, normalized to ISO 8601 (hh:mm:ss) format. */\n Time = \"time\",\n /** Phone number, normalized to E.164 (+{CountryCode}{SubscriberNumber}) format. */\n PhoneNumber = \"phoneNumber\",\n /** Floating point number, normalized to double precision floating point. */\n Number = \"number\",\n /** Integer number, normalized to 64-bit signed integer. */\n Integer = \"integer\",\n /** Is field selected? */\n SelectionMark = \"selectionMark\",\n /** Country/region, normalized to ISO 3166-1 alpha-3 format (ex. USA). */\n CountryRegion = \"countryRegion\",\n /** Is signature present? */\n Signature = \"signature\",\n /** List of subfields of the same type. */\n Array = \"array\",\n /** Named list of subfields of potentially different types. */\n Object = \"object\",\n /** Currency amount with optional currency symbol and unit. */\n Currency = \"currency\",\n /** Parsed address. */\n Address = \"address\",\n /** Boolean value, normalized to true or false. */\n Boolean = \"boolean\",\n}\n\n/**\n * Defines values for DocumentFieldType. \\\n * {@link KnownDocumentFieldType} can be used interchangeably with DocumentFieldType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **string**: Plain text. \\\n * **date**: Date, normalized to ISO 8601 (YYYY-MM-DD) format. \\\n * **time**: Time, normalized to ISO 8601 (hh:mm:ss) format. \\\n * **phoneNumber**: Phone number, normalized to E.164 (+{CountryCode}{SubscriberNumber}) format. \\\n * **number**: Floating point number, normalized to double precision floating point. \\\n * **integer**: Integer number, normalized to 64-bit signed integer. \\\n * **selectionMark**: Is field selected? \\\n * **countryRegion**: Country\\/region, normalized to ISO 3166-1 alpha-3 format (ex. USA). \\\n * **signature**: Is signature present? \\\n * **array**: List of subfields of the same type. \\\n * **object**: Named list of subfields of potentially different types. \\\n * **currency**: Currency amount with optional currency symbol and unit. \\\n * **address**: Parsed address. \\\n * **boolean**: Boolean value, normalized to true or false.\n */\nexport type DocumentFieldType = string;\n\n/** Known values of {@link DocumentSignatureType} that the service accepts. */\nexport enum KnownDocumentSignatureType {\n /** A signature is detected. */\n Signed = \"signed\",\n /** No signatures are detected. */\n Unsigned = \"unsigned\",\n}\n\n/**\n * Defines values for DocumentSignatureType. \\\n * {@link KnownDocumentSignatureType} can be used interchangeably with DocumentSignatureType,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **signed**: A signature is detected. \\\n * **unsigned**: No signatures are detected.\n */\nexport type DocumentSignatureType = string;\n\n/** Known values of {@link DocumentBuildMode} that the service accepts. */\nexport enum KnownDocumentBuildMode {\n /** Target documents with similar visual templates. */\n Template = \"template\",\n /** Support documents with diverse visual templates. */\n Neural = \"neural\",\n}\n\n/**\n * Defines values for DocumentBuildMode. \\\n * {@link KnownDocumentBuildMode} can be used interchangeably with DocumentBuildMode,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **template**: Target documents with similar visual templates. \\\n * **neural**: Support documents with diverse visual templates.\n */\nexport type DocumentBuildMode = string;\n\n/** Known values of {@link OperationKind} that the service accepts. */\nexport enum KnownOperationKind {\n /** Build a new custom document model. */\n DocumentModelBuild = \"documentModelBuild\",\n /** Compose a new custom document model from existing models. */\n DocumentModelCompose = \"documentModelCompose\",\n /** Copy an existing document model to potentially a different resource, region, or subscription. */\n DocumentModelCopyTo = \"documentModelCopyTo\",\n /** Build a new custom classifier model. */\n DocumentClassifierBuild = \"documentClassifierBuild\",\n}\n\n/**\n * Defines values for OperationKind. \\\n * {@link KnownOperationKind} can be used interchangeably with OperationKind,\n * this enum contains the known values that the service supports.\n * ### Known values supported by the service\n * **documentModelBuild**: Build a new custom document model. \\\n * **documentModelCompose**: Compose a new custom document model from existing models. \\\n * **documentModelCopyTo**: Copy an existing document model to potentially a different resource, region, or subscription. \\\n * **documentClassifierBuild**: Build a new custom classifier model.\n */\nexport type OperationKind = string;\n/** Defines values for ContentType. */\nexport type ContentType =\n | \"application/octet-stream\"\n | \"application/pdf\"\n | \"application/vnd.openxmlformats-officedocument.presentationml.presentation\"\n | \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\n | \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\n | \"image/bmp\"\n | \"image/heif\"\n | \"image/jpeg\"\n | \"image/png\"\n | \"image/tiff\";\n/** Defines values for AnalyzeResultOperationStatus. */\nexport type AnalyzeResultOperationStatus = \"notStarted\" | \"running\" | \"failed\" | \"succeeded\";\n/** Defines values for OperationStatus. */\nexport type OperationStatus = \"notStarted\" | \"running\" | \"failed\" | \"succeeded\" | \"canceled\";\n\n/** Optional parameters. */\nexport interface DocumentModelsAnalyzeDocument$binaryOptionalParams\n extends coreClient.OperationOptions {\n /** Analyze request parameters. */\n analyzeRequest?: coreRestPipeline.RequestBodyType;\n /** List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\" */\n pages?: string;\n /** Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\"). */\n locale?: string;\n /** List of optional analysis features. */\n features?: DocumentAnalysisFeature[];\n}\n\n/** Optional parameters. */\nexport interface DocumentModelsAnalyzeDocument$textOptionalParams\n extends coreClient.OperationOptions {\n /** Analyze request parameters. */\n analyzeRequest?: string;\n /** List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\" */\n pages?: string;\n /** Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\"). */\n locale?: string;\n /** List of optional analysis features. */\n features?: DocumentAnalysisFeature[];\n}\n\n/** Optional parameters. */\nexport interface DocumentModelsAnalyzeDocument$jsonOptionalParams\n extends coreClient.OperationOptions {\n /** Analyze request parameters. */\n analyzeRequest?: AnalyzeDocumentRequest;\n /** List of 1-based page numbers to analyze. Ex. \"1-3,5,7-9\" */\n pages?: string;\n /** Locale hint for text recognition and document analysis. Value may contain only the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\"). */\n locale?: string;\n /** List of optional analysis features. */\n features?: DocumentAnalysisFeature[];\n}\n\n/** Contains response data for the analyzeDocument operation. */\nexport type DocumentModelsAnalyzeDocumentResponse = DocumentModelsAnalyzeDocumentHeaders;\n\n/** Optional parameters. */\nexport interface DocumentModelsGetAnalyzeResultOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the getAnalyzeResult operation. */\nexport type DocumentModelsGetAnalyzeResultResponse = AnalyzeResultOperation;\n\n/** Optional parameters. */\nexport interface DocumentModelsBuildModelOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the buildModel operation. */\nexport type DocumentModelsBuildModelResponse = DocumentModelsBuildModelHeaders;\n\n/** Optional parameters. */\nexport interface DocumentModelsComposeModelOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the composeModel operation. */\nexport type DocumentModelsComposeModelResponse = DocumentModelsComposeModelHeaders;\n\n/** Optional parameters. */\nexport interface DocumentModelsAuthorizeModelCopyOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the authorizeModelCopy operation. */\nexport type DocumentModelsAuthorizeModelCopyResponse = CopyAuthorization;\n\n/** Optional parameters. */\nexport interface DocumentModelsCopyModelToOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the copyModelTo operation. */\nexport type DocumentModelsCopyModelToResponse = DocumentModelsCopyModelToHeaders;\n\n/** Optional parameters. */\nexport interface DocumentModelsListModelsOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the listModels operation. */\nexport type DocumentModelsListModelsResponse = GetDocumentModelsResponse;\n\n/** Optional parameters. */\nexport interface DocumentModelsGetModelOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the getModel operation. */\nexport type DocumentModelsGetModelResponse = DocumentModelDetails;\n\n/** Optional parameters. */\nexport interface DocumentModelsDeleteModelOptionalParams extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface DocumentModelsListModelsNextOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the listModelsNext operation. */\nexport type DocumentModelsListModelsNextResponse = GetDocumentModelsResponse;\n\n/** Optional parameters. */\nexport interface MiscellaneousListOperationsOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the listOperations operation. */\nexport type MiscellaneousListOperationsResponse = GetOperationsResponse;\n\n/** Optional parameters. */\nexport interface MiscellaneousGetOperationOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the getOperation operation. */\nexport type MiscellaneousGetOperationResponse = OperationDetailsUnion;\n\n/** Optional parameters. */\nexport interface MiscellaneousGetResourceInfoOptionalParams extends coreClient.OperationOptions {}\n\n/** Contains response data for the getResourceInfo operation. */\nexport type MiscellaneousGetResourceInfoResponse = ResourceDetails;\n\n/** Optional parameters. */\nexport interface MiscellaneousListOperationsNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listOperationsNext operation. */\nexport type MiscellaneousListOperationsNextResponse = GetOperationsResponse;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersBuildClassifierOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the buildClassifier operation. */\nexport type DocumentClassifiersBuildClassifierResponse = DocumentClassifiersBuildClassifierHeaders;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersListClassifiersOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listClassifiers operation. */\nexport type DocumentClassifiersListClassifiersResponse = GetDocumentClassifiersResponse;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersGetClassifierOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getClassifier operation. */\nexport type DocumentClassifiersGetClassifierResponse = DocumentClassifierDetails;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersDeleteClassifierOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Optional parameters. */\nexport interface DocumentClassifiersClassifyDocument$binaryOptionalParams\n extends coreClient.OperationOptions {\n /** Classify request parameters. */\n classifyRequest?: coreRestPipeline.RequestBodyType;\n}\n\n/** Optional parameters. */\nexport interface DocumentClassifiersClassifyDocument$textOptionalParams\n extends coreClient.OperationOptions {\n /** Classify request parameters. */\n classifyRequest?: string;\n}\n\n/** Optional parameters. */\nexport interface DocumentClassifiersClassifyDocument$jsonOptionalParams\n extends coreClient.OperationOptions {\n /** Classify request parameters. */\n classifyRequest?: ClassifyDocumentRequest;\n}\n\n/** Contains response data for the classifyDocument operation. */\nexport type DocumentClassifiersClassifyDocumentResponse =\n DocumentClassifiersClassifyDocumentHeaders;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersGetClassifyResultOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the getClassifyResult operation. */\nexport type DocumentClassifiersGetClassifyResultResponse = AnalyzeResultOperation;\n\n/** Optional parameters. */\nexport interface DocumentClassifiersListClassifiersNextOptionalParams\n extends coreClient.OperationOptions {}\n\n/** Contains response data for the listClassifiersNext operation. */\nexport type DocumentClassifiersListClassifiersNextResponse = GetDocumentClassifiersResponse;\n\n/** Optional parameters. */\nexport interface GeneratedClientOptionalParams extends coreClient.ServiceClientOptions {\n /** Method used to compute string offset and length. */\n stringIndexType?: StringIndexType;\n /** Api Version */\n apiVersion?: string;\n /** Overrides client endpoint. */\n endpoint?: string;\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DocumentModels } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClient } from \"../generatedClient\";\nimport {\n DocumentModelSummary,\n DocumentModelsListModelsNextOptionalParams,\n DocumentModelsListModelsOptionalParams,\n ContentType,\n DocumentModelsAnalyzeDocument$binaryOptionalParams,\n DocumentModelsAnalyzeDocument$textOptionalParams,\n DocumentModelsAnalyzeDocument$jsonOptionalParams,\n DocumentModelsAnalyzeDocumentResponse,\n DocumentModelsGetAnalyzeResultOptionalParams,\n DocumentModelsGetAnalyzeResultResponse,\n BuildDocumentModelRequest,\n DocumentModelsBuildModelOptionalParams,\n DocumentModelsBuildModelResponse,\n ComposeDocumentModelRequest,\n DocumentModelsComposeModelOptionalParams,\n DocumentModelsComposeModelResponse,\n AuthorizeCopyRequest,\n DocumentModelsAuthorizeModelCopyOptionalParams,\n DocumentModelsAuthorizeModelCopyResponse,\n CopyAuthorization,\n DocumentModelsCopyModelToOptionalParams,\n DocumentModelsCopyModelToResponse,\n DocumentModelsListModelsResponse,\n DocumentModelsGetModelOptionalParams,\n DocumentModelsGetModelResponse,\n DocumentModelsDeleteModelOptionalParams,\n DocumentModelsListModelsNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DocumentModels operations. */\nexport class DocumentModelsImpl implements DocumentModels {\n private readonly client: GeneratedClient;\n\n /**\n * Initialize a new instance of the class DocumentModels class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClient) {\n this.client = client;\n }\n\n /**\n * List all document models\n * @param options The options parameters.\n */\n public listModels(\n options?: DocumentModelsListModelsOptionalParams\n ): PagedAsyncIterableIterator<DocumentModelSummary> {\n const iter = this.listModelsPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listModelsPagingPage(options);\n }\n };\n }\n\n private async *listModelsPagingPage(\n options?: DocumentModelsListModelsOptionalParams\n ): AsyncIterableIterator<DocumentModelSummary[]> {\n let result = await this._listModels(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listModelsNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listModelsPagingAll(\n options?: DocumentModelsListModelsOptionalParams\n ): AsyncIterableIterator<DocumentModelSummary> {\n for await (const page of this.listModelsPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Analyzes document with document model.\n * @param modelId Unique document model name.\n * @param contentType Upload file type\n * @param options The options parameters.\n */\n analyzeDocument(\n modelId: string,\n contentType: ContentType,\n options?: DocumentModelsAnalyzeDocument$binaryOptionalParams\n ): Promise<DocumentModelsAnalyzeDocumentResponse>;\n /**\n * Analyzes document with document model.\n * @param modelId Unique document model name.\n * @param contentType Upload file type\n * @param options The options parameters.\n */\n analyzeDocument(\n modelId: string,\n contentType: \"text/html\",\n options?: DocumentModelsAnalyzeDocument$textOptionalParams\n ): Promise<DocumentModelsAnalyzeDocumentResponse>;\n /**\n * Analyzes document with document model.\n * @param modelId Unique document model name.\n * @param contentType Body Parameter content-type\n * @param options The options parameters.\n */\n analyzeDocument(\n modelId: string,\n contentType: \"application/json\",\n options?: DocumentModelsAnalyzeDocument$jsonOptionalParams\n ): Promise<DocumentModelsAnalyzeDocumentResponse>;\n /**\n * Analyzes document with document model.\n * @param args Includes all the parameters for this operation.\n */\n analyzeDocument(\n ...args:\n | [\n string,\n ContentType,\n DocumentModelsAnalyzeDocument$binaryOptionalParams?\n ]\n | [string, \"text/html\", DocumentModelsAnalyzeDocument$textOptionalParams?]\n | [\n string,\n \"application/json\",\n DocumentModelsAnalyzeDocument$jsonOptionalParams?\n ]\n ): Promise<DocumentModelsAnalyzeDocumentResponse> {\n let operationSpec: coreClient.OperationSpec;\n let operationArguments: coreClient.OperationArguments;\n let options;\n if (\n args[1] === \"application/octet-stream\" ||\n args[1] === \"application/pdf\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n args[1] === \"image/bmp\" ||\n args[1] === \"image/heif\" ||\n args[1] === \"image/jpeg\" ||\n args[1] === \"image/png\" ||\n args[1] === \"image/tiff\"\n ) {\n operationSpec = analyzeDocument$binaryOperationSpec;\n operationArguments = {\n modelId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else if (args[1] === \"text/html\") {\n operationSpec = analyzeDocument$textOperationSpec;\n operationArguments = {\n modelId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else if (args[1] === \"application/json\") {\n operationSpec = analyzeDocument$jsonOperationSpec;\n operationArguments = {\n modelId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else {\n throw new TypeError(\n `\"contentType\" must be a valid value but instead was \"${args[1]}\".`\n );\n }\n operationArguments.options = options || {};\n return this.client.sendOperationRequest(operationArguments, operationSpec);\n }\n\n /**\n * Gets the result of document analysis.\n * @param modelId Unique document model name.\n * @param resultId Analyze operation result ID.\n * @param options The options parameters.\n */\n getAnalyzeResult(\n modelId: string,\n resultId: string,\n options?: DocumentModelsGetAnalyzeResultOptionalParams\n ): Promise<DocumentModelsGetAnalyzeResultResponse> {\n return this.client.sendOperationRequest(\n { modelId, resultId, options },\n getAnalyzeResultOperationSpec\n );\n }\n\n /**\n * Builds a custom document analysis model.\n * @param buildRequest Building request parameters.\n * @param options The options parameters.\n */\n buildModel(\n buildRequest: BuildDocumentModelRequest,\n options?: DocumentModelsBuildModelOptionalParams\n ): Promise<DocumentModelsBuildModelResponse> {\n return this.client.sendOperationRequest(\n { buildRequest, options },\n buildModelOperationSpec\n );\n }\n\n /**\n * Creates a new document model from document types of existing document models.\n * @param composeRequest Compose request parameters.\n * @param options The options parameters.\n */\n composeModel(\n composeRequest: ComposeDocumentModelRequest,\n options?: DocumentModelsComposeModelOptionalParams\n ): Promise<DocumentModelsComposeModelResponse> {\n return this.client.sendOperationRequest(\n { composeRequest, options },\n composeModelOperationSpec\n );\n }\n\n /**\n * Generates authorization to copy a document model to this location with specified modelId and\n * optional description.\n * @param authorizeCopyRequest Authorize copy request parameters.\n * @param options The options parameters.\n */\n authorizeModelCopy(\n authorizeCopyRequest: AuthorizeCopyRequest,\n options?: DocumentModelsAuthorizeModelCopyOptionalParams\n ): Promise<DocumentModelsAuthorizeModelCopyResponse> {\n return this.client.sendOperationRequest(\n { authorizeCopyRequest, options },\n authorizeModelCopyOperationSpec\n );\n }\n\n /**\n * Copies document model to the target resource, region, and modelId.\n * @param modelId Unique document model name.\n * @param copyToRequest Copy to request parameters.\n * @param options The options parameters.\n */\n copyModelTo(\n modelId: string,\n copyToRequest: CopyAuthorization,\n options?: DocumentModelsCopyModelToOptionalParams\n ): Promise<DocumentModelsCopyModelToResponse> {\n return this.client.sendOperationRequest(\n { modelId, copyToRequest, options },\n copyModelToOperationSpec\n );\n }\n\n /**\n * List all document models\n * @param options The options parameters.\n */\n private _listModels(\n options?: DocumentModelsListModelsOptionalParams\n ): Promise<DocumentModelsListModelsResponse> {\n return this.client.sendOperationRequest(\n { options },\n listModelsOperationSpec\n );\n }\n\n /**\n * Gets detailed document model information.\n * @param modelId Unique document model name.\n * @param options The options parameters.\n */\n getModel(\n modelId: string,\n options?: DocumentModelsGetModelOptionalParams\n ): Promise<DocumentModelsGetModelResponse> {\n return this.client.sendOperationRequest(\n { modelId, options },\n getModelOperationSpec\n );\n }\n\n /**\n * Deletes document model.\n * @param modelId Unique document model name.\n * @param options The options parameters.\n */\n deleteModel(\n modelId: string,\n options?: DocumentModelsDeleteModelOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { modelId, options },\n deleteModelOperationSpec\n );\n }\n\n /**\n * ListModelsNext\n * @param nextLink The nextLink from the previous successful call to the ListModels method.\n * @param options The options parameters.\n */\n private _listModelsNext(\n nextLink: string,\n options?: DocumentModelsListModelsNextOptionalParams\n ): Promise<DocumentModelsListModelsNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listModelsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst analyzeDocument$binaryOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsAnalyzeDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.analyzeRequest,\n queryParameters: [\n Parameters.pages,\n Parameters.locale,\n Parameters.stringIndexType,\n Parameters.apiVersion,\n Parameters.features\n ],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"binary\",\n serializer\n};\nconst analyzeDocument$textOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsAnalyzeDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.analyzeRequest1,\n queryParameters: [\n Parameters.pages,\n Parameters.locale,\n Parameters.stringIndexType,\n Parameters.apiVersion,\n Parameters.features\n ],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.contentType1, Parameters.accept1],\n mediaType: \"text\",\n serializer\n};\nconst analyzeDocument$jsonOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsAnalyzeDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.analyzeRequest2,\n queryParameters: [\n Parameters.pages,\n Parameters.locale,\n Parameters.stringIndexType,\n Parameters.apiVersion,\n Parameters.features\n ],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.contentType2, Parameters.accept2],\n mediaType: \"json\",\n serializer\n};\nconst getAnalyzeResultOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}/analyzeResults/{resultId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResultOperation\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.modelId, Parameters.resultId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst buildModelOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels:build\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsBuildModelHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.buildRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2, Parameters.contentType3],\n mediaType: \"json\",\n serializer\n};\nconst composeModelOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels:compose\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsComposeModelHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.composeRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2, Parameters.contentType3],\n mediaType: \"json\",\n serializer\n};\nconst authorizeModelCopyOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels:authorizeCopy\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.CopyAuthorization\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.authorizeCopyRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2, Parameters.contentType3],\n mediaType: \"json\",\n serializer\n};\nconst copyModelToOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}:copyTo\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentModelsCopyModelToHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.copyToRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.accept2, Parameters.contentType3],\n mediaType: \"json\",\n serializer\n};\nconst listModelsOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetDocumentModelsResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst getModelOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DocumentModelDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst deleteModelOperationSpec: coreClient.OperationSpec = {\n path: \"/documentModels/{modelId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.modelId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst listModelsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetDocumentModelsResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [Parameters.accept2],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { Miscellaneous } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClient } from \"../generatedClient\";\nimport {\n OperationSummary,\n MiscellaneousListOperationsNextOptionalParams,\n MiscellaneousListOperationsOptionalParams,\n MiscellaneousListOperationsResponse,\n MiscellaneousGetOperationOptionalParams,\n MiscellaneousGetOperationResponse,\n MiscellaneousGetResourceInfoOptionalParams,\n MiscellaneousGetResourceInfoResponse,\n MiscellaneousListOperationsNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing Miscellaneous operations. */\nexport class MiscellaneousImpl implements Miscellaneous {\n private readonly client: GeneratedClient;\n\n /**\n * Initialize a new instance of the class Miscellaneous class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClient) {\n this.client = client;\n }\n\n /**\n * Lists all operations.\n * @param options The options parameters.\n */\n public listOperations(\n options?: MiscellaneousListOperationsOptionalParams\n ): PagedAsyncIterableIterator<OperationSummary> {\n const iter = this.listOperationsPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listOperationsPagingPage(options);\n }\n };\n }\n\n private async *listOperationsPagingPage(\n options?: MiscellaneousListOperationsOptionalParams\n ): AsyncIterableIterator<OperationSummary[]> {\n let result = await this._listOperations(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listOperationsNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listOperationsPagingAll(\n options?: MiscellaneousListOperationsOptionalParams\n ): AsyncIterableIterator<OperationSummary> {\n for await (const page of this.listOperationsPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Lists all operations.\n * @param options The options parameters.\n */\n private _listOperations(\n options?: MiscellaneousListOperationsOptionalParams\n ): Promise<MiscellaneousListOperationsResponse> {\n return this.client.sendOperationRequest(\n { options },\n listOperationsOperationSpec\n );\n }\n\n /**\n * Gets operation info.\n * @param operationId Unique operation ID.\n * @param options The options parameters.\n */\n getOperation(\n operationId: string,\n options?: MiscellaneousGetOperationOptionalParams\n ): Promise<MiscellaneousGetOperationResponse> {\n return this.client.sendOperationRequest(\n { operationId, options },\n getOperationOperationSpec\n );\n }\n\n /**\n * Return information about the current resource.\n * @param options The options parameters.\n */\n getResourceInfo(\n options?: MiscellaneousGetResourceInfoOptionalParams\n ): Promise<MiscellaneousGetResourceInfoResponse> {\n return this.client.sendOperationRequest(\n { options },\n getResourceInfoOperationSpec\n );\n }\n\n /**\n * ListOperationsNext\n * @param nextLink The nextLink from the previous successful call to the ListOperations method.\n * @param options The options parameters.\n */\n private _listOperationsNext(\n nextLink: string,\n options?: MiscellaneousListOperationsNextOptionalParams\n ): Promise<MiscellaneousListOperationsNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listOperationsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst listOperationsOperationSpec: coreClient.OperationSpec = {\n path: \"/operations\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetOperationsResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst getOperationOperationSpec: coreClient.OperationSpec = {\n path: \"/operations/{operationId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.operationId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst getResourceInfoOperationSpec: coreClient.OperationSpec = {\n path: \"/info\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ResourceDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst listOperationsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetOperationsResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [Parameters.accept2],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { DocumentClassifiers } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { GeneratedClient } from \"../generatedClient\";\nimport {\n DocumentClassifierDetails,\n DocumentClassifiersListClassifiersNextOptionalParams,\n DocumentClassifiersListClassifiersOptionalParams,\n BuildDocumentClassifierRequest,\n DocumentClassifiersBuildClassifierOptionalParams,\n DocumentClassifiersBuildClassifierResponse,\n DocumentClassifiersListClassifiersResponse,\n DocumentClassifiersGetClassifierOptionalParams,\n DocumentClassifiersGetClassifierResponse,\n DocumentClassifiersDeleteClassifierOptionalParams,\n ContentType,\n DocumentClassifiersClassifyDocument$binaryOptionalParams,\n DocumentClassifiersClassifyDocument$textOptionalParams,\n DocumentClassifiersClassifyDocument$jsonOptionalParams,\n DocumentClassifiersClassifyDocumentResponse,\n DocumentClassifiersGetClassifyResultOptionalParams,\n DocumentClassifiersGetClassifyResultResponse,\n DocumentClassifiersListClassifiersNextResponse\n} from \"../models\";\n\n/// <reference lib=\"esnext.asynciterable\" />\n/** Class containing DocumentClassifiers operations. */\nexport class DocumentClassifiersImpl implements DocumentClassifiers {\n private readonly client: GeneratedClient;\n\n /**\n * Initialize a new instance of the class DocumentClassifiers class.\n * @param client Reference to the service client\n */\n constructor(client: GeneratedClient) {\n this.client = client;\n }\n\n /**\n * List all document classifiers.\n * @param options The options parameters.\n */\n public listClassifiers(\n options?: DocumentClassifiersListClassifiersOptionalParams\n ): PagedAsyncIterableIterator<DocumentClassifierDetails> {\n const iter = this.listClassifiersPagingAll(options);\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listClassifiersPagingPage(options);\n }\n };\n }\n\n private async *listClassifiersPagingPage(\n options?: DocumentClassifiersListClassifiersOptionalParams\n ): AsyncIterableIterator<DocumentClassifierDetails[]> {\n let result = await this._listClassifiers(options);\n yield result.value || [];\n let continuationToken = result.nextLink;\n while (continuationToken) {\n result = await this._listClassifiersNext(continuationToken, options);\n continuationToken = result.nextLink;\n yield result.value || [];\n }\n }\n\n private async *listClassifiersPagingAll(\n options?: DocumentClassifiersListClassifiersOptionalParams\n ): AsyncIterableIterator<DocumentClassifierDetails> {\n for await (const page of this.listClassifiersPagingPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Builds a custom document classifier.\n * @param buildRequest Building request parameters.\n * @param options The options parameters.\n */\n buildClassifier(\n buildRequest: BuildDocumentClassifierRequest,\n options?: DocumentClassifiersBuildClassifierOptionalParams\n ): Promise<DocumentClassifiersBuildClassifierResponse> {\n return this.client.sendOperationRequest(\n { buildRequest, options },\n buildClassifierOperationSpec\n );\n }\n\n /**\n * List all document classifiers.\n * @param options The options parameters.\n */\n private _listClassifiers(\n options?: DocumentClassifiersListClassifiersOptionalParams\n ): Promise<DocumentClassifiersListClassifiersResponse> {\n return this.client.sendOperationRequest(\n { options },\n listClassifiersOperationSpec\n );\n }\n\n /**\n * Gets detailed document classifier information.\n * @param classifierId Unique document classifier name.\n * @param options The options parameters.\n */\n getClassifier(\n classifierId: string,\n options?: DocumentClassifiersGetClassifierOptionalParams\n ): Promise<DocumentClassifiersGetClassifierResponse> {\n return this.client.sendOperationRequest(\n { classifierId, options },\n getClassifierOperationSpec\n );\n }\n\n /**\n * Deletes document classifier.\n * @param classifierId Unique document classifier name.\n * @param options The options parameters.\n */\n deleteClassifier(\n classifierId: string,\n options?: DocumentClassifiersDeleteClassifierOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { classifierId, options },\n deleteClassifierOperationSpec\n );\n }\n\n /**\n * Classifies document with document classifier.\n * @param classifierId Unique document classifier name.\n * @param contentType Upload file type\n * @param options The options parameters.\n */\n classifyDocument(\n classifierId: string,\n contentType: ContentType,\n options?: DocumentClassifiersClassifyDocument$binaryOptionalParams\n ): Promise<DocumentClassifiersClassifyDocumentResponse>;\n /**\n * Classifies document with document classifier.\n * @param classifierId Unique document classifier name.\n * @param contentType Upload file type\n * @param options The options parameters.\n */\n classifyDocument(\n classifierId: string,\n contentType: \"text/html\",\n options?: DocumentClassifiersClassifyDocument$textOptionalParams\n ): Promise<DocumentClassifiersClassifyDocumentResponse>;\n /**\n * Classifies document with document classifier.\n * @param classifierId Unique document classifier name.\n * @param contentType Body Parameter content-type\n * @param options The options parameters.\n */\n classifyDocument(\n classifierId: string,\n contentType: \"application/json\",\n options?: DocumentClassifiersClassifyDocument$jsonOptionalParams\n ): Promise<DocumentClassifiersClassifyDocumentResponse>;\n /**\n * Classifies document with document classifier.\n * @param args Includes all the parameters for this operation.\n */\n classifyDocument(\n ...args:\n | [\n string,\n ContentType,\n DocumentClassifiersClassifyDocument$binaryOptionalParams?\n ]\n | [\n string,\n \"text/html\",\n DocumentClassifiersClassifyDocument$textOptionalParams?\n ]\n | [\n string,\n \"application/json\",\n DocumentClassifiersClassifyDocument$jsonOptionalParams?\n ]\n ): Promise<DocumentClassifiersClassifyDocumentResponse> {\n let operationSpec: coreClient.OperationSpec;\n let operationArguments: coreClient.OperationArguments;\n let options;\n if (\n args[1] === \"application/octet-stream\" ||\n args[1] === \"application/pdf\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\" ||\n args[1] ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n args[1] === \"image/bmp\" ||\n args[1] === \"image/heif\" ||\n args[1] === \"image/jpeg\" ||\n args[1] === \"image/png\" ||\n args[1] === \"image/tiff\"\n ) {\n operationSpec = classifyDocument$binaryOperationSpec;\n operationArguments = {\n classifierId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else if (args[1] === \"text/html\") {\n operationSpec = classifyDocument$textOperationSpec;\n operationArguments = {\n classifierId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else if (args[1] === \"application/json\") {\n operationSpec = classifyDocument$jsonOperationSpec;\n operationArguments = {\n classifierId: args[0],\n contentType: args[1],\n options: args[2]\n };\n options = args[2];\n } else {\n throw new TypeError(\n `\"contentType\" must be a valid value but instead was \"${args[1]}\".`\n );\n }\n operationArguments.options = options || {};\n return this.client.sendOperationRequest(operationArguments, operationSpec);\n }\n\n /**\n * Gets the result of document classifier.\n * @param classifierId Unique document classifier name.\n * @param resultId Analyze operation result ID.\n * @param options The options parameters.\n */\n getClassifyResult(\n classifierId: string,\n resultId: string,\n options?: DocumentClassifiersGetClassifyResultOptionalParams\n ): Promise<DocumentClassifiersGetClassifyResultResponse> {\n return this.client.sendOperationRequest(\n { classifierId, resultId, options },\n getClassifyResultOperationSpec\n );\n }\n\n /**\n * ListClassifiersNext\n * @param nextLink The nextLink from the previous successful call to the ListClassifiers method.\n * @param options The options parameters.\n */\n private _listClassifiersNext(\n nextLink: string,\n options?: DocumentClassifiersListClassifiersNextOptionalParams\n ): Promise<DocumentClassifiersListClassifiersNextResponse> {\n return this.client.sendOperationRequest(\n { nextLink, options },\n listClassifiersNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst buildClassifierOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers:build\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentClassifiersBuildClassifierHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.buildRequest1,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2, Parameters.contentType3],\n mediaType: \"json\",\n serializer\n};\nconst listClassifiersOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetDocumentClassifiersResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst getClassifierOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.DocumentClassifierDetails\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.classifierId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst deleteClassifierOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.classifierId],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst classifyDocument$binaryOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentClassifiersClassifyDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.classifyRequest,\n queryParameters: [Parameters.stringIndexType, Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.classifierId],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"binary\",\n serializer\n};\nconst classifyDocument$textOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentClassifiersClassifyDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.classifyRequest1,\n queryParameters: [Parameters.stringIndexType, Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.classifierId],\n headerParameters: [Parameters.contentType1, Parameters.accept1],\n mediaType: \"text\",\n serializer\n};\nconst classifyDocument$jsonOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}:analyze\",\n httpMethod: \"POST\",\n responses: {\n 202: {\n headersMapper: Mappers.DocumentClassifiersClassifyDocumentHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n requestBody: Parameters.classifyRequest2,\n queryParameters: [Parameters.stringIndexType, Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.classifierId],\n headerParameters: [Parameters.contentType2, Parameters.accept2],\n mediaType: \"json\",\n serializer\n};\nconst getClassifyResultOperationSpec: coreClient.OperationSpec = {\n path: \"/documentClassifiers/{classifierId}/analyzeResults/{resultId}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResultOperation\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [\n Parameters.endpoint,\n Parameters.resultId,\n Parameters.classifierId\n ],\n headerParameters: [Parameters.accept2],\n serializer\n};\nconst listClassifiersNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetDocumentClassifiersResponse\n },\n default: {\n bodyMapper: Mappers.ErrorResponse\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [Parameters.accept2],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport * as coreRestPipeline from \"@azure/core-rest-pipeline\";\nimport {\n PipelineRequest,\n PipelineResponse,\n SendRequest\n} from \"@azure/core-rest-pipeline\";\nimport {\n DocumentModelsImpl,\n MiscellaneousImpl,\n DocumentClassifiersImpl\n} from \"./operations\";\nimport {\n DocumentModels,\n Miscellaneous,\n DocumentClassifiers\n} from \"./operationsInterfaces\";\nimport { StringIndexType, GeneratedClientOptionalParams } from \"./models\";\n\nexport class GeneratedClient extends coreClient.ServiceClient {\n endpoint: string;\n stringIndexType?: StringIndexType;\n apiVersion: string;\n\n /**\n * Initializes a new instance of the GeneratedClient class.\n * @param endpoint Supported Cognitive Services endpoints (protocol and hostname, for\n * example: https://westus2.api.cognitive.microsoft.com).\n * @param options The parameter options\n */\n constructor(endpoint: string, options?: GeneratedClientOptionalParams) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: GeneratedClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-ai-form-recognizer/5.0.0`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri:\n options.endpoint ?? options.baseUri ?? \"{endpoint}/formrecognizer\"\n };\n super(optionsWithDefaults);\n\n if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {\n const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();\n const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(\n (pipelinePolicy) =>\n pipelinePolicy.name ===\n coreRestPipeline.bearerTokenAuthenticationPolicyName\n );\n if (!bearerTokenAuthenticationPolicyFound) {\n this.pipeline.removePolicy({\n name: coreRestPipeline.bearerTokenAuthenticationPolicyName\n });\n this.pipeline.addPolicy(\n coreRestPipeline.bearerTokenAuthenticationPolicy({\n scopes: `${optionsWithDefaults.baseUri}/.default`,\n challengeCallbacks: {\n authorizeRequestOnChallenge:\n coreClient.authorizeRequestOnClaimChallenge\n }\n })\n );\n }\n }\n // Parameter assignments\n this.endpoint = endpoint;\n\n // Assigning values to Constant parameters\n this.apiVersion = options.apiVersion || \"2023-07-31\";\n this.documentModels = new DocumentModelsImpl(this);\n this.miscellaneous = new MiscellaneousImpl(this);\n this.documentClassifiers = new DocumentClassifiersImpl(this);\n this.addCustomApiVersionPolicy(options.apiVersion);\n }\n\n /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */\n private addCustomApiVersionPolicy(apiVersion?: string) {\n if (!apiVersion) {\n return;\n }\n const apiVersionPolicy = {\n name: \"CustomApiVersionPolicy\",\n async sendRequest(\n request: PipelineRequest,\n next: SendRequest\n ): Promise<PipelineResponse> {\n const param = request.url.split(\"?\");\n if (param.length > 1) {\n const newParams = param[1].split(\"&\").map((item) => {\n if (item.indexOf(\"api-version\") > -1) {\n return \"api-version=\" + apiVersion;\n } else {\n return item;\n }\n });\n request.url = param[0] + \"?\" + newParams.join(\"&\");\n }\n return next(request);\n }\n };\n this.pipeline.addPolicy(apiVersionPolicy);\n }\n\n documentModels: DocumentModels;\n miscellaneous: Miscellaneous;\n documentClassifiers: DocumentClassifiers;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommonClientOptions } from \"@azure/core-client\";\n\n/**\n * Valid string index types supported by the Form Recognizer service and SDK clients.\n */\nexport type StringIndexType = (typeof StringIndexType)[keyof typeof StringIndexType];\n\n/**\n * Supported values of StringIndexType.\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const StringIndexType = {\n /**\n * UTF-16 code units\n */\n Utf16CodeUnit: \"utf16CodeUnit\",\n /**\n * Unicode code points\n */\n UnicodeCodePoint: \"unicodeCodePoint\",\n} as const;\n\n/**\n * Default settings for Form Recognizer clients.\n *\n * @internal\n */\nexport const DEFAULT_GENERATED_CLIENT_OPTIONS = {\n stringIndexType: StringIndexType.Utf16CodeUnit,\n} as const;\n\n/**\n * Configurable options for DocumentAnalysisClient.\n */\nexport interface DocumentAnalysisClientOptions extends CommonClientOptions {\n /**\n * The unit of string offset/length values that the service returns.\n *\n * In JavaScript, strings are indexed by UTF-16 code units. Do _NOT_ set this value unless you are certain you need\n * Unicode code-point units instead.\n *\n * Default: \"utf16CodeUnit\"\n */\n stringIndexType?: StringIndexType;\n}\n\n/**\n * Configurable options for DocumentModelAdministrationClient.\n */\nexport interface DocumentModelAdministrationClientOptions extends CommonClientOptions {}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport { createFormRecognizerAzureKeyCredentialPolicy } from \"./azureKeyCredentialPolicy\";\nimport { DEFAULT_COGNITIVE_SCOPE, FORM_RECOGNIZER_API_VERSION } from \"./constants\";\nimport { GeneratedClient, GeneratedClientOptionalParams } from \"./generated\";\nimport { DEFAULT_GENERATED_CLIENT_OPTIONS } from \"./options/FormRecognizerClientOptions\";\n\nimport * as Mappers from \"./generated/models/mappers\";\nimport { createSerializer } from \"@azure/core-client\";\nexport { Mappers };\n\n// This is used for URL request processing.\nexport const SERIALIZER = createSerializer(Mappers, false);\n\n/**\n * Type-strong uncapitalization.\n * @internal\n */\nexport const uncapitalize = <S extends string = string>(s: string): Uncapitalize<S> =>\n (s.substring(0, 1).toLowerCase() + s.substring(1)) as Uncapitalize<S>;\n\n/**\n * Type-strong capitalization\n * @internal\n */\nexport const capitalize = <S extends string = string>(s: S): Capitalize<S> =>\n (s.substring(0, 1).toUpperCase() + s.substring(1)) as Capitalize<S>;\n\n/**\n * Tests if a string looks like it begins with an acronym, i.e. it starts with two capital letters.\n * @internal\n */\nexport const isAcronymic = (s: string): boolean => {\n return /^[A-Z][A-Z]/.test(s);\n};\n\n/**\n * Map an optional value through a function\n * @internal\n */\nexport const maybemap = <T1, T2>(value: T1 | undefined, f: (v: T1) => T2): T2 | undefined =>\n value === undefined ? undefined : f(value);\n\n/**\n * Create a GeneratedClient.\n * @internal\n */\nexport function makeServiceClient(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: GeneratedClientOptionalParams\n): GeneratedClient {\n const client = new GeneratedClient(endpoint?.replace(/\\/$/, \"\"), {\n ...DEFAULT_GENERATED_CLIENT_OPTIONS,\n ...options,\n apiVersion: FORM_RECOGNIZER_API_VERSION,\n });\n\n const authPolicy = isTokenCredential(credential)\n ? bearerTokenAuthenticationPolicy({\n credential,\n scopes: DEFAULT_COGNITIVE_SCOPE,\n })\n : createFormRecognizerAzureKeyCredentialPolicy(credential);\n\n client.pipeline.addPolicy(authPolicy);\n\n return client;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { DocumentSpan } from \"..\";\n\nimport { AddressValue, CurrencyValue, DocumentField as GeneratedDocumentField } from \"../generated\";\nimport { toBoundingRegions } from \"../transforms/polygon\";\nimport { capitalize } from \"../util\";\nimport { BoundingRegion } from \"./documentElements\";\n\n/**\n * Fields that are common to all DocumentField variants.\n */\nexport interface DocumentFieldCommon {\n /**\n * The verbatim extracted text content of the field.\n */\n content?: string;\n\n /**\n * Bounding regions covering the field.\n */\n boundingRegions?: BoundingRegion[];\n\n /**\n * Confidence of correctly extracting the field.\n */\n confidence?: number;\n\n /**\n * Location of the field in the reading order concatenated content.\n */\n spans?: DocumentSpan[];\n}\n\n/**\n * A simple field that has a primitive value, such as a string, number etc.\n */\nexport interface DocumentValueField<T> extends DocumentFieldCommon {\n /**\n * The field's value, which has the type specified in the field's schema.\n */\n value?: T;\n}\n\n/**\n * An extracted field. The `kind` property identifies (discriminates) the type of the `DocumentField`.\n */\nexport type DocumentField =\n | DocumentStringField\n | DocumentDateField\n | DocumentTimeField\n | DocumentPhoneNumberField\n | DocumentNumberField\n | DocumentIntegerField\n | DocumentBooleanField\n | DocumentSelectionMarkField\n | DocumentCountryRegionField\n | DocumentSignatureField\n | DocumentCurrencyField\n | DocumentAddressField\n | DocumentArrayField\n | DocumentObjectField;\n\n/**\n * A DocumentField that has a string value.\n */\nexport interface DocumentStringField<Value extends string = string>\n extends DocumentValueField<Value> {\n /** Field kind: \"string\". */\n kind: \"string\";\n}\n\n/**\n * A DocumentField that has a Date value.\n */\nexport interface DocumentDateField extends DocumentValueField<Date> {\n /** Field kind: \"date\". */\n kind: \"date\";\n}\n\n/**\n * A DocumentField that has a time value, represented as a string.\n */\nexport interface DocumentTimeField extends DocumentFieldCommon {\n /** Field kind: \"time\". */\n kind: \"time\";\n /**\n * The field's value, which is a time in \"HH:MM:SS\" (ISO 8601) format.\n */\n value?: string;\n}\n\n/**\n * A DocumentField that has a phone number value, represented as a string.\n */\nexport interface DocumentPhoneNumberField extends DocumentFieldCommon {\n /** Field kind: \"phoneNumber\". */\n kind: \"phoneNumber\";\n /**\n * The field's value, which is a string containing the phone number.\n *\n * The phone number value is normalized to a standard format. If the value could not be normalized, this value may be\n * undefined, and the `content` property will contain the verbatim text of the DocumentField as it appeared in the\n * input.\n */\n value?: string;\n}\n\n/**\n * A DocumentField that has a number value.\n */\nexport interface DocumentNumberField extends DocumentValueField<number> {\n /** Field kind: \"number\". */\n kind: \"number\";\n}\n\n/**\n * A DocumentField that has an integer value.\n */\nexport interface DocumentIntegerField extends DocumentValueField<number> {\n /** Field kind: \"integer\". */\n kind: \"integer\";\n}\n\n/**\n * A DocumentField that is has a value indicating a selection mark state (such as a checkbox or radio button),\n * represented as a string.\n */\nexport interface DocumentSelectionMarkField extends DocumentFieldCommon {\n /** Field kind: \"selectionMark\". */\n kind: \"selectionMark\";\n /**\n * The state of the selection mark. One of:\n *\n * - \"selected\"\n * - \"unselected\"\n *\n * This value may be undefined, and other variants may be introduced in the future.\n */\n value?: string;\n}\n\n/**\n * A DocumentField that has a value indicating a country or region, represented as a string.\n */\nexport interface DocumentCountryRegionField extends DocumentFieldCommon {\n /** Field kind: \"countryRegion\". */\n kind: \"countryRegion\";\n /**\n * The 3-letter country/region code (ISO 3166-1 alpha-3) of the extracted country or region.\n */\n value?: string;\n}\n\n/**\n * A DocumentField that indicates the state of a signature, represented as a string.\n */\nexport interface DocumentSignatureField extends DocumentFieldCommon {\n /** Field kind: \"signature\". */\n kind: \"signature\";\n /**\n * The state of the signature field. One of:\n *\n * - \"unsigned\"\n * - \"signed\"\n *\n * This value may be undefined, and other variants may be introduced in the future.\n */\n value: \"signed\" | \"unsigned\";\n}\n\n/**\n * A DocumentField that consists of an array of nested fields. All fields in the array will have the same type.\n */\nexport interface DocumentArrayField<T = DocumentField> extends DocumentFieldCommon {\n /** Field kind: \"array\". */\n kind: \"array\";\n\n /**\n * The extracted members of the array field.\n */\n values: T[];\n}\n\n/**\n * A DocumentField that describes an amount of a certain currency.\n */\nexport interface DocumentCurrencyField extends DocumentFieldCommon {\n /** Field kind: \"currency\". */\n kind: \"currency\";\n\n /**\n * The properties of the extracted currency.\n */\n value?: CurrencyValue;\n}\n\n/**\n * A document field that describes a structured physical address.\n */\nexport interface DocumentAddressField extends DocumentFieldCommon {\n /** Field kind: \"address\". */\n kind: \"address\";\n\n /**\n * The properties of the extracted address.\n */\n value?: AddressValue;\n}\n\n/**\n * A DocumentField that has a boolean value.\n */\nexport interface DocumentBooleanField extends DocumentValueField<boolean> {\n /** Field kind: \"boolean\". */\n kind: \"boolean\";\n}\n\n/**\n * A DocumentField that consists of several named properties that have their own DocumentField values.\n */\nexport interface DocumentObjectField<Properties = { [k: string]: DocumentField | undefined }>\n extends DocumentFieldCommon {\n /** Field kind: \"object\". */\n kind: \"object\";\n\n /**\n * The extracted object properties. Each property of this object is, itself, a nested DocumentField.\n */\n properties: Properties;\n}\n\n/**\n * Convert a record of generated fields to a record of strongly-typed fields.\n * @internal\n * @param fields - a map of field names to generated field values\n * @returns - an object with the same keys, where all values have been mapped to DocumentFields\n */\nexport function toAnalyzedDocumentFieldsFromGenerated(fields: {\n [k: string]: GeneratedDocumentField;\n}): { [k: string]: DocumentField } {\n return Object.entries(fields ?? {}).reduce((transformedFields, [name, value]) => {\n transformedFields[name] = toDocumentField(value);\n return transformedFields;\n }, {} as { [k: string]: DocumentField });\n}\n\n/**\n * Convert a generated document field into a strong TypeScriptified document field.\n * @internal\n */\nexport function toDocumentField(field: GeneratedDocumentField): DocumentField {\n const kind = field.type as DocumentField[\"kind\"];\n\n const value: Omit<DocumentField, keyof DocumentFieldCommon | \"kind\"> = (() => {\n switch (kind) {\n // Almost all value kinds are represented as simple elemental values\n case \"string\":\n case \"date\":\n case \"time\":\n case \"phoneNumber\":\n case \"number\":\n case \"boolean\":\n case \"integer\":\n case \"selectionMark\":\n case \"countryRegion\":\n case \"signature\":\n case \"currency\":\n case \"address\":\n return {\n value:\n field[\n (\"value\" + capitalize(kind)) as Extract<\n keyof GeneratedDocumentField,\n `value${string}`\n >\n ],\n };\n case \"array\":\n return { values: field.valueArray?.map((v) => toDocumentField(v) ?? []) };\n case \"object\":\n return { properties: toAnalyzedDocumentFieldsFromGenerated(field.valueObject ?? {}) };\n default:\n // Exhaustiveness check\n // eslint-disable-next-line no-case-declarations\n const __exhaust: never = kind;\n throw new Error(`Unrecognized DocumentField type: ${__exhaust}`);\n }\n })();\n\n return {\n kind,\n ...value,\n boundingRegions: toBoundingRegions(field.boundingRegions),\n content: field.content,\n spans: field.spans,\n confidence: field.confidence,\n } as DocumentField;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport { FormRecognizerError } from \"../error\";\nimport {\n AnalyzeResult as GeneratedAnalyzeResult,\n AnalyzeResultOperation,\n AnalyzeResultOperationStatus as AnalyzeOperationStatus,\n DocumentLanguage,\n DocumentSpan,\n DocumentStyle,\n} from \"../generated\";\nimport { DocumentField, toAnalyzedDocumentFieldsFromGenerated } from \"../models/fields\";\nimport { PollerOptions } from \"../options\";\nimport { AnalyzeDocumentOptions } from \"../options/AnalyzeDocumentOptions\";\nimport {\n toBoundingPolygon,\n toBoundingRegions,\n toDocumentTableFromGenerated,\n toKeyValuePairFromGenerated,\n} from \"../transforms/polygon\";\nimport {\n BoundingRegion,\n DocumentTable,\n DocumentKeyValuePair,\n DocumentPage,\n DocumentLine,\n DocumentParagraph,\n DocumentFormula,\n} from \"../models/documentElements\";\nimport {\n Document as GeneratedDocument,\n DocumentPage as GeneratedDocumentPage,\n DocumentLine as GeneratedDocumentLine,\n} from \"../generated\";\n\n/**\n * A request input that can be uploaded as binary data to the Form Recognizer service. Form Recognizer treats `string`\n * inputs as URLs, so to send a string as a _binary_ input, first convert the string to one of the following input\n * types.\n */\nexport type FormRecognizerRequestBody =\n | NodeJS.ReadableStream\n | Blob\n | ArrayBuffer\n | ArrayBufferView;\n\n/**\n * An extracted document object.\n *\n * An AnalyzedDocument is an instance of one of the document types within a model. Its fields correspond to the field\n * schema of the document type.\n */\nexport interface AnalyzedDocument {\n /**\n * The type of the document that was extracted. A model can have multiple document types (for example, in a composed\n * model), so this property indicates which document type the fields of this document correspond to.\n */\n docType: string;\n\n /**\n * The extracted fields, which correspond to the document type's field schema.\n */\n fields: { [field: string]: DocumentField };\n\n /**\n * Bounding regions covering the document.\n */\n boundingRegions?: BoundingRegion[];\n\n /**\n * Locations of the document's elements in the `content` text (reading-order-concatenated content).\n */\n spans: DocumentSpan[];\n\n /**\n * The service's confidence that it has correctly extracted the document.\n */\n confidence: number;\n}\n\n/**\n * Transform a REST-level Document response object into the more strongly-typed AnalyzedDocument.\n *\n * @internal\n * @param document - a REST-level document response object\n * @returns an AnalyzedDocument (which has had its fields mapped to stronger DocumentField types)\n */\nexport function toAnalyzedDocumentFromGenerated(document: GeneratedDocument): AnalyzedDocument {\n return {\n ...document,\n boundingRegions: toBoundingRegions(document.boundingRegions),\n fields: toAnalyzedDocumentFieldsFromGenerated(document.fields ?? {}),\n };\n}\n\n/**\n * The common fields of all AnalyzeResult-like types, such as LayoutResult, ReadResult, and GeneralDocumentResult.\n */\nexport interface AnalyzeResultCommon {\n /**\n * The service API version used to produce this result.\n */\n apiVersion: string;\n\n /**\n * The unique ID of the model that was used to produce this result.\n */\n modelId: string;\n\n /**\n * A string representation of all textual and visual elements in the input, concatenated by reading order (the order\n * in which the service \"reads\" or extracts the textual and visual content from the document).\n */\n content: string;\n}\n\n/**\n * The result of an analysis operation. The type of the Document may be determined by the model used to perform the\n * analysis.\n */\nexport interface AnalyzeResult<Document = AnalyzedDocument> extends AnalyzeResultCommon {\n /**\n * Extracted pages.\n */\n pages?: DocumentPage[];\n\n /**\n * Extracted tables.\n */\n tables?: DocumentTable[];\n\n /**\n * Extracted key-value pairs.\n */\n keyValuePairs?: DocumentKeyValuePair[];\n\n /**\n * Extracted text languages.\n */\n languages?: DocumentLanguage[];\n\n /**\n * Extracted font styles.\n */\n styles?: DocumentStyle[];\n\n /**\n * Extracted documents (instances of any of the model's document types and corresponding field schemas).\n */\n documents?: Document[];\n\n /**\n * Extracted document paragraphs.\n */\n paragraphs?: DocumentParagraph[];\n}\n\n/**\n * Tests if one span contains another, by testing that the outer span starts before or at the same character as the\n * inner span, and that the end position of the outer span is greater than or equal to the end position of the inner\n * span.\n *\n * @internal\n * @param outer - the outer (potentially containing) span\n * @param inner - the span to test if `outer` contains\n * @returns true if `inner` is contained inside of `outer`.\n */\nexport function contains(outer: DocumentSpan, inner: DocumentSpan): boolean {\n return outer.offset <= inner.offset && outer.offset + outer.length >= inner.offset + inner.length;\n}\n\n/**\n * Make an empty generator. This might seem silly, but it's useful for satisfying invariants.\n */\nfunction* empty(): Generator<never> {\n /* intentionally empty */\n}\n\n/**\n * Produces an iterator of the given items starting from the given index.\n *\n * @param items - the items to iterate over\n * @param idx - the index of the first item to begin iterating from\n */\nexport function* iterFrom<T>(items: T[], idx: number): Generator<T> {\n let i = idx;\n\n while (i < items.length) {\n yield items[i++];\n }\n}\n\nexport function toDocumentLineFromGenerated(\n generated: GeneratedDocumentLine,\n page: GeneratedDocumentPage\n): DocumentLine {\n (generated as DocumentLine).words = () =>\n fastGetChildren(\n iterFrom(generated.spans, 0),\n page.words?.map((word) => {\n return { ...word, polygon: toBoundingPolygon(word.polygon) };\n }) ?? []\n );\n\n (generated as DocumentLine).polygon = toBoundingPolygon(generated.polygon);\n\n Object.defineProperty(generated, \"words\", {\n enumerable: false,\n });\n\n return generated as DocumentLine;\n}\n\nexport function toDocumentPageFromGenerated(generated: GeneratedDocumentPage): DocumentPage {\n return {\n ...generated,\n lines: generated.lines?.map((line) => toDocumentLineFromGenerated(line, generated)),\n selectionMarks: generated.selectionMarks?.map((mark) => ({\n ...mark,\n polygon: toBoundingPolygon(mark.polygon),\n })),\n words: generated.words?.map((word) => ({\n ...word,\n polygon: toBoundingPolygon(word.polygon),\n })),\n barcodes: generated.barcodes?.map((barcode) => ({\n ...barcode,\n polygon: toBoundingPolygon(barcode.polygon),\n })),\n formulas: generated.formulas?.map(\n (formula): DocumentFormula => ({\n ...formula,\n polygon: toBoundingPolygon(formula.polygon),\n })\n ),\n };\n}\n\n/**\n * Binary search through an array of items to find the first item that could possibly be contained by the given span,\n * then return an iterator beginning from that item.\n *\n * This allows a program to quickly find the first relevant item in the array for consideration when testing for span\n * inclusion.\n *\n * @internal\n * @param span - the span to use when testing each individual item\n * @param items - an array of items to binary search through\n * @returns an iterator beginning from the item identified by the search\n */\nexport function iteratorFromFirstMatchBinarySearch<Spanned extends { span: DocumentSpan }>(\n span: DocumentSpan,\n items: Spanned[]\n): IterableIterator<Spanned> {\n let idx = Math.floor(items.length / 2);\n let prevIdx = idx;\n let min = 0;\n let max = items.length;\n\n const found = (): boolean =>\n // The item is found if it starts after the current span and the item before it does not. That means it is the first\n // item in the array that could be a child if the spans are sorted.\n items[idx].span.offset >= span.offset && (items[idx - 1]?.span?.offset ?? -1) < span.offset;\n\n // Binary search to find the first element that could be a child\n do {\n if (found()) {\n return iterFrom(items, idx);\n } else if (span.offset > items[idx].span.offset) {\n min = prevIdx = idx;\n idx = Math.floor(idx + (max - idx) / 2);\n } else {\n max = prevIdx = idx;\n idx = Math.floor(idx - (idx - min) / 2);\n }\n } while (idx !== prevIdx);\n\n // This might seem weird, but it's a simple way to make the types a little more elegant.\n return empty();\n}\n\n/**\n * This fast algorithm tests the elements of `childArray` for inclusion in any of the given `spans`, assuming that both\n * the spans and child items are sorted.\n *\n * INVARIANT: the items in both the `spans` iterator and `childrenArray` MUST BE SORTED INCREASING by span _offset_.\n *\n * @internal\n * @param spans - the spans that contain the child elements\n * @param childrenArray - an array of child items (items that have spans) to test for inclusion in the spans\n * @returns - an IterableIterator of child items that are included in any span in the `spans` iterator\n */\nexport function* fastGetChildren<Spanned extends { span: DocumentSpan }>(\n spans: Iterator<DocumentSpan>,\n childrenArray: Spanned[]\n): Generator<Spanned> {\n let curSpan = spans.next();\n\n // Need to exit early if there are no spans.\n if (curSpan.done) {\n return;\n }\n\n const children = iteratorFromFirstMatchBinarySearch(curSpan.value as DocumentSpan, childrenArray);\n let curChild = children.next();\n\n while (!(curChild.done || curSpan.done)) {\n if (contains(curSpan.value, curChild.value.span)) {\n // The span is contained, so yield the current child and advance it.\n yield curChild.value;\n curChild = children.next();\n } else if (curSpan.value.offset + curSpan.value.length < curChild.value.span.offset) {\n // The current span ends before the next potential child starts, so advance the span\n curSpan = spans.next();\n } else {\n // The current child was not contained in the current span, so advance to the next child.\n curChild = children.next();\n }\n }\n}\n\n/**\n * The state of an analysis operation, which will eventually produce the result type that corresponds to the model.\n */\nexport interface DocumentAnalysisPollOperationState<Result = AnalyzeResult<AnalyzedDocument>>\n extends PollOperationState<Result> {\n /**\n * The status of the operation. One of:\n *\n * - \"notStarted\"\n * - \"running\"\n * - \"succeeded\"\n * - \"failed\"\n */\n status: AnalyzeOperationStatus;\n\n /**\n * The model ID that the analysis operation will use to produce the result.\n */\n modelId: string;\n\n /**\n * The URL to the operation.\n */\n operationLocation: string;\n\n /**\n * The Date and Time that the operation was created.\n */\n createdOn: Date;\n\n /**\n * The date & time that the operation state was last modified.\n */\n lastUpdatedOn: Date;\n}\n\n/**\n * A long-running operation (poller) that tracks the state of an analysis operation, eventually producing the result\n * type that corresponds to the model.\n */\nexport type AnalysisPoller<Result = AnalyzeResult<AnalyzedDocument>> = PollerLike<\n DocumentAnalysisPollOperationState<Result>,\n Result\n>;\n\n/**\n * Convert a generated AnalyzeResult into a convenience layer AnalyzeResult.\n * @internal\n */\nexport function toAnalyzeResultFromGenerated(result: GeneratedAnalyzeResult): AnalyzeResult {\n return {\n apiVersion: result.apiVersion,\n modelId: result.modelId,\n content: result.content,\n pages: result.pages.map((page) => toDocumentPageFromGenerated(page)),\n tables: result.tables?.map((table) => toDocumentTableFromGenerated(table)),\n keyValuePairs: result.keyValuePairs?.map((pair) => toKeyValuePairFromGenerated(pair)),\n languages: result.languages,\n styles: result.styles,\n paragraphs: result.paragraphs?.map((para) => ({\n ...para,\n boundingRegions: toBoundingRegions(para.boundingRegions),\n })),\n documents: result.documents?.map(toAnalyzedDocumentFromGenerated),\n };\n}\n\n/**\n * Defines an analysis operation by the initial request model ID, poller options, and a transform to apply to the\n * eventual result,\n *\n * @internal\n */\nexport interface AnalysisOperationDefinition<Result = AnalyzeResult> {\n transformResult: (primitiveResult: GeneratedAnalyzeResult) => Result;\n initialModelId: string;\n options: PollerOptions<DocumentAnalysisPollOperationState<Result>> &\n AnalyzeDocumentOptions<Result>;\n}\n\n/**\n * Converts an AnalyzeResultOperation (LRO response) to a DocumentAnalysisPollOperationState\n * @internal\n */\nexport function toDocumentAnalysisPollOperationState<Result>(\n definition: AnalysisOperationDefinition<Result>,\n modelId: string,\n operationLocation: string,\n response: AnalyzeResultOperation\n): DocumentAnalysisPollOperationState<Result> {\n return {\n status: response.status,\n modelId: modelId,\n lastUpdatedOn: response.lastUpdatedOn,\n createdOn: response.createdOn,\n operationLocation,\n result: response.analyzeResult && definition.transformResult(response.analyzeResult),\n error: response.error && new FormRecognizerError(response.error),\n isCancelled: false, // Not supported\n isStarted: response.status !== \"notStarted\",\n isCompleted: response.status === \"succeeded\",\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AbortError, AbortSignalLike } from \"@azure/abort-controller\";\nimport { maybemap } from \"../../util\";\n\ntype CancellationToken = Parameters<typeof clearTimeout>[0];\n\n/**\n * A PromiseLike object that supports cancellation.\n * @internal\n */\nexport interface CancelablePromiseLike<T> extends PromiseLike<T> {\n /**\n * Cancel the promise (cause it to reject).\n */\n cancel(): void;\n}\n\n/**\n * A promise that delays resolution until a certain amount of time (in milliseconds) has passed, with facilities for\n * robust cancellation.\n *\n * ### Example:\n *\n * ```javascript\n * let toCancel;\n *\n * // Wait 20 seconds, and optionally allow the function to be cancelled.\n * await delayMs(20000, (cancel) => { toCancel = cancel });\n *\n * // ... if `toCancel` is called before the 20 second timer expires, then the delayMs promise will reject.\n * ```\n *\n * @internal\n * @param ms - the number of milliseconds to wait before resolving\n * @param cb - a callback that can provide the caller with a cancellation function\n */\nexport function delayMs(\n ms: number,\n abortSignal: AbortSignalLike | undefined\n): CancelablePromiseLike<void> {\n let aborted = false;\n let toReject: ((e: Error) => void) | undefined;\n\n abortSignal?.addEventListener(\"abort\", () => {\n aborted = true;\n toReject?.(new AbortError(\"The operation was aborted.\"));\n });\n\n return Object.assign(\n new Promise<void>((resolve, reject) => {\n let token: CancellationToken | undefined;\n toReject = (e) => {\n maybemap(token, clearTimeout);\n reject(e);\n };\n\n // In the rare case that the operation is _already_ aborted, we will reject instantly. This could happen, for\n // example, if the user calls the cancellation function immediately without yielding execution.\n if (aborted) {\n toReject(new Error(\"The operation was cancelled prematurely.\"));\n } else {\n token = setTimeout(resolve, ms);\n }\n }),\n {\n cancel: () => {\n aborted = true;\n toReject?.(new Error(\"The operation was cancelled.\"));\n },\n }\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport { delayMs } from \"./delayMs\";\nimport { AbortError, AbortSignalLike } from \"@azure/abort-controller\";\n\nconst DEFAULT_POLLING_INTERVAL = 5000;\n\n/**\n * Information about the Long-Running Operation (LRO) that is being performed.\n */\nexport interface OperationContext {\n /**\n * An AbortSignal that can be used to cancel the operation.\n */\n abortSignal?: AbortSignalLike;\n\n /**\n * Sets the server's preferred polling interval in milliseconds. To clear the server's preferred polling interval,\n * pass `undefined`.\n */\n updateDelay: (interval: number | undefined) => void;\n}\n\n/**\n * A specification for a long-running operation, which defines the poller flow.\n * @internal\n */\nexport interface OperationSpec<TState extends PollOperationState<unknown>> {\n /**\n * A function that produces the first operation state for this LRO.\n */\n init: (ctx: OperationContext) => Promise<TState>;\n /**\n * A function that consumes the existing state of the poller and produces the next state.\n */\n poll: (ctx: OperationContext, state: TState) => Promise<TState>;\n /**\n * A function that serializes the state into a string.\n */\n serialize: (state: TState) => string;\n}\n\n/**\n * Uniform poller implementation, creates a poller based on a PollerSpec.\n *\n * @internal\n */\nexport async function lro<TResult, TState extends PollOperationState<TResult>>(\n spec: OperationSpec<TState>,\n pollingInterval: number | undefined,\n initAbortSignal: AbortSignalLike | undefined\n): Promise<PollerLike<TState, TResult>> {\n let serverDrivenDelay: number | undefined;\n\n const initContext: OperationContext = {\n abortSignal: initAbortSignal,\n updateDelay: (interval) => {\n serverDrivenDelay = interval;\n },\n };\n\n if (initAbortSignal?.aborted) {\n throw new AbortError(\"The operation was aborted.\");\n }\n\n let state = await spec.init(initContext);\n\n type ThisPoller = PollerLike<TState, TResult>;\n\n // Job handling. If `job` is defined, then there is an active `pollUntilDone` call on this poller.\n // Call `cancelJob` to interrupt the polling loop (awaiters will throw).\n let job: Promise<TResult> | undefined;\n let cancelJob: (() => void) | undefined;\n\n // Progress handlers\n type Handler = (state: TState) => void;\n const handlers = new Map<symbol, Handler>();\n const handleProgressEvents = async (): Promise<void> => handlers.forEach((h) => h(state));\n\n const self: ThisPoller = {\n onProgress: (callback: (state: TState) => void) => {\n const s = Symbol();\n handlers.set(s, callback);\n return () => handlers.delete(s);\n },\n stopPolling: () => cancelJob?.(),\n poll: async (options) => {\n state = await spec.poll(\n {\n abortSignal: options?.abortSignal,\n updateDelay: (interval) => {\n serverDrivenDelay = interval;\n },\n },\n state\n );\n handleProgressEvents();\n },\n pollUntilDone: (options) =>\n (job ??= (async () => {\n // Technically, the poller could complete during initialization\n if (!self.isDone()) {\n // Poll once to get the ball rolling, this avoids a delay if the operation completes immediately\n await self.poll(options);\n while (!self.isDone()) {\n const finalPollingInterval = Math.max(\n serverDrivenDelay ?? 0,\n pollingInterval ?? DEFAULT_POLLING_INTERVAL\n );\n const delay = delayMs(finalPollingInterval, options?.abortSignal);\n cancelJob = delay.cancel;\n await delay.then(() => self.poll());\n }\n }\n const result = self.getResult();\n\n // The state says it's done, so we know we are in either a success case, an error case, or an _internal_ error.\n if (result !== undefined) return result;\n else if (state.error !== undefined) throw state.error;\n // Unreachable\n else {\n throw new Error(\n `Internal Client Error: analysis poller completed without success or error: ${state}`\n );\n }\n })().finally(() => {\n job = undefined;\n })),\n // The poller is stopped if there is no job running\n isStopped: () => !!job,\n // The operation is complete if either a result or error is produced\n isDone: () => !!state.result || !!state.error,\n // In FR, all operations run to completion\n cancelOperation() {\n throw new Error(\"The Azure Form Recognizer service does not support operation cancellation.\");\n },\n getOperationState: () => state,\n getResult: () => state.result,\n toString: () => spec.serialize(state),\n };\n\n return self;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { TracingClient } from \"@azure/core-tracing\";\nimport { FORM_RECOGNIZER_API_VERSION, SDK_VERSION } from \"./constants\";\nimport {\n AnalyzeDocumentRequest,\n AnalyzeResultOperation,\n ContentType,\n GeneratedClient,\n} from \"./generated\";\nimport { accept1 } from \"./generated/models/parameters\";\nimport {\n AnalysisOperationDefinition,\n AnalysisPoller,\n AnalyzeResult,\n DocumentAnalysisPollOperationState,\n FormRecognizerRequestBody,\n toAnalyzeResultFromGenerated,\n toDocumentAnalysisPollOperationState,\n} from \"./lro/analysis\";\nimport { OperationContext, lro } from \"./lro/util/poller\";\nimport { AnalyzeDocumentOptions } from \"./options/AnalyzeDocumentOptions\";\nimport { DocumentAnalysisClientOptions } from \"./options/FormRecognizerClientOptions\";\nimport { DocumentModel } from \"./documentModel\";\nimport { makeServiceClient, Mappers, SERIALIZER } from \"./util\";\nimport { AbortSignalLike } from \"@azure/abort-controller\";\nimport { ClassifyDocumentOptions } from \"./options/ClassifyDocumentOptions\";\n\n/**\n * A client for interacting with the Form Recognizer service's analysis features.\n *\n * ### Examples:\n *\n * The Form Recognizer service and clients support two means of authentication:\n *\n * #### Azure Active Directory\n *\n * ```javascript\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new DefaultAzureCredential();\n *\n * const client = new DocumentAnalysisClient(endpoint, credential);\n * ```\n *\n * #### API Key (Subscription Key)\n *\n * ```javascript\n * import { DocumentAnalysisClient, AzureKeyCredential } from \"@azure/ai-form-recognizer\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new AzureKeyCredential(\"<api key>\");\n *\n * const client = new DocumentAnalysisClient(endpoint, credential);\n * ```\n */\nexport class DocumentAnalysisClient {\n private _restClient: GeneratedClient;\n private _tracing: TracingClient;\n\n /**\n * Create a `DocumentAnalysisClient` instance from a resource endpoint and a an Azure Identity `TokenCredential`.\n *\n * See the [`@azure/identity`](https://npmjs.com/package/\\@azure/identity) package for more information about\n * authenticating with Azure Active Directory.\n *\n * ### Example:\n *\n * ```javascript\n * import { DocumentAnalysisClient } from \"@azure/ai-form-recognizer\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new DefaultAzureCredential();\n *\n * const client = new DocumentAnalysisClient(endpoint, credential);\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a TokenCredential instance from the `@azure/identity` package\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: DocumentAnalysisClientOptions\n );\n /**\n * Create a `DocumentAnalysisClient` instance from a resource endpoint and a static API key (`KeyCredential`),\n *\n * ### Example:\n *\n * ```javascript\n * import { DocumentAnalysisClient, AzureKeyCredential } from \"@azure/ai-form-recognizer\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new AzureKeyCredential(\"<api key>\");\n *\n * const client = new DocumentAnalysisClient(endpoint, credential);\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a KeyCredential containing the Cognitive Services instance subscription key\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: DocumentAnalysisClientOptions\n );\n /**\n * @hidden\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: DocumentAnalysisClientOptions\n );\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: DocumentAnalysisClientOptions = {}\n ) {\n this._restClient = makeServiceClient(endpoint, credential, options);\n this._tracing = createTracingClient({\n packageName: \"@azure/ai-form-recognizer\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.CognitiveServices\",\n });\n }\n\n // #region Analysis\n\n /**\n * Extract data from an input using a model given by its unique ID.\n *\n * This operation supports custom as well as prebuilt models. For example, to use the prebuilt invoice model, provide\n * the model ID \"prebuilt-invoice\", or to use the simpler prebuilt layout model, provide the model ID\n * \"prebuilt-layout\".\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis, and the values in any\n * extracted documents' fields depend on the document types in the model (if any) and their corresponding field\n * schemas.\n *\n * ### Examples\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * ```javascript\n * import * as fs from \"fs\";\n *\n * const file = fs.createReadStream(\"path/to/receipt.pdf\");\n *\n * // The model that is passed to the following function call determines the type of the eventual result. In the\n * // example, we will use the prebuilt receipt model, but you could use a custom model ID/name instead.\n * const poller = await client.beginAnalyzeDocument(\"prebuilt-receipt\", file);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain lines and words\n * tables, // extracted tables, organized into cells that contain their contents\n * styles, // text styles (ex. handwriting) that were observed in the document\n * keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)\n * entities, // extracted entities in the input's content, which are categorized (ex. \"Location\" or \"Organization\")\n * documents // extracted documents (instances of one of the model's document types and its field schema)\n * } = await poller.pollUntilDone();\n *\n * // Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model\n * const [{ fields: receipt }] = documents;\n *\n * // The fields correspond to the model's document types and their field schemas. Refer to the Form Recognizer\n * // documentation for information about the document types and field schemas within a model, or use the `getModel`\n * // operation to view this information programmatically.\n * console.log(\"The type of this receipt is:\", receipt?.[\"ReceiptType\"]?.value);\n * ```\n *\n *\n * @param modelId - the unique ID (name) of the model within this client's resource\n * @param document - a {@link FormRecognizerRequestBody} that will be uploaded with the request\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocument(\n modelId: string,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions\n ): Promise<AnalysisPoller>;\n /**\n * Extract data from an input using a model that has a known, strongly-typed document schema (a {@link DocumentModel}).\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis. In TypeScript, the type\n * of the result for this method overload is inferred from the type of the input `DocumentModel`.\n *\n * ### Examples\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * If the input provided is a string, it will be treated as a URL to the location of a document to be analyzed. See the\n * {@link beginAnalyzeDocumentFromUrl} method for more information. Use of that method is preferred when using URLs,\n * and URL support is only provided in this method for backwards compatibility.\n *\n * ```typescript\n * import * as fs from \"fs\";\n *\n * // See the `prebuilt` folder in the SDK samples (http://aka.ms/azsdk/formrecognizer/js/samples) for examples of\n * // DocumentModels for known prebuilts.\n * import { PrebuiltReceiptModel } from \"./prebuilt-receipt.ts\";\n *\n * const file = fs.createReadStream(\"path/to/receipt.pdf\");\n *\n * // The model that is passed to the following function call determines the type of the eventual result. In the\n * // example, we will use the prebuilt receipt model.\n * const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, file);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain lines and words\n * tables, // extracted tables, organized into cells that contain their contents\n * styles, // text styles (ex. handwriting) that were observed in the document\n * keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)\n *\n * documents // extracted documents (instances of one of the model's document types and its field schema)\n * } = await poller.pollUntilDone();\n *\n * // Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model\n * const [{ fields: receipt }] = documents;\n *\n * // Since we used the strongly-typed PrebuiltReceiptModel object instead of the \"prebuilt-receipt\" model ID\n * // string, the fields of the receipt are strongly-typed and have camelCase names (as opposed to PascalCase).\n * console.log(\"The type of this receipt is:\", receipt.receiptType?.value);\n * ```\n *\n * @param model - a {@link DocumentModel} representing the model to use for analysis and the expected output type\n * @param document - a {@link FormRecognizerRequestBody} that will be uploaded with the request\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult` with documents that have\n * the result type associated with the input model\n */\n public async beginAnalyzeDocument<Result>(\n model: DocumentModel<Result>,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions<Result>\n ): Promise<AnalysisPoller<Result>>;\n public async beginAnalyzeDocument(\n model: string | DocumentModel<unknown>,\n document: FormRecognizerRequestBody,\n options: AnalyzeDocumentOptions<unknown> = {}\n ): Promise<AnalysisPoller<unknown>> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginAnalyzeDocument\",\n options,\n // In the first version of the SDK, the document input was treated as a URL if it was a string, and we preserve\n // this behavior to avoid introducing a breaking change.\n this.analyze.bind(\n this,\n model,\n typeof document === \"string\" ? source(\"url\", document) : source(\"body\", document)\n )\n );\n }\n\n /**\n * Extract data from an input using a model given by its unique ID.\n *\n * This operation supports custom as well as prebuilt models. For example, to use the prebuilt invoice model, provide\n * the model ID \"prebuilt-invoice\", or to use the simpler prebuilt layout model, provide the model ID\n * \"prebuilt-layout\".\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis, and the values in any\n * extracted documents' fields depend on the document types in the model (if any) and their corresponding field\n * schemas.\n *\n * ### Examples\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```javascript\n * // the URL must be publicly accessible\n * const url = \"<receipt document url>\";\n *\n * // The model that is passed to the following function call determines the type of the eventual result. In the\n * // example, we will use the prebuilt receipt model, but you could use a custom model ID/name instead.\n * const poller = await client.beginAnalyzeDocument(\"prebuilt-receipt\", url);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain lines and words\n * tables, // extracted tables, organized into cells that contain their contents\n * styles, // text styles (ex. handwriting) that were observed in the document\n * keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)\n *\n * documents // extracted documents (instances of one of the model's document types and its field schema)\n * } = await poller.pollUntilDone();\n *\n * // Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model\n * const [{ fields: receipt }] = documents;\n *\n * // The fields correspond to the model's document types and their field schemas. Refer to the Form Recognizer\n * // documentation for information about the document types and field schemas within a model, or use the `getModel`\n * // operation to view this information programmatically.\n * console.log(\"The type of this receipt is:\", receipt?.[\"ReceiptType\"]?.value);\n * ```\n *\n * @param modelId - the unique ID (name) of the model within this client's resource\n * @param documentUrl - a URL (string) to an input document accessible from the public internet\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocumentFromUrl(\n modelId: string,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions\n ): Promise<AnalysisPoller>;\n /**\n * Extract data from an input using a model that has a known, strongly-typed document schema (a {@link DocumentModel}).\n *\n * The fields produced in the `AnalyzeResult` depend on the model that is used for analysis. In TypeScript, the type\n * of the result for this method overload is inferred from the type of the input `DocumentModel`.\n *\n * ### Examples\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```typescript\n * // See the `prebuilt` folder in the SDK samples (http://aka.ms/azsdk/formrecognizer/js/samples) for examples of\n * // DocumentModels for known prebuilts.\n * import { PrebuiltReceiptModel } from \"./prebuilt-receipt.ts\";\n *\n * // the URL must be publicly accessible\n * const url = \"<receipt document url>\";\n *\n * // The model that is passed to the following function call determines the type of the eventual result. In the\n * // example, we will use the prebuilt receipt model.\n * const poller = await client.beginAnalyzeDocument(PrebuiltReceiptModel, url);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain lines and words\n * tables, // extracted tables, organized into cells that contain their contents\n * styles, // text styles (ex. handwriting) that were observed in the document\n * keyValuePairs, // extracted pairs of elements (directed associations from one element in the input to another)\n *\n * documents // extracted documents (instances of one of the model's document types and its field schema)\n * } = await poller.pollUntilDone();\n *\n * // Extract the fields of the first document. These fields constitute a receipt, because we used the receipt model\n * const [{ fields: receipt }] = documents;\n *\n * // Since we used the strongly-typed PrebuiltReceiptModel object instead of the \"prebuilt-receipt\" model ID\n * // string, the fields of the receipt are strongly-typed and have camelCase names (as opposed to PascalCase).\n * console.log(\"The type of this receipt is:\", receipt.receiptType?.value);\n * ```\n *\n * @param model - a {@link DocumentModel} representing the model to use for analysis and the expected output type\n * @param documentUrl - a URL (string) to an input document accessible from the public internet\n * @param options - optional settings for the analysis operation and poller\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginAnalyzeDocumentFromUrl<Result>(\n model: DocumentModel<Result>,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options?: AnalyzeDocumentOptions<Result>\n ): Promise<AnalysisPoller<Result>>;\n public async beginAnalyzeDocumentFromUrl(\n model: string | DocumentModel<unknown>,\n documentUrl: string,\n options: AnalyzeDocumentOptions<unknown> = {}\n ): Promise<AnalysisPoller<unknown>> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginAnalyzeDocumentFromUrl\",\n options,\n this.analyze.bind(this, model, source(\"url\", documentUrl))\n );\n }\n\n /**\n * A helper method for running analysis polymorphically.\n *\n * @param model - the model ID or DocumentModel to use for analysis\n * @param input - the string URL or request body to use\n * @param options - analysis options\n * @returns - an analysis poller\n */\n private analyze(\n model: string | DocumentModel<unknown>,\n input: DocumentSource,\n options: AnalyzeDocumentOptions<unknown>\n ) {\n const {\n modelId: initialModelId,\n apiVersion: requestApiVersion,\n transformResult,\n } = typeof model === \"string\"\n ? { modelId: model, apiVersion: undefined, transformResult: (v: AnalyzeResult) => v }\n : model;\n\n if (requestApiVersion && requestApiVersion !== FORM_RECOGNIZER_API_VERSION) {\n throw new Error(\n [\n `API Version mismatch: the provided model wants version: ${requestApiVersion},`,\n `but the client is using ${FORM_RECOGNIZER_API_VERSION}.`,\n \"The API version of the model must match the client's API version.\",\n ].join(\" \")\n );\n }\n\n return this.createUnifiedPoller<unknown>(\n (abortSignal) => {\n const [contentType, analyzeRequest] = toAnalyzeRequest(input);\n\n return this._restClient.documentModels.analyzeDocument(initialModelId, contentType as any, {\n ...options,\n abortSignal,\n analyzeRequest,\n });\n },\n {\n initialModelId,\n options,\n transformResult: (result) => transformResult(toAnalyzeResultFromGenerated(result)),\n }\n );\n }\n\n /**\n * Classify a document using a custom classifier given by its ID.\n *\n * This method produces a long-running operation (poller) that will eventually produce an `AnalyzeResult`. This is the\n * same type as `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`, but the result will only contain a small\n * subset of its fields. Only the `documents` field and `pages` field will be populated, and only minimal page\n * information will be returned. The `documents` field will contain information about all the identified documents and\n * the `docType` that they were classified as.\n *\n * ### Example\n *\n * This method supports streamable request bodies ({@link FormRecognizerRequestBody}) such as Node.JS `ReadableStream`\n * objects, browser `Blob`s, and `ArrayBuffer`s. The contents of the body will be uploaded to the service for analysis.\n *\n * ```typescript\n * import * as fs from \"fs\";\n *\n * const file = fs.createReadStream(\"path/to/file.pdf\");\n *\n * const poller = await client.beginClassifyDocument(\"<classifier ID>\", file);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain only basic information for classifiers\n * documents // extracted documents and their types\n * } = await poller.pollUntilDone();\n *\n * // We'll print the documents and their types\n * for (const { docType } of documents) {\n * console.log(\"The type of this document is:\", docType);\n * }\n * ```\n *\n * @param classifierId - the ID of the custom classifier to use for analysis\n * @param document - the document to classify\n * @param options - options for the classification operation\n * @returns a long-running operation (poller) that will eventually produce an `AnalyzeResult`\n */\n public async beginClassifyDocument(\n classifierId: string,\n document: FormRecognizerRequestBody,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: ClassifyDocumentOptions = {}\n ): Promise<AnalysisPoller> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginClassifyDocument\",\n options,\n this.classify.bind(this, classifierId, source(\"body\", document))\n );\n }\n\n /**\n * Classify a document from a URL using a custom classifier given by its ID.\n *\n * This method produces a long-running operation (poller) that will eventually produce an `AnalyzeResult`. This is the\n * same type as `beginAnalyzeDocument` and `beginAnalyzeDocumentFromUrl`, but the result will only contain a small\n * subset of its fields. Only the `documents` field and `pages` field will be populated, and only minimal page\n * information will be returned. The `documents` field will contain information about all the identified documents and\n * the `docType` that they were classified as.\n *\n * ### Example\n *\n * This method supports extracting data from a file at a given URL. The Form Recognizer service will attempt to\n * download a file using the submitted URL, so the URL must be accessible from the public internet. For example, a SAS\n * token can be used to grant read access to a blob in Azure Storage, and the service will use the SAS-encoded URL to\n * request the file.\n *\n * ```typescript\n * // the URL must be publicly accessible\n * const url = \"<file url>\";\n *\n * const poller = await client.beginClassifyDocument(\"<classifier ID>\", url);\n *\n * // The result is a long-running operation (poller), which must itself be polled until the operation completes\n * const {\n * pages, // pages extracted from the document, which contain only basic information for classifiers\n * documents // extracted documents and their types\n * } = await poller.pollUntilDone();\n *\n * // We'll print the documents and their types\n * for (const { docType } of documents) {\n * console.log(\"The type of this document is:\", docType);\n * }\n * ```\n * @param classifierId - the ID of the custom classifier to use for analysis\n * @param documentUrl - the URL of the document to classify\n * @param options -\n * @returns\n */\n public async beginClassifyDocumentFromUrl(\n classifierId: string,\n documentUrl: string,\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n options: ClassifyDocumentOptions = {}\n ): Promise<AnalysisPoller> {\n return this._tracing.withSpan(\n \"DocumentAnalysisClient.beginClassifyDocumentFromUrl\",\n options,\n this.classify.bind(this, classifierId, source(\"url\", documentUrl))\n );\n }\n\n /**\n * A helper method for running classification polymorphically.\n * @param classifierId - the ID of the classifier to use\n * @param input - the string URL or request body to use\n * @param options - analysis options\n * @returns an analysis poller\n */\n private classify(\n classifierId: string,\n input: DocumentSource,\n options: ClassifyDocumentOptions\n ): Promise<AnalysisPoller> {\n return this.createUnifiedPoller(\n async (abortSignal) => {\n const [contentType, classifyRequest] = toAnalyzeRequest(input);\n\n return this._restClient.documentClassifiers.classifyDocument(\n classifierId,\n contentType as any,\n {\n ...options,\n abortSignal,\n classifyRequest,\n }\n );\n },\n {\n initialModelId: classifierId,\n options,\n transformResult: toAnalyzeResultFromGenerated,\n }\n );\n }\n\n /**\n * Create an LRO poller that handles analysis operations.\n *\n * This is the meat of all analysis polling operations.\n *\n * @param startOperation - function that starts the operation and returns the operation location\n * @param definition - operation definition (initial model ID, operation transforms, request options)\n * @returns - an analysis poller that produces the given return types according to the operation spec\n */\n private async createUnifiedPoller<Result>(\n startOperation: (\n abortSignal: AbortSignalLike | undefined\n ) => Promise<{ operationLocation?: string }>,\n definition: AnalysisOperationDefinition<Result>\n ): Promise<AnalysisPoller<Result>> {\n const { resumeFrom } = definition.options;\n\n // TODO: what should we do if resumeFrom.modelId is different from initialModelId?\n // And what do we do with the redundant input??\n\n const getAnalyzeResult = (\n ctx: OperationContext,\n operationLocation: string\n ): Promise<AnalyzeResultOperation> =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-getAnalyzeResult\",\n definition.options,\n (finalOptions) =>\n this._restClient.sendOperationRequest<AnalyzeResultOperation>(\n {\n options: {\n onResponse: async (rawResponse, ...args) => {\n // Capture the `Retry-After` header if it was sent.\n const retryAfterHeader = rawResponse.headers.get(\"retry-after\");\n // Convert the header value to milliseconds. If the header is not a valid number, then it is an HTTP\n // date.\n if (retryAfterHeader) {\n const retryAfterMs = Number(retryAfterHeader) * 1000;\n if (!Number.isNaN(retryAfterMs)) {\n ctx.updateDelay(retryAfterMs);\n } else {\n ctx.updateDelay(Date.parse(retryAfterHeader) - Date.now());\n }\n } else {\n ctx.updateDelay(undefined);\n }\n\n // Forward the `onResponse` callback if it was provided.\n return finalOptions.onResponse?.(rawResponse, ...args);\n },\n ...finalOptions,\n // We need to pass the abort signal from the context rather than from the options, since the user could\n // poll the LRO with a different AbortSignal than it was instantiated with.\n abortSignal: ctx.abortSignal,\n },\n },\n {\n path: operationLocation,\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResultOperation,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n // URL is fully-formed, so we don't need any query parameters\n headerParameters: [accept1],\n serializer: SERIALIZER,\n }\n )\n );\n\n const toInit =\n // If the user gave us a stored token, we'll poll it again\n resumeFrom !== undefined\n ? async (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-resume\",\n definition.options,\n async () => {\n const { clientVersion, operationLocation, modelId } = JSON.parse(resumeFrom) as {\n clientVersion?: string;\n operationLocation: string;\n modelId: string;\n };\n\n if (!clientVersion || clientVersion !== SDK_VERSION) {\n throw new Error(\n [\n \"Cannot restore poller from a serialized state from a different version of the client\",\n `library (restoreFrom: '${clientVersion}', current: '${SDK_VERSION}').`,\n ].join(\" \")\n );\n }\n\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n modelId,\n operationLocation,\n result\n );\n }\n )\n : // Otherwise, we'll start a new operation from the initialModelId\n async (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-start\",\n definition.options,\n async () => {\n const { operationLocation } = await startOperation(ctx.abortSignal);\n\n if (operationLocation === undefined) {\n throw new Error(\n \"Unable to start analysis operation: no Operation-Location received.\"\n );\n }\n\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n definition.initialModelId,\n operationLocation,\n result\n );\n }\n );\n\n const poller = await lro<Result, DocumentAnalysisPollOperationState<Result>>(\n {\n init: toInit,\n poll: async (ctx, { operationLocation, modelId }) =>\n this._tracing.withSpan(\n \"DocumentAnalysisClient.createAnalysisPoller-poll\",\n {},\n async () => {\n const result = await getAnalyzeResult(ctx, operationLocation);\n\n return toDocumentAnalysisPollOperationState(\n definition,\n modelId,\n operationLocation,\n result\n );\n }\n ),\n serialize: ({ operationLocation, modelId }) =>\n JSON.stringify({ clientVersion: SDK_VERSION, id: modelId, operationLocation }),\n },\n definition.options.updateIntervalInMs,\n definition.options.abortSignal\n );\n\n if (definition.options.onProgress !== undefined) {\n poller.onProgress(definition.options.onProgress);\n definition.options.onProgress(poller.getOperationState());\n }\n\n return poller;\n }\n\n // #endregion\n}\n\n/**\n * Produce an appropriate pair of content-type and analyzeRequest value for the analysis request.\n * @internal\n */\nfunction toAnalyzeRequest(\n input: DocumentSource\n): [\"application/json\", AnalyzeDocumentRequest] | [ContentType, FormRecognizerRequestBody] {\n switch (input.kind) {\n case \"body\":\n return [\"application/octet-stream\", input.body];\n case \"url\":\n return [\"application/json\", { urlSource: input.url }];\n case \"base64\":\n return [\"application/json\", { base64Source: input.base64 }];\n default: {\n const __exhaust: never = input;\n throw new Error(`Unreachable 'toAnalyzeRequest' case: ${__exhaust}`);\n }\n }\n}\n\n/**\n * The input to a document analysis operation.\n */\n// type DocumentSource = DocumentBodySource | DocumentUrlSource | DocumentBase64Source;\n\nfunction source<K extends DocumentSource[\"kind\"]>(\n kind: K,\n value: Extract<DocumentSource, { kind: K }>[K & keyof Extract<DocumentSource, { kind: K }>]\n): DocumentSource {\n return {\n kind,\n [kind]: value,\n } as unknown as DocumentSource;\n}\n\n/**\n * The input to a document analysis operation.\n *\n * @internal\n */\ntype DocumentSource = {\n [K in keyof DocumentSourceTypes]: {\n /** The input kind. */\n kind: K;\n } & { [_ in K]: DocumentSourceTypes[K] };\n}[keyof DocumentSourceTypes];\n\n/**\n * A map of input discriminants to concrete input types.\n *\n * @internal\n */\ninterface DocumentSourceTypes {\n /**\n * A document buffer or stream to be uploaded in the request body.\n */\n body: FormRecognizerRequestBody;\n\n /**\n * A URL to a document to be analyzed.\n */\n url: string;\n\n /**\n * The data of a document to be analyzed. This is NOT base64-encoded, but will\n * be base64-encoded by the client before uploading.\n *\n * NOTE: This is never used by the client because it is inefficient compared to direct uploads and does not currently\n * support any features that `body` does not.\n */\n base64: Uint8Array;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport { OperationOptions } from \"@azure/core-client\";\nimport { FormRecognizerError } from \"../error\";\nimport {\n DocumentModelDetails,\n OperationStatus,\n DocumentModelBuildOperationDetails,\n DocumentModelCopyToOperationDetails,\n DocumentModelComposeOperationDetails,\n DocumentClassifierDetails,\n DocumentClassifierBuildOperationDetails,\n} from \"../generated\";\nimport { PollerOptions } from \"../options/PollerOptions\";\nimport { OperationContext } from \"./util/poller\";\n\n/**\n * The possible types of all administration operation states.\n * @internal\n */\nexport type AdministrationOperationState =\n | DocumentModelOperationState\n | DocumentClassifierOperationState;\n\n/**\n * The set of fields common to all administration operations.\n */\nexport interface ModelAdministrationOperationStateCommon {\n /**\n * The status of the operation. One of:\n *\n * - \"notStarted\"\n * - \"running\"\n * - \"succeeded\"\n * - \"failed\"\n * - \"canceled\"\n */\n status: OperationStatus;\n\n /**\n * The API version used to train this model.\n */\n apiVersion?: string;\n\n /**\n * The unique ID of this operation.\n */\n operationId: string;\n\n /**\n * A number between 0 and 100 representing the progress of the operation.\n */\n percentCompleted: number;\n\n /**\n * The Date and Time that the operation was created.\n */\n createdOn: Date;\n\n /**\n * The date & time that the operation state was last modified.\n */\n lastUpdatedOn: Date;\n\n /**\n * Additional, user-defined key-value pairs associated with the model as metadata.\n */\n tags?: Record<string, string>;\n}\n\n/**\n * The state of a model creation operation.\n */\nexport interface DocumentModelOperationState\n extends PollOperationState<DocumentModelDetails>,\n ModelAdministrationOperationStateCommon {}\n\n/**\n * The respones of a model creation operation.\n * @internal\n */\nexport type DocumentModelBuildResponse =\n | DocumentModelBuildOperationDetails\n | DocumentModelCopyToOperationDetails\n | DocumentModelComposeOperationDetails;\n\n/**\n * The possible responses of an administration operation.\n * @internal\n */\nexport type DocumentModelAdministrationResponse =\n | DocumentModelBuildResponse\n | DocumentClassifierBuildOperationDetails;\n\n/**\n * Convert an operation result into a training poller state.\n * @internal\n */\nexport async function toTrainingPollOperationState(\n response: DocumentModelAdministrationResponse\n): Promise<DocumentModelOperationState | DocumentClassifierOperationState> {\n return {\n operationId: response.operationId,\n status: response.status,\n apiVersion: response.apiVersion,\n percentCompleted: response.percentCompleted ?? 0,\n lastUpdatedOn: response.lastUpdatedOn,\n createdOn: response.createdOn,\n error: response.error && new FormRecognizerError(response.error),\n isCancelled: response.status === \"canceled\",\n isCompleted: response.status === \"succeeded\",\n isStarted: response.status !== \"notStarted\",\n tags: response.tags,\n\n // The following assertion is required. Technically the type of `response.result` is\n // `DocumentModelDetails | DocumentClassifierDetails | undefined`, which isn't assignable to the type of\n // either operation state's result. We would need some kind of dependent typing to express how the type of `result`\n // actually _determines_ the type of the resulting return value.\n result: response.result,\n } as DocumentModelOperationState | DocumentClassifierOperationState;\n}\n\n/**\n * A long-running operation (poller) that tracks the state of a model creation operation, eventually producing a\n * {@link DocumentModelDetails}.\n */\nexport type DocumentModelPoller = PollerLike<DocumentModelOperationState, DocumentModelDetails>;\n\n/**\n * Defines a training operation.\n * @internal\n */\nexport interface TrainingOperationDefinition<State extends AdministrationOperationState> {\n /**\n * A function to start the operation, producing an operationLocation.\n */\n start: (ctx: OperationContext) => Promise<{ operationLocation?: string }>;\n /**\n * Options for the poller and requests.\n */\n options: PollerOptions<State> & OperationOptions;\n}\n\n/**\n * A long-running operation (poller) that tracks the state of a custom classifier creation operation, eventually\n * producing a {@link DocumentClassifierDetails}.\n */\nexport type DocumentClassifierPoller = PollerLike<\n DocumentClassifierOperationState,\n DocumentClassifierDetails\n>;\n\n/**\n * The state of a model creation operation.\n */\nexport interface DocumentClassifierOperationState\n extends PollOperationState<DocumentClassifierDetails>,\n ModelAdministrationOperationStateCommon {}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { TracingClient, createTracingClient } from \"@azure/core-tracing\";\nimport { SDK_VERSION } from \"./constants\";\nimport {\n CopyAuthorization,\n GeneratedClient,\n ResourceDetails,\n DocumentModelDetails,\n DocumentModelSummary,\n OperationSummary,\n OperationDetails,\n DocumentClassifierDetails,\n} from \"./generated\";\nimport { accept1 } from \"./generated/models/parameters\";\nimport {\n TrainingOperationDefinition,\n DocumentModelOperationState,\n DocumentModelPoller,\n toTrainingPollOperationState,\n DocumentModelBuildResponse,\n AdministrationOperationState,\n DocumentClassifierPoller,\n DocumentClassifierOperationState,\n} from \"./lro/administration\";\nimport { OperationContext, lro } from \"./lro/util/poller\";\nimport {\n BeginCopyModelOptions,\n DeleteDocumentModelOptions,\n DocumentModelAdministrationClientOptions,\n GetCopyAuthorizationOptions,\n GetResourceDetailsOptions,\n GetModelOptions,\n GetOperationOptions,\n ListModelsOptions,\n ListOperationsOptions,\n PollerOptions,\n} from \"./options\";\nimport { BeginBuildDocumentClassifierOptions } from \"./options/BuildDocumentClassifierOptions\";\nimport {\n BeginBuildDocumentModelOptions,\n BeginComposeDocumentModelOptions,\n DocumentModelBuildMode,\n} from \"./options/BuildModelOptions\";\nimport { Mappers, SERIALIZER, makeServiceClient } from \"./util\";\nimport { FullOperationResponse, OperationOptions } from \"@azure/core-client\";\nimport {\n DocumentModelSource,\n DocumentClassifierDocumentTypeSources,\n AzureBlobSource,\n} from \"./models\";\n\n/**\n * A client for interacting with the Form Recognizer service's model management features, such as creating, reading,\n * listing, deleting, and copying models.\n *\n * ### Examples:\n *\n * #### Azure Active Directory\n *\n * ```typescript\n * import { DocumentModelAdministrationClient } from \"@azure/ai-form-recognizer\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new DefaultAzureCredential();\n *\n * const client = new DocumentModelAdministrationClient(endpoint, credential);\n * ```\n *\n * #### API Key (Subscription Key)\n *\n * ```typescript\n * import { DocumentModelAdministrationClient, AzureKeyCredential } from \"@azure/ai-form-recognizer\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new AzureKeyCredential(\"<api key>\");\n *\n * const client = new DocumentModelAdministrationClient(endpoint, credential);\n * ```\n */\nexport class DocumentModelAdministrationClient {\n private _restClient: GeneratedClient;\n private _tracing: TracingClient;\n\n /**\n * Create a DocumentModelAdministrationClient instance from a resource endpoint and a an Azure Identity `TokenCredential`.\n *\n * See the [`@azure/identity`](https://npmjs.com/package/\\@azure/identity) package for more information about\n * authenticating with Azure Active Directory.\n *\n * ### Example:\n *\n * ```javascript\n * import { DocumentModelAdministrationClient } from \"@azure/ai-form-recognizer\";\n * import { DefaultAzureCredential } from \"@azure/identity\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new DefaultAzureCredential();\n *\n * const client = new DocumentModelAdministrationClient(endpoint, credential);\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a TokenCredential instance from the `@azure/identity` package\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: DocumentModelAdministrationClientOptions\n );\n /**\n * Create a DocumentModelAdministrationClient instance from a resource endpoint and a static API key\n * (`KeyCredential`),\n *\n * ### Example:\n *\n * ```javascript\n * import { DocumentModelAdministrationClient, AzureKeyCredential } from \"@azure/ai-form-recognizer\";\n *\n * const endpoint = \"https://<resource name>.cognitiveservices.azure.com\";\n * const credential = new AzureKeyCredential(\"<api key>\");\n *\n * const client = new DocumentModelAdministrationClient(endpoint, credential);\n * ```\n *\n * @param endpoint - the endpoint URL of an Azure Cognitive Services instance\n * @param credential - a KeyCredential containing the Cognitive Services instance subscription key\n * @param options - optional settings for configuring all methods in the client\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: DocumentModelAdministrationClientOptions\n );\n /**\n * @hidden\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options?: DocumentModelAdministrationClientOptions\n );\n public constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: DocumentModelAdministrationClientOptions = {}\n ) {\n this._restClient = makeServiceClient(endpoint, credential, options);\n this._tracing = createTracingClient({\n packageName: \"@azure/ai-form-recognizer\",\n packageVersion: SDK_VERSION,\n namespace: \"Microsoft.CognitiveServices\",\n });\n }\n\n // #region Model Creation\n\n /**\n * Build a new model with a given ID from a set of input documents and labeled fields.\n *\n * The Model ID can consist of any text, so long as it does not begin with \"prebuilt-\" (as these models refer to\n * prebuilt Form Recognizer models that are common to all resources), and so long as it does not already exist within\n * the resource.\n *\n * The Form Recognizer service reads the training data set from an Azure Storage container, given as a URL to the\n * container with a SAS token that allows the service backend to communicate with the container. At a minimum, the\n * \"read\" and \"list\" permissions are required. In addition, the data in the given container must be organized\n * according to a particular convention, which is documented in [the service's documentation for building custom\n * models](https://aka.ms/form-recognizer/custom).\n *\n * ### Example\n *\n * ```javascript\n * const modelId = \"aNewModel\";\n * const containerUrl = \"<training data container SAS URL>\";\n *\n * const poller = await client.beginBuildDocumentModel(modelId, containerUrl, {\n * // Optionally, a text description may be attached to the model\n * description: \"This is an example model!\"\n * });\n *\n * // Model building, like all other model creation operations, returns a poller that eventually produces a ModelDetails\n * // object\n * const modelDetails = await poller.pollUntilDone();\n *\n * const {\n * modelId, // identical to the modelId given when creating the model\n * description, // identical to the description given when creating the model\n * createdOn, // the Date (timestamp) that the model was created\n * docTypes // information about the document types in the model and their field schemas\n * } = modelDetails;\n * ```\n *\n * @param modelId - the unique ID of the model to create\n * @param containerUrl - SAS-encoded URL to an Azure Storage container holding the training data set\n * @param buildMode - the mode to use when building the model (see `DocumentModelBuildMode`)\n * @param options - optional settings for the model build operation\n * @returns a long-running operation (poller) that will eventually produce the created model information or an error\n */\n public async beginBuildDocumentModel(\n modelId: string,\n containerUrl: string,\n buildMode: DocumentModelBuildMode,\n options?: BeginBuildDocumentModelOptions\n ): Promise<DocumentModelPoller>;\n\n /**\n * Build a new model with a given ID from a model content source.\n *\n * The Model ID can consist of any text, so long as it does not begin with \"prebuilt-\" (as these models refer to\n * prebuilt Form Recognizer models that are common to all resources), and so long as it does not already exist within\n * the resource.\n *\n * The content source describes the mechanism the service will use to read the input training data. See the\n * {@link DocumentModelContentSource} type for more information.\n *\n * ### Example\n *\n * ```javascript\n * const modelId = \"aNewModel\";\n *\n * const poller = await client.beginBuildDocumentModel(modelId, { containerUrl: \"<SAS-encoded blob container URL>\" }, {\n * // Optionally, a text description may be attached to the model\n * description: \"This is an example model!\"\n * });\n *\n * // Model building, like all other model creation operations, returns a poller that eventually produces a ModelDetails\n * // object\n * const modelDetails = await poller.pollUntilDone();\n *\n * const {\n * modelId, // identical to the modelId given when creating the model\n * description, // identical to the description given when creating the model\n * createdOn, // the Date (timestamp) that the model was created\n * docTypes // information about the document types in the model and their field schemas\n * } = modelDetails;\n * ```\n *\n * @param modelId - the unique ID of the model to create\n * @param contentSource - a content source that provides the training data for this model\n * @param buildMode - the mode to use when building the model (see `DocumentModelBuildMode`)\n * @param options - optional settings for the model build operation\n * @returns a long-running operation (poller) that will eventually produce the created model information or an error\n */\n public async beginBuildDocumentModel(\n modelId: string,\n contentSource: DocumentModelSource,\n buildMode: DocumentModelBuildMode,\n options?: BeginBuildDocumentModelOptions\n ): Promise<DocumentModelPoller>;\n\n public async beginBuildDocumentModel(\n modelId: string,\n urlOrSource: string | DocumentModelSource,\n buildMode: DocumentModelBuildMode,\n options: BeginBuildDocumentModelOptions = {}\n ): Promise<DocumentModelPoller> {\n const sourceInfo =\n typeof urlOrSource === \"string\"\n ? ({\n azureBlobSource: {\n containerUrl: urlOrSource,\n },\n } as AzureBlobSource)\n : urlOrSource;\n\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.beginBuildDocumentModel\",\n options,\n (finalOptions) =>\n this.createAdministrationPoller({\n options: finalOptions,\n start: (ctx) =>\n this._restClient.documentModels.buildModel(\n {\n modelId,\n description: finalOptions.description,\n ...sourceInfo,\n buildMode,\n },\n {\n ...finalOptions,\n abortSignal: ctx.abortSignal,\n }\n ),\n })\n );\n }\n\n /**\n * Creates a single composed model from several pre-existing submodels.\n *\n * The resulting composed model combines the document types of its component models, and inserts a classification step\n * into the extraction pipeline to determine which of its component submodels is most appropriate for the given input.\n *\n * ### Example\n *\n * ```javascript\n * const modelId = \"aNewComposedModel\";\n * const subModelIds = [\n * \"documentType1Model\",\n * \"documentType2Model\",\n * \"documentType3Model\"\n * ];\n *\n * // The resulting composed model can classify and extract data from documents\n * // conforming to any of the above document types\n * const poller = await client.beginComposeDocumentModel(modelId, subModelIds, {\n * description: \"This is a composed model that can handle several document types.\"\n * });\n *\n * // Model composition, like all other model creation operations, returns a poller that eventually produces a\n * // ModelDetails object\n * const modelDetails = await poller.pollUntilDone();\n *\n * const {\n * modelId, // identical to the modelId given when creating the model\n * description, // identical to the description given when creating the model\n * createdOn, // the Date (timestamp) that the model was created\n * docTypes // information about the document types of the composed submodels\n * } = modelDetails;\n * ```\n *\n * @param modelId - the unique ID of the model to create\n * @param componentModelIds - an Iterable of strings representing the unique model IDs of the models to compose\n * @param options - optional settings for model creation\n * @returns a long-running operation (poller) that will eventually produce the created model information or an error\n */\n public async beginComposeDocumentModel(\n modelId: string,\n componentModelIds: Iterable<string>,\n options: BeginComposeDocumentModelOptions = {}\n ): Promise<DocumentModelPoller> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.beginComposeDocumentModel\",\n options,\n (finalOptions) =>\n this.createAdministrationPoller({\n options: finalOptions,\n start: (ctx) =>\n this._restClient.documentModels.composeModel(\n {\n modelId,\n componentModels: [...componentModelIds].map((submodelId) => ({\n modelId: submodelId,\n })),\n description: finalOptions.description,\n tags: finalOptions.tags,\n },\n {\n ...finalOptions,\n abortSignal: ctx.abortSignal,\n }\n ),\n })\n );\n }\n\n /**\n * Creates an authorization to copy a model into the resource, used with the `beginCopyModelTo` method.\n *\n * The `CopyAuthorization` grants another cognitive service resource the right to create a model in this client's\n * resource with the model ID and optional description that are encoded into the authorization.\n *\n * ### Example\n *\n * ```javascript\n * // The copyAuthorization data structure stored below grants any cognitive services resource the right to copy a\n * // model into the client's resource with the given destination model ID.\n * const copyAuthorization = await client.getCopyAuthorization(\"<destination model ID>\");\n * ```\n *\n * @param destinationModelId - the unique ID of the destination model (the ID to copy the model into)\n * @param options - optional settings for creating the copy authorization\n * @returns a copy authorization that encodes the given modelId and optional description\n */\n public async getCopyAuthorization(\n destinationModelId: string,\n options: GetCopyAuthorizationOptions = {}\n ): Promise<CopyAuthorization> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.getCopyAuthorization\",\n options,\n (finalOptions) =>\n this._restClient.documentModels.authorizeModelCopy(\n {\n modelId: destinationModelId,\n description: finalOptions.description,\n tags: finalOptions.tags,\n },\n finalOptions\n )\n );\n }\n\n /**\n * Copies a model with the given ID into the resource and model ID encoded by a given copy authorization.\n *\n * See {@link CopyAuthorization} and {@link getCopyAuthorization}.\n *\n * ### Example\n *\n * ```javascript\n * // We need a client for the source model's resource\n * const sourceEndpoint = \"https://<source resource name>.cognitiveservices.azure.com\";\n * const sourceCredential = new AzureKeyCredential(\"<source api key>\");\n * const sourceClient = new DocumentModelAdministrationClient(sourceEndpoint, sourceCredential);\n *\n * // We create the copy authorization using a client authenticated with the destination resource. Note that these two\n * // resources can be the same (you can copy a model to a new ID in the same resource).\n * const copyAuthorization = await client.getCopyAuthorization(\"<destination model ID>\");\n *\n * // Finally, use the _source_ client to copy the model and await the copy operation\n * const poller = await sourceClient.beginCopyModelTo(\"<source model ID>\");\n *\n * // Model copying, like all other model creation operations, returns a poller that eventually produces a ModelDetails\n * // object\n * const modelDetails = await poller.pollUntilDone();\n *\n * const {\n * modelId, // identical to the modelId given when creating the copy authorization\n * description, // identical to the description given when creating the copy authorization\n * createdOn, // the Date (timestamp) that the model was created\n * docTypes // information about the document types of the model (identical to the original, source model)\n * } = modelDetails;\n * ```\n *\n * @param sourceModelId - the unique ID of the source model that will be copied\n * @param authorization - an authorization to copy the model, created using the {@link getCopyAuthorization}\n * @param options - optional settings for\n * @returns a long-running operation (poller) that will eventually produce the copied model information or an error\n */\n public async beginCopyModelTo(\n sourceModelId: string,\n authorization: CopyAuthorization,\n options: BeginCopyModelOptions = {}\n ): Promise<DocumentModelPoller> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.beginCopyModel\",\n options,\n (finalOptions) =>\n this.createAdministrationPoller({\n options: finalOptions,\n start: () =>\n this._restClient.documentModels.copyModelTo(sourceModelId, authorization, finalOptions),\n })\n );\n }\n\n // #endregion\n\n // #region Document Classifiers\n\n /**\n * Build a new document classifier with the given classifier ID and document types.\n *\n * The classifier ID must be unique among classifiers within the resource.\n *\n * The document types are given as an object that maps the name of the document type to the training data set for that\n * document type. Two training data input methods are supported:\n *\n * - `azureBlobSource`, which trains a classifier using the data in the given Azure Blob Storage container.\n * - `azureBlobFileListSource`, which is similar to `azureBlobSource` but allows for more fine-grained control over\n * the files that are included in the training data set by using a JSONL-formatted file list.\n *\n * The Form Recognizer service reads the training data set from an Azure Storage container, given as a URL to the\n * container with a SAS token that allows the service backend to communicate with the container. At a minimum, the\n * \"read\" and \"list\" permissions are required. In addition, the data in the given container must be organized\n * according to a particular convention, which is documented in [the service's documentation for building custom\n * document classifiers](https://aka.ms/azsdk/formrecognizer/buildclassifiermodel).\n *\n * ### Example\n *\n * ```javascript\n * const classifierId = \"aNewClassifier\";\n * const containerUrl1 = \"<training data container SAS URL 1>\";\n * const containerUrl2 = \"<training data container SAS URL 2>\";\n *\n * const poller = await client.beginBuildDocumentClassifier(\n * classifierId,\n * {\n * // The document types. Each entry in this object should map a document type name to a\n * // `ClassifierDocumentTypeDetails` object\n * \"formX\": {\n * azureBlobSource: {\n * containerUrl: containerUrl1,\n * }\n * },\n * \"formY\": {\n * azureBlobFileListSource: {\n * containerUrl: containerUrl2,\n * fileList: \"path/to/fileList.jsonl\"\n * }\n * },\n * },\n * {\n * // Optionally, a text description may be attached to the classifier\n * description: \"This is an example classifier!\"\n * }\n * );\n *\n * // Classifier building, like model creation operations, returns a poller that eventually produces a\n * // DocumentClassifierDetails object\n * const classifierDetails = await poller.pollUntilDone();\n *\n * const {\n * classifierId, // identical to the classifierId given when creating the classifier\n * description, // identical to the description given when creating the classifier (if any)\n * createdOn, // the Date (timestamp) that the classifier was created\n * docTypes // information about the document types in the classifier and their details\n * } = classifierDetails;\n * ```\n *\n * @param classifierId - the unique ID of the classifier to create\n * @param docTypeSources - the document types to include in the classifier and their sources (a map of document type\n * names to `ClassifierDocumentTypeDetails`)\n * @param options - optional settings for the classifier build operation\n * @returns a long-running operation (poller) that will eventually produce the created classifier details or an error\n */\n public async beginBuildDocumentClassifier(\n classifierId: string,\n docTypeSources: DocumentClassifierDocumentTypeSources,\n options: BeginBuildDocumentClassifierOptions = {}\n ): Promise<DocumentClassifierPoller> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.beginBuildDocumentClassifier\",\n options,\n (finalOptions) =>\n this.createAdministrationPoller<DocumentClassifierOperationState>({\n options: finalOptions,\n start: () =>\n this._restClient.documentClassifiers.buildClassifier(\n {\n classifierId,\n description: finalOptions.description,\n docTypes: docTypeSources,\n },\n finalOptions\n ),\n })\n );\n }\n\n // #endregion\n\n /**\n * Create an LRO poller that handles model creation operations.\n *\n * This is the meat of the above model creation operations.\n *\n * @param definition - operation definition (start operation method, request options)\n * @returns a model poller (produces a ModelDetails)\n */\n private async createAdministrationPoller<State extends AdministrationOperationState>(\n definition: TrainingOperationDefinition<State>\n ): Promise<\n State extends DocumentModelOperationState ? DocumentModelPoller : DocumentClassifierPoller\n > {\n const { resumeFrom } = definition.options;\n\n const toInit =\n resumeFrom === undefined\n ? (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentModelAdministrationClient.createDocumentModelPoller-start\",\n definition.options,\n async (options) => {\n const { operationLocation } = await definition.start(ctx);\n\n if (operationLocation === undefined) {\n throw new Error(\n \"Unable to start model creation operation: no Operation-Location received.\"\n );\n }\n\n return this._restClient.sendOperationRequest(\n {\n options: {\n onResponse: (rawResponse, ...args) => {\n return captureRetryAfter(rawResponse, ctx, options, args);\n },\n ...options,\n abortSignal: ctx.abortSignal,\n },\n },\n {\n path: operationLocation,\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.OperationDetails,\n },\n default: {\n bodyMapper: Mappers.ErrorResponse,\n },\n },\n headerParameters: [accept1],\n serializer: SERIALIZER,\n }\n ) as Promise<OperationDetails>;\n }\n )\n : (ctx: OperationContext) =>\n this._tracing.withSpan(\n \"DocumentModelAdministrationClient.createDocumentModelPoller-resume\",\n definition.options,\n (options) => {\n const { operationId } = JSON.parse(resumeFrom) as { operationId: string };\n\n return this._restClient.miscellaneous.getOperation(operationId, {\n onResponse: (rawResponse, ...args) => {\n return captureRetryAfter(rawResponse, ctx, options, args);\n },\n ...options,\n });\n }\n );\n\n const poller = await lro<\n DocumentModelDetails | DocumentClassifierDetails,\n AdministrationOperationState\n >(\n {\n init: async (ctx) => toTrainingPollOperationState(await toInit(ctx)),\n poll: async (ctx, { operationId }) =>\n this._tracing.withSpan(\n \"DocumentModelAdminstrationClient.createDocumentModelPoller-poll\",\n definition.options,\n async (options) => {\n const res = await this._restClient.miscellaneous.getOperation(operationId, {\n onResponse: (rawResponse, ...args) => {\n // Capture the `Retry-After` header if it was sent.\n return captureRetryAfter(rawResponse, ctx, options, args);\n },\n ...options,\n abortSignal: ctx.abortSignal,\n });\n\n return toTrainingPollOperationState(res as DocumentModelBuildResponse);\n }\n ),\n serialize: ({ operationId }) => JSON.stringify({ operationId }),\n },\n definition.options.updateIntervalInMs,\n definition.options.abortSignal\n );\n\n if (definition.options.onProgress !== undefined) {\n poller.onProgress(definition.options.onProgress as () => unknown);\n definition.options.onProgress(poller.getOperationState() as State);\n }\n\n // Need this assertion. The poller above is dynamic, and we can't infer the conditional return type of this method.\n return poller as never;\n\n /**\n * An inline helper for capturing the value of the `Retry-After` header if it was sent.\n * @param rawResponse - the raw response from the service\n * @param ctx - the operation context\n * @param options - the operation options\n * @param args - the arguments passed to the response handler\n * @returns\n */\n function captureRetryAfter(\n rawResponse: FullOperationResponse,\n ctx: OperationContext,\n options: PollerOptions<State> & OperationOptions,\n args: [flatResponse: unknown, error?: unknown]\n ) {\n const retryAfterHeader = rawResponse.headers.get(\"retry-after\");\n // Convert the header value to milliseconds. If the header is not a valid number, then it is an HTTP\n // date.\n if (retryAfterHeader) {\n const retryAfterMs = Number(retryAfterHeader) * 1000;\n if (!Number.isNaN(retryAfterMs)) {\n ctx.updateDelay(retryAfterMs);\n } else {\n ctx.updateDelay(Date.parse(retryAfterHeader) - Date.now());\n }\n } else {\n ctx.updateDelay(undefined);\n }\n\n // Forward the `onResponse` callback if it was provided.\n return options.onResponse?.(rawResponse, ...args);\n }\n }\n\n // #region Model Management\n\n /**\n * Retrieve basic information about this client's resource.\n *\n * ### Example\n *\n * ```javascript\n * const {\n * // Information about the custom models in the current resource\n * customDocumentModelDetails: {\n * // The number of custom models in the current resource\n * count,\n * // The maximum number of models that the current resource can support\n * limit\n * }\n * } = await client.getResourceDetails();\n * ```\n *\n * @param options - optional settings for the request\n * @returns basic information about this client's resource\n */\n public getResourceDetails(options: GetResourceDetailsOptions = {}): Promise<ResourceDetails> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.getResourceDetails\",\n options,\n (finalOptions) => this._restClient.miscellaneous.getResourceInfo(finalOptions)\n );\n }\n\n /**\n * Retrieves information about a model ({@link DocumentModelDetails}) by ID.\n *\n * This method can retrieve information about custom as well as prebuilt models.\n *\n * ### **Breaking Change**\n *\n * In previous versions of the Form Recognizer REST API and SDK, the `getModel` method could return any model, even\n * one that failed to create due to errors. In the new service versions, `getDocumentModel` and `listDocumentModels`\n * _only produce successfully created models_ (i.e. models that are \"ready\" for use). Failed models are now retrieved\n * through the \"operations\" APIs, see {@link getOperation} and {@link listOperations}.\n *\n * ### Example\n *\n * ```javascript\n * // The ID of the prebuilt business card model\n * const modelId = \"prebuilt-businessCard\";\n *\n * const {\n * modelId, // identical to the modelId given when calling `getDocumentModel`\n * description, // a textual description of the model, if provided during model creation\n * createdOn, // the Date (timestamp) that the model was created\n * // information about the document types in the model and their field schemas\n * docTypes: {\n * // the document type of the prebuilt business card model\n * \"prebuilt:businesscard\": {\n * // an optional, textual description of this document type\n * description,\n * // the schema of the fields in this document type, see the FieldSchema type\n * fieldSchema,\n * // the service's confidences in the fields (an object with field names as properties and numeric confidence\n * // values)\n * fieldConfidence\n * }\n * }\n * } = await client.getDocumentModel(modelId);\n * ```\n *\n * @param modelId - the unique ID of the model to query\n * @param options - optional settings for the request\n * @returns information about the model with the given ID\n */\n public getDocumentModel(\n modelId: string,\n options: GetModelOptions = {}\n ): Promise<DocumentModelDetails> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.getDocumentModel\",\n options,\n (finalOptions) => this._restClient.documentModels.getModel(modelId, finalOptions)\n );\n }\n\n /**\n * List summaries of models in the resource. Custom as well as prebuilt models will be included. This operation\n * supports paging.\n *\n * The model summary ({@link DocumentModelSummary}) includes only the basic information about the model, and does not include\n * information about the document types in the model (such as the field schemas and confidence values).\n *\n * To access the full information about the model, use {@link getDocumentModel}.\n *\n * ### **Breaking Change**\n *\n * In previous versions of the Form Recognizer REST API and SDK, the `listModels` method would return all models, even\n * those that failed to create due to errors. In the new service versions, `listDocumentModels` and `getDocumentModel`\n * _only produce successfully created models_ (i.e. models that are \"ready\" for use). Failed models are now retrieved\n * through the \"operations\" APIs, see {@link getOperation} and {@link listOperations}.\n *\n * ### Examples\n *\n * #### Async Iteration\n *\n * ```javascript\n * for await (const summary of client.listDocumentModels()) {\n * const {\n * modelId, // The model's unique ID\n * description, // a textual description of the model, if provided during model creation\n * } = summary;\n *\n * // You can get the full model info using `getDocumentModel`\n * const model = await client.getDocumentModel(modelId);\n * }\n * ```\n *\n * #### By Page\n *\n * ```javascript\n * // The listDocumentModels method is paged, and you can iterate by page using the `byPage` method.\n * const pages = client.listDocumentModels().byPage();\n *\n * for await (const page of pages) {\n * // Each page is an array of models and can be iterated synchronously\n * for (const model of page) {\n * const {\n * modelId, // The model's unique ID\n * description, // a textual description of the model, if provided during model creation\n * } = summary;\n *\n * // You can get the full model info using `getDocumentModel`\n * const model = await client.getDocumentModel(modelId);\n * }\n * }\n * ```\n *\n * @param options - optional settings for the model requests\n * @returns an async iterable of model summaries that supports paging\n */\n public listDocumentModels(\n options: ListModelsOptions = {}\n ): PagedAsyncIterableIterator<DocumentModelSummary> {\n return this._restClient.documentModels.listModels(options);\n }\n\n /**\n * Deletes a model with the given ID from the client's resource, if it exists. This operation CANNOT be reverted.\n *\n * ### Example\n *\n * ```javascript\n * await client.deleteDocumentModel(\"<model ID to delete>\"));\n * ```\n *\n * @param modelId - the unique ID of the model to delete from the resource\n * @param options - optional settings for the request\n */\n public deleteDocumentModel(\n modelId: string,\n options: DeleteDocumentModelOptions = {}\n ): Promise<void> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.deleteDocumentModel\",\n options,\n (finalOptions) => this._restClient.documentModels.deleteModel(modelId, finalOptions)\n );\n }\n\n // #endregion\n\n // #region Classifier Management\n\n /**\n * Retrieves information about a classifier ({@link DocumentClassifierDetails}) by ID.\n *\n * ### Example\n *\n * ```javascript\n * const classifierId = \"<classifier ID\";\n *\n * const {\n * classifierId, // identical to the ID given when calling `getDocumentClassifier`\n * description, // a textual description of the classifier, if provided during classifier creation\n * createdOn, // the Date (timestamp) that the classifier was created\n * // information about the document types in the classifier and their corresponding traning data\n * docTypes\n * } = await client.getDocumentClassifier(classifierId);\n *\n * // The `docTypes` property is a map of document type names to information about the training data\n * // for that document type.\n * for (const [docTypeName, classifierDocTypeDetails] of Object.entries(docTypes)) {\n * console.log(`- '${docTypeName}': `, classifierDocTypeDetails);\n * }\n * ```\n *\n * @param classifierId - the unique ID of the classifier to query\n * @param options - optional settings for the request\n * @returns information about the classifier with the given ID\n */\n public getDocumentClassifier(\n classifierId: string,\n options: OperationOptions = {}\n ): Promise<DocumentClassifierDetails> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.getDocumentClassifier\",\n options,\n (finalOptions) =>\n this._restClient.documentClassifiers.getClassifier(classifierId, finalOptions)\n );\n }\n\n /**\n * List details about classifiers in the resource. This operation supports paging.\n *\n * ### Examples\n *\n * #### Async Iteration\n *\n * ```javascript\n * for await (const details of client.listDocumentClassifiers()) {\n * const {\n * classifierId, // The classifier's unique ID\n * description, // a textual description of the classifier, if provided during creation\n * docTypes, // information about the document types in the classifier and their corresponding traning data\n * } = details;\n * }\n * ```\n *\n * #### By Page\n *\n * ```javascript\n * // The listDocumentClassifiers method is paged, and you can iterate by page using the `byPage` method.\n * const pages = client.listDocumentClassifiers().byPage();\n *\n * for await (const page of pages) {\n * // Each page is an array of classifiers and can be iterated synchronously\n * for (const details of page) {\n * const {\n * classifierId, // The classifier's unique ID\n * description, // a textual description of the classifier, if provided during creation\n * docTypes, // information about the document types in the classifier and their corresponding traning data\n * } = details;\n * }\n * }\n * ```\n *\n * @param options - optional settings for the classifier requests\n * @returns an async iterable of classifier details that supports paging\n */\n public listDocumentClassifiers(\n options: ListModelsOptions = {}\n ): PagedAsyncIterableIterator<DocumentClassifierDetails> {\n return this._restClient.documentClassifiers.listClassifiers(options);\n }\n\n /**\n * Deletes a classifier with the given ID from the client's resource, if it exists. This operation CANNOT be reverted.\n *\n * ### Example\n *\n * ```javascript\n * await client.deleteDocumentClassifier(\"<classifier ID to delete>\"));\n * ```\n *\n * @param classifierId - the unique ID of the classifier to delete from the resource\n * @param options - optional settings for the request\n */\n public deleteDocumentClassifier(\n classifierId: string,\n options: OperationOptions = {}\n ): Promise<void> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.deleteDocumentClassifier\",\n options,\n (finalOptions) =>\n this._restClient.documentClassifiers.deleteClassifier(classifierId, finalOptions)\n );\n }\n\n // #endregion\n\n // #region Operations\n\n /**\n * Retrieves information about an operation (`OperationDetails`) by its ID.\n *\n * Operations represent non-analysis tasks, such as building, composing, or copying a model.\n *\n * @param operationId - the ID of the operation to query\n * @param options - optional settings for the request\n * @returns information about the operation with the given ID\n *\n * ### Example\n *\n * ```javascript\n * // The ID of the operation, which should be a GUID\n * const operationId = \"<operation GUID>\";\n *\n * const {\n * operationId, // identical to the operationId given when calling `getOperation`\n * kind, // the operation kind, one of \"documentModelBuild\", \"documentModelCompose\", or \"documentModelCopyTo\"\n * status, // the status of the operation, one of \"notStarted\", \"running\", \"failed\", \"succeeded\", or \"canceled\"\n * percentCompleted, // a number between 0 and 100 representing the progress of the operation\n * createdOn, // a Date object that reflects the time when the operation was started\n * lastUpdatedOn, // a Date object that reflects the time when the operation state was last modified\n * } = await client.getOperation(operationId);\n * ```\n */\n public getOperation(\n operationId: string,\n options: GetOperationOptions = {}\n ): Promise<OperationDetails> {\n return this._tracing.withSpan(\n \"DocumentModelAdministrationClient.getOperation\",\n options,\n (finalOptions) => this._restClient.miscellaneous.getOperation(operationId, finalOptions)\n );\n }\n\n /**\n * List model creation operations in the resource. This will produce all operations, including operations that failed\n * to create models successfully. This operation supports paging.\n *\n * ### Examples\n *\n * #### Async Iteration\n *\n * ```javascript\n * for await (const operation of client.listOperations()) {\n * const {\n * operationId, // the operation's GUID\n * status, // the operation status, one of \"notStarted\", \"running\", \"succeeded\", \"failed\", or \"canceled\"\n * percentCompleted // the progress of the operation, from 0 to 100\n * } = operation;\n * }\n * ```\n *\n * #### By Page\n *\n * ```javascript\n * // The listOperations method is paged, and you can iterate by page using the `byPage` method.\n * const pages = client.listOperations().byPage();\n *\n * for await (const page of pages) {\n * // Each page is an array of operation info objects and can be iterated synchronously\n * for (const operation of page) {\n * const {\n * operationId, // the operation's GUID\n * status, // the operation status, one of \"notStarted\", \"running\", \"succeeded\", \"failed\", or \"canceled\"\n * percentCompleted // the progress of the operation, from 0 to 100\n * } = operation;\n * }\n * }\n * ```\n *\n * @param options - optional settings for the operation requests\n * @returns an async iterable of operation information objects that supports paging\n */\n public listOperations(\n options: ListOperationsOptions = {}\n ): PagedAsyncIterableIterator<OperationSummary> {\n return this._restClient.miscellaneous.listOperations(options);\n }\n\n // #endregion\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport {\n AnalyzeResult,\n AnalyzedDocument,\n DocumentAnalysisPollOperationState,\n} from \"../lro/analysis\";\nimport { PollerOptions } from \"./PollerOptions\";\n\n/**\n * Add-on capabilities (features) that can be enabled for the request.\n *\n * For more information about the features available in Form Recognizer, see the service documentation:\n *\n * https://aka.ms/azsdk/formrecognizer/features\n */\nexport type FormRecognizerFeature =\n | (typeof FormRecognizerFeature)[keyof typeof FormRecognizerFeature]\n // eslint-disable-next-line @typescript-eslint/ban-types\n | (string & {});\n\n/**\n * Known feature flags supported by the Form Recognizer clients.\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const FormRecognizerFeature = {\n /**\n * Enables extracting extra font information.\n */\n Fonts: \"styleFont\",\n\n /**\n * Enables high-resolution processing for documents with small text.\n */\n OcrHighResolution: \"ocrHighResolution\",\n\n /**\n * Enables the detection of mathematical expressions in the document..\n */\n Formulas: \"formulas\",\n\n /**\n * Enables the detection of the text content language.\n */\n Languages: \"languages\",\n\n /**\n * Enables the detection of barcodes in the document.\n */\n Barcodes: \"barcodes\",\n\n /**\n * Enables the detection of general key value pairs (form fields) in the document.\n */\n KeyValuePairs: \"keyValuePairs\",\n} as const;\n\n/**\n * Options for the document analysis operation.\n */\nexport interface AnalyzeDocumentOptions<Result = AnalyzeResult<AnalyzedDocument>>\n extends OperationOptions,\n PollerOptions<DocumentAnalysisPollOperationState<Result>> {\n /**\n * Locale hint for text recognition and document analysis.\n *\n * The value may specify only the two-letter language code or a BCP-47 language tag indicating both language and region.\n *\n * Examples:\n * - \"en-US\" (US English)\n * - \"fr\" (French - no region)\n */\n locale?: string;\n /**\n * A list of page ranges (1-indexed) within the input document to analyze, separated by commas\n *\n * Examples: \"1\", \"3-5\", \"1,3-5\"\n */\n pages?: string;\n\n /**\n * A list of features to enable in the model. Enabling features may incur additional costs, so be sure to consult the\n * service documentation to understand the nature of the features and any added costs associated with using them.\n *\n * For more information about the features available in Form Recognizer, see the service documentation: https://aka.ms/azsdk/formrecognizer/features\n */\n features?: FormRecognizerFeature[];\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport { DocumentModelOperationState } from \"../lro/administration\";\nimport { PollerOptions } from \"./PollerOptions\";\n\n/**\n * Supported model build modes. The model build mode selects the engine that the service uses to train the model based\n * on the labeled training data.\n *\n * The options are:\n * - \"neural\", which yields the highest quality of model that is capable of extracting data from classes of documents\n * that have the same structure of data, but different layouts (for example, W2 tax forms, which may vary from company\n * to company, but always contain the same information).\n * - \"template\", which requires all documents to have the same fixed layout (template).\n *\n * Please see the following link for more information: https://aka.ms/azsdk/formrecognizer/buildmode\n */\nexport type DocumentModelBuildMode =\n (typeof DocumentModelBuildMode)[keyof typeof DocumentModelBuildMode];\n\n/**\n * Supported values of `DocumentModelBuildMode`.\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DocumentModelBuildMode = {\n /**\n * A mode that builds a model assuming that documents all follow the same, fixed template layout (the same relative\n * positioning of fields between documents).\n */\n Template: \"template\",\n /**\n * A mode that uses a neural engine to extract fields, allowing for documents that have different visual appearances,\n * but that contain the same information.\n */\n Neural: \"neural\",\n} as const;\n\n/**\n * Options common to all operations that define new models, such as `beginBuildDocumentModel`,\n * `beginComposeDocumentModel`, and `getCopyAuthorization`.\n */\nexport interface CommonModelCreationOptions {\n /**\n * A textual description of the model (can be any text).\n */\n description?: string;\n\n /**\n * Additional, user-specified key-value pairs to associate with the model as persistent metadata.\n */\n tags?: Record<string, string>;\n}\n\n/**\n * Options for the model creation operation.\n */\nexport interface CreateDocumentModelOptions\n extends OperationOptions,\n CommonModelCreationOptions,\n PollerOptions<DocumentModelOperationState> {}\n\n/**\n * Options for the model build operation.\n */\nexport interface BeginBuildDocumentModelOptions extends CreateDocumentModelOptions {}\n\n/**\n * Options for the model compose operation.\n */\nexport interface BeginComposeDocumentModelOptions extends CreateDocumentModelOptions {}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { DocumentFieldSchema, DocumentModelDetails } from \"./generated\";\nimport { AnalyzedDocument, AnalyzeResult } from \"./lro/analysis\";\nimport { DocumentField } from \"./models/fields\";\nimport { isAcronymic, uncapitalize } from \"./util\";\n\n/**\n * A well-known model specification that supports extracting structured documents.\n *\n * See the `beginAnalyzeDocument` method of {@link DocumentAnalysisClient}, which supports consuming these\n * `DocumentModel` objects instead of model ID strings to provide stronger result types.\n */\nexport interface DocumentModel<Result> {\n /**\n * The unique ID of this model.\n */\n modelId: string;\n /**\n * The API version of the model.\n */\n apiVersion?: string;\n /**\n * An associated transformation that is used to conver the base (weak) Result type to the strong version.\n */\n transformResult: (input: AnalyzeResult) => Result;\n}\n\n/**\n * Checks a field value against a schema and converts it into a strong idiomatic DocumentField,\n * @internal\n * @param fieldName - the name of the field (used in diagnostics)\n * @param schema - the field's schema\n * @param field - the raw DocumentField value\n * @returns\n */\nfunction extractField(\n fieldName: string,\n schema: DocumentFieldSchema,\n field: DocumentField\n): DocumentField {\n if (schema.type !== field.kind) {\n throw new Error(\n `Schema violation: ${fieldName} had type \"${field.kind}\", but expected \"${schema.type}\"`\n );\n }\n\n // Objects need to be handled specially, so that we can camelCase the field names.\n if (field.kind === \"object\") {\n const result: any = {};\n\n for (const [subFieldName, subFieldSchema] of Object.entries(schema.properties!)) {\n if (field.properties[subFieldName] !== undefined && field.properties[subFieldName] !== null) {\n const trueFieldName = (\n isAcronymic(subFieldName) ? subFieldName : uncapitalize(subFieldName)\n ).replace(/\\s/g, \"\");\n\n result[trueFieldName] = extractField(\n fieldName + \".\" + subFieldName,\n subFieldSchema,\n field.properties[subFieldName]!\n );\n }\n }\n\n return {\n ...field,\n properties: result,\n };\n } else if (field.kind === \"array\") {\n return {\n ...field,\n values: field.values.map((val, idx) =>\n extractField(fieldName + \"[\" + idx + \"]\", schema.items!, val)\n ),\n };\n } else return field;\n}\n\n/**\n * Create a DocumentModel that performs analysis using the given schema.\n *\n * The types of `documents` are created from the schema, so they are `unknown` unless they are asserted to be a\n * different type.\n *\n * @hidden\n * @param schema - model schema contents\n * @returns - a DocumentModel that encodes the schema\n */\nexport function createModelFromSchema(\n schema: Omit<DocumentModelDetails, \"createdOn\">\n): DocumentModel<AnalyzeResult<unknown>> {\n return {\n modelId: schema.modelId,\n apiVersion: schema.apiVersion,\n transformResult(baseResult: AnalyzeResult): AnalyzeResult<unknown> {\n const hasDocuments = Object.entries(schema.docTypes ?? {}).length > 0;\n\n return {\n ...baseResult,\n documents: hasDocuments\n ? baseResult.documents?.map(toDocument)\n : baseResult.documents ?? [],\n };\n\n function toDocument(document: AnalyzedDocument): unknown {\n const result: Record<string, unknown> = {};\n const model = schema.docTypes?.[document.docType];\n\n if (model === undefined) {\n throw new Error(\n `Unexpected document type \"${document.docType}\" in result using model \"${schema.modelId}\"`\n );\n }\n for (const [fieldName, fieldSchema] of Object.entries(model.fieldSchema)) {\n if (\n document.fields &&\n document.fields[fieldName] !== undefined &&\n document.fields[fieldName] !== null\n ) {\n const trueFieldName = (\n isAcronymic(fieldName) ? fieldName : uncapitalize(fieldName)\n ).replace(/\\s/g, \"\");\n result[trueFieldName] = extractField(\n fieldName,\n fieldSchema,\n document.fields[fieldName]\n );\n }\n }\n\n return {\n ...document,\n fields: result,\n };\n }\n },\n };\n}\n"],"names":["AnalyzeDocumentRequestMapper","BuildDocumentModelRequestMapper","ComposeDocumentModelRequestMapper","AuthorizeCopyRequestMapper","CopyAuthorizationMapper","BuildDocumentClassifierRequestMapper","ClassifyDocumentRequestMapper","KnownLengthUnit","KnownSelectionMarkState","KnownDocumentBarcodeKind","KnownDocumentFormulaKind","KnownParagraphRole","KnownDocumentTableCellKind","KnownFontStyle","KnownFontWeight","KnownDocumentFieldType","KnownDocumentSignatureType","KnownDocumentBuildMode","KnownOperationKind","__await","__asyncValues","__asyncDelegator","serializer","coreClient","Mappers.DocumentModelsAnalyzeDocumentHeaders","Mappers.ErrorResponse","Parameters.analyzeRequest","Parameters.pages","Parameters.locale","Parameters.stringIndexType","Parameters.apiVersion","Parameters.features","Parameters.endpoint","Parameters.modelId","Parameters.contentType","Parameters.accept","Parameters.analyzeRequest1","Parameters.contentType1","Parameters.accept1","Parameters.analyzeRequest2","Parameters.contentType2","Parameters.accept2","Mappers.AnalyzeResultOperation","Parameters.resultId","Mappers.DocumentModelsBuildModelHeaders","Parameters.buildRequest","Parameters.contentType3","Mappers.DocumentModelsComposeModelHeaders","Parameters.composeRequest","Mappers.CopyAuthorization","Parameters.authorizeCopyRequest","Mappers.DocumentModelsCopyModelToHeaders","Parameters.copyToRequest","Mappers.GetDocumentModelsResponse","Mappers.DocumentModelDetails","Parameters.nextLink","Mappers.GetOperationsResponse","Mappers.OperationDetails","Parameters.operationId","Mappers.ResourceDetails","Mappers.DocumentClassifiersBuildClassifierHeaders","Parameters.buildRequest1","Mappers.GetDocumentClassifiersResponse","Mappers.DocumentClassifierDetails","Parameters.classifierId","Mappers.DocumentClassifiersClassifyDocumentHeaders","Parameters.classifyRequest","Parameters.classifyRequest1","Parameters.classifyRequest2","coreRestPipeline","createSerializer","isTokenCredential","bearerTokenAuthenticationPolicy","AbortError","createTracingClient"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAEA;;;AAGG;AACI,MAAM,uBAAuB,GAAG,8CAA8C,CAAC;AAEtF;;AAEG;AACI,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B,MAAM,2BAA2B,GAAG,YAAY;;ACdvD;;;;;;AAMG;AAII,MAAM,sBAAsB,GAA+B;AAChE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,eAAe,EAAE;AACf,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,YAAY;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,UAAU,GAA+B;AACpD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,YAAY;AACxB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,YAAY;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,UAAU,GAA+B;AACpD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,YAAY;AACvB,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,YAAY;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,sBAAsB,GAA+B;AAChE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,eAAe,EAAE;AACf,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;AAChE,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,qBAAqB;AACrC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,YAAY;AACxB,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,eAAe;AAC3B,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,mBAAmB;AAC/B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,eAAe;AAC3B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,sBAAsB;AAClC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,eAAe;AAC3B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,kBAAkB;AAC9B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,UAAU;AACtB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,GAAG;oBACrB,gBAAgB,EAAE,CAAC,GAAG;AACvB,iBAAA;AACD,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,cAAc,EAAE,gBAAgB;AAChC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,uBAAuB;AACnC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,iBAAiB;AAC7B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,iBAAiB;AAC7B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,qBAAqB,GAA+B;AAC/D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,uBAAuB;AAClC,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAA+B;AACzD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAA+B;AACzD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,iBAAiB,GAA+B;AAC3D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,cAAc,GAA+B;AACxD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,gBAAgB;AAC3B,QAAA,eAAe,EAAE;AACf,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,WAAW,EAAE;AACX,4BAAA,gBAAgB,EAAE,CAAC;AACpB,yBAAA;AACD,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,QAAQ;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,QAAQ,EAAE;AACR,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,mBAAmB;AAC/B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,iBAAiB,GAA+B;AAC3D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,YAAY,EAAE,SAAS;AACvB,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,YAAY,EAAE,CAAC;AACf,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,YAAY,EAAE,CAAC;AACf,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oBAAoB,GAA+B;AAC9D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,eAAe,EAAE;AACf,YAAA,GAAG,EAAE;AACH,gBAAA,cAAc,EAAE,KAAK;AACrB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,yBAAyB;AACrC,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,yBAAyB;AACrC,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,uBAAuB,GAA+B;AACjE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,mBAAmB;AACnC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC;AACtC,iBAAA;AACD,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,gBAAgB,CAAC;AACtC,iBAAA;AACD,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gBAAgB,GAA+B;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,kBAAkB;AAC7B,QAAA,eAAe,EAAE;AACf,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,QAAQ,GAA+B;AAClD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,UAAU;AACrB,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,SAAS,EAAE,CAAC;AACb,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;AACnE,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,kBAAkB,EAAE;AAClB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,cAAc,EAAE,gBAAgB;AAChC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,kBAAkB,EAAE;AAClB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,eAAe;AAC3B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE;AACnE,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,eAAe;AAC3B,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,gBAAgB;AAC5B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,cAAc;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,CAAC;AACnB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAA+B;AACvD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,eAAe;AAC1B,QAAA,eAAe,EAAE;AACf,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,cAAc,EAAE,gBAAgB;AAChC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,yBAAyB,GAA+B;AACnE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,wBAAwB;AACpC,iBAAA;AACF,aAAA;AACD,YAAA,uBAAuB,EAAE;AACvB,gBAAA,cAAc,EAAE,yBAAyB;AACzC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,gCAAgC;AAC5C,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,sBAAsB,GAA+B;AAChE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,wBAAwB;AACnC,QAAA,eAAe,EAAE;AACf,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,8BAA8B,GAA+B;AACxE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,eAAe,EAAE;AACf,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,2BAA2B,GAA+B;AACrE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,WAAW,EAAE;AACX,oBAAA,WAAW,EAAE,IAAI;AAClB,iBAAA;AACD,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,+BAA+B;AAC3C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,6BAA6B,GAA+B;AACvE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,+BAA+B;AAC1C,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oBAAoB,GAA+B;AAC9D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,iBAAiB,GAA+B;AAC3D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,mBAAmB;AAC9B,QAAA,eAAe,EAAE;AACf,YAAA,gBAAgB,EAAE;AAChB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,oBAAoB,EAAE;AACpB,gBAAA,cAAc,EAAE,sBAAsB;AACtC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,eAAe;AAC/B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,mBAAmB,EAAE;AACnB,gBAAA,cAAc,EAAE,qBAAqB;AACrC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,kBAAkB,EAAE;AAClB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,qBAAqB,GAA+B;AAC/D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,uBAAuB;AAClC,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,kBAAkB;AAC9B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gBAAgB,GAA+B;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,kBAAkB;AAC7B,QAAA,eAAe,EAAE;AACf,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,aAAa,EAAE;wBACb,YAAY;wBACZ,SAAS;wBACT,QAAQ;wBACR,WAAW;wBACX,UAAU;AACX,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,GAAG;AACrB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,qBAAqB;AACrC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gBAAgB,GAA+B;AAC1D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,kBAAkB;AAC7B,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,wBAAwB,EAAE;AACxB,YAAA,cAAc,EAAE,MAAM;AACtB,YAAA,UAAU,EAAE,MAAM;AACnB,SAAA;AACD,QAAA,eAAe,EAAE;AACf,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,aAAa,EAAE;wBACb,YAAY;wBACZ,SAAS;wBACT,QAAQ;wBACR,WAAW;wBACX,UAAU;AACX,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA,WAAW,EAAE;AACX,oBAAA,gBAAgB,EAAE,GAAG;AACrB,oBAAA,gBAAgB,EAAE,CAAC;AACpB,iBAAA;AACD,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,aAAa,EAAE;AACb,gBAAA,cAAc,EAAE,qBAAqB;AACrC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,gBAAgB,EAAE;AAChB,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,YAAY;AACxB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,yBAAyB,GAA+B;AACnE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,sBAAsB;AAClC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oBAAoB,GAA+B;AAC9D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oBAAoB,GAA+B;AAC9D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sBAAsB;AACjC,QAAA,eAAe,EAAE;AACf,YAAA,OAAO,EAAE;AACP,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;AACpC,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE;AAC9D,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,mBAAmB,GAA+B;AAC7D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,eAAe,EAAE;AACf,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE;AAC9D,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,WAAW,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE;AAC1D,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,mBAAmB,GAA+B;AAC7D,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,qBAAqB;AAChC,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,SAAS;AACzB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,qBAAqB;AACjC,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;wBACL,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,qBAAqB,EAAE;AAC9D,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,8BAA8B,GAA+B;AACxE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,eAAe,EAAE;AACf,YAAA,YAAY,EAAE;AACZ,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,+BAA+B;AAC3C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,6BAA6B,GAA+B;AACvE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,+BAA+B;AAC1C,QAAA,eAAe,EAAE;AACf,YAAA,eAAe,EAAE;AACf,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,wBAAwB;AACpC,iBAAA;AACF,aAAA;AACD,YAAA,uBAAuB,EAAE;AACvB,gBAAA,cAAc,EAAE,yBAAyB;AACzC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,gCAAgC;AAC5C,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,8BAA8B,GAA+B;AACxE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,gCAAgC;AAC3C,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,2BAA2B;AACvC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,yBAAyB,GAA+B;AACnE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,2BAA2B;AACtC,QAAA,eAAe,EAAE;AACf,YAAA,YAAY,EAAE;AACZ,gBAAA,WAAW,EAAE;AACX,oBAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AAC1D,iBAAA;AACD,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,WAAW,EAAE;AACX,oBAAA,SAAS,EAAE,IAAI;AAChB,iBAAA;AACD,gBAAA,cAAc,EAAE,aAAa;AAC7B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,iBAAiB;AACjC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,cAAc,EAAE,UAAU;AAC1B,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,KAAK,EAAE;AACL,wBAAA,IAAI,EAAE;AACJ,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,SAAS,EAAE,+BAA+B;AAC3C,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,uBAAuB,GAA+B;AACjE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,yBAAyB;AACpC,QAAA,eAAe,EAAE;AACf,YAAA,SAAS,EAAE;AACT,gBAAA,cAAc,EAAE,WAAW;AAC3B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,cAAc;AAC9B,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AAClB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAA+B;AACzD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,iBAAiB;AAC5B,QAAA,eAAe,EAAE;AACf,YAAA,oBAAoB,EAAE;AACpB,gBAAA,cAAc,EAAE,sBAAsB;AACtC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,6BAA6B;AACzC,iBAAA;AACF,aAAA;AACD,YAAA,+BAA+B,EAAE;AAC/B,gBAAA,cAAc,EAAE,iCAAiC;AACjD,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,cAAc;AAC1B,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,2BAA2B,GAA+B;AACrE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,6BAA6B;AACxC,QAAA,eAAe,EAAE;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAA+B;AACtD,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,cAAc;AACzB,QAAA,eAAe,EAAE;AACf,YAAA,IAAI,EAAE;AACJ,gBAAA,cAAc,EAAE,MAAM;AACtB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,cAAc,EAAE,OAAO;AACvB,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,UAAU;AACjB,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,kCAAkC,GAA+B;AAC5E,IAAA,cAAc,EAAE,oBAAoB;AACpC,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,oCAAoC;AAC/C,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,wBAAwB,EAAE,gBAAgB,CAAC,IAAI,CAAC,wBAAwB;QACxE,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAA,EAAA,EACxC,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,sBAAsB;AAClC,iBAAA;aACF,EACF,CAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oCAAoC,GAA+B;AAC9E,IAAA,cAAc,EAAE,sBAAsB;AACtC,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sCAAsC;AACjD,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,wBAAwB,EAAE,gBAAgB,CAAC,IAAI,CAAC,wBAAwB;QACxE,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAA,EAAA,EACxC,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,sBAAsB;AAClC,iBAAA;aACF,EACF,CAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,mCAAmC,GAA+B;AAC7E,IAAA,cAAc,EAAE,qBAAqB;AACrC,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,qCAAqC;AAChD,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,wBAAwB,EAAE,gBAAgB,CAAC,IAAI,CAAC,wBAAwB;QACxE,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAA,EAAA,EACxC,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,sBAAsB;AAClC,iBAAA;aACF,EACF,CAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,uCAAuC,GAA+B;AACjF,IAAA,cAAc,EAAE,yBAAyB;AACzC,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,yCAAyC;AACpD,QAAA,UAAU,EAAE,kBAAkB;AAC9B,QAAA,wBAAwB,EAAE,gBAAgB,CAAC,IAAI,CAAC,wBAAwB;QACxE,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACV,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAA,EAAA,EACxC,MAAM,EAAE;AACN,gBAAA,cAAc,EAAE,QAAQ;AACxB,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,SAAS,EAAE,2BAA2B;AACvC,iBAAA;aACF,EACF,CAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,oCAAoC,GAA+B;AAC9E,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,sCAAsC;AACjD,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,+BAA+B,GAA+B;AACzE,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,iCAAiC;AAC5C,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,iCAAiC,GAA+B;AAC3E,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,mCAAmC;AAC9C,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gCAAgC,GAA+B;AAC1E,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,kCAAkC;AAC7C,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,yCAAyC,GAA+B;AACnF,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,2CAA2C;AACtD,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,0CAA0C,GAA+B;AACpF,IAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,SAAS,EAAE,4CAA4C;AACvD,QAAA,eAAe,EAAE;AACf,YAAA,iBAAiB,EAAE;AACjB,gBAAA,cAAc,EAAE,oBAAoB;AACpC,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,IAAI,cAAc,GAAG;AAC1B,IAAA,gBAAgB,EAAE,gBAAgB;AAClC,IAAA,qCAAqC,EAAE,kCAAkC;AACzE,IAAA,uCAAuC,EAAE,oCAAoC;AAC7E,IAAA,sCAAsC,EAAE,mCAAmC;AAC3E,IAAA,0CAA0C,EAAE,uCAAuC;CACpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5gFD;;;;;;AAMG;AAiBI,MAAM,WAAW,GAAuB;AAC7C,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,cAAc;AAC9B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,aAAa,EAAE;gBACb,0BAA0B;gBAC1B,iBAAiB;gBACjB,2EAA2E;gBAC3E,mEAAmE;gBACnE,yEAAyE;gBACzE,WAAW;gBACX,YAAY;gBACZ,YAAY;gBACZ,WAAW;gBACX,YAAY;AACb,aAAA;AACF,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,cAAc,GAAuB;AAChD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;AAC5C,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,gBAAgB;AAChC,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,MAAM,GAAuB;AACxC,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAAuB;AAC9C,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,WAAW;AACzB,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,cAAc;AAC9B,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAAuB;AACjD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;AAC5C,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,gBAAgB;AAChC,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,OAAO,GAAuB;AACzC,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAAuB;AAC9C,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,cAAc;AAC9B,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAAuB;AACjD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,gBAAgB,CAAC;AAC5C,IAAA,MAAM,EAAEA,sBAA4B;CACrC,CAAC;AAEK,MAAM,OAAO,GAAuB;AACzC,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,QAAQ,GAA0B;AAC7C,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;AACD,IAAA,YAAY,EAAE,IAAI;CACnB,CAAC;AAEK,MAAM,OAAO,GAA0B;AAC5C,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,MAAM,EAAE;AACN,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AACzD,YAAA,SAAS,EAAE,EAAE;AACd,SAAA;AACD,QAAA,cAAc,EAAE,SAAS;AACzB,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,KAAK,GAA4B;AAC5C,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;AACnC,IAAA,MAAM,EAAE;AACN,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,IAAI,MAAM,CAAC,wCAAwC,CAAC;AAC9D,SAAA;AACD,QAAA,cAAc,EAAE,OAAO;AACvB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,MAAM,GAA4B;AAC7C,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;AACpC,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAA4B;AACtD,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,UAAU,GAA4B;AACjD,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,YAAY;AAC1B,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,aAAa;AAC7B,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,QAAQ,GAA4B;AAC/C,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;AACtC,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACf,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AACD,IAAA,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEK,MAAM,QAAQ,GAA0B;AAC7C,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,MAAM;AACb,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAAuB;AAC9C,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;AACzC,IAAA,MAAM,EAAE;AACN,QAAA,YAAY,EAAE,kBAAkB;AAChC,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,cAAc,EAAE,cAAc;AAC9B,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,YAAY,GAAuB;AAC9C,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,MAAM,EAAEC,yBAA+B;CACxC,CAAC;AAEK,MAAM,cAAc,GAAuB;AAChD,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,MAAM,EAAEC,2BAAiC;CAC1C,CAAC;AAEK,MAAM,oBAAoB,GAAuB;AACtD,IAAA,aAAa,EAAE,sBAAsB;AACrC,IAAA,MAAM,EAAEC,oBAA0B;CACnC,CAAC;AAEK,MAAM,aAAa,GAAuB;AAC/C,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,MAAM,EAAEC,iBAAuB;CAChC,CAAC;AAEK,MAAM,QAAQ,GAA0B;AAC7C,IAAA,aAAa,EAAE,UAAU;AACzB,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,UAAU;AAC1B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;AACD,IAAA,YAAY,EAAE,IAAI;CACnB,CAAC;AAEK,MAAM,WAAW,GAA0B;AAChD,IAAA,aAAa,EAAE,aAAa;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,IAAI,MAAM,CACjB,gEAAgE,CACjE;AACD,YAAA,SAAS,EAAE,EAAE;AACd,SAAA;AACD,QAAA,cAAc,EAAE,aAAa;AAC7B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,aAAa,GAAuB;AAC/C,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,MAAM,EAAEC,8BAAoC;CAC7C,CAAC;AAEK,MAAM,YAAY,GAA0B;AACjD,IAAA,aAAa,EAAE,cAAc;AAC7B,IAAA,MAAM,EAAE;AACN,QAAA,WAAW,EAAE;AACX,YAAA,OAAO,EAAE,IAAI,MAAM,CAAC,oCAAoC,CAAC;AACzD,YAAA,SAAS,EAAE,EAAE;AACd,SAAA;AACD,QAAA,cAAc,EAAE,cAAc;AAC9B,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,eAAe,GAAuB;AACjD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC7C,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gBAAgB,GAAuB;AAClD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC7C,IAAA,MAAM,EAAE;AACN,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,IAAI,EAAE;AACJ,YAAA,IAAI,EAAE,QAAQ;AACf,SAAA;AACF,KAAA;CACF,CAAC;AAEK,MAAM,gBAAgB,GAAuB;AAClD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC;AAC7C,IAAA,MAAM,EAAEC,uBAA6B;CACtC;;AC9UD;AACA;AAIA;;;;;;AAMG;AACH,SAAS,MAAM,CAAC,KAA8B,EAAA;AAC5C,IAAA,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE;AAC5E,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACjC,KAAA;AAED,IAAA,OAAO,KAAmB,CAAC;AAC7B,CAAC;AAED;;;;;;AAMG;AACG,MAAO,mBAAoB,SAAQ,KAAK,CAAA;AAkB5C;;;;AAIG;AACH,IAAA,WAAA,CAAY,mBAA+B,EAAA;;;AAEzC,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACtC,QAAA,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEjB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;KACxB;AACF;;AC3DD;AACA;AAuBM,SAAU,iBAAiB,CAAC,QAA8B,EAAA;IAC9D,MAAM,MAAM,GAAc,EAAE,CAAC;AAC7B,IAAA,IAAI,CAAC,QAAQ;QAAE,OAAO;AAEtB,IAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;AACH,KAAA;AAED,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACrD,KAAA;AAED,IAAA,OAAO,MAAM,CAAC;AAChB,CAAC;AAEK,SAAU,iBAAiB,CAC/B,QAA+C,EAAA;IAE/C,OAAO,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,GAAG,CAAC,CAAC,MAAM,sCAAW,MAAM,CAAA,EAAA,EAAE,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAG,CAAA,CAAA,CAAC,CAAC;AAChG,CAAC;AAEK,SAAU,4BAA4B,CAAC,KAA6B,EAAA;AACxE,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAK,CACR,EAAA,EAAA,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,EACzD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC5B,IAAI,CACP,EAAA,EAAA,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA,CAAA,CACxD,CAAC,EACH,CAAA,CAAA;AACJ,CAAC;AAEK,SAAU,2BAA2B,CACzC,IAAmC,EAAA;;IAEnC,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KACP,GAAG,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,IAAI,CAAC,GAAG,CAAE,EAAA,EAAA,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,KAChF,KAAK,EAAE,IAAI,CAAC,KAAK;cACd,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,IAAI,CAAC,KAAK,KAAE,eAAe,EAAE,iBAAiB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,0CAAE,eAAe,CAAC,MAChF,SAAS,EACb,CAAA,CAAA;AACJ;;ACpEA;AACA;AAKA,MAAM,4BAA4B,GAAG,2BAA2B,CAAC;AAEjE;;;AAGG;AACG,SAAU,4CAA4C,CAC1D,UAAyB,EAAA;IAEzB,OAAO;AACL,QAAA,IAAI,EAAE,sDAAsD;QAC5D,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;YACvB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AAClE,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;SACtB;KACF,CAAC;AACJ;;ACtBA;;;;;;AAMG;AAouBH;AACA,IAAY,oBAOX,CAAA;AAPD,CAAA,UAAY,oBAAoB,EAAA;;AAE9B,IAAA,oBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;;AAE7B,IAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,kBAAqC,CAAA;;AAErC,IAAA,oBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AACjC,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,GAO/B,EAAA,CAAA,CAAA,CAAA;AAaD;AACA,IAAY,4BAaX,CAAA;AAbD,CAAA,UAAY,4BAA4B,EAAA;;AAEtC,IAAA,4BAAA,CAAA,mBAAA,CAAA,GAAA,mBAAuC,CAAA;;AAEvC,IAAA,4BAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAEvB,IAAA,4BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,4BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,4BAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;;AAE/B,IAAA,4BAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACzB,CAAC,EAbW,4BAA4B,KAA5B,4BAA4B,GAavC,EAAA,CAAA,CAAA,CAAA;AAgBD;AACYC,iCAKX;AALD,CAAA,UAAY,eAAe,EAAA;;AAEzB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;;AAEf,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,yCAKX;AALD,CAAA,UAAY,uBAAuB,EAAA;;AAEjC,IAAA,uBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC3B,CAAC,EALWA,+BAAuB,KAAvBA,+BAAuB,GAKlC,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,0CAmCX;AAnCD,CAAA,UAAY,wBAAwB,EAAA;;AAElC,IAAA,wBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,wBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;;AAEb,IAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;;AAEb,IAAA,wBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;;AAEb,IAAA,wBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;;AAEf,IAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,wBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,wBAAA,CAAA,iBAAA,CAAA,GAAA,iBAAmC,CAAA;;AAEnC,IAAA,wBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;;AAEX,IAAA,wBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;;AAE3B,IAAA,wBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;;AAEf,IAAA,wBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;;AAEzB,IAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EAnCWA,gCAAwB,KAAxBA,gCAAwB,GAmCnC,EAAA,CAAA,CAAA,CAAA;AA2BD;AACYC,0CAKX;AALD,CAAA,UAAY,wBAAwB,EAAA;;AAElC,IAAA,wBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EALWA,gCAAwB,KAAxBA,gCAAwB,GAKnC,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,oCAeX;AAfD,CAAA,UAAY,kBAAkB,EAAA;;AAE5B,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;;AAEzB,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;;AAEzB,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;;AAEzB,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;;AAEf,IAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;;AAEjC,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;AAC/B,CAAC,EAfWA,0BAAkB,KAAlBA,0BAAkB,GAe7B,EAAA,CAAA,CAAA,CAAA;AAiBD;AACYC,4CAWX;AAXD,CAAA,UAAY,0BAA0B,EAAA;;AAEpC,IAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,0BAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAEvB,IAAA,0BAAA,CAAA,cAAA,CAAA,GAAA,cAA6B,CAAA;;AAE7B,IAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,0BAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;AAC7B,CAAC,EAXWA,kCAA0B,KAA1BA,kCAA0B,GAWrC,EAAA,CAAA,CAAA,CAAA;AAeD;AACYC,gCAKX;AALD,CAAA,UAAY,cAAc,EAAA;;AAExB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALWA,sBAAc,KAAdA,sBAAc,GAKzB,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,iCAKX;AALD,CAAA,UAAY,eAAe,EAAA;;AAEzB,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACf,CAAC,EALWA,uBAAe,KAAfA,uBAAe,GAK1B,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,wCA6BX;AA7BD,CAAA,UAAY,sBAAsB,EAAA;;AAEhC,IAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;;AAEb,IAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;;AAEb,IAAA,sBAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;;AAE3B,IAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,sBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;;AAE/B,IAAA,sBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;;AAE/B,IAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;;AAEvB,IAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;;AAEf,IAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,sBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;;AAEnB,IAAA,sBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACrB,CAAC,EA7BWA,8BAAsB,KAAtBA,8BAAsB,GA6BjC,EAAA,CAAA,CAAA,CAAA;AAwBD;AACYC,4CAKX;AALD,CAAA,UAAY,0BAA0B,EAAA;;AAEpC,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;;AAEjB,IAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACvB,CAAC,EALWA,kCAA0B,KAA1BA,kCAA0B,GAKrC,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,wCAKX;AALD,CAAA,UAAY,sBAAsB,EAAA;;AAEhC,IAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;;AAErB,IAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACnB,CAAC,EALWA,8BAAsB,KAAtBA,8BAAsB,GAKjC,EAAA,CAAA,CAAA,CAAA;AAYD;AACYC,oCASX;AATD,CAAA,UAAY,kBAAkB,EAAA;;AAE5B,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,oBAAyC,CAAA;;AAEzC,IAAA,kBAAA,CAAA,sBAAA,CAAA,GAAA,sBAA6C,CAAA;;AAE7C,IAAA,kBAAA,CAAA,qBAAA,CAAA,GAAA,qBAA2C,CAAA;;AAE3C,IAAA,kBAAA,CAAA,yBAAA,CAAA,GAAA,yBAAmD,CAAA;AACrD,CAAC,EATWA,0BAAkB,KAAlBA,0BAAkB,GAS7B,EAAA,CAAA,CAAA;;ACtlCD;;;;;;AAMG;AAsCH;AACA;MACa,kBAAkB,CAAA;AAG7B;;;AAGG;AACH,IAAA,WAAA,CAAY,MAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AAED;;;AAGG;AACI,IAAA,UAAU,CACf,OAAgD,EAAA;QAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,OAAO;YACL,IAAI,GAAA;AACF,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC,GAAA;AACpB,gBAAA,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,MAAK;AACX,gBAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;aAC3C;SACF,CAAC;KACH;AAEc,IAAA,oBAAoB,CACjC,OAAgD,EAAA;;YAEhD,IAAI,MAAM,GAAG,MAAAC,aAAA,CAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA,CAAC;AAC7C,YAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AACzB,YAAA,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,YAAA,OAAO,iBAAiB,EAAE;gBACxB,MAAM,GAAG,MAAMA,aAAA,CAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA,CAAC;AAChE,gBAAA,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpC,gBAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AAC1B,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAEc,IAAA,mBAAmB,CAChC,OAAgD,EAAA;;;;gBAEhD,KAAyB,IAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAAC,mBAAA,CAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,MAAAD,aAAA,CAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,GAAA;oBAAlC,EAAkC,GAAA,EAAA,CAAA,KAAA,CAAA;oBAAlC,EAAkC,GAAA,KAAA,CAAA;;wBAAhD,MAAM,IAAI,KAAA,CAAA;wBACnB,MAAAA,aAAA,CAAA,OAAOE,sBAAA,CAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;;;;;AACb,iBAAA;;;;;;;;;SACF,CAAA,CAAA;AAAA,KAAA;AAmCD;;;AAGG;IACH,eAAe,CACb,GAAG,IAWE,EAAA;AAEL,QAAA,IAAI,aAAuC,CAAC;AAC5C,QAAA,IAAI,kBAAiD,CAAC;AACtD,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,0BAA0B;AACtC,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;YAC7B,IAAI,CAAC,CAAC,CAAC;gBACL,2EAA2E;YAC7E,IAAI,CAAC,CAAC,CAAC;gBACL,mEAAmE;YACrE,IAAI,CAAC,CAAC,CAAC;gBACL,yEAAyE;AAC3E,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;AACxB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;AACxB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EACxB;YACA,aAAa,GAAG,mCAAmC,CAAC;AACpD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAChB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;YAClC,aAAa,GAAG,iCAAiC,CAAC;AAClD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAChB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;YACzC,aAAa,GAAG,iCAAiC,CAAC;AAClD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAChB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA;YACL,MAAM,IAAI,SAAS,CACjB,CAAwD,qDAAA,EAAA,IAAI,CAAC,CAAC,CAAC,CAAI,EAAA,CAAA,CACpE,CAAC;AACH,SAAA;AACD,QAAA,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;KAC5E;AAED;;;;;AAKG;AACH,IAAA,gBAAgB,CACd,OAAe,EACf,QAAgB,EAChB,OAAsD,EAAA;AAEtD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAC9B,6BAA6B,CAC9B,CAAC;KACH;AAED;;;;AAIG;IACH,UAAU,CACR,YAAuC,EACvC,OAAgD,EAAA;AAEhD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,YAAY,EAAE,OAAO,EAAE,EACzB,uBAAuB,CACxB,CAAC;KACH;AAED;;;;AAIG;IACH,YAAY,CACV,cAA2C,EAC3C,OAAkD,EAAA;AAElD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,cAAc,EAAE,OAAO,EAAE,EAC3B,yBAAyB,CAC1B,CAAC;KACH;AAED;;;;;AAKG;IACH,kBAAkB,CAChB,oBAA0C,EAC1C,OAAwD,EAAA;AAExD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,oBAAoB,EAAE,OAAO,EAAE,EACjC,+BAA+B,CAChC,CAAC;KACH;AAED;;;;;AAKG;AACH,IAAA,WAAW,CACT,OAAe,EACf,aAAgC,EAChC,OAAiD,EAAA;AAEjD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,EACnC,wBAAwB,CACzB,CAAC;KACH;AAED;;;AAGG;AACK,IAAA,WAAW,CACjB,OAAgD,EAAA;AAEhD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,uBAAuB,CACxB,CAAC;KACH;AAED;;;;AAIG;IACH,QAAQ,CACN,OAAe,EACf,OAA8C,EAAA;AAE9C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,qBAAqB,CACtB,CAAC;KACH;AAED;;;;AAIG;IACH,WAAW,CACT,OAAe,EACf,OAAiD,EAAA;AAEjD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB,wBAAwB,CACzB,CAAC;KACH;AAED;;;;AAIG;IACK,eAAe,CACrB,QAAgB,EAChB,OAAoD,EAAA;AAEpD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,2BAA2B,CAC5B,CAAC;KACH;AACF,CAAA;AACD;AACA,MAAME,YAAU,GAAGC,qBAAU,CAAC,gBAAgB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,mCAAmC,GAA6B;AACpE,IAAA,IAAI,EAAE,mCAAmC;AACzC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEC,oCAA4C;AAC5D,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEC,cAAyB;AACtC,IAAA,eAAe,EAAE;AACf,QAAAC,KAAgB;AAChB,QAAAC,MAAiB;AACjB,QAAAC,eAA0B;AAC1B,QAAAC,UAAqB;AACrB,QAAAC,QAAmB;AACpB,KAAA;IACD,aAAa,EAAE,CAACC,QAAmB,EAAEC,OAAkB,CAAC;IACxD,gBAAgB,EAAE,CAACC,WAAsB,EAAEC,MAAiB,CAAC;AAC7D,IAAA,SAAS,EAAE,QAAQ;gBACnBb,YAAU;CACX,CAAC;AACF,MAAM,iCAAiC,GAA6B;AAClE,IAAA,IAAI,EAAE,mCAAmC;AACzC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEE,oCAA4C;AAC5D,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEW,eAA0B;AACvC,IAAA,eAAe,EAAE;AACf,QAAAT,KAAgB;AAChB,QAAAC,MAAiB;AACjB,QAAAC,eAA0B;AAC1B,QAAAC,UAAqB;AACrB,QAAAC,QAAmB;AACpB,KAAA;IACD,aAAa,EAAE,CAACC,QAAmB,EAAEC,OAAkB,CAAC;IACxD,gBAAgB,EAAE,CAACI,YAAuB,EAAEC,OAAkB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBhB,YAAU;CACX,CAAC;AACF,MAAM,iCAAiC,GAA6B;AAClE,IAAA,IAAI,EAAE,mCAAmC;AACzC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEE,oCAA4C;AAC5D,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEc,eAA0B;AACvC,IAAA,eAAe,EAAE;AACf,QAAAZ,KAAgB;AAChB,QAAAC,MAAiB;AACjB,QAAAC,eAA0B;AAC1B,QAAAC,UAAqB;AACrB,QAAAC,QAAmB;AACpB,KAAA;IACD,aAAa,EAAE,CAACC,QAAmB,EAAEC,OAAkB,CAAC;IACxD,gBAAgB,EAAE,CAACO,YAAuB,EAAEC,OAAkB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBnB,YAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;AAC9D,IAAA,IAAI,EAAE,qDAAqD;AAC3D,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEoB,sBAA8B;AAC3C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEjB,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,EAAEC,OAAkB,EAAEU,QAAmB,CAAC;AAC7E,IAAA,gBAAgB,EAAE,CAACF,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,uBAAuB,GAA6B;AACxD,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEsB,+BAAuC;AACvD,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEnB,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEoB,YAAuB;AACpC,IAAA,eAAe,EAAE,CAACf,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;IACpC,gBAAgB,EAAE,CAACS,OAAkB,EAAEK,YAAuB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBxB,YAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;AAC1D,IAAA,IAAI,EAAE,yBAAyB;AAC/B,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEyB,iCAAyC;AACzD,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEtB,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEuB,cAAyB;AACtC,IAAA,eAAe,EAAE,CAAClB,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;IACpC,gBAAgB,EAAE,CAACS,OAAkB,EAAEK,YAAuB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBxB,YAAU;CACX,CAAC;AACF,MAAM,+BAA+B,GAA6B;AAChE,IAAA,IAAI,EAAE,+BAA+B;AACrC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAE2B,iBAAyB;AACtC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAExB,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEyB,oBAA+B;AAC5C,IAAA,eAAe,EAAE,CAACpB,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;IACpC,gBAAgB,EAAE,CAACS,OAAkB,EAAEK,YAAuB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBxB,YAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;AACzD,IAAA,IAAI,EAAE,kCAAkC;AACxC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAE6B,gCAAwC;AACxD,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE1B,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAE2B,aAAwB;AACrC,IAAA,eAAe,EAAE,CAACtB,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEC,OAAkB,CAAC;IACxD,gBAAgB,EAAE,CAACQ,OAAkB,EAAEK,YAAuB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;gBACjBxB,YAAU;CACX,CAAC;AACF,MAAM,uBAAuB,GAA6B;AACxD,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAE+B,yBAAiC;AAC9C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE5B,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;AACpC,IAAA,gBAAgB,EAAE,CAACS,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,qBAAqB,GAA6B;AACtD,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEgC,oBAA4B;AACzC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE7B,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEC,OAAkB,CAAC;AACxD,IAAA,gBAAgB,EAAE,CAACQ,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,wBAAwB,GAA6B;AACzD,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,OAAO,EAAE;YACP,UAAU,EAAEG,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEC,OAAkB,CAAC;AACxD,IAAA,gBAAgB,EAAE,CAACQ,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,2BAA2B,GAA6B;AAC5D,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAE+B,yBAAiC;AAC9C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE5B,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEuB,QAAmB,CAAC;AACzD,IAAA,gBAAgB,EAAE,CAACd,OAAkB,CAAC;gBACtCnB,YAAU;CACX;;ACljBD;;;;;;AAMG;AAoBH;AACA;MACa,iBAAiB,CAAA;AAG5B;;;AAGG;AACH,IAAA,WAAA,CAAY,MAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AAED;;;AAGG;AACI,IAAA,cAAc,CACnB,OAAmD,EAAA;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO;YACL,IAAI,GAAA;AACF,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC,GAAA;AACpB,gBAAA,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,MAAK;AACX,gBAAA,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;aAC/C;SACF,CAAC;KACH;AAEc,IAAA,wBAAwB,CACrC,OAAmD,EAAA;;YAEnD,IAAI,MAAM,GAAG,MAAAH,aAAA,CAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA,CAAC;AACjD,YAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AACzB,YAAA,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,YAAA,OAAO,iBAAiB,EAAE;gBACxB,MAAM,GAAG,MAAMA,aAAA,CAAA,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA,CAAC;AACpE,gBAAA,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpC,gBAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AAC1B,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAEc,IAAA,uBAAuB,CACpC,OAAmD,EAAA;;;;gBAEnD,KAAyB,IAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAAC,mBAAA,CAAA,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,MAAAD,aAAA,CAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,GAAA;oBAAtC,EAAsC,GAAA,EAAA,CAAA,KAAA,CAAA;oBAAtC,EAAsC,GAAA,KAAA,CAAA;;wBAApD,MAAM,IAAI,KAAA,CAAA;wBACnB,MAAAA,aAAA,CAAA,OAAOE,sBAAA,CAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;;;;;AACb,iBAAA;;;;;;;;;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;AAGG;AACK,IAAA,eAAe,CACrB,OAAmD,EAAA;AAEnD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,2BAA2B,CAC5B,CAAC;KACH;AAED;;;;AAIG;IACH,YAAY,CACV,WAAmB,EACnB,OAAiD,EAAA;AAEjD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,WAAW,EAAE,OAAO,EAAE,EACxB,yBAAyB,CAC1B,CAAC;KACH;AAED;;;AAGG;AACH,IAAA,eAAe,CACb,OAAoD,EAAA;AAEpD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,4BAA4B,CAC7B,CAAC;KACH;AAED;;;;AAIG;IACK,mBAAmB,CACzB,QAAgB,EAChB,OAAuD,EAAA;AAEvD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,+BAA+B,CAChC,CAAC;KACH;AACF,CAAA;AACD;AACA,MAAME,YAAU,GAAGC,qBAAU,CAAC,gBAAgB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,2BAA2B,GAA6B;AAC5D,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEiC,qBAA6B;AAC1C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE/B,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;AACpC,IAAA,gBAAgB,EAAE,CAACS,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,yBAAyB,GAA6B;AAC1D,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEmC,gBAAwB;AACrC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEhC,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAE0B,WAAsB,CAAC;AAC5D,IAAA,gBAAgB,EAAE,CAACjB,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,4BAA4B,GAA6B;AAC7D,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEqC,eAAuB;AACpC,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAElC,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;AACpC,IAAA,gBAAgB,EAAE,CAACS,OAAkB,CAAC;gBACtCnB,YAAU;CACX,CAAC;AACF,MAAM,+BAA+B,GAA6B;AAChE,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEkC,qBAA6B;AAC1C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAE/B,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEuB,QAAmB,CAAC;AACzD,IAAA,gBAAgB,EAAE,CAACd,OAAkB,CAAC;gBACtCnB,YAAU;CACX;;AC3MD;;;;;;AAMG;AA6BH;AACA;MACa,uBAAuB,CAAA;AAGlC;;;AAGG;AACH,IAAA,WAAA,CAAY,MAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AAED;;;AAGG;AACI,IAAA,eAAe,CACpB,OAA0D,EAAA;QAE1D,MAAM,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO;YACL,IAAI,GAAA;AACF,gBAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;aACpB;YACD,CAAC,MAAM,CAAC,aAAa,CAAC,GAAA;AACpB,gBAAA,OAAO,IAAI,CAAC;aACb;YACD,MAAM,EAAE,MAAK;AACX,gBAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;aAChD;SACF,CAAC;KACH;AAEc,IAAA,yBAAyB,CACtC,OAA0D,EAAA;;YAE1D,IAAI,MAAM,GAAG,MAAAH,aAAA,CAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA,CAAC;AAClD,YAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AACzB,YAAA,IAAI,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACxC,YAAA,OAAO,iBAAiB,EAAE;gBACxB,MAAM,GAAG,MAAMA,aAAA,CAAA,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA,CAAC;AACrE,gBAAA,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;AACpC,gBAAA,MAAA,MAAAA,aAAA,CAAM,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA,CAAC;AAC1B,aAAA;SACF,CAAA,CAAA;AAAA,KAAA;AAEc,IAAA,wBAAwB,CACrC,OAA0D,EAAA;;;;gBAE1D,KAAyB,IAAA,EAAA,GAAA,IAAA,EAAA,EAAA,GAAAC,mBAAA,CAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA,EAAA,EAAA,EAAA,EAAA,GAAA,MAAAD,aAAA,CAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,GAAA;oBAAvC,EAAuC,GAAA,EAAA,CAAA,KAAA,CAAA;oBAAvC,EAAuC,GAAA,KAAA,CAAA;;wBAArD,MAAM,IAAI,KAAA,CAAA;wBACnB,MAAAA,aAAA,CAAA,OAAOE,sBAAA,CAAAD,oBAAA,IAAI,CAAA,CAAA,CAAA,CAAC;;;;;AACb,iBAAA;;;;;;;;;SACF,CAAA,CAAA;AAAA,KAAA;AAED;;;;AAIG;IACH,eAAe,CACb,YAA4C,EAC5C,OAA0D,EAAA;AAE1D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,YAAY,EAAE,OAAO,EAAE,EACzB,4BAA4B,CAC7B,CAAC;KACH;AAED;;;AAGG;AACK,IAAA,gBAAgB,CACtB,OAA0D,EAAA;AAE1D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,OAAO,EAAE,EACX,4BAA4B,CAC7B,CAAC;KACH;AAED;;;;AAIG;IACH,aAAa,CACX,YAAoB,EACpB,OAAwD,EAAA;AAExD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,YAAY,EAAE,OAAO,EAAE,EACzB,0BAA0B,CAC3B,CAAC;KACH;AAED;;;;AAIG;IACH,gBAAgB,CACd,YAAoB,EACpB,OAA2D,EAAA;AAE3D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,YAAY,EAAE,OAAO,EAAE,EACzB,6BAA6B,CAC9B,CAAC;KACH;AAmCD;;;AAGG;IACH,gBAAgB,CACd,GAAG,IAeE,EAAA;AAEL,QAAA,IAAI,aAAuC,CAAC;AAC5C,QAAA,IAAI,kBAAiD,CAAC;AACtD,QAAA,IAAI,OAAO,CAAC;AACZ,QAAA,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,0BAA0B;AACtC,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB;YAC7B,IAAI,CAAC,CAAC,CAAC;gBACL,2EAA2E;YAC7E,IAAI,CAAC,CAAC,CAAC;gBACL,mEAAmE;YACrE,IAAI,CAAC,CAAC,CAAC;gBACL,yEAAyE;AAC3E,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;AACxB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY;AACxB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW;AACvB,YAAA,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,EACxB;YACA,aAAa,GAAG,oCAAoC,CAAC;AACrD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACrB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;YAClC,aAAa,GAAG,kCAAkC,CAAC;AACnD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACrB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB,EAAE;YACzC,aAAa,GAAG,kCAAkC,CAAC;AACnD,YAAA,kBAAkB,GAAG;AACnB,gBAAA,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACrB,gBAAA,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AACpB,gBAAA,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,CAAC;AACF,YAAA,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,SAAA;AAAM,aAAA;YACL,MAAM,IAAI,SAAS,CACjB,CAAwD,qDAAA,EAAA,IAAI,CAAC,CAAC,CAAC,CAAI,EAAA,CAAA,CACpE,CAAC;AACH,SAAA;AACD,QAAA,kBAAkB,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;KAC5E;AAED;;;;;AAKG;AACH,IAAA,iBAAiB,CACf,YAAoB,EACpB,QAAgB,EAChB,OAA4D,EAAA;AAE5D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EACnC,8BAA8B,CAC/B,CAAC;KACH;AAED;;;;AAIG;IACK,oBAAoB,CAC1B,QAAgB,EAChB,OAA8D,EAAA;AAE9D,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACrC,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,gCAAgC,CACjC,CAAC;KACH;AACF,CAAA;AACD;AACA,MAAM,UAAU,GAAGG,qBAAU,CAAC,gBAAgB,CAAC,OAAO,cAAc,KAAK,CAAC,CAAC;AAE3E,MAAM,4BAA4B,GAA6B;AAC7D,IAAA,IAAI,EAAE,4BAA4B;AAClC,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEqC,yCAAiD;AACjE,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEnC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEoC,aAAwB;AACrC,IAAA,eAAe,EAAE,CAAC/B,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;IACpC,gBAAgB,EAAE,CAACS,OAAkB,EAAEK,YAAuB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,4BAA4B,GAA6B;AAC7D,IAAA,IAAI,EAAE,sBAAsB;AAC5B,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEgB,8BAAsC;AACnD,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAErC,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE,CAACE,QAAmB,CAAC;AACpC,IAAA,gBAAgB,EAAE,CAACS,OAAkB,CAAC;IACtC,UAAU;CACX,CAAC;AACF,MAAM,0BAA0B,GAA6B;AAC3D,IAAA,IAAI,EAAE,qCAAqC;AAC3C,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEsB,yBAAiC;AAC9C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEtC,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEgC,YAAuB,CAAC;AAC7D,IAAA,gBAAgB,EAAE,CAACvB,OAAkB,CAAC;IACtC,UAAU;CACX,CAAC;AACF,MAAM,6BAA6B,GAA6B;AAC9D,IAAA,IAAI,EAAE,qCAAqC;AAC3C,IAAA,UAAU,EAAE,QAAQ;AACpB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE,EAAE;AACP,QAAA,OAAO,EAAE;YACP,UAAU,EAAEhB,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEgC,YAAuB,CAAC;AAC7D,IAAA,gBAAgB,EAAE,CAACvB,OAAkB,CAAC;IACtC,UAAU;CACX,CAAC;AACF,MAAM,oCAAoC,GAA6B;AACrE,IAAA,IAAI,EAAE,6CAA6C;AACnD,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAEwB,0CAAkD;AAClE,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAExC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAEyC,eAA0B;IACvC,eAAe,EAAE,CAACrC,eAA0B,EAAEC,UAAqB,CAAC;IACpE,aAAa,EAAE,CAACE,QAAmB,EAAEgC,YAAuB,CAAC;IAC7D,gBAAgB,EAAE,CAAC9B,WAAsB,EAAEC,MAAiB,CAAC;AAC7D,IAAA,SAAS,EAAE,QAAQ;IACnB,UAAU;CACX,CAAC;AACF,MAAM,kCAAkC,GAA6B;AACnE,IAAA,IAAI,EAAE,6CAA6C;AACnD,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAE8B,0CAAkD;AAClE,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAExC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAE0C,gBAA2B;IACxC,eAAe,EAAE,CAACtC,eAA0B,EAAEC,UAAqB,CAAC;IACpE,aAAa,EAAE,CAACE,QAAmB,EAAEgC,YAAuB,CAAC;IAC7D,gBAAgB,EAAE,CAAC3B,YAAuB,EAAEC,OAAkB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,kCAAkC,GAA6B;AACnE,IAAA,IAAI,EAAE,6CAA6C;AACnD,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,aAAa,EAAE2B,0CAAkD;AAClE,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAExC,aAAqB;AAClC,SAAA;AACF,KAAA;IACD,WAAW,EAAE2C,gBAA2B;IACxC,eAAe,EAAE,CAACvC,eAA0B,EAAEC,UAAqB,CAAC;IACpE,aAAa,EAAE,CAACE,QAAmB,EAAEgC,YAAuB,CAAC;IAC7D,gBAAgB,EAAE,CAACxB,YAAuB,EAAEC,OAAkB,CAAC;AAC/D,IAAA,SAAS,EAAE,MAAM;IACjB,UAAU;CACX,CAAC;AACF,MAAM,8BAA8B,GAA6B;AAC/D,IAAA,IAAI,EAAE,+DAA+D;AACrE,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEC,sBAA8B;AAC3C,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAEjB,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;AACxC,IAAA,aAAa,EAAE;AACb,QAAAE,QAAmB;AACnB,QAAAW,QAAmB;AACnB,QAAAqB,YAAuB;AACxB,KAAA;AACD,IAAA,gBAAgB,EAAE,CAACvB,OAAkB,CAAC;IACtC,UAAU;CACX,CAAC;AACF,MAAM,gCAAgC,GAA6B;AACjE,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,SAAS,EAAE;AACT,QAAA,GAAG,EAAE;YACH,UAAU,EAAEqB,8BAAsC;AACnD,SAAA;AACD,QAAA,OAAO,EAAE;YACP,UAAU,EAAErC,aAAqB;AAClC,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE,CAACK,UAAqB,CAAC;IACxC,aAAa,EAAE,CAACE,QAAmB,EAAEuB,QAAmB,CAAC;AACzD,IAAA,gBAAgB,EAAE,CAACd,OAAkB,CAAC;IACtC,UAAU;CACX;;ACzbD;;;;;;AAMG;AAqBU,MAAA,eAAgB,SAAQlB,qBAAU,CAAC,aAAa,CAAA;AAK3D;;;;;AAKG;IACH,WAAY,CAAA,QAAgB,EAAE,OAAuC,EAAA;;QACnE,IAAI,QAAQ,KAAK,SAAS,EAAE;AAC1B,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC9C,SAAA;;QAGD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,EAAE,CAAC;AACd,SAAA;AACD,QAAA,MAAM,QAAQ,GAAkC;AAC9C,YAAA,kBAAkB,EAAE,iCAAiC;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,CAAA,iCAAA,CAAmC,CAAC;QAC3D,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;cAChE,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAI,CAAA,EAAA,cAAc,CAAE,CAAA;AACjE,cAAE,CAAA,EAAG,cAAc,CAAA,CAAE,CAAC;AAE1B,QAAA,MAAM,mBAAmB,GACpB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,GACR,OAAO,CAAA,EAAA,EACV,gBAAgB,EAAE;gBAChB,eAAe;AAChB,aAAA,EACD,OAAO,EACL,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,2BAA2B,GACrE,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAE3B,QAAA,IAAI,CAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,QAAQ,KAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,MAAM,gBAAgB,GAAsC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;AAClG,YAAA,MAAM,oCAAoC,GAAG,gBAAgB,CAAC,IAAI,CAChE,CAAC,cAAc,KACb,cAAc,CAAC,IAAI;gBACnB8C,2BAAgB,CAAC,mCAAmC,CACvD,CAAC;YACF,IAAI,CAAC,oCAAoC,EAAE;AACzC,gBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACzB,IAAI,EAAEA,2BAAgB,CAAC,mCAAmC;AAC3D,iBAAA,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrBA,2BAAgB,CAAC,+BAA+B,CAAC;AAC/C,oBAAA,MAAM,EAAE,CAAA,EAAG,mBAAmB,CAAC,OAAO,CAAW,SAAA,CAAA;AACjD,oBAAA,kBAAkB,EAAE;wBAClB,2BAA2B,EACzB9C,qBAAU,CAAC,gCAAgC;AAC9C,qBAAA;AACF,iBAAA,CAAC,CACH,CAAC;AACH,aAAA;AACF,SAAA;;AAED,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;;QAGzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,YAAY,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACpD;;AAGO,IAAA,yBAAyB,CAAC,UAAmB,EAAA;QACnD,IAAI,CAAC,UAAU,EAAE;YACf,OAAO;AACR,SAAA;AACD,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,IAAI,EAAE,wBAAwB;AAC9B,YAAA,MAAM,WAAW,CACf,OAAwB,EACxB,IAAiB,EAAA;gBAEjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACrC,gBAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACpB,oBAAA,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;wBACjD,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;4BACpC,OAAO,cAAc,GAAG,UAAU,CAAC;AACpC,yBAAA;AAAM,6BAAA;AACL,4BAAA,OAAO,IAAI,CAAC;AACb,yBAAA;AACH,qBAAC,CAAC,CAAC;AACH,oBAAA,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpD,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;aACtB;SACF,CAAC;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;KAC3C;AAKF;;ACpID;AACA;AASA;;AAEG;AACH;AACa,MAAA,eAAe,GAAG;AAC7B;;AAEG;AACH,IAAA,aAAa,EAAE,eAAe;AAC9B;;AAEG;AACH,IAAA,gBAAgB,EAAE,kBAAkB;EAC3B;AAEX;;;;AAIG;AACI,MAAM,gCAAgC,GAAG;IAC9C,eAAe,EAAE,eAAe,CAAC,aAAa;CACtC;;AChCV;AAcA;AACO,MAAM,UAAU,GAAG+C,2BAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAE3D;;;AAGG;AACI,MAAM,YAAY,GAAG,CAA4B,CAAS,MAC9D,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAoB,CAAC;AAExE;;;AAGG;AACI,MAAM,UAAU,GAAG,CAA4B,CAAI,MACvD,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAkB,CAAC;AAEtE;;;AAGG;AACI,MAAM,WAAW,GAAG,CAAC,CAAS,KAAa;AAChD,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF;;;AAGG;AACI,MAAM,QAAQ,GAAG,CAAS,KAAqB,EAAE,CAAgB,KACtE,KAAK,KAAK,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAE7C;;;AAGG;SACa,iBAAiB,CAC/B,QAAgB,EAChB,UAA2C,EAC3C,OAAsC,EAAA;IAEtC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC1D,gCAAgC,CAAA,EAChC,OAAO,CAAA,EAAA,EACV,UAAU,EAAE,2BAA2B,EAAA,CAAA,CACvC,CAAC;AAEH,IAAA,MAAM,UAAU,GAAGC,0BAAiB,CAAC,UAAU,CAAC;UAC5CC,gDAA+B,CAAC;YAC9B,UAAU;AACV,YAAA,MAAM,EAAE,uBAAuB;SAChC,CAAC;AACJ,UAAE,4CAA4C,CAAC,UAAU,CAAC,CAAC;AAE7D,IAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAEtC,IAAA,OAAO,MAAM,CAAC;AAChB;;ACvEA;AAyOA;;;;;AAKG;AACG,SAAU,qCAAqC,CAAC,MAErD,EAAA;IACC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAN,MAAM,GAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,KAAI;QAC9E,iBAAiB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AACjD,QAAA,OAAO,iBAAiB,CAAC;KAC1B,EAAE,EAAoC,CAAC,CAAC;AAC3C,CAAC;AAED;;;AAGG;AACG,SAAU,eAAe,CAAC,KAA6B,EAAA;AAC3D,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAA6B,CAAC;AAEjD,IAAA,MAAM,KAAK,GAA4D,CAAC,MAAK;;AAC3E,QAAA,QAAQ,IAAI;;AAEV,YAAA,KAAK,QAAQ,CAAC;AACd,YAAA,KAAK,MAAM,CAAC;AACZ,YAAA,KAAK,MAAM,CAAC;AACZ,YAAA,KAAK,aAAa,CAAC;AACnB,YAAA,KAAK,QAAQ,CAAC;AACd,YAAA,KAAK,SAAS,CAAC;AACf,YAAA,KAAK,SAAS,CAAC;AACf,YAAA,KAAK,eAAe,CAAC;AACrB,YAAA,KAAK,eAAe,CAAC;AACrB,YAAA,KAAK,WAAW,CAAC;AACjB,YAAA,KAAK,UAAU,CAAC;AAChB,YAAA,KAAK,SAAS;gBACZ,OAAO;oBACL,KAAK,EACH,KAAK,EACF,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,EAI5B;iBACJ,CAAC;AACJ,YAAA,KAAK,OAAO;gBACV,OAAO,EAAE,MAAM,EAAE,CAAA,EAAA,GAAA,KAAK,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,CAAC,KAAI,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,eAAe,CAAC,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA,EAAA,CAAC,EAAE,CAAC;AAC5E,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,EAAE,UAAU,EAAE,qCAAqC,CAAC,CAAA,EAAA,GAAA,KAAK,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC,EAAE,CAAC;AACxF,YAAA;;;gBAGE,MAAM,SAAS,GAAU,IAAI,CAAC;AAC9B,gBAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,SAAS,CAAA,CAAE,CAAC,CAAC;AACpE,SAAA;KACF,GAAG,CAAC;AAEL,IAAA,OAAO,MACL,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,IAAI,EACD,EAAA,KAAK,KACR,eAAe,EAAE,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,EACzD,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,UAAU,EAAE,KAAK,CAAC,UAAU,GACZ,CAAC;AACrB;;AC3SA;AAkFA;;;;;;AAMG;AACG,SAAU,+BAA+B,CAAC,QAA2B,EAAA;;IACzE,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,KACX,eAAe,EAAE,iBAAiB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAC5D,MAAM,EAAE,qCAAqC,CAAC,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC,EACpE,CAAA,CAAA;AACJ,CAAC;AAgED;;;;;;;;;AASG;AACa,SAAA,QAAQ,CAAC,KAAmB,EAAE,KAAmB,EAAA;IAC/D,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AACpG,CAAC;AAED;;AAEG;AACH,UAAU,KAAK,GAAA;;AAEf,CAAC;AAED;;;;;AAKG;UACc,QAAQ,CAAI,KAAU,EAAE,GAAW,EAAA;IAClD,IAAI,CAAC,GAAG,GAAG,CAAC;AAEZ,IAAA,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE;AACvB,QAAA,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAClB,KAAA;AACH,CAAC;AAEe,SAAA,2BAA2B,CACzC,SAAgC,EAChC,IAA2B,EAAA;AAE1B,IAAA,SAA0B,CAAC,KAAK,GAAG,MAAK;;QACvC,OAAA,eAAe,CACb,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAC5B,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,IAAI,KAAI;YACvB,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAG,CAAA,CAAA;AAC/D,SAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CACT,CAAA;KAAA,CAAC;IAEH,SAA0B,CAAC,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAE3E,IAAA,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE;AACxC,QAAA,UAAU,EAAE,KAAK;AAClB,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,SAAyB,CAAC;AACnC,CAAC;AAEK,SAAU,2BAA2B,CAAC,SAAgC,EAAA;;AAC1E,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,SAAS,CAAA,EAAA,EACZ,KAAK,EAAE,CAAA,EAAA,GAAA,SAAS,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,EACnF,cAAc,EAAE,CAAA,EAAA,GAAA,SAAS,CAAC,cAAc,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,IAAI,MAC9C,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EACxC,CAAA,CAAA,CAAC,EACH,KAAK,EAAE,CAAA,EAAA,GAAA,SAAS,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,IAAI,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACjC,IAAI,CAAA,EAAA,EACP,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EACxC,CAAA,CAAA,CAAC,EACH,QAAQ,EAAE,CAAA,EAAA,GAAA,SAAS,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,CAAC,OAAO,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC1C,OAAO,CAAA,EAAA,EACV,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA,CAAA,CAC3C,CAAC,EACH,QAAQ,EAAE,CAAA,EAAA,GAAA,SAAS,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAC/B,CAAC,OAAO,MAAsB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACzB,OAAO,CAAA,EAAA,EACV,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA,CAAA,CAC3C,CACH,EACD,CAAA,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;AAWG;AACa,SAAA,kCAAkC,CAChD,IAAkB,EAClB,KAAgB,EAAA;AAEhB,IAAA,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,OAAO,GAAG,GAAG,CAAC;IAClB,IAAI,GAAG,GAAG,CAAC,CAAC;AACZ,IAAA,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAc,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;AAG1B,IAAA,OAAA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,0CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAA,EAAA,CAAC;;IAG9F,GAAG;QACD,IAAI,KAAK,EAAE,EAAE;AACX,YAAA,OAAO,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC7B,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE;AAC/C,YAAA,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;AACpB,YAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA;AACL,YAAA,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC;AACpB,YAAA,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACzC,SAAA;KACF,QAAQ,GAAG,KAAK,OAAO,EAAE;;IAG1B,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED;;;;;;;;;;AAUG;UACc,eAAe,CAC9B,KAA6B,EAC7B,aAAwB,EAAA;AAExB,IAAA,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;;IAG3B,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,OAAO;AACR,KAAA;IAED,MAAM,QAAQ,GAAG,kCAAkC,CAAC,OAAO,CAAC,KAAqB,EAAE,aAAa,CAAC,CAAC;AAClG,IAAA,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE/B,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACvC,QAAA,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;;YAEhD,MAAM,QAAQ,CAAC,KAAK,CAAC;AACrB,YAAA,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;AAAM,aAAA,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;;AAEnF,YAAA,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AACxB,SAAA;AAAM,aAAA;;AAEL,YAAA,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAA;AACF,KAAA;AACH,CAAC;AA+CD;;;AAGG;AACG,SAAU,4BAA4B,CAAC,MAA8B,EAAA;;IACzE,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,QAAA,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,CAAC,CAAC;AACpE,QAAA,MAAM,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,0CAAE,GAAG,CAAC,CAAC,KAAK,KAAK,4BAA4B,CAAC,KAAK,CAAC,CAAC;AAC1E,QAAA,aAAa,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,aAAa,0CAAE,GAAG,CAAC,CAAC,IAAI,KAAK,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACrF,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,UAAU,0CAAE,GAAG,CAAC,CAAC,IAAI,MACnC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAA,CAAA,CACxD,CAAC;QACH,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,+BAA+B,CAAC;KAClE,CAAC;AACJ,CAAC;AAeD;;;AAGG;AACG,SAAU,oCAAoC,CAClD,UAA+C,EAC/C,OAAe,EACf,iBAAyB,EACzB,QAAgC,EAAA;IAEhC,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;AACvB,QAAA,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,iBAAiB;AACjB,QAAA,MAAM,EAAE,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC;QACpF,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChE,QAAA,WAAW,EAAE,KAAK;AAClB,QAAA,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,YAAY;AAC3C,QAAA,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,WAAW;KAC7C,CAAC;AACJ;;ACzaA;AAmBA;;;;;;;;;;;;;;;;;;AAkBG;AACa,SAAA,OAAO,CACrB,EAAU,EACV,WAAwC,EAAA;IAExC,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,IAAA,IAAI,QAA0C,CAAC;IAE/C,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,WAAW,CAAE,gBAAgB,CAAC,OAAO,EAAE,MAAK;QAC1C,OAAO,GAAG,IAAI,CAAC;QACf,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,IAAIC,0BAAU,CAAC,4BAA4B,CAAC,CAAC,CAAC;AAC3D,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AACpC,QAAA,IAAI,KAAoC,CAAC;AACzC,QAAA,QAAQ,GAAG,CAAC,CAAC,KAAI;AACf,YAAA,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC9B,MAAM,CAAC,CAAC,CAAC,CAAC;AACZ,SAAC,CAAC;;;AAIF,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,QAAQ,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;AACjE,SAAA;AAAM,aAAA;AACL,YAAA,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACjC,SAAA;AACH,KAAC,CAAC,EACF;QACE,MAAM,EAAE,MAAK;YACX,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,KAAA,IAAA,IAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAG,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;SACvD;AACF,KAAA,CACF,CAAC;AACJ;;ACzEA;AAOA,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAqCtC;;;;AAIG;AACI,eAAe,GAAG,CACvB,IAA2B,EAC3B,eAAmC,EACnC,eAA4C,EAAA;AAE5C,IAAA,IAAI,iBAAqC,CAAC;AAE1C,IAAA,MAAM,WAAW,GAAqB;AACpC,QAAA,WAAW,EAAE,eAAe;AAC5B,QAAA,WAAW,EAAE,CAAC,QAAQ,KAAI;YACxB,iBAAiB,GAAG,QAAQ,CAAC;SAC9B;KACF,CAAC;AAEF,IAAA,IAAI,eAAe,KAAf,IAAA,IAAA,eAAe,uBAAf,eAAe,CAAE,OAAO,EAAE;AAC5B,QAAA,MAAM,IAAIA,0BAAU,CAAC,4BAA4B,CAAC,CAAC;AACpD,KAAA;IAED,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;;AAMzC,IAAA,IAAI,GAAiC,CAAC;AACtC,IAAA,IAAI,SAAmC,CAAC;AAIxC,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,oBAAoB,GAAG,YAA2B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAE1F,IAAA,MAAM,IAAI,GAAe;AACvB,QAAA,UAAU,EAAE,CAAC,QAAiC,KAAI;AAChD,YAAA,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AACnB,YAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,WAAW,EAAE,MAAM,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,EAAI;AAChC,QAAA,IAAI,EAAE,OAAO,OAAO,KAAI;AACtB,YAAA,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CACrB;AACE,gBAAA,WAAW,EAAE,OAAO,KAAA,IAAA,IAAP,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW;AACjC,gBAAA,WAAW,EAAE,CAAC,QAAQ,KAAI;oBACxB,iBAAiB,GAAG,QAAQ,CAAC;iBAC9B;aACF,EACD,KAAK,CACN,CAAC;AACF,YAAA,oBAAoB,EAAE,CAAC;SACxB;AACD,QAAA,aAAa,EAAE,CAAC,OAAO,MACpB,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAH,GAAG,IAAH,GAAG,GAAK,CAAC,YAAW;;AAEnB,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;;AAElB,gBAAA,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzB,gBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;oBACrB,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,KAAjB,KAAA,CAAA,GAAA,iBAAiB,GAAI,CAAC,EACtB,eAAe,KAAf,IAAA,IAAA,eAAe,cAAf,eAAe,GAAI,wBAAwB,CAC5C,CAAC;AACF,oBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,EAAE,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,WAAW,CAAC,CAAC;AAClE,oBAAA,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;AACzB,oBAAA,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACrC,iBAAA;AACF,aAAA;AACD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;;YAGhC,IAAI,MAAM,KAAK,SAAS;AAAE,gBAAA,OAAO,MAAM,CAAC;AACnC,iBAAA,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,MAAM,KAAK,CAAC,KAAK,CAAC;;AAEjD,iBAAA;AACH,gBAAA,MAAM,IAAI,KAAK,CACb,8EAA8E,KAAK,CAAA,CAAE,CACtF,CAAC;AACH,aAAA;AACH,SAAC,GAAG,CAAC,OAAO,CAAC,MAAK;YAChB,GAAG,GAAG,SAAS,CAAC;AAClB,SAAC,CAAC,CAAC,CAAA;;AAEL,QAAA,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG;;AAEtB,QAAA,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK;;QAE7C,eAAe,GAAA;AACb,YAAA,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;SAC/F;AACD,QAAA,iBAAiB,EAAE,MAAM,KAAK;AAC9B,QAAA,SAAS,EAAE,MAAM,KAAK,CAAC,MAAM;QAC7B,QAAQ,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KACtC,CAAC;AAEF,IAAA,OAAO,IAAI,CAAC;AACd;;AChJA;AA+BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;MACU,sBAAsB,CAAA;AA8DjC,IAAA,WAAA,CACE,QAAgB,EAChB,UAA2C,EAC3C,UAAyC,EAAE,EAAA;QAE3C,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,QAAQ,GAAGC,+BAAmB,CAAC;AAClC,YAAA,WAAW,EAAE,2BAA2B;AACxC,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,SAAS,EAAE,6BAA6B;AACzC,SAAA,CAAC,CAAC;KACJ;IAsHM,MAAM,oBAAoB,CAC/B,KAAsC,EACtC,QAAmC,EACnC,UAA2C,EAAE,EAAA;QAE7C,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,6CAA6C,EAC7C,OAAO;;;AAGP,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,IAAI,EACJ,KAAK,EACL,OAAO,QAAQ,KAAK,QAAQ,GAAG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAClF,CACF,CAAC;KACH;IAgHM,MAAM,2BAA2B,CACtC,KAAsC,EACtC,WAAmB,EACnB,UAA2C,EAAE,EAAA;AAE7C,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,oDAAoD,EACpD,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAC3D,CAAC;KACH;AAED;;;;;;;AAOG;AACK,IAAA,OAAO,CACb,KAAsC,EACtC,KAAqB,EACrB,OAAwC,EAAA;AAExC,QAAA,MAAM,EACJ,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,GAChB,GAAG,OAAO,KAAK,KAAK,QAAQ;AAC3B,cAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAgB,KAAK,CAAC,EAAE;cACnF,KAAK,CAAC;AAEV,QAAA,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,2BAA2B,EAAE;YAC1E,MAAM,IAAI,KAAK,CACb;AACE,gBAAA,CAAA,wDAAA,EAA2D,iBAAiB,CAAG,CAAA,CAAA;AAC/E,gBAAA,CAAA,wBAAA,EAA2B,2BAA2B,CAAG,CAAA,CAAA;gBACzD,mEAAmE;AACpE,aAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;AACH,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAC7B,CAAC,WAAW,KAAI;YACd,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAE9D,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,cAAc,EAAE,WAAkB,EACpF,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,KACV,WAAW;AACX,gBAAA,cAAc,IACd,CAAC;AACL,SAAC,EACD;YACE,cAAc;YACd,OAAO;AACP,YAAA,eAAe,EAAE,CAAC,MAAM,KAAK,eAAe,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACnF,SAAA,CACF,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACI,IAAA,MAAM,qBAAqB,CAChC,YAAoB,EACpB,QAAmC;;AAEnC,IAAA,OAAA,GAAmC,EAAE,EAAA;AAErC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,8CAA8C,EAC9C,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CACjE,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;AACI,IAAA,MAAM,4BAA4B,CACvC,YAAoB,EACpB,WAAmB;;AAEnB,IAAA,OAAA,GAAmC,EAAE,EAAA;AAErC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,qDAAqD,EACrD,OAAO,EACP,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CACnE,CAAC;KACH;AAED;;;;;;AAMG;AACK,IAAA,QAAQ,CACd,YAAoB,EACpB,KAAqB,EACrB,OAAgC,EAAA;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAC7B,OAAO,WAAW,KAAI;YACpB,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAE/D,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,CAC1D,YAAY,EACZ,WAAkB,EAEb,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,KACV,WAAW;AACX,gBAAA,eAAe,IAElB,CAAC;AACJ,SAAC,EACD;AACE,YAAA,cAAc,EAAE,YAAY;YAC5B,OAAO;AACP,YAAA,eAAe,EAAE,4BAA4B;AAC9C,SAAA,CACF,CAAC;KACH;AAED;;;;;;;;AAQG;AACK,IAAA,MAAM,mBAAmB,CAC/B,cAE4C,EAC5C,UAA+C,EAAA;AAE/C,QAAA,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;;;AAK1C,QAAA,MAAM,gBAAgB,GAAG,CACvB,GAAqB,EACrB,iBAAyB,KAEzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,8DAA8D,EAC9D,UAAU,CAAC,OAAO,EAClB,CAAC,YAAY,KACX,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACnC;YACE,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACL,UAAU,EAAE,OAAO,WAAW,EAAE,GAAG,IAAI,KAAI;;;oBAEzC,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;;AAGhE,oBAAA,IAAI,gBAAgB,EAAE;wBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;AACrD,wBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAC/B,4BAAA,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC/B,yBAAA;AAAM,6BAAA;AACL,4BAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D,yBAAA;AACF,qBAAA;AAAM,yBAAA;AACL,wBAAA,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC5B,qBAAA;;oBAGD,OAAO,CAAA,EAAA,GAAA,YAAY,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,YAAA,EAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;AACzD,iBAAC,IACE,YAAY,CAAA,EAAA;;;AAGf,gBAAA,WAAW,EAAE,GAAG,CAAC,WAAW,EAC7B,CAAA;SACF,EACD;AACE,YAAA,IAAI,EAAE,iBAAiB;AACvB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,SAAS,EAAE;AACT,gBAAA,GAAG,EAAE;oBACH,UAAU,EAAEhC,sBAA8B;AAC3C,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,UAAU,EAAEjB,aAAqB;AAClC,iBAAA;AACF,aAAA;;YAED,gBAAgB,EAAE,CAAC,OAAO,CAAC;AAC3B,YAAA,UAAU,EAAE,UAAU;AACvB,SAAA,CACF,CACJ,CAAC;AAEJ,QAAA,MAAM,MAAM;;AAEV,QAAA,UAAU,KAAK,SAAS;cACpB,OAAO,GAAqB,KAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,oDAAoD,EACpD,UAAU,CAAC,OAAO,EAClB,YAAW;AACT,gBAAA,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAI1E,CAAC;AAEF,gBAAA,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,WAAW,EAAE;oBACnD,MAAM,IAAI,KAAK,CACb;wBACE,sFAAsF;wBACtF,CAA0B,uBAAA,EAAA,aAAa,CAAgB,aAAA,EAAA,WAAW,CAAK,GAAA,CAAA;AACxE,qBAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;AACH,iBAAA;gBAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBAE9D,OAAO,oCAAoC,CACzC,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,CACP,CAAC;AACJ,aAAC,CACF;AACL;AACE,gBAAA,OAAO,GAAqB,KAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,mDAAmD,EACnD,UAAU,CAAC,OAAO,EAClB,YAAW;oBACT,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAEpE,IAAI,iBAAiB,KAAK,SAAS,EAAE;AACnC,wBAAA,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;AACH,qBAAA;oBAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAE9D,oBAAA,OAAO,oCAAoC,CACzC,UAAU,EACV,UAAU,CAAC,cAAc,EACzB,iBAAiB,EACjB,MAAM,CACP,CAAC;AACJ,iBAAC,CACF,CAAC;AAEV,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB;AACE,YAAA,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAC9C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,kDAAkD,EAClD,EAAE,EACF,YAAW;gBACT,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;gBAE9D,OAAO,oCAAoC,CACzC,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,MAAM,CACP,CAAC;AACJ,aAAC,CACF;YACH,SAAS,EAAE,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,KACxC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AACjF,SAAA,EACD,UAAU,CAAC,OAAO,CAAC,kBAAkB,EACrC,UAAU,CAAC,OAAO,CAAC,WAAW,CAC/B,CAAC;AAEF,QAAA,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC3D,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACf;AAGF,CAAA;AAED;;;AAGG;AACH,SAAS,gBAAgB,CACvB,KAAqB,EAAA;IAErB,QAAQ,KAAK,CAAC,IAAI;AAChB,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,CAAC,0BAA0B,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAClD,QAAA,KAAK,KAAK;YACR,OAAO,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACxD,QAAA,KAAK,QAAQ;YACX,OAAO,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9D,QAAA,SAAS;YACP,MAAM,SAAS,GAAU,KAAK,CAAC;AAC/B,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,CAAA,CAAE,CAAC,CAAC;AACtE,SAAA;AACF,KAAA;AACH,CAAC;AAED;;AAEG;AACH;AAEA,SAAS,MAAM,CACb,IAAO,EACP,KAA2F,EAAA;IAE3F,OAAO;QACL,IAAI;QACJ,CAAC,IAAI,GAAG,KAAK;KACe,CAAC;AACjC;;AC3wBA;AAgGA;;;AAGG;AACI,eAAe,4BAA4B,CAChD,QAA6C,EAAA;;IAE7C,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;AAC/B,QAAA,gBAAgB,EAAE,CAAA,EAAA,GAAA,QAAQ,CAAC,gBAAgB,mCAAI,CAAC;QAChD,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,IAAI,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChE,QAAA,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,UAAU;AAC3C,QAAA,WAAW,EAAE,QAAQ,CAAC,MAAM,KAAK,WAAW;AAC5C,QAAA,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,YAAY;QAC3C,IAAI,EAAE,QAAQ,CAAC,IAAI;;;;;QAMnB,MAAM,EAAE,QAAQ,CAAC,MAAM;KAC0C,CAAC;AACtE;;AC1HA;AAuDA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;MACU,iCAAiC,CAAA;AA+D5C,IAAA,WAAA,CACE,QAAgB,EAChB,UAA2C,EAC3C,UAAoD,EAAE,EAAA;QAEtD,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AACpE,QAAA,IAAI,CAAC,QAAQ,GAAGiD,+BAAmB,CAAC;AAClC,YAAA,WAAW,EAAE,2BAA2B;AACxC,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,SAAS,EAAE,6BAA6B;AACzC,SAAA,CAAC,CAAC;KACJ;IAkGM,MAAM,uBAAuB,CAClC,OAAe,EACf,WAAyC,EACzC,SAAiC,EACjC,OAAA,GAA0C,EAAE,EAAA;AAE5C,QAAA,MAAM,UAAU,GACd,OAAO,WAAW,KAAK,QAAQ;AAC7B,cAAG;AACC,gBAAA,eAAe,EAAE;AACf,oBAAA,YAAY,EAAE,WAAW;AAC1B,iBAAA;AACkB,aAAA;cACrB,WAAW,CAAC;AAElB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,2DAA2D,EAC3D,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,0BAA0B,CAAC;AAC9B,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,KAAK,EAAE,CAAC,GAAG,KACT,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,+BAEtC,OAAO,EACP,WAAW,EAAE,YAAY,CAAC,WAAW,EAAA,EAClC,UAAU,CACb,EAAA,EAAA,SAAS,EAGN,CAAA,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,KACf,WAAW,EAAE,GAAG,CAAC,WAAW,EAE/B,CAAA,CAAA;AACJ,SAAA,CAAC,CACL,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;IACI,MAAM,yBAAyB,CACpC,OAAe,EACf,iBAAmC,EACnC,UAA4C,EAAE,EAAA;AAE9C,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,6DAA6D,EAC7D,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,0BAA0B,CAAC;AAC9B,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,KAAK,EAAE,CAAC,GAAG,KACT,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAC1C;gBACE,OAAO;AACP,gBAAA,eAAe,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,MAAM;AAC3D,oBAAA,OAAO,EAAE,UAAU;AACpB,iBAAA,CAAC,CAAC;gBACH,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,IAAI,EAAE,YAAY,CAAC,IAAI;AACxB,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAEI,YAAY,CACf,EAAA,EAAA,WAAW,EAAE,GAAG,CAAC,WAAW,EAE/B,CAAA,CAAA;AACJ,SAAA,CAAC,CACL,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,MAAM,oBAAoB,CAC/B,kBAA0B,EAC1B,UAAuC,EAAE,EAAA;QAEzC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,wDAAwD,EACxD,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,kBAAkB,CAChD;AACE,YAAA,OAAO,EAAE,kBAAkB;YAC3B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,IAAI,EAAE,YAAY,CAAC,IAAI;SACxB,EACD,YAAY,CACb,CACJ,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCG;IACI,MAAM,gBAAgB,CAC3B,aAAqB,EACrB,aAAgC,EAChC,UAAiC,EAAE,EAAA;AAEnC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,kDAAkD,EAClD,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,0BAA0B,CAAC;AAC9B,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,KAAK,EAAE,MACL,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC;AAC1F,SAAA,CAAC,CACL,CAAC;KACH;;;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEG;IACI,MAAM,4BAA4B,CACvC,YAAoB,EACpB,cAAqD,EACrD,UAA+C,EAAE,EAAA;AAEjD,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,gEAAgE,EAChE,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,0BAA0B,CAAmC;AAChE,YAAA,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,MACL,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAClD;gBACE,YAAY;gBACZ,WAAW,EAAE,YAAY,CAAC,WAAW;AACrC,gBAAA,QAAQ,EAAE,cAAc;AACzB,aAAA,EACD,YAAY,CACb;AACJ,SAAA,CAAC,CACL,CAAC;KACH;;AAID;;;;;;;AAOG;IACK,MAAM,0BAA0B,CACtC,UAA8C,EAAA;AAI9C,QAAA,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC;AAE1C,QAAA,MAAM,MAAM,GACV,UAAU,KAAK,SAAS;cACpB,CAAC,GAAqB,KACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,mEAAmE,EACnE,UAAU,CAAC,OAAO,EAClB,OAAO,OAAO,KAAI;gBAChB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE1D,IAAI,iBAAiB,KAAK,SAAS,EAAE;AACnC,oBAAA,MAAM,IAAI,KAAK,CACb,2EAA2E,CAC5E,CAAC;AACH,iBAAA;AAED,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAC1C;oBACE,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACL,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,KAAI;4BACnC,OAAO,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;yBAC3D,EAAA,EACE,OAAO,CACV,EAAA,EAAA,WAAW,EAAE,GAAG,CAAC,WAAW,EAC7B,CAAA;iBACF,EACD;AACE,oBAAA,IAAI,EAAE,iBAAiB;AACvB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,SAAS,EAAE;AACT,wBAAA,GAAG,EAAE;4BACH,UAAU,EAAEjB,gBAAwB;AACrC,yBAAA;AACD,wBAAA,OAAO,EAAE;4BACP,UAAU,EAAEhC,aAAqB;AAClC,yBAAA;AACF,qBAAA;oBACD,gBAAgB,EAAE,CAAC,OAAO,CAAC;AAC3B,oBAAA,UAAU,EAAE,UAAU;AACvB,iBAAA,CAC2B,CAAC;AACjC,aAAC,CACF;cACH,CAAC,GAAqB,KACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,oEAAoE,EACpE,UAAU,CAAC,OAAO,EAClB,CAAC,OAAO,KAAI;gBACV,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA4B,CAAC;AAE1E,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAC5D,MAAA,CAAA,MAAA,CAAA,EAAA,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,KAAI;wBACnC,OAAO,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;qBAC3D,EAAA,EACE,OAAO,CAAA,CACV,CAAC;AACL,aAAC,CACF,CAAC;AAEV,QAAA,MAAM,MAAM,GAAG,MAAM,GAAG,CAItB;AACE,YAAA,IAAI,EAAE,OAAO,GAAG,KAAK,4BAA4B,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC;YACpE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,KAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,iEAAiE,EACjE,UAAU,CAAC,OAAO,EAClB,OAAO,OAAO,KAAI;gBAChB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACvE,UAAU,EAAE,CAAC,WAAW,EAAE,GAAG,IAAI,KAAI;;wBAEnC,OAAO,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;qBAC3D,EAAA,EACE,OAAO,CACV,EAAA,EAAA,WAAW,EAAE,GAAG,CAAC,WAAW,EAAA,CAAA,CAC5B,CAAC;AAEH,gBAAA,OAAO,4BAA4B,CAAC,GAAiC,CAAC,CAAC;AACzE,aAAC,CACF;AACH,YAAA,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;AAChE,SAAA,EACD,UAAU,CAAC,OAAO,CAAC,kBAAkB,EACrC,UAAU,CAAC,OAAO,CAAC,WAAW,CAC/B,CAAC;AAEF,QAAA,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;YAC/C,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAA2B,CAAC,CAAC;YAClE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAW,CAAC,CAAC;AACpE,SAAA;;AAGD,QAAA,OAAO,MAAe,CAAC;AAEvB;;;;;;;AAOG;QACH,SAAS,iBAAiB,CACxB,WAAkC,EAClC,GAAqB,EACrB,OAAgD,EAChD,IAA8C,EAAA;;YAE9C,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;;;AAGhE,YAAA,IAAI,gBAAgB,EAAE;gBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;AACrD,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAC/B,oBAAA,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;AAC/B,iBAAA;AAAM,qBAAA;AACL,oBAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC5D,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC5B,aAAA;;YAGD,OAAO,CAAA,EAAA,GAAA,OAAO,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAG,WAAW,EAAE,GAAG,IAAI,CAAC,CAAC;SACnD;KACF;;AAID;;;;;;;;;;;;;;;;;;;AAmBG;IACI,kBAAkB,CAAC,UAAqC,EAAE,EAAA;QAC/D,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,sDAAsD,EACtD,OAAO,EACP,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,YAAY,CAAC,CAC/E,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCG;AACI,IAAA,gBAAgB,CACrB,OAAe,EACf,OAAA,GAA2B,EAAE,EAAA;AAE7B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,oDAAoD,EACpD,OAAO,EACP,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAClF,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDG;IACI,kBAAkB,CACvB,UAA6B,EAAE,EAAA;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC5D;AAED;;;;;;;;;;;AAWG;AACI,IAAA,mBAAmB,CACxB,OAAe,EACf,OAAA,GAAsC,EAAE,EAAA;AAExC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,uDAAuD,EACvD,OAAO,EACP,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CACrF,CAAC;KACH;;;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;AACI,IAAA,qBAAqB,CAC1B,YAAoB,EACpB,OAAA,GAA4B,EAAE,EAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,yDAAyD,EACzD,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CACjF,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCG;IACI,uBAAuB,CAC5B,UAA6B,EAAE,EAAA;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KACtE;AAED;;;;;;;;;;;AAWG;AACI,IAAA,wBAAwB,CAC7B,YAAoB,EACpB,OAAA,GAA4B,EAAE,EAAA;AAE9B,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,4DAA4D,EAC5D,OAAO,EACP,CAAC,YAAY,KACX,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CACpF,CAAC;KACH;;;AAMD;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,IAAA,YAAY,CACjB,WAAmB,EACnB,OAAA,GAA+B,EAAE,EAAA;AAEjC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,gDAAgD,EAChD,OAAO,EACP,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CACzF,CAAC;KACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;IACI,cAAc,CACnB,UAAiC,EAAE,EAAA;QAEnC,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;KAC/D;AAGF;;ACjiCD;AACA;AAsBA;;AAEG;AACH;AACa,MAAA,qBAAqB,GAAG;AACnC;;AAEG;AACH,IAAA,KAAK,EAAE,WAAW;AAElB;;AAEG;AACH,IAAA,iBAAiB,EAAE,mBAAmB;AAEtC;;AAEG;AACH,IAAA,QAAQ,EAAE,UAAU;AAEpB;;AAEG;AACH,IAAA,SAAS,EAAE,WAAW;AAEtB;;AAEG;AACH,IAAA,QAAQ,EAAE,UAAU;AAEpB;;AAEG;AACH,IAAA,aAAa,EAAE,eAAe;;;ACxDhC;AACA;AAqBA;;AAEG;AACH;AACa,MAAA,sBAAsB,GAAG;AACpC;;;AAGG;AACH,IAAA,QAAQ,EAAE,UAAU;AACpB;;;AAGG;AACH,IAAA,MAAM,EAAE,QAAQ;;;ACpClB;AA6BA;;;;;;;AAOG;AACH,SAAS,YAAY,CACnB,SAAiB,EACjB,MAA2B,EAC3B,KAAoB,EAAA;AAEpB,IAAA,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE;AAC9B,QAAA,MAAM,IAAI,KAAK,CACb,CAAA,kBAAA,EAAqB,SAAS,CAAc,WAAA,EAAA,KAAK,CAAC,IAAI,oBAAoB,MAAM,CAAC,IAAI,CAAA,CAAA,CAAG,CACzF,CAAC;AACH,KAAA;;AAGD,IAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,MAAM,MAAM,GAAQ,EAAE,CAAC;AAEvB,QAAA,KAAK,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAW,CAAC,EAAE;AAC/E,YAAA,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;gBAC3F,MAAM,aAAa,GAAG,CACpB,WAAW,CAAC,YAAY,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,EACrE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAErB,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,CAClC,SAAS,GAAG,GAAG,GAAG,YAAY,EAC9B,cAAc,EACd,KAAK,CAAC,UAAU,CAAC,YAAY,CAAE,CAChC,CAAC;AACH,aAAA;AACF,SAAA;AAED,QAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAK,CAAA,EAAA,EACR,UAAU,EAAE,MAAM,EAClB,CAAA,CAAA;AACH,KAAA;AAAM,SAAA,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;AACjC,QAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,KAAK,CAAA,EAAA,EACR,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAChC,YAAY,CAAC,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC,KAAM,EAAE,GAAG,CAAC,CAC9D,EACD,CAAA,CAAA;AACH,KAAA;;AAAM,QAAA,OAAO,KAAK,CAAC;AACtB,CAAC;AAED;;;;;;;;;AASG;AACG,SAAU,qBAAqB,CACnC,MAA+C,EAAA;IAE/C,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;AAC7B,QAAA,eAAe,CAAC,UAAyB,EAAA;;AACvC,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAEtE,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,UAAU,CAAA,EAAA,EACb,SAAS,EAAE,YAAY;sBACnB,MAAA,UAAU,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,UAAU,CAAC;AACvC,sBAAE,CAAA,EAAA,GAAA,UAAU,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,EAC9B,CAAA,CAAA;YAEF,SAAS,UAAU,CAAC,QAA0B,EAAA;;gBAC5C,MAAM,MAAM,GAA4B,EAAE,CAAC;gBAC3C,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAElD,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,oBAAA,MAAM,IAAI,KAAK,CACb,CAAA,0BAAA,EAA6B,QAAQ,CAAC,OAAO,CAAA,yBAAA,EAA4B,MAAM,CAAC,OAAO,CAAA,CAAA,CAAG,CAC3F,CAAC;AACH,iBAAA;AACD,gBAAA,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;oBACxE,IACE,QAAQ,CAAC,MAAM;AACf,wBAAA,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS;AACxC,wBAAA,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EACnC;wBACA,MAAM,aAAa,GAAG,CACpB,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,EAC5D,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrB,wBAAA,MAAM,CAAC,aAAa,CAAC,GAAG,YAAY,CAClC,SAAS,EACT,WAAW,EACX,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAC3B,CAAC;AACH,qBAAA;AACF,iBAAA;AAED,gBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,QAAQ,CAAA,EAAA,EACX,MAAM,EAAE,MAAM,EACd,CAAA,CAAA;aACH;SACF;KACF,CAAC;AACJ;;;;;;;;;;;;;"}