@graphty/graph-io 0.3.17 → 0.3.19

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 (154) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +64 -3
  3. package/dist/chunks/{escape-scjHxjpr.js → escape-CWExcecC.js} +3 -2
  4. package/dist/chunks/{escape-scjHxjpr.js.map → escape-CWExcecC.js.map} +1 -1
  5. package/dist/chunks/exporter-CbMZyVt-.js +735 -0
  6. package/dist/chunks/exporter-CbMZyVt-.js.map +1 -0
  7. package/dist/chunks/importer-BAP4PrxR.js +2194 -0
  8. package/dist/chunks/importer-BAP4PrxR.js.map +1 -0
  9. package/dist/chunks/{importer-Xg07gk7p.js → importer-BNFuV1-K.js} +5 -3
  10. package/dist/chunks/{importer-Xg07gk7p.js.map → importer-BNFuV1-K.js.map} +1 -1
  11. package/dist/chunks/{importer-BmOl9gLW.js → importer-BVGtU1NA.js} +5 -3
  12. package/dist/chunks/{importer-BmOl9gLW.js.map → importer-BVGtU1NA.js.map} +1 -1
  13. package/dist/chunks/{importer-ruMWWvVs.js → importer-BW-Ft2ps.js} +5 -3
  14. package/dist/chunks/{importer-ruMWWvVs.js.map → importer-BW-Ft2ps.js.map} +1 -1
  15. package/dist/chunks/{importer-B6rKRxzv.js → importer-Bm1_5vPS.js} +781 -104
  16. package/dist/chunks/importer-Bm1_5vPS.js.map +1 -0
  17. package/dist/chunks/importer-ByPGO-09.js +1614 -0
  18. package/dist/chunks/importer-ByPGO-09.js.map +1 -0
  19. package/dist/chunks/importer-DOepkgnG.js +1713 -0
  20. package/dist/chunks/importer-DOepkgnG.js.map +1 -0
  21. package/dist/chunks/json-elements-CZY1wiZh.js +779 -0
  22. package/dist/chunks/json-elements-CZY1wiZh.js.map +1 -0
  23. package/dist/chunks/ontology-BnrJ4I98.js +113 -0
  24. package/dist/chunks/ontology-BnrJ4I98.js.map +1 -0
  25. package/dist/chunks/{records-DSpbTE5s.js → records-BzNicMsf.js} +2 -2
  26. package/dist/chunks/{records-DSpbTE5s.js.map → records-BzNicMsf.js.map} +1 -1
  27. package/dist/chunks/{writer-DHHfHn11.js → report-BcWboivV.js} +106 -928
  28. package/dist/chunks/report-BcWboivV.js.map +1 -0
  29. package/dist/chunks/weights-CwISIpCP.js +176 -0
  30. package/dist/chunks/weights-CwISIpCP.js.map +1 -0
  31. package/dist/chunks/writer-DQiKgQJc.js +656 -0
  32. package/dist/chunks/writer-DQiKgQJc.js.map +1 -0
  33. package/dist/csv.js +5 -3
  34. package/dist/csv.js.map +1 -1
  35. package/dist/cx.d.ts +1 -0
  36. package/dist/cx.js +6 -0
  37. package/dist/cx.js.map +1 -0
  38. package/dist/cx2.d.ts +1 -0
  39. package/dist/cx2.js +10 -0
  40. package/dist/cx2.js.map +1 -0
  41. package/dist/dot.js +1 -1
  42. package/dist/gexf.js +15 -3
  43. package/dist/gexf.js.map +1 -1
  44. package/dist/gml.js +5 -3
  45. package/dist/gml.js.map +1 -1
  46. package/dist/graph-io.js +158 -383
  47. package/dist/graph-io.js.map +1 -1
  48. package/dist/graphml.js +1 -1
  49. package/dist/json.js +1 -1
  50. package/dist/neo4j.js +5 -3
  51. package/dist/neo4j.js.map +1 -1
  52. package/dist/obo.d.ts +1 -0
  53. package/dist/obo.js +6 -0
  54. package/dist/obo.js.map +1 -0
  55. package/dist/pajek.js +1 -1
  56. package/dist/src/common/json-elements.d.ts +286 -0
  57. package/dist/src/common/json-elements.d.ts.map +1 -0
  58. package/dist/src/common/json-elements.js +926 -0
  59. package/dist/src/common/json-elements.js.map +1 -0
  60. package/dist/src/common/ontology.d.ts +59 -0
  61. package/dist/src/common/ontology.d.ts.map +1 -0
  62. package/dist/src/common/ontology.js +147 -0
  63. package/dist/src/common/ontology.js.map +1 -0
  64. package/dist/src/formats/cx/importer.d.ts +133 -0
  65. package/dist/src/formats/cx/importer.d.ts.map +1 -0
  66. package/dist/src/formats/cx/importer.js +2220 -0
  67. package/dist/src/formats/cx/importer.js.map +1 -0
  68. package/dist/src/formats/cx/index.d.ts +7 -0
  69. package/dist/src/formats/cx/index.d.ts.map +1 -0
  70. package/dist/src/formats/cx/index.js +7 -0
  71. package/dist/src/formats/cx/index.js.map +1 -0
  72. package/dist/src/formats/cx2/exporter.d.ts +59 -0
  73. package/dist/src/formats/cx2/exporter.d.ts.map +1 -0
  74. package/dist/src/formats/cx2/exporter.js +864 -0
  75. package/dist/src/formats/cx2/exporter.js.map +1 -0
  76. package/dist/src/formats/cx2/importer.d.ts +169 -0
  77. package/dist/src/formats/cx2/importer.d.ts.map +1 -0
  78. package/dist/src/formats/cx2/importer.js +1652 -0
  79. package/dist/src/formats/cx2/importer.js.map +1 -0
  80. package/dist/src/formats/cx2/index.d.ts +7 -0
  81. package/dist/src/formats/cx2/index.d.ts.map +1 -0
  82. package/dist/src/formats/cx2/index.js +7 -0
  83. package/dist/src/formats/cx2/index.js.map +1 -0
  84. package/dist/src/formats/gexf/exporter.d.ts +2 -0
  85. package/dist/src/formats/gexf/exporter.d.ts.map +1 -1
  86. package/dist/src/formats/gexf/exporter.js +6 -0
  87. package/dist/src/formats/gexf/exporter.js.map +1 -1
  88. package/dist/src/formats/gexf/importer.d.ts +2 -4
  89. package/dist/src/formats/gexf/importer.d.ts.map +1 -1
  90. package/dist/src/formats/gexf/importer.js +2 -4
  91. package/dist/src/formats/gexf/importer.js.map +1 -1
  92. package/dist/src/formats/gexf/index.d.ts +1 -1
  93. package/dist/src/formats/gexf/index.js +2 -2
  94. package/dist/src/formats/gexf/index.js.map +1 -1
  95. package/dist/src/formats/gml/exporter.js +1 -1
  96. package/dist/src/formats/gml/exporter.js.map +1 -1
  97. package/dist/src/formats/json/dialect.d.ts +8 -6
  98. package/dist/src/formats/json/dialect.d.ts.map +1 -1
  99. package/dist/src/formats/json/dialect.js +26 -3
  100. package/dist/src/formats/json/dialect.js.map +1 -1
  101. package/dist/src/formats/json/importer.d.ts +324 -7
  102. package/dist/src/formats/json/importer.d.ts.map +1 -1
  103. package/dist/src/formats/json/importer.js +159 -126
  104. package/dist/src/formats/json/importer.js.map +1 -1
  105. package/dist/src/formats/json/obographs.d.ts +21 -0
  106. package/dist/src/formats/json/obographs.d.ts.map +1 -0
  107. package/dist/src/formats/json/obographs.js +476 -0
  108. package/dist/src/formats/json/obographs.js.map +1 -0
  109. package/dist/src/formats/obo/importer.d.ts +90 -0
  110. package/dist/src/formats/obo/importer.d.ts.map +1 -0
  111. package/dist/src/formats/obo/importer.js +1248 -0
  112. package/dist/src/formats/obo/importer.js.map +1 -0
  113. package/dist/src/formats/obo/index.d.ts +7 -0
  114. package/dist/src/formats/obo/index.d.ts.map +1 -0
  115. package/dist/src/formats/obo/index.js +7 -0
  116. package/dist/src/formats/obo/index.js.map +1 -0
  117. package/dist/src/formats/obo/syntax.d.ts +121 -0
  118. package/dist/src/formats/obo/syntax.d.ts.map +1 -0
  119. package/dist/src/formats/obo/syntax.js +424 -0
  120. package/dist/src/formats/obo/syntax.js.map +1 -0
  121. package/dist/src/index.d.ts +3 -0
  122. package/dist/src/index.d.ts.map +1 -1
  123. package/dist/src/index.js +3 -0
  124. package/dist/src/index.js.map +1 -1
  125. package/dist/src/registry.d.ts.map +1 -1
  126. package/dist/src/registry.js +8 -1
  127. package/dist/src/registry.js.map +1 -1
  128. package/dist/src/sniff.d.ts +1 -1
  129. package/dist/src/sniff.d.ts.map +1 -1
  130. package/dist/src/sniff.js +25 -3
  131. package/dist/src/sniff.js.map +1 -1
  132. package/package.json +16 -1
  133. package/src/common/json-elements.ts +1147 -0
  134. package/src/common/ontology.ts +169 -0
  135. package/src/formats/cx/importer.ts +2733 -0
  136. package/src/formats/cx/index.ts +7 -0
  137. package/src/formats/cx2/exporter.ts +1036 -0
  138. package/src/formats/cx2/importer.ts +2187 -0
  139. package/src/formats/cx2/index.ts +7 -0
  140. package/src/formats/gexf/exporter.ts +11 -0
  141. package/src/formats/gexf/importer.ts +2 -2
  142. package/src/formats/gexf/index.ts +1 -1
  143. package/src/formats/gml/exporter.ts +1 -1
  144. package/src/formats/json/dialect.ts +37 -7
  145. package/src/formats/json/importer.ts +210 -132
  146. package/src/formats/json/obographs.ts +563 -0
  147. package/src/formats/obo/importer.ts +1695 -0
  148. package/src/formats/obo/index.ts +7 -0
  149. package/src/formats/obo/syntax.ts +466 -0
  150. package/src/index.ts +11 -0
  151. package/src/registry.ts +8 -1
  152. package/src/sniff.ts +48 -5
  153. package/dist/chunks/importer-B6rKRxzv.js.map +0 -1
  154. package/dist/chunks/writer-DHHfHn11.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-elements.js","sourceRoot":"","sources":["../../../src/common/json-elements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAGH,gBAAgB,EAEhB,aAAa,GAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACH,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,YAAY,CAAC;AAGpB,8EAA8E;AAE9E,sHAAsH;AACtH,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D;;;GAGG;AACH,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AAEtD,oEAAoE;AACpE,MAAM,cAAc,GAAG,GAAG,QAAQ,QAAQ,CAAC;AAE3C,8GAA8G;AAC9G,MAAM,kBAAkB,GAA2C;IAC/D,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;IACxB,CAAC,UAAU,EAAE,QAAQ,CAAC;IACtB,CAAC,KAAK,EAAE,GAAG,CAAC;CACf,CAAC;AAEF,iHAAiH;AACjH,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAY9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAC1B,IAAY,EACZ,UAAgF,EAAE;IAElF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAChD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACb,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC9B,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;YACD,CAAC,EAAE,CAAC;YACJ,WAAW,GAAG,KAAK,CAAC;YACpB,SAAS;QACb,CAAC;QACD,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YACxB,WAAW,GAAG,EAAE,KAAK,GAAG,CAAC;QAC7B,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,EAAE,CAAC;YACb,WAAW,GAAG,KAAK,CAAC;QACxB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,WAAW,GAAG,IAAI,CAAC;QACvB,CAAC;aAAM,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACpB,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,WAAW,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChF,WAAW,GAAG,KAAK,CAAC;YACpB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACtG,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChD,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,OAAO,GAAG,GAAG,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBACtD,GAAG,EAAE,CAAC;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACnC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC1E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC1B,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,cAAc,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC;gBACjG,CAAC;YACL,CAAC;YACD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,CAAC;YACjB,CAAC;YACD,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,SAAS;QACb,CAAC;QACD,CAAC,EAAE,CAAC;IACR,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAc;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACzF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,kGAAkG;AAClG,MAAM,OAAO,YAAY;IAIrB;;;OAGG;IACH,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACJ;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACjF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,WAAsC;IAC5E,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAChC,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,4FAA4F;AAE5F,wGAAwG;AACxG,MAAM,OAAO,aAAc,SAAQ,KAAK;IAOpC;;;;;OAKG;IACH,YAAY,OAAe,EAAE,IAAY,EAAE,KAAK,GAAG,KAAK;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAyDD;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAEpF;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAEvG,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAEpC;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B;;;GAGG;AACH,MAAM,WAAW;IAkBb;;;OAGG;IACH,YAAY,MAA6B;QAnBjC,QAAG,GAAG,EAAE,CAAC;QAEjB,gCAAgC;QAChC,QAAG,GAAG,CAAC,CAAC;QAER,gDAAgD;QACxC,gBAAW,GAAG,CAAC,CAAC;QAEhB,UAAK,GAAoB,IAAI,CAAC;QAE9B,iBAAY,GAAG,CAAC,CAAC;QAEzB,wDAAwD;QACxD,YAAO,GAAG,CAAC,CAAC;QAOR,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChE,SAAS,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACb,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;gBACtB,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI;QACA,OAAO,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,SAAS,CAAC;YACN,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1E,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;IACL,CAAC;IAED,qDAAqD;IACrD,YAAY;QACR,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,kDAAkD;IAClD,WAAW;QACP,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC;QAC1B,IAAI,KAAK,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;QACL,CAAC;QACD,SAAS,CAAC;YACN,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,aAAa,CAAC,kCAAkC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/B,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC/B,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBACd,OAAO;gBACX,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,UAAU;QACpB,SAAS,CAAC;YACN,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;YACxC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,aAAa,CAAC,mCAAmC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,SAAS;YACb,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,0EAA0E;YAC1E,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,aAAa,CAAC,mCAAmC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9E,CAAC;YACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACf,CAAC;IACL,CAAC;IAED,gFAAgF;IACxE,KAAK,CAAC,UAAU;QACpB,SAAS,CAAC;YACN,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,GAAG,EAAE,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBACrD,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAW,CAAC;QACzC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,aAAa,CAAC,mBAAmB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;CACJ;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU;IACzD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACtB,KAAK,EAAE,CAAC;QACR,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAY;IAC3B,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAS,OAAO,CAAC,IAAY,EAAE,IAAY;IACvC,IAAI,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,IAAI,aAAa,CAAC,iBAAiB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,WAAW,CAAC,MAA6B;IAC5D,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,oCAAoC,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,OAAO;IACX,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC;YACN,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,SAAS;YACb,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM;YACV,CAAC;YACD,MAAM,IAAI,aAAa,CACnB,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,+BAA+B,IAAI,GAAG,EACrG,GAAG,CAAC,IAAI,EAAE,CACb,CAAC;QACN,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,aAAa,CAAC,2CAA2C,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrF,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,GAAgB,EAAE,KAAa;IAClD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACrC,MAAM,IAAI,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACZ,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;YAClC,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACtE,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAChF,OAAO;IACX,CAAC;IACD,GAAG,CAAC,YAAY,EAAE,CAAC;IACnB,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACZ,iFAAiF;QACjF,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;YAClC,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YACtE,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAChF,OAAO;IACX,CAAC;IACD,gGAAgG;IAChG,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,+BAA+B,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QACZ,sEAAsE;QACtE,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;YAClC,GAAG,CAAC,WAAW,EAAE,CAAC;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;YAChE,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAChF,OAAO;IACX,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7B,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACJ,SAAS,CAAC;YACN,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,aAAa,CAAC,iCAAiC,MAAM,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC/B,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,OAAO,GAAG,iBAAiB,EAAE,CAAC;gBAClC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1C,MAAM;oBACF,IAAI,EAAE,SAAS;oBACf,MAAM;oBACN,KAAK;oBACL,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,IAAI;oBACJ,IAAI,EAAE,WAAW;iBACpB,CAAC;YACN,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,SAAS;YACb,CAAC;YACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,MAAM;YACV,CAAC;YACD,MAAM,IAAI,aAAa,CACnB,IAAI,KAAK,EAAE;gBACP,CAAC,CAAC,iCAAiC,MAAM,SAAS;gBAClD,CAAC,CAAC,+BAA+B,MAAM,mBAAmB,IAAI,GAAG,EACrE,GAAG,CAAC,IAAI,EAAE,CACb,CAAC;QACN,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,OAAO;IACX,CAAC;IACD,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,aAAa,CACnB,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,2BAA2B,MAAM,SAAS,EAC7F,GAAG,CAAC,IAAI,EAAE,CACb,CAAC;IACN,CAAC;IACD,gEAAgE;IAChE,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAChC,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;QACV,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,GAAG,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACV,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,MAA2B,EAAE,KAA6C;IACpG,MAAM,CAAC,KAAK,CACR,aAAa,EACb,qBAAqB,EACrB,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,MAAM,GAAG,cAAc,KAAK,CAAC,KAAK,+BAA+B,iBAAiB,yBAAyB,EAC3L,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,CAC9C,CAAC;AACN,CAAC;AAeD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,GAAY,EAAE,cAAc,GAAG,KAAK;IACrD,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;QAC9B,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,CAAC;QACD,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC9F,CAAC;IACD,MAAM,WAAW,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,GAAY,EAAE,MAAc;IAC7C,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;IACpG,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,cAAc,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,EAAE;QAClG,MAAM;KACT,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,GAAW;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACnB,CAAC,EAAE,CAAC;gBACR,CAAC;YACL,CAAC;YACD,wFAAwF;YACxF,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,KAAK,GAAG,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC7E,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,0GAA0G;AAE1G,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAE1C,2EAA2E;AAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,UAAU,GAAG,CAAC;IACvD,OAAO;QACH,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE;QACpC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE;KAC7C,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc;IAChC,OAAO;QACH,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;QACpD,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;KAC5B,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,sGAAsG;AAEtG,oEAAoE;AACpE,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAErG;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IAuBpB;;;OAGG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACH,YAAY,MAA2B;QAhCvC,qCAAqC;QAC5B,WAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,mCAAmC;QAC1B,WAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,2FAA2F;QAC1E,aAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE9C,mBAAc,GAAG,CAAC,CAAC;QAEnB,kBAAa,GAAG,CAAC,CAAC;QAElB,iBAAY,GAAG,KAAK,CAAC;QAErB,eAAU,GAAG,KAAK,CAAC;QAE3B,6CAA6C;QAC7C,WAAM,GAAY,SAAS,CAAC;QAexB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAc,EAAE,IAAY;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,MAAM,sEAAsE,EACpF,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,GAAG,iBAAiB,SAAS,CAChC,CAAC;QACN,CAAC;QACD,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,IAAI,CAAC,cAAc,6DAA6D,EACnF,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,GAAG,iBAAiB,WAAW,CAClC,CAAC;YACN,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO;QACX,CAAC;QACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,MAAM,iFAAiF,EAC/F,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EACzB,GAAG,iBAAiB,OAAO,CAC9B,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAc,EAAE,KAAc,EAAE,IAAY;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC9F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACtD,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,KAAc,EAAE,IAAY;QAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAChB,kBAAkB,EAClB,iBAAiB,EACjB,gDAAgD,EAChD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAC3B,GAAG,iBAAiB,UAAU,CACjC,CAAC;QACN,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,6CAA6C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACpG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,mCAAmC,KAAK,EAAE,EAAE;gBACrG,IAAI;gBACJ,OAAO,EAAE,QAAQ;aACpB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;IAC7E,CAAC;IAED,4FAA4F;IAC5F,WAAW;QACP,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,QAAQ,KAAK,IAAI,iBAAiB,IAAI,YAAY,EACvE,EAAE,OAAO,EAAE,IAAI,EAAE,CACpB,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC;AACpH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CACxB,IAAe,EACf,MAAuB,EACvB,IAAgB,EAChB,MAA2B;IAE3B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAW,EAAE,CACpC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,aAAa,CAAC;IAC1F,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,CAAC,OAAO,CACV,UAAU,EACV,mBAAmB,EACnB,GAAG,MAAM,YAAY,IAAI,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,iCAAiC,EAC1F,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CACzB,CAAC;IACN,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * What the OBO importer and the JSON importer's `obographs` dialect share (design section 1.0, the
3
+ * `ontology.ts` building block): the OBO column vocabulary (names, dtypes, roles), so the `.obo` and
4
+ * the `.json` of one ontology give the same columns, and the OBO 1.4 rule for turning the IRIs
5
+ * OBO Graphs writes back into the identifiers the `.obo` file writes (section 4.6).
6
+ */
7
+ import { type ColumnDecl } from "@graphty/graph-format";
8
+ /** The dtypes the OBO vocabulary uses. */
9
+ type OboDtype = "string" | "dict" | "bool" | "list" | "json";
10
+ /** One column of the OBO vocabulary. */
11
+ interface OboColumnSpec {
12
+ /** The dtype. */
13
+ readonly dtype: OboDtype;
14
+ /** The role, when the column carries one. */
15
+ readonly role?: "label" | "kind" | undefined;
16
+ }
17
+ /**
18
+ * The node columns of the OBO vocabulary, keyed by column name (design section 4.2). The names are
19
+ * the OBO tag names, so a Gene Ontology user finds `namespace`, `def` and `is_obsolete` under the
20
+ * names the GO documentation uses.
21
+ */
22
+ export declare const OBO_NODE_COLUMNS: Readonly<Record<string, OboColumnSpec>>;
23
+ /** The node column that marks a node made for an undeclared reference (design section 4.2). */
24
+ export declare const PLACEHOLDER_COLUMN = "graphty.placeholder";
25
+ /**
26
+ * The declaration of an OBO vocabulary column.
27
+ * @param domain - node or edge
28
+ * @param name - the column name (a key of OBO_NODE_COLUMNS / OBO_EDGE_COLUMNS, or the placeholder column)
29
+ * @returns the declaration, nullable, with origin `{ format: "obo", id: name }`
30
+ */
31
+ export declare function oboColumnDecl(domain: "node" | "edge", name: string): ColumnDecl;
32
+ /**
33
+ * An IRI as the identifier the `.obo` file writes (the OBO 1.4 mapping, section 5.9, read
34
+ * backwards): `http://purl.obolibrary.org/obo/GO_0008150` is `GO:0008150` (the prefix is the text
35
+ * before the first underscore), and `http://purl.obolibrary.org/obo/go#regulates` (how the OWL
36
+ * translation writes an unprefixed OBO id: subsets, relations, synonym types) is `regulates`.
37
+ * Every other IRI, and an OBO PURL that fits neither form (`.../obo/T/Female`), is kept.
38
+ * @param iri - the IRI
39
+ * @returns the CURIE or local id, or the IRI unchanged
40
+ */
41
+ export declare function compactOboIri(iri: string): string;
42
+ /** The OBO synonym scopes. */
43
+ export declare const SYNONYM_SCOPES: ReadonlySet<string>;
44
+ /**
45
+ * The OBO synonym scope of an OBO Graphs synonym predicate (`hasExactSynonym`, with or without the
46
+ * oboInOwl namespace).
47
+ * @param pred - the predicate
48
+ * @returns the scope, or null for a predicate that is not one of the four
49
+ */
50
+ export declare function synonymScopeOf(pred: string): string | null;
51
+ /**
52
+ * The OBO tag a `basicPropertyValues` predicate of OBO Graphs came from (the OBO-to-OWL mapping of
53
+ * the tags that are annotations), so the `.json` of an ontology fills the same columns as its
54
+ * `.obo`. `shorthand` is the relation's short name; every predicate not listed is a
55
+ * `property_value`.
56
+ */
57
+ export declare const OBOGRAPHS_PREDICATE_TAGS: ReadonlyMap<string, string>;
58
+ export {};
59
+ //# sourceMappingURL=ontology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontology.d.ts","sourceRoot":"","sources":["../../../src/common/ontology.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,0CAA0C;AAC1C,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7D,wCAAwC;AACxC,UAAU,aAAa;IACnB,iBAAiB;IACjB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CAChD;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAiDnE,CAAC;AASH,+FAA+F;AAC/F,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAa/E;AAQD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAejD;AAED,8BAA8B;AAC9B,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAoD,CAAC;AAEpG;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI1D;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAQ/D,CAAC"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * What the OBO importer and the JSON importer's `obographs` dialect share (design section 1.0, the
3
+ * `ontology.ts` building block): the OBO column vocabulary (names, dtypes, roles), so the `.obo` and
4
+ * the `.json` of one ontology give the same columns, and the OBO 1.4 rule for turning the IRIs
5
+ * OBO Graphs writes back into the identifiers the `.obo` file writes (section 4.6).
6
+ */
7
+ /**
8
+ * The node columns of the OBO vocabulary, keyed by column name (design section 4.2). The names are
9
+ * the OBO tag names, so a Gene Ontology user finds `namespace`, `def` and `is_obsolete` under the
10
+ * names the GO documentation uses.
11
+ */
12
+ export const OBO_NODE_COLUMNS = Object.freeze({
13
+ type: { dtype: "dict" },
14
+ name: { dtype: "string", role: "label" },
15
+ namespace: { dtype: "dict" },
16
+ def: { dtype: "string" },
17
+ "def.xrefs": { dtype: "list" },
18
+ comment: { dtype: "string" },
19
+ synonym: { dtype: "json" },
20
+ xref: { dtype: "list" },
21
+ "xref.descriptions": { dtype: "json" },
22
+ alt_id: { dtype: "list" },
23
+ subset: { dtype: "list" },
24
+ replaced_by: { dtype: "list" },
25
+ consider: { dtype: "list" },
26
+ is_obsolete: { dtype: "bool" },
27
+ is_anonymous: { dtype: "bool" },
28
+ builtin: { dtype: "bool" },
29
+ created_by: { dtype: "string" },
30
+ creation_date: { dtype: "string" },
31
+ intersection_of: { dtype: "json" },
32
+ union_of: { dtype: "list" },
33
+ equivalent_to: { dtype: "list" },
34
+ disjoint_from: { dtype: "list" },
35
+ property_value: { dtype: "json" },
36
+ // Typedef frames, under typedefs: "nodes"
37
+ domain: { dtype: "string" },
38
+ range: { dtype: "string" },
39
+ inverse_of: { dtype: "string" },
40
+ transitive_over: { dtype: "list" },
41
+ disjoint_over: { dtype: "list" },
42
+ holds_over_chain: { dtype: "json" },
43
+ equivalent_to_chain: { dtype: "json" },
44
+ expand_assertion_to: { dtype: "json" },
45
+ expand_expression_to: { dtype: "json" },
46
+ is_cyclic: { dtype: "bool" },
47
+ is_reflexive: { dtype: "bool" },
48
+ is_symmetric: { dtype: "bool" },
49
+ is_anti_symmetric: { dtype: "bool" },
50
+ is_asymmetric: { dtype: "bool" },
51
+ is_transitive: { dtype: "bool" },
52
+ is_functional: { dtype: "bool" },
53
+ is_inverse_functional: { dtype: "bool" },
54
+ is_metadata_tag: { dtype: "bool" },
55
+ is_class_level: { dtype: "bool" },
56
+ // OBO Graphs only
57
+ propertyType: { dtype: "dict" },
58
+ // what has no column of its own
59
+ "obo.qualifiers": { dtype: "json" },
60
+ "obo.unrecognized": { dtype: "json" },
61
+ });
62
+ /** The edge columns of the OBO vocabulary. */
63
+ const OBO_EDGE_COLUMNS = Object.freeze({
64
+ relation: { dtype: "dict", role: "kind" },
65
+ qualifiers: { dtype: "json" },
66
+ meta: { dtype: "json" },
67
+ });
68
+ /** The node column that marks a node made for an undeclared reference (design section 4.2). */
69
+ export const PLACEHOLDER_COLUMN = "graphty.placeholder";
70
+ /**
71
+ * The declaration of an OBO vocabulary column.
72
+ * @param domain - node or edge
73
+ * @param name - the column name (a key of OBO_NODE_COLUMNS / OBO_EDGE_COLUMNS, or the placeholder column)
74
+ * @returns the declaration, nullable, with origin `{ format: "obo", id: name }`
75
+ */
76
+ export function oboColumnDecl(domain, name) {
77
+ if (name === PLACEHOLDER_COLUMN) {
78
+ return { name, dtype: "bool", nullable: true, origin: { format: "graphty", id: "placeholder" } };
79
+ }
80
+ const spec = (domain === "node" ? OBO_NODE_COLUMNS : OBO_EDGE_COLUMNS)[name];
81
+ const decl = { name, dtype: spec.dtype, nullable: true, origin: { format: "obo", id: name } };
82
+ if (spec.dtype === "list") {
83
+ decl.itemDtype = "string";
84
+ }
85
+ if (spec.role !== undefined) {
86
+ decl.role = spec.role;
87
+ }
88
+ return decl;
89
+ }
90
+ /** The OBO PURL base every OBO Foundry IRI starts with. */
91
+ const OBO_PURL = "http://purl.obolibrary.org/obo/";
92
+ /** The oboInOwl namespace of the OBO-to-OWL mapping's annotation properties. */
93
+ const OBO_IN_OWL = "http://www.geneontology.org/formats/oboInOwl#";
94
+ /**
95
+ * An IRI as the identifier the `.obo` file writes (the OBO 1.4 mapping, section 5.9, read
96
+ * backwards): `http://purl.obolibrary.org/obo/GO_0008150` is `GO:0008150` (the prefix is the text
97
+ * before the first underscore), and `http://purl.obolibrary.org/obo/go#regulates` (how the OWL
98
+ * translation writes an unprefixed OBO id: subsets, relations, synonym types) is `regulates`.
99
+ * Every other IRI, and an OBO PURL that fits neither form (`.../obo/T/Female`), is kept.
100
+ * @param iri - the IRI
101
+ * @returns the CURIE or local id, or the IRI unchanged
102
+ */
103
+ export function compactOboIri(iri) {
104
+ if (!iri.startsWith(OBO_PURL)) {
105
+ return iri;
106
+ }
107
+ const rest = iri.slice(OBO_PURL.length);
108
+ const hash = rest.indexOf("#");
109
+ if (hash > 0) {
110
+ const local = rest.slice(hash + 1);
111
+ return local.length > 0 && !rest.slice(0, hash).includes("/") ? local : iri;
112
+ }
113
+ const underscore = rest.indexOf("_");
114
+ if (underscore <= 0 || rest.includes("/") || underscore === rest.length - 1) {
115
+ return iri;
116
+ }
117
+ return `${rest.slice(0, underscore)}:${rest.slice(underscore + 1)}`;
118
+ }
119
+ /** The OBO synonym scopes. */
120
+ export const SYNONYM_SCOPES = new Set(["EXACT", "BROAD", "NARROW", "RELATED"]);
121
+ /**
122
+ * The OBO synonym scope of an OBO Graphs synonym predicate (`hasExactSynonym`, with or without the
123
+ * oboInOwl namespace).
124
+ * @param pred - the predicate
125
+ * @returns the scope, or null for a predicate that is not one of the four
126
+ */
127
+ export function synonymScopeOf(pred) {
128
+ const local = pred.startsWith(OBO_IN_OWL) ? pred.slice(OBO_IN_OWL.length) : pred;
129
+ const match = /^has(Exact|Broad|Narrow|Related)Synonym$/.exec(local);
130
+ return match === null ? null : match[1].toUpperCase();
131
+ }
132
+ /**
133
+ * The OBO tag a `basicPropertyValues` predicate of OBO Graphs came from (the OBO-to-OWL mapping of
134
+ * the tags that are annotations), so the `.json` of an ontology fills the same columns as its
135
+ * `.obo`. `shorthand` is the relation's short name; every predicate not listed is a
136
+ * `property_value`.
137
+ */
138
+ export const OBOGRAPHS_PREDICATE_TAGS = new Map([
139
+ [`${OBO_IN_OWL}hasOBONamespace`, "namespace"],
140
+ [`${OBO_IN_OWL}hasAlternativeId`, "alt_id"],
141
+ [`${OBO_IN_OWL}created_by`, "created_by"],
142
+ [`${OBO_IN_OWL}creation_date`, "creation_date"],
143
+ [`${OBO_PURL}IAO_0100001`, "replaced_by"],
144
+ [`${OBO_IN_OWL}consider`, "consider"],
145
+ [`${OBO_IN_OWL}shorthand`, "shorthand"],
146
+ ]);
147
+ //# sourceMappingURL=ontology.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ontology.js","sourceRoot":"","sources":["../../../src/common/ontology.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * The CX version 1 importer (design/graph-io/cytoscape-and-obo/design.md section 1.2; the feature
3
+ * and error inventory is research-cx.md): the JSON exchange format of NDEx and Cytoscape's CX
4
+ * support. A CX document is an array of aspect fragments (`nodes`, `edges`, `nodeAttributes`,
5
+ * `cartesianLayout`, `cySubNetworks`, `cyGroups`, `cyVisualProperties`, ...) that refer to each
6
+ * other by integer ids, in any order.
7
+ *
8
+ * The document is read through the streaming scanner of common/json-elements.ts, so its text is
9
+ * never held as one string; the parsed aspect elements are collected and each graph is built at the
10
+ * end, because a reference may precede what it names.
11
+ *
12
+ * Mapping: every edge is directed; ids follow the CX id rule (design section 1.0.2); `n` is the
13
+ * `name` column (the label), `r` is `represents`, `i` is `interaction`; attributes become columns
14
+ * typed by their `d` (Cytoscape's value rule: "" and "null" are unset, "NaN" is NaN in a double); a
15
+ * subnetwork's values are the unscoped ones and its own (`s`), its own winning. A collection (several
16
+ * `cySubNetworks`) holds one graph per subnetwork: `importAll()` returns them, `import()` reads the
17
+ * one `graphIndex` / `graphName` picks, `listGraphs()` lists them. Positions come from the
18
+ * subnetwork's view, y flipped to y-up, `z` into the `z` column; `cyGroups` give `parent` (or
19
+ * `parents`); per-element visual properties are one column per property (origin namespace
20
+ * "cx.bypass") and style rules are kept verbatim in `meta.extra.cx` and not applied
21
+ * (W_STYLES_NOT_IMPORTED, issue #706); provenance aspects become extension tables and list columns.
22
+ */
23
+ import { type GraphChoiceOptions, type GraphImporter } from "../../types.js";
24
+ /** The format-specific options of the CX importer. */
25
+ export interface CxImportOptions extends GraphChoiceOptions {
26
+ /**
27
+ * Where a node's `z` goes: "column" (default) keeps it in the f64 node column `z` (Cytoscape
28
+ * writes a stacking order there); "position" makes it the third component of the position.
29
+ */
30
+ zAs?: "column" | "position" | undefined;
31
+ }
32
+ /**
33
+ * The issue codes the CX importer records (design section 1.2), by name: the codes shared with
34
+ * the other importers (src/common/codes.ts) and the CX-specific ones. A key is the code without
35
+ * its severity and format prefixes.
36
+ */
37
+ export declare const CX_ISSUE: Readonly<{
38
+ /** The input is empty (fatal). */
39
+ EMPTY_INPUT: "E_EMPTY_INPUT";
40
+ /** The text is not JSON (fatal). */
41
+ SYNTAX: "E_SYNTAX";
42
+ /** Invalid UTF-8 (fatal). */
43
+ INVALID_UTF8: "E_INVALID_UTF8";
44
+ /** Invalid bytes in the encoding a BOM or the encoding option chose (fatal). */
45
+ INVALID_ENCODING: "E_INVALID_ENCODING";
46
+ /** Bytes that are not UTF-8 were read as windows-1252. */
47
+ ENCODING_FALLBACK: "W_ENCODING_FALLBACK";
48
+ /** An encoding the platform cannot decode was ignored. */
49
+ UNKNOWN_ENCODING: "W_UNKNOWN_ENCODING";
50
+ /** The document is not a CX array, or it is CX2 (fatal; the message names CX2). */
51
+ NOT_CX: "E_CX_NOT_CX";
52
+ /** numberVerification holds another value than 2^48 - 1, or comes twice. */
53
+ NUMBER_VERIFICATION: "W_CX_NUMBER_VERIFICATION";
54
+ /** An old Cytoscape aspect name (visualProperties, subNetworks, ...) read under its cy name. */
55
+ OLD_ASPECT_NAME: "W_CX_OLD_ASPECT_NAME";
56
+ /** A cyGroups group whose id is not a node: the group node is added. */
57
+ GROUP_NODE_ADDED: "W_CX_GROUP_NODE_ADDED";
58
+ /** Nodes or edges of the root network that no subnetwork holds: Cytoscape shows them in no network; not read. */
59
+ ROOT_ONLY: "W_CX_ROOT_ONLY";
60
+ /** The producer marked the document as failed (fatal). */
61
+ STATUS_FAILED: "E_STATUS_FAILED";
62
+ /** The producer marked the document as successful with an error text. */
63
+ STATUS_WARNING: "W_STATUS_WARNING";
64
+ /** A member of the array that is not a one-key aspect block, or an element that is not an object. */
65
+ BAD_ASPECT_BLOCK: "E_BAD_ASPECT_BLOCK";
66
+ /** An aspect after the post-metadata or after the status, a third metaData. */
67
+ ASPECT_ORDER: "W_ASPECT_ORDER";
68
+ /** A metaData element count disagrees with what was read. */
69
+ COUNT_MISMATCH: "W_COUNT_MISMATCH";
70
+ /** A value that does not parse as its data type; the cell is unset. */
71
+ BAD_VALUE: "E_BAD_VALUE";
72
+ /** One attribute name with several data types: the column takes the wider one. */
73
+ WIDENED: "W_WIDENED";
74
+ /** A data type CX does not define; the value is kept as text. */
75
+ UNKNOWN_ATTR_TYPE: "W_UNKNOWN_ATTR_TYPE";
76
+ /** An attribute, layout, bypass, subnetwork member, view or provenance entry naming nothing. */
77
+ DANGLING_REFERENCE: "W_DANGLING_REFERENCE";
78
+ /** The same attribute twice on one element (or n and a different name attribute); the later wins. */
79
+ DUPLICATE_ATTRIBUTE: "W_DUPLICATE_ATTRIBUTE";
80
+ /** A group member naming no node. */
81
+ UNKNOWN_PARENT: "E_UNKNOWN_PARENT";
82
+ /** A group membership that would close a parent cycle; dropped. */
83
+ PARENT_CYCLE: "E_PARENT_CYCLE";
84
+ /** The style rules of cyVisualProperties are not applied (issue #706). */
85
+ STYLES_NOT_IMPORTED: "W_STYLES_NOT_IMPORTED";
86
+ /** A node without an @id. */
87
+ MISSING_ID: "E_MISSING_ID";
88
+ /** An edge without s or t. */
89
+ MISSING_ENDPOINT: "E_MISSING_ENDPOINT";
90
+ /** A node id declared twice; the second merges into the first. */
91
+ DUPLICATE_NODE: "W_DUPLICATE_NODE";
92
+ /** An edge id declared twice; the second edge is skipped. */
93
+ DUPLICATE_EDGE_ID: "E_DUPLICATE_EDGE_ID";
94
+ /** An id that is not an integer. */
95
+ INVALID_ID: "E_INVALID_ID";
96
+ /** An edge endpoint naming no node of the graph (addMissingNodes false, the default). */
97
+ UNKNOWN_NODE: "E_UNKNOWN_NODE";
98
+ /** A weight that is not a number. */
99
+ INVALID_WEIGHT: "E_INVALID_WEIGHT";
100
+ /** An id spelled as a string or a non-integer literal; read as the integer. */
101
+ ID_TEXT_TYPE: "W_ID_TEXT_TYPE";
102
+ /** An integer beyond 2^53: an id kept as its digits, a value stored as the nearest f64. */
103
+ PRECISION: "W_PRECISION";
104
+ /** Two id texts merged under `ids: "number"`. */
105
+ ID_MERGED: "W_ID_MERGED";
106
+ /** A collection read by import(): the other subnetworks are skipped. */
107
+ MULTIPLE_GRAPHS: "W_MULTIPLE_GRAPHS";
108
+ /** graphIndex or graphName names no subnetwork (fatal). */
109
+ GRAPH_NOT_FOUND: "E_GRAPH_NOT_FOUND";
110
+ /** graphName names several subnetworks (fatal). */
111
+ AMBIGUOUS_GRAPH_NAME: "E_AMBIGUOUS_GRAPH_NAME";
112
+ /** The input holds no graph (fatal). */
113
+ NO_GRAPH: "E_NO_GRAPH";
114
+ /** A column renamed because its name was taken. */
115
+ COLUMN_RENAMED: "W_COLUMN_RENAMED";
116
+ /** A column that lost its role because another column holds it. */
117
+ ROLE_TAKEN: "W_ROLE_TAKEN";
118
+ /** The sink refused the direction. */
119
+ DIRECTION_REFUSED: "W_DIRECTION_REFUSED";
120
+ /** Edges forced to the policy's direction. */
121
+ DIRECTION_FORCED: "W_DIRECTION_FORCED";
122
+ /** A common option CX has no use for. */
123
+ OPTION_IGNORED: "W_OPTION_IGNORED";
124
+ /** A builder option the caller's sink does not honour. */
125
+ SINK_OPTION: "W_SINK_OPTION";
126
+ /** The input is beyond a size limit (fatal). */
127
+ TOO_LARGE: "E_TOO_LARGE";
128
+ }>;
129
+ /**
130
+ * The CX version 1 importer plugin (design section 1.2).
131
+ */
132
+ export declare const cxImporter: GraphImporter<CxImportOptions>;
133
+ //# sourceMappingURL=importer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/cx/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAiFH,OAAO,EAEH,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAIrB,MAAM,gBAAgB,CAAC;AASxB,sDAAsD;AACtD,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD;;;OAGG;IACH,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;CAC3C;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;IACjB,kCAAkC;;IAElC,oCAAoC;;IAEpC,6BAA6B;;IAE7B,gFAAgF;;IAEhF,0DAA0D;;IAE1D,0DAA0D;;IAE1D,mFAAmF;;IAEnF,4EAA4E;;IAE5E,gGAAgG;;IAEhG,wEAAwE;;IAExE,iHAAiH;;IAEjH,0DAA0D;;IAE1D,yEAAyE;;IAEzE,qGAAqG;;IAErG,+EAA+E;;IAE/E,6DAA6D;;IAE7D,uEAAuE;;IAEvE,kFAAkF;;IAElF,iEAAiE;;IAEjE,gGAAgG;;IAEhG,qGAAqG;;IAErG,qCAAqC;;IAErC,mEAAmE;;IAEnE,0EAA0E;;IAE1E,6BAA6B;;IAE7B,8BAA8B;;IAE9B,kEAAkE;;IAElE,6DAA6D;;IAE7D,oCAAoC;;IAEpC,yFAAyF;;IAEzF,qCAAqC;;IAErC,+EAA+E;;IAE/E,2FAA2F;;IAE3F,iDAAiD;;IAEjD,wEAAwE;;IAExE,2DAA2D;;IAE3D,mDAAmD;;IAEnD,wCAAwC;;IAExC,mDAAmD;;IAEnD,mEAAmE;;IAEnE,sCAAsC;;IAEtC,8CAA8C;;IAE9C,yCAAyC;;IAEzC,0DAA0D;;IAE1D,gDAAgD;;EAElD,CAAC;AAs2EH;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,eAAe,CAoGpD,CAAC"}