@graphty/graph-io 0.0.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +250 -28
- package/dist/chunks/children-CL3Cy0ez.js +238 -0
- package/dist/chunks/children-CL3Cy0ez.js.map +1 -0
- package/dist/chunks/escape-DyI8JofU.js +938 -0
- package/dist/chunks/escape-DyI8JofU.js.map +1 -0
- package/dist/chunks/importer-CQnJuWJw.js +2987 -0
- package/dist/chunks/importer-CQnJuWJw.js.map +1 -0
- package/dist/chunks/importer-CpCpfbxr.js +2015 -0
- package/dist/chunks/importer-CpCpfbxr.js.map +1 -0
- package/dist/chunks/importer-DbnGYr3_.js +2342 -0
- package/dist/chunks/importer-DbnGYr3_.js.map +1 -0
- package/dist/chunks/importer-GozH8DkN.js +3050 -0
- package/dist/chunks/importer-GozH8DkN.js.map +1 -0
- package/dist/chunks/records-CGpxszm1.js +605 -0
- package/dist/chunks/records-CGpxszm1.js.map +1 -0
- package/dist/chunks/text-CajMdVFy.js +189 -0
- package/dist/chunks/text-CajMdVFy.js.map +1 -0
- package/dist/chunks/writer-DxSKC7TL.js +2842 -0
- package/dist/chunks/writer-DxSKC7TL.js.map +1 -0
- package/dist/csv.d.ts +1 -0
- package/dist/csv.js +1702 -0
- package/dist/csv.js.map +1 -0
- package/dist/dot.d.ts +1 -0
- package/dist/dot.js +8 -0
- package/dist/dot.js.map +1 -0
- package/dist/gexf.d.ts +1 -0
- package/dist/gexf.js +3466 -0
- package/dist/gexf.js.map +1 -0
- package/dist/gml.d.ts +1 -0
- package/dist/gml.js +2647 -0
- package/dist/gml.js.map +1 -0
- package/dist/graph-io.d.ts +1 -0
- package/dist/graph-io.js +790 -0
- package/dist/graph-io.js.map +1 -0
- package/dist/graphml.d.ts +1 -0
- package/dist/graphml.js +8 -0
- package/dist/graphml.js.map +1 -0
- package/dist/json.d.ts +1 -0
- package/dist/json.js +11 -0
- package/dist/json.js.map +1 -0
- package/dist/neo4j.d.ts +1 -0
- package/dist/neo4j.js +2046 -0
- package/dist/neo4j.js.map +1 -0
- package/dist/pajek.d.ts +1 -0
- package/dist/pajek.js +8 -0
- package/dist/pajek.js.map +1 -0
- package/dist/src/children.d.ts +134 -0
- package/dist/src/children.d.ts.map +1 -0
- package/dist/src/children.js +274 -0
- package/dist/src/children.js.map +1 -0
- package/dist/src/common/attributes.d.ts +229 -0
- package/dist/src/common/attributes.d.ts.map +1 -0
- package/dist/src/common/attributes.js +368 -0
- package/dist/src/common/attributes.js.map +1 -0
- package/dist/src/common/codes.d.ts +105 -0
- package/dist/src/common/codes.d.ts.map +1 -0
- package/dist/src/common/codes.js +107 -0
- package/dist/src/common/codes.js.map +1 -0
- package/dist/src/common/declared-types.d.ts +84 -0
- package/dist/src/common/declared-types.d.ts.map +1 -0
- package/dist/src/common/declared-types.js +326 -0
- package/dist/src/common/declared-types.js.map +1 -0
- package/dist/src/common/direction.d.ts +206 -0
- package/dist/src/common/direction.d.ts.map +1 -0
- package/dist/src/common/direction.js +370 -0
- package/dist/src/common/direction.js.map +1 -0
- package/dist/src/common/escape.d.ts +92 -0
- package/dist/src/common/escape.d.ts.map +1 -0
- package/dist/src/common/escape.js +212 -0
- package/dist/src/common/escape.js.map +1 -0
- package/dist/src/common/export.d.ts +249 -0
- package/dist/src/common/export.d.ts.map +1 -0
- package/dist/src/common/export.js +594 -0
- package/dist/src/common/export.js.map +1 -0
- package/dist/src/common/format.d.ts +59 -0
- package/dist/src/common/format.d.ts.map +1 -0
- package/dist/src/common/format.js +106 -0
- package/dist/src/common/format.js.map +1 -0
- package/dist/src/common/ids.d.ts +83 -0
- package/dist/src/common/ids.d.ts.map +1 -0
- package/dist/src/common/ids.js +158 -0
- package/dist/src/common/ids.js.map +1 -0
- package/dist/src/common/input.d.ts +100 -0
- package/dist/src/common/input.d.ts.map +1 -0
- package/dist/src/common/input.js +335 -0
- package/dist/src/common/input.js.map +1 -0
- package/dist/src/common/lists.d.ts +34 -0
- package/dist/src/common/lists.d.ts.map +1 -0
- package/dist/src/common/lists.js +185 -0
- package/dist/src/common/lists.js.map +1 -0
- package/dist/src/common/options.d.ts +108 -0
- package/dist/src/common/options.d.ts.map +1 -0
- package/dist/src/common/options.js +265 -0
- package/dist/src/common/options.js.map +1 -0
- package/dist/src/common/report.d.ts +187 -0
- package/dist/src/common/report.d.ts.map +1 -0
- package/dist/src/common/report.js +274 -0
- package/dist/src/common/report.js.map +1 -0
- package/dist/src/common/temporal.d.ts +71 -0
- package/dist/src/common/temporal.d.ts.map +1 -0
- package/dist/src/common/temporal.js +266 -0
- package/dist/src/common/temporal.js.map +1 -0
- package/dist/src/common/text.d.ts +104 -0
- package/dist/src/common/text.d.ts.map +1 -0
- package/dist/src/common/text.js +255 -0
- package/dist/src/common/text.js.map +1 -0
- package/dist/src/common/weights.d.ts +77 -0
- package/dist/src/common/weights.d.ts.map +1 -0
- package/dist/src/common/weights.js +156 -0
- package/dist/src/common/weights.js.map +1 -0
- package/dist/src/common/writer.d.ts +51 -0
- package/dist/src/common/writer.d.ts.map +1 -0
- package/dist/src/common/writer.js +108 -0
- package/dist/src/common/writer.js.map +1 -0
- package/dist/src/common/xml.d.ts +245 -0
- package/dist/src/common/xml.d.ts.map +1 -0
- package/dist/src/common/xml.js +942 -0
- package/dist/src/common/xml.js.map +1 -0
- package/dist/src/formats/csv/exporter.d.ts +70 -0
- package/dist/src/formats/csv/exporter.d.ts.map +1 -0
- package/dist/src/formats/csv/exporter.js +682 -0
- package/dist/src/formats/csv/exporter.js.map +1 -0
- package/dist/src/formats/csv/header.d.ts +66 -0
- package/dist/src/formats/csv/header.d.ts.map +1 -0
- package/dist/src/formats/csv/header.js +152 -0
- package/dist/src/formats/csv/header.js.map +1 -0
- package/dist/src/formats/csv/importer.d.ts +82 -0
- package/dist/src/formats/csv/importer.d.ts.map +1 -0
- package/dist/src/formats/csv/importer.js +849 -0
- package/dist/src/formats/csv/importer.js.map +1 -0
- package/dist/src/formats/csv/index.d.ts +60 -0
- package/dist/src/formats/csv/index.d.ts.map +1 -0
- package/dist/src/formats/csv/index.js +63 -0
- package/dist/src/formats/csv/index.js.map +1 -0
- package/dist/src/formats/csv/records.d.ts +188 -0
- package/dist/src/formats/csv/records.d.ts.map +1 -0
- package/dist/src/formats/csv/records.js +702 -0
- package/dist/src/formats/csv/records.js.map +1 -0
- package/dist/src/formats/csv/values.d.ts +105 -0
- package/dist/src/formats/csv/values.d.ts.map +1 -0
- package/dist/src/formats/csv/values.js +192 -0
- package/dist/src/formats/csv/values.js.map +1 -0
- package/dist/src/formats/dot/exporter.d.ts +52 -0
- package/dist/src/formats/dot/exporter.d.ts.map +1 -0
- package/dist/src/formats/dot/exporter.js +836 -0
- package/dist/src/formats/dot/exporter.js.map +1 -0
- package/dist/src/formats/dot/importer.d.ts +102 -0
- package/dist/src/formats/dot/importer.d.ts.map +1 -0
- package/dist/src/formats/dot/importer.js +1291 -0
- package/dist/src/formats/dot/importer.js.map +1 -0
- package/dist/src/formats/dot/index.d.ts +7 -0
- package/dist/src/formats/dot/index.d.ts.map +1 -0
- package/dist/src/formats/dot/index.js +7 -0
- package/dist/src/formats/dot/index.js.map +1 -0
- package/dist/src/formats/dot/names.d.ts +29 -0
- package/dist/src/formats/dot/names.d.ts.map +1 -0
- package/dist/src/formats/dot/names.js +28 -0
- package/dist/src/formats/dot/names.js.map +1 -0
- package/dist/src/formats/dot/tokenizer.d.ts +114 -0
- package/dist/src/formats/dot/tokenizer.d.ts.map +1 -0
- package/dist/src/formats/dot/tokenizer.js +341 -0
- package/dist/src/formats/dot/tokenizer.js.map +1 -0
- package/dist/src/formats/gexf/exporter.d.ts +56 -0
- package/dist/src/formats/gexf/exporter.d.ts.map +1 -0
- package/dist/src/formats/gexf/exporter.js +1395 -0
- package/dist/src/formats/gexf/exporter.js.map +1 -0
- package/dist/src/formats/gexf/importer.d.ts +73 -0
- package/dist/src/formats/gexf/importer.d.ts.map +1 -0
- package/dist/src/formats/gexf/importer.js +1880 -0
- package/dist/src/formats/gexf/importer.js.map +1 -0
- package/dist/src/formats/gexf/index.d.ts +96 -0
- package/dist/src/formats/gexf/index.d.ts.map +1 -0
- package/dist/src/formats/gexf/index.js +97 -0
- package/dist/src/formats/gexf/index.js.map +1 -0
- package/dist/src/formats/gexf/schema.d.ts +135 -0
- package/dist/src/formats/gexf/schema.d.ts.map +1 -0
- package/dist/src/formats/gexf/schema.js +323 -0
- package/dist/src/formats/gexf/schema.js.map +1 -0
- package/dist/src/formats/gml/exporter.d.ts +69 -0
- package/dist/src/formats/gml/exporter.d.ts.map +1 -0
- package/dist/src/formats/gml/exporter.js +1093 -0
- package/dist/src/formats/gml/exporter.js.map +1 -0
- package/dist/src/formats/gml/importer.d.ts +66 -0
- package/dist/src/formats/gml/importer.d.ts.map +1 -0
- package/dist/src/formats/gml/importer.js +1331 -0
- package/dist/src/formats/gml/importer.js.map +1 -0
- package/dist/src/formats/gml/index.d.ts +85 -0
- package/dist/src/formats/gml/index.d.ts.map +1 -0
- package/dist/src/formats/gml/index.js +88 -0
- package/dist/src/formats/gml/index.js.map +1 -0
- package/dist/src/formats/gml/syntax.d.ts +186 -0
- package/dist/src/formats/gml/syntax.d.ts.map +1 -0
- package/dist/src/formats/gml/syntax.js +467 -0
- package/dist/src/formats/gml/syntax.js.map +1 -0
- package/dist/src/formats/graphml/constants.d.ts +169 -0
- package/dist/src/formats/graphml/constants.d.ts.map +1 -0
- package/dist/src/formats/graphml/constants.js +165 -0
- package/dist/src/formats/graphml/constants.js.map +1 -0
- package/dist/src/formats/graphml/exporter.d.ts +34 -0
- package/dist/src/formats/graphml/exporter.d.ts.map +1 -0
- package/dist/src/formats/graphml/exporter.js +1176 -0
- package/dist/src/formats/graphml/exporter.js.map +1 -0
- package/dist/src/formats/graphml/importer.d.ts +31 -0
- package/dist/src/formats/graphml/importer.d.ts.map +1 -0
- package/dist/src/formats/graphml/importer.js +1607 -0
- package/dist/src/formats/graphml/importer.js.map +1 -0
- package/dist/src/formats/graphml/index.d.ts +8 -0
- package/dist/src/formats/graphml/index.d.ts.map +1 -0
- package/dist/src/formats/graphml/index.js +8 -0
- package/dist/src/formats/graphml/index.js.map +1 -0
- package/dist/src/formats/graphml/tree.d.ts +72 -0
- package/dist/src/formats/graphml/tree.d.ts.map +1 -0
- package/dist/src/formats/graphml/tree.js +290 -0
- package/dist/src/formats/graphml/tree.js.map +1 -0
- package/dist/src/formats/json/dialect.d.ts +125 -0
- package/dist/src/formats/json/dialect.d.ts.map +1 -0
- package/dist/src/formats/json/dialect.js +262 -0
- package/dist/src/formats/json/dialect.js.map +1 -0
- package/dist/src/formats/json/exporter.d.ts +89 -0
- package/dist/src/formats/json/exporter.d.ts.map +1 -0
- package/dist/src/formats/json/exporter.js +1358 -0
- package/dist/src/formats/json/exporter.js.map +1 -0
- package/dist/src/formats/json/importer.d.ts +108 -0
- package/dist/src/formats/json/importer.d.ts.map +1 -0
- package/dist/src/formats/json/importer.js +1838 -0
- package/dist/src/formats/json/importer.js.map +1 -0
- package/dist/src/formats/json/index.d.ts +8 -0
- package/dist/src/formats/json/index.d.ts.map +1 -0
- package/dist/src/formats/json/index.js +8 -0
- package/dist/src/formats/json/index.js.map +1 -0
- package/dist/src/formats/neo4j/exporter.d.ts +68 -0
- package/dist/src/formats/neo4j/exporter.d.ts.map +1 -0
- package/dist/src/formats/neo4j/exporter.js +1055 -0
- package/dist/src/formats/neo4j/exporter.js.map +1 -0
- package/dist/src/formats/neo4j/header.d.ts +52 -0
- package/dist/src/formats/neo4j/header.d.ts.map +1 -0
- package/dist/src/formats/neo4j/header.js +131 -0
- package/dist/src/formats/neo4j/header.js.map +1 -0
- package/dist/src/formats/neo4j/importer.d.ts +73 -0
- package/dist/src/formats/neo4j/importer.d.ts.map +1 -0
- package/dist/src/formats/neo4j/importer.js +932 -0
- package/dist/src/formats/neo4j/importer.js.map +1 -0
- package/dist/src/formats/neo4j/index.d.ts +79 -0
- package/dist/src/formats/neo4j/index.d.ts.map +1 -0
- package/dist/src/formats/neo4j/index.js +83 -0
- package/dist/src/formats/neo4j/index.js.map +1 -0
- package/dist/src/formats/pajek/exporter.d.ts +58 -0
- package/dist/src/formats/pajek/exporter.d.ts.map +1 -0
- package/dist/src/formats/pajek/exporter.js +825 -0
- package/dist/src/formats/pajek/exporter.js.map +1 -0
- package/dist/src/formats/pajek/importer.d.ts +88 -0
- package/dist/src/formats/pajek/importer.d.ts.map +1 -0
- package/dist/src/formats/pajek/importer.js +1047 -0
- package/dist/src/formats/pajek/importer.js.map +1 -0
- package/dist/src/formats/pajek/index.d.ts +7 -0
- package/dist/src/formats/pajek/index.d.ts.map +1 -0
- package/dist/src/formats/pajek/index.js +7 -0
- package/dist/src/formats/pajek/index.js.map +1 -0
- package/dist/src/formats/pajek/syntax.d.ts +112 -0
- package/dist/src/formats/pajek/syntax.d.ts.map +1 -0
- package/dist/src/formats/pajek/syntax.js +269 -0
- package/dist/src/formats/pajek/syntax.js.map +1 -0
- package/dist/src/index.d.ts +35 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/registry.d.ts +207 -0
- package/dist/src/registry.d.ts.map +1 -0
- package/dist/src/registry.js +481 -0
- package/dist/src/registry.js.map +1 -0
- package/dist/src/sniff.d.ts +104 -0
- package/dist/src/sniff.d.ts.map +1 -0
- package/dist/src/sniff.js +357 -0
- package/dist/src/sniff.js.map +1 -0
- package/dist/src/types.d.ts +238 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +29 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +122 -7
- package/src/children.ts +335 -0
- package/src/common/attributes.ts +520 -0
- package/src/common/codes.ts +153 -0
- package/src/common/declared-types.ts +374 -0
- package/src/common/direction.ts +518 -0
- package/src/common/escape.ts +231 -0
- package/src/common/export.ts +817 -0
- package/src/common/format.ts +111 -0
- package/src/common/ids.ts +176 -0
- package/src/common/input.ts +378 -0
- package/src/common/lists.ts +196 -0
- package/src/common/options.ts +377 -0
- package/src/common/report.ts +352 -0
- package/src/common/temporal.ts +302 -0
- package/src/common/text.ts +294 -0
- package/src/common/weights.ts +202 -0
- package/src/common/writer.ts +123 -0
- package/src/common/xml.ts +1053 -0
- package/src/formats/csv/exporter.ts +894 -0
- package/src/formats/csv/header.ts +172 -0
- package/src/formats/csv/importer.ts +1104 -0
- package/src/formats/csv/index.ts +88 -0
- package/src/formats/csv/records.ts +813 -0
- package/src/formats/csv/values.ts +224 -0
- package/src/formats/dot/exporter.ts +1014 -0
- package/src/formats/dot/importer.ts +1549 -0
- package/src/formats/dot/index.ts +7 -0
- package/src/formats/dot/names.ts +40 -0
- package/src/formats/dot/tokenizer.ts +384 -0
- package/src/formats/gexf/exporter.ts +1696 -0
- package/src/formats/gexf/importer.ts +2333 -0
- package/src/formats/gexf/index.ts +142 -0
- package/src/formats/gexf/schema.ts +361 -0
- package/src/formats/gml/exporter.ts +1404 -0
- package/src/formats/gml/importer.ts +1591 -0
- package/src/formats/gml/index.ts +128 -0
- package/src/formats/gml/syntax.ts +545 -0
- package/src/formats/graphml/constants.ts +225 -0
- package/src/formats/graphml/exporter.ts +1458 -0
- package/src/formats/graphml/importer.ts +2027 -0
- package/src/formats/graphml/index.ts +8 -0
- package/src/formats/graphml/tree.ts +318 -0
- package/src/formats/json/dialect.ts +317 -0
- package/src/formats/json/exporter.ts +1616 -0
- package/src/formats/json/importer.ts +2271 -0
- package/src/formats/json/index.ts +8 -0
- package/src/formats/neo4j/exporter.ts +1287 -0
- package/src/formats/neo4j/header.ts +156 -0
- package/src/formats/neo4j/importer.ts +1220 -0
- package/src/formats/neo4j/index.ts +116 -0
- package/src/formats/pajek/exporter.ts +1000 -0
- package/src/formats/pajek/importer.ts +1311 -0
- package/src/formats/pajek/index.ts +7 -0
- package/src/formats/pajek/syntax.ts +307 -0
- package/src/index.ts +244 -0
- package/src/registry.ts +617 -0
- package/src/sniff.ts +397 -0
- package/src/types.ts +262 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exporter.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/exporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAIH,gBAAgB,GAInB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAyB,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAoB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAA8B,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAwB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAwB5E,kIAAkI;AAClI,MAAM,CAAC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAEhE,6FAA6F;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,CAAC;AAE7D,+GAA+G;AAC/G,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAEtE,yGAAyG;AACzG,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D,2FAA2F;AAC3F,MAAM,CAAC,MAAM,2BAA2B,GAAG,gCAAgC,CAAC;AAE5E,6FAA6F;AAC7F,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAA+B,CAAC;AAE1E,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D,0FAA0F;AAC1F,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAE/E,MAAM,KAAK,GAAG,OAAO,CAAC;AACtB,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,kFAAkF;AAClF,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAEvC,gFAAgF;AAChF,MAAM,UAAU,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC/D,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,OAAO,EAAE,eAAe;CAC3B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAuB,YAAY,CAAC;IAC/D,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,IAAI;IACf,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC/C,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,KAAK;IACX,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,MAAM;IAChB,eAAe,EAAE,KAAK;IACtB,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK;CACb,CAAC,CAAC;AAEH,2DAA2D;AAC3D,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IAC/C,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,OAAO;IACP,KAAK;IACL,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,MAAM;CACT,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACjD,IAAI,CAAC,eAAe;IACpB,IAAI,CAAC,qBAAqB;IAC1B,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,kBAAkB;IACvB,IAAI,CAAC,gBAAgB;IACrB,eAAe;IACf,wBAAwB;CAC3B,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACjD,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,aAAa;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,2BAA2B;CAC9B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACrE,MAAM,KAAK,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;AAgC9E;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,OAAuC;IACtE,MAAM,CAAC,GAAuB,OAAO,IAAI,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,gBAAgB,CACtB,eAAe,EACf,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C,EAC/E;YACI,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,IAAI;SACd,CACJ,CAAC;IACN,CAAC;IACD,MAAM,cAAc,GAAG,CAAC,CAAC,cAAc,IAAI,GAAG,CAAC;IAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,gBAAgB,CACtB,eAAe,EACf,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,8BAA8B,EACtF,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,CACtD,CAAC;IACN,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;IACrC,MAAM,MAAM,GAAG,EAAE,GAAG,iBAAiB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;IACzF,IAAI,MAAM,CAAC,SAAS,KAAK,cAAc,EAAE,CAAC;QACtC,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,kDAAkD,EAAE;YAC5F,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,cAAc;SACxB,CAAC,CAAC;IACP,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAC9E,IAAI,YAAY,KAAK,IAAI,IAAI,CAAC,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,wDAAwD,EAAE;YAClG,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC;IACP,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACpC,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,oDAAoD,EAAE;YAC9F,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,QAAQ;SAClB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU;IAwCZ;;;;;OAKG;IACH,YAAY,QAAuB,EAAE,OAAmC,EAAE,MAA6B;QAvCvG,2FAA2F;QAClF,UAAK,GAAe,EAAE,CAAC;QAEhC,+DAA+D;QAC9C,aAAQ,GAAe,EAAE,CAAC;QAE3C,uEAAuE;QAC/D,eAAU,GAA4B,IAAI,CAAC;QAEnD,+EAA+E;QACvE,eAAU,GAA4B,IAAI,CAAC;QAEnD,mFAAmF;QAC3E,aAAQ,GAA4B,IAAI,CAAC;QAExC,gBAAW,GAAiB,EAAE,CAAC;QAE/B,gBAAW,GAAiB,EAAE,CAAC;QAExC,gEAAgE;QACvD,cAAS,GAAa,EAAE,CAAC;QAoB9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE;YACpE,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,UAAU;YACrB,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChH,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnF,SAAS;YACb,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1E,sFAAsF;gBACtF,SAAS;YACb,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBACtE,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAChF,iFAAiF;gBACjF,IAAI,CAAC,KAAK,CAAC,IAAI,CACX,MAAM,CAAC,MAAM,CAAC;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,gBAAgB,GAAG,CAAC,MAAM,iEAAiE;oBACpG,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACnB,CAAC,CACL,CAAC;gBACF,SAAS;YACb,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACK,cAAc;QAClB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CACL,eAAe,EACf,iFAAiF,QAAQ,CAAC,SAAS,WAAW,EAC9G,IAAI,EACJ,QAAQ,CAAC,SAAS,CACrB,CAAC;QACN,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO,EAAE,CAAC;YAClD,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,UAAU,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;YACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CACL,eAAe,EACf,GAAG,UAAU,0JAA0J,EACvK,IAAI,EACJ,UAAU,CACb,CAAC;YACN,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,eAAe,EACpB,GAAG,OAAO,CAAC,WAAW,oFAAoF,EAC1G,IAAI,EACJ,OAAO,CAAC,WAAW,CACtB,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,IAAI,CAAC,IAAY,EAAE,OAAe,EAAE,SAAwB,IAAI,EAAE,QAAuB,IAAI;QACjG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,MAAuB,EAAE,KAAuB,EAAE,GAAiB;QACnF,MAAM,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/E,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YACxB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACvE,SAAS;YACb,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/F,SAAS;YACb,CAAC;YACD,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,SAAS;YACb,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,MAAc,EAAE,SAAwB;QACvD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,GAAG,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;YAC7C,MAAM,UAAU,GACZ,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;YAC/F,IAAI,MAAM,GAAG,UAAU;gBACnB,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,QAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC/F,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBAClF,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,CAAC,QAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;YAChD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,UAAU,EACf,GAAG,KAAK,mBAAmB,cAAc,gDAAgD,EACzF,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO;gBACH,MAAM;gBACN,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;gBAC9D,MAAM;gBACN,IAAI,EAAE,IAAI;gBACV,SAAS;aACZ,CAAC;QACN,CAAC;QACD,IAAI,MAAkB,CAAC;QACvB,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QAClF,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAkB,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACpB,MAAM,GAAG,EAAE,IAAI,EAAE,QAAkB,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3F,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,qFAAqF;QACrF,uEAAuE;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,IAAI,EACT,GAAG,KAAK,uDAAuD,EAC/D,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;QACN,CAAC;aAAM,IAAI,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5F,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,KAAK,EACV,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,qCAAqC,EAC9D,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,UAAU,EACf,GAAG,KAAK,QAAQ,IAAI,CAAC,UAAU,wCAAwC,EACvE,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CACnC,CAAC;YACN,CAAC;YACD,OAAO;gBACH,MAAM;gBACN,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;gBAC9D,MAAM;gBACN,IAAI,EAAE,IAAI;gBACV,SAAS;aACZ,CAAC;QACN,CAAC;QACD,qFAAqF;QACrF,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE,KAAa;QACpE,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,QAAQ,GAAG,KAAK,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7B,QAAQ,GAAG,KAAK,CAAC;gBACrB,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,CACL,0BAA0B,EAC1B,GAAG,KAAK,gBAAgB,QAAQ,mDAAmD,EACnF,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,IAAI,CACP,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,MAAc,EAAE,MAAkB,EAAE,KAAa;QACrE,IACI,MAAM,CAAC,KAAK,KAAK,MAAM;YACvB,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,EACjF,CAAC;YACC,OAAO;QACX,CAAC;QACD,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACxC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC5D,IAAI,EAAE,CAAC;oBACP,MAAM;gBACV,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,GAAG,KAAK,KAAK,IAAI,wDAAwD,cAAc,8BAA8B,EACrH,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,gBAAgB;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC9E,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,gBAAgB,IAAI,4EAA4E,IAAI,GAAG,EACvG,IAAI,EACJ,IAAI,CACP,CAAC;YACF,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAClC,iBAAiB,EACjB,gBAAgB,IAAI,+CAA+C,EACnE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CACnC,CAAC;YACN,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAI,CACL,IAAI,CAAC,gBAAgB,EACrB,gBAAgB,IAAI,mFAAmF,IAAI,kDAAkD,EAC7J,IAAI,EACJ,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAC/C,CAAC;QACN,CAAC;QACD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,4FAA4F;IACpF,QAAQ;QACZ,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,UAAU,CAAC;YAChB,KAAK,OAAO;gBACR,MAAM;YACV,KAAK,SAAS;gBACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrC,WAAW,EAAE,CAAC;oBAClB,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,KAAK,QAAQ;gBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,IAAI,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9C,WAAW,EAAE,CAAC;oBAClB,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChC,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpF,WAAW,EAAE,CAAC;oBAClB,CAAC;oBACD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjB,UAAU,EAAE,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC;gBACD,MAAM;YACV,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;gBAC9B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,uBAAuB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;QACL,CAAC;QACD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CACL,iBAAiB,EACjB,GAAG,WAAW,iIAAiI,EAC/I,IAAI,EACJ,WAAW,CACd,CAAC;QACN,CAAC;QACD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CACL,sBAAsB,EACtB,GAAG,UAAU,2FAA2F,EACxG,IAAI,EACJ,UAAU,CACb,CAAC;YACF,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAChC,cAAc,EACd,GAAG,UAAU,kEAAkE,EAC/E,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,CAClD,CAAC;QACN,CAAC;IACL,CAAC;IAED,8EAA8E;IACtE,aAAa;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO;QACX,CAAC;QACD,MAAM,KAAK,GACP,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;YAC/D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,gBAAgB,IAAI,8DAA8D,IAAI,GAAG,EACzF,IAAI,EACJ,IAAI,CACP,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAClC,iBAAiB,EACjB,gBAAgB,IAAI,2CAA2C,EAC/D,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CACnC,CAAC;QACN,CAAC;IACL,CAAC;IAED,+DAA+D;IACvD,cAAc;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClB,GAAG,EAAE,CAAC;gBACV,CAAC;YACL,CAAC;YACD,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;YACZ,CAAC;QACL,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CACL,2BAA2B,EAC3B,GAAG,KAAK,kGAAkG,EAC1G,IAAI,EACJ,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,IAAY;QAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,yDAAyD;IACjD,iBAAiB;QACrB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,OAAO,KAAK,CAAC;gBACjB,CAAC;gBACD,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAa;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,KAAa;QACpB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,CAAC,KAAK;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,IAAI,KAAK,eAAe,EAAE,CAAC;YAC3B,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACnB,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,CAAC,SAAS;QACd,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/E,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAClF,IAAI,QAAQ,KAAK,CAAC,IAAI,KAAK,KAAK,YAAY,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;gBACvE,QAAQ,EAAE,CAAC;gBACX,YAAY,GAAG,KAAK,CAAC;gBACrB,aAAa,GAAG,MAAM,CAAC;gBACvB,MAAM,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,qEAAqE;YACrE,MAAM,MAAM,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC/E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACxC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,CAAC,iBAAiB;QACtB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/D,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;QACzB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,YAAY,GACd,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvG,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,CAAC,UAAyB,EAAE,QAAuB,EAAU,EAAE;YAC5E,MAAM,MAAM,GAAG,CAAC,iBAAiB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1G,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACzC,CAAC,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,SAAS;YACb,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,QAAQ,KAAK,CAAC,IAAI,UAAU,KAAK,YAAY,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC3E,QAAQ,EAAE,CAAC;gBACX,YAAY,GAAG,UAAU,CAAC;gBAC1B,UAAU,GAAG,QAAQ,CAAC;gBACtB,MAAM,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,IAAI,CAAC,IAAmB;QAC5B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,KAAa;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,MAAM;iBACR,OAAO,CAAC,KAAK,CAAC;iBACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,IAAgB,EAAE,GAAW;QAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;YACxG,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iFAAiF;gBACjF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAA0B,CAAC,EAAE,CAAC;wBAC7D,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;CACJ;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,IAAgB;IAChC,OAAO,CACH,IAAI,CAAC,IAAI,KAAK,IAAI;QAClB,IAAI,CAAC,KAAK,KAAK,QAAQ;QACvB,IAAI,CAAC,MAAM,KAAK,IAAI;QACpB,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAC/B,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAY;IAC3B,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,WAAW,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,QAAgB;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,IAAsB;IAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,SAAS;YACV,OAAO,SAAS,CAAC;QACrB,KAAK,SAAS,CAAC;QACf,KAAK,MAAM;YACP,OAAO,SAAS,CAAC;QACrB,KAAK,OAAO;YACR,OAAO,OAAO,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,QAAQ,CAAC;QACpB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC;QACpB,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB,KAAK,OAAO;YACR,OAAO,OAAO,CAAC;QACnB,KAAK,MAAM;YACP,OAAO,MAAM,CAAC;QAClB,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,GAAW,IAAI,CAAC,IAAI,CAAC;YAC/B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,sBAAsB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9F,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAA0B;IAC7C,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,KAAK;YACN,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,KAAK;YACN,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,KAAK,KAAK,CAAC;QACX,KAAK,IAAI;YACL,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,KAAK;YACN,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAChE,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACT,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC9D,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,KAAK,MAAM;YACP,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5D,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,GAAW,KAAK,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,iBAAiB,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,KAAc,EAAE,MAAkB,EAAE,IAAmB;IACzE,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,SAAS;YACV,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,KAAK,OAAO;YACR,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,KAAK,QAAQ;YACT,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,KAAK,SAAS;YACV,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7C,KAAK,QAAQ;YACT,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7D,KAAK,UAAU;YACX,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBACxD,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;gBACxC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,KAAK,OAAO;YACR,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,IAAI,GAAW,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,IAAI,gBAAgB,CAAC,eAAe,EAAE,qBAAqB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,KAAc;IAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,MAAM,CAAC,EAAU;IACtB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAS,MAAM,CAAC,MAAc,EAAE,GAAW;IACvC,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,MAAM;YACP,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,KAAK,MAAM;YACP,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,KAAK,MAAM;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,KAAK,MAAM;YACP,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACzD,OAAO,CAAC,CAAC,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxG,CAAC;IACL,CAAC;AACL,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,aAAa,GAAsC,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,kBAAkB;IAChC;;;;;OAKG;IACH,KAAK,CAAC,QAAuB,EAAE,OAAkD;QAC7E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD;;;;;OAKG;IACH,MAAM,CAAC,QAAuB,EAAE,OAAkD;QAC9E,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IACD;;;;;OAKG;IACH,cAAc,CAAC,QAAuB,EAAE,OAAkD;QACtF,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;CACJ,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,IAAI,CAAC,QAAuB,EAAE,OAA+D;IAClG,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;AACvG,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The neo4j-admin import header grammar (research note 07 section 2.6): every header cell is
|
|
3
|
+
* `<name>:<field type>(<id space>){<options>}` where the name and every later part are optional.
|
|
4
|
+
* The field types `ID`, `LABEL`, `START_ID`, `END_ID`, `TYPE` and `IGNORE` are structural; any
|
|
5
|
+
* other field type is a property type of design section 5.1 (`int`, `long`, `float`, `double`,
|
|
6
|
+
* `boolean`, `byte`, `short`, `char`, `string`, `point`, `date`, `localtime`, `time`,
|
|
7
|
+
* `localdatetime`, `datetime`, `duration`, each with an optional `[]` suffix); a cell without a
|
|
8
|
+
* colon is a string property. An id space may follow `ID`, `START_ID` and `END_ID`; brace options
|
|
9
|
+
* (`label`, `id-type`) may follow any structural type.
|
|
10
|
+
*/
|
|
11
|
+
/** The structural field types and the marker for a property column. */
|
|
12
|
+
export type FieldKind = "ID" | "LABEL" | "START_ID" | "END_ID" | "TYPE" | "IGNORE" | "PROPERTY";
|
|
13
|
+
/** One parsed header cell. */
|
|
14
|
+
export interface HeaderField {
|
|
15
|
+
/** The cell text as written. */
|
|
16
|
+
readonly text: string;
|
|
17
|
+
/** The property name (the id property name for `name:ID`); empty when none. */
|
|
18
|
+
readonly name: string;
|
|
19
|
+
/** The field kind. */
|
|
20
|
+
readonly kind: FieldKind;
|
|
21
|
+
/** The property type text for a PROPERTY field (null when the cell declares none); null otherwise. */
|
|
22
|
+
readonly type: string | null;
|
|
23
|
+
/** The id space of an ID / START_ID / END_ID field, or null. */
|
|
24
|
+
readonly space: string | null;
|
|
25
|
+
/** The brace options, keys lower-cased. */
|
|
26
|
+
readonly options: ReadonlyMap<string, string>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether a record looks like a section header: some cell declares an `ID`, `START_ID` or `END_ID`
|
|
30
|
+
* field. The neo4j-admin convention allows several files, each with its own header; graphty's
|
|
31
|
+
* single-file convention (the CSVDataSource of graphty-element) concatenates sections, so a header
|
|
32
|
+
* may appear anywhere.
|
|
33
|
+
* @param cells - the record's cells
|
|
34
|
+
* @param count - how many cells are valid
|
|
35
|
+
* @returns true when the record is a header
|
|
36
|
+
*/
|
|
37
|
+
export declare function isHeaderRecord(cells: readonly string[], count: number): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Parse one header cell.
|
|
40
|
+
* @param text - the cell text
|
|
41
|
+
* @returns the field; E_UNSUPPORTED (reason "header") for a cell outside the grammar
|
|
42
|
+
*/
|
|
43
|
+
export declare function parseHeaderField(text: string): HeaderField;
|
|
44
|
+
/**
|
|
45
|
+
* Write a header cell from its parts, the inverse of parseHeaderField.
|
|
46
|
+
* @param name - the property name, or empty
|
|
47
|
+
* @param type - the field type or property type
|
|
48
|
+
* @param space - the id space, or null
|
|
49
|
+
* @returns the cell text
|
|
50
|
+
*/
|
|
51
|
+
export declare function formatHeaderField(name: string, type: string, space: string | null): string;
|
|
52
|
+
//# sourceMappingURL=header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/header.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhG,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IACxB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,sGAAsG;IACtG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gEAAgE;IAChE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjD;AAOD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAS/E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAyC1D;AA0CD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAG1F"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The neo4j-admin import header grammar (research note 07 section 2.6): every header cell is
|
|
3
|
+
* `<name>:<field type>(<id space>){<options>}` where the name and every later part are optional.
|
|
4
|
+
* The field types `ID`, `LABEL`, `START_ID`, `END_ID`, `TYPE` and `IGNORE` are structural; any
|
|
5
|
+
* other field type is a property type of design section 5.1 (`int`, `long`, `float`, `double`,
|
|
6
|
+
* `boolean`, `byte`, `short`, `char`, `string`, `point`, `date`, `localtime`, `time`,
|
|
7
|
+
* `localdatetime`, `datetime`, `duration`, each with an optional `[]` suffix); a cell without a
|
|
8
|
+
* colon is a string property. An id space may follow `ID`, `START_ID` and `END_ID`; brace options
|
|
9
|
+
* (`label`, `id-type`) may follow any structural type.
|
|
10
|
+
*/
|
|
11
|
+
import { GraphFormatError } from "@graphty/graph-format";
|
|
12
|
+
const STRUCTURAL = new Set(["ID", "LABEL", "START_ID", "END_ID", "TYPE", "IGNORE"]);
|
|
13
|
+
const SPACE_KINDS = new Set(["ID", "START_ID", "END_ID"]);
|
|
14
|
+
const HEADER_MARKER = /^[^:{}()]*:\s*(ID|START_ID|END_ID)\s*(\(|\{|$)/i;
|
|
15
|
+
const CELL = /^([^:(){}]*)(?::([^:(){}]*))?(?:\(([^)]*)\))?(?:\{([^}]*)\})?$/;
|
|
16
|
+
/**
|
|
17
|
+
* Whether a record looks like a section header: some cell declares an `ID`, `START_ID` or `END_ID`
|
|
18
|
+
* field. The neo4j-admin convention allows several files, each with its own header; graphty's
|
|
19
|
+
* single-file convention (the CSVDataSource of graphty-element) concatenates sections, so a header
|
|
20
|
+
* may appear anywhere.
|
|
21
|
+
* @param cells - the record's cells
|
|
22
|
+
* @param count - how many cells are valid
|
|
23
|
+
* @returns true when the record is a header
|
|
24
|
+
*/
|
|
25
|
+
export function isHeaderRecord(cells, count) {
|
|
26
|
+
for (let i = 0; i < count; i++) {
|
|
27
|
+
const cell = cells[i];
|
|
28
|
+
// every header marker holds a colon; the indexOf keeps the regex off the data rows
|
|
29
|
+
if (cell.indexOf(":") >= 0 && HEADER_MARKER.test(cell.trim())) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Parse one header cell.
|
|
37
|
+
* @param text - the cell text
|
|
38
|
+
* @returns the field; E_UNSUPPORTED (reason "header") for a cell outside the grammar
|
|
39
|
+
*/
|
|
40
|
+
export function parseHeaderField(text) {
|
|
41
|
+
const trimmed = text.trim();
|
|
42
|
+
const m = CELL.exec(trimmed);
|
|
43
|
+
if (m === null) {
|
|
44
|
+
throw headerError(text, "not a neo4j header cell");
|
|
45
|
+
}
|
|
46
|
+
const name = m[1].trim();
|
|
47
|
+
const rawType = m[2] === undefined ? null : m[2].trim();
|
|
48
|
+
const space = m[3] === undefined ? null : m[3].trim();
|
|
49
|
+
const options = parseOptions(text, m[4]);
|
|
50
|
+
if (rawType === null) {
|
|
51
|
+
// `name` alone: a string property
|
|
52
|
+
if (name.length === 0) {
|
|
53
|
+
throw headerError(text, "an empty header cell");
|
|
54
|
+
}
|
|
55
|
+
if (space !== null || options.size > 0) {
|
|
56
|
+
throw headerError(text, "an id space or options need a field type");
|
|
57
|
+
}
|
|
58
|
+
return { text, name, kind: "PROPERTY", type: null, space: null, options };
|
|
59
|
+
}
|
|
60
|
+
if (rawType.length === 0) {
|
|
61
|
+
throw headerError(text, "an empty field type");
|
|
62
|
+
}
|
|
63
|
+
const upper = rawType.toUpperCase();
|
|
64
|
+
if (STRUCTURAL.has(upper)) {
|
|
65
|
+
const kind = upper;
|
|
66
|
+
if (space !== null && !SPACE_KINDS.has(kind)) {
|
|
67
|
+
throw headerError(text, `an id space is only allowed on ID, START_ID and END_ID, not ${kind}`);
|
|
68
|
+
}
|
|
69
|
+
if (name.length > 0 && kind !== "ID" && kind !== "IGNORE") {
|
|
70
|
+
throw headerError(text, `a ${kind} field cannot be stored as a property`);
|
|
71
|
+
}
|
|
72
|
+
return { text, name, kind, type: null, space: space === "" ? null : space, options };
|
|
73
|
+
}
|
|
74
|
+
if (name.length === 0) {
|
|
75
|
+
throw headerError(text, "a property column needs a name");
|
|
76
|
+
}
|
|
77
|
+
if (space !== null) {
|
|
78
|
+
throw headerError(text, "an id space is only allowed on ID, START_ID and END_ID");
|
|
79
|
+
}
|
|
80
|
+
return { text, name, kind: "PROPERTY", type: rawType, space: null, options };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Parse the `{key:value, key:value}` options of a header cell.
|
|
84
|
+
* @param text - the whole cell, for errors
|
|
85
|
+
* @param body - the text between the braces, or undefined when absent
|
|
86
|
+
* @returns the options with lower-cased keys
|
|
87
|
+
*/
|
|
88
|
+
function parseOptions(text, body) {
|
|
89
|
+
const options = new Map();
|
|
90
|
+
if (body === undefined || body.trim().length === 0) {
|
|
91
|
+
return options;
|
|
92
|
+
}
|
|
93
|
+
for (const part of body.split(",")) {
|
|
94
|
+
const colon = part.indexOf(":");
|
|
95
|
+
if (colon < 0) {
|
|
96
|
+
throw headerError(text, `option "${part.trim()}" is not key:value`);
|
|
97
|
+
}
|
|
98
|
+
const key = part.slice(0, colon).trim().toLowerCase();
|
|
99
|
+
const value = part.slice(colon + 1).trim();
|
|
100
|
+
if (key.length === 0) {
|
|
101
|
+
throw headerError(text, "an option needs a key");
|
|
102
|
+
}
|
|
103
|
+
options.set(key, value);
|
|
104
|
+
}
|
|
105
|
+
return options;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The error of a malformed header cell.
|
|
109
|
+
* @param text - the cell
|
|
110
|
+
* @param reason - why
|
|
111
|
+
* @returns the error
|
|
112
|
+
*/
|
|
113
|
+
function headerError(text, reason) {
|
|
114
|
+
return new GraphFormatError("E_UNSUPPORTED", `header cell "${text}": ${reason}`, {
|
|
115
|
+
reason: "header",
|
|
116
|
+
cell: text,
|
|
117
|
+
detail: reason,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Write a header cell from its parts, the inverse of parseHeaderField.
|
|
122
|
+
* @param name - the property name, or empty
|
|
123
|
+
* @param type - the field type or property type
|
|
124
|
+
* @param space - the id space, or null
|
|
125
|
+
* @returns the cell text
|
|
126
|
+
*/
|
|
127
|
+
export function formatHeaderField(name, type, space) {
|
|
128
|
+
const base = `${name}:${type}`;
|
|
129
|
+
return space === null ? base : `${base}(${space})`;
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/formats/neo4j/header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Neo4j importer (design sections 8.4 and 5.1, research note 07 sections 2.6 and 2.10): reads
|
|
3
|
+
* neo4j-admin import CSV -- node tables with `:ID`, `:LABEL` and typed property columns,
|
|
4
|
+
* relationship tables with `:START_ID`, `:END_ID`, `:TYPE` and typed property columns -- and pushes
|
|
5
|
+
* scalars into the sink one record at a time. Input is one or more files: the primary input plus the
|
|
6
|
+
* `nodes` and `relationships` option inputs, each read in order; every input holds one or more
|
|
7
|
+
* sections, each starting with its own header row (the single-file convention of graphty-element's
|
|
8
|
+
* CSVDataSource, where a node table and a relationship table follow each other in one file).
|
|
9
|
+
*
|
|
10
|
+
* Mapping (design section 5.1 and decision Q27):
|
|
11
|
+
* - Property columns are declared up front from the header types (`int` -> i32, `long` -> f64
|
|
12
|
+
* with a precision issue beyond 2^53, `float` -> f32, `double` -> f64, `boolean` -> bool,
|
|
13
|
+
* `string` / `char` / `duration` -> string, temporal types -> f64 milliseconds with a `.text`
|
|
14
|
+
* companion when the source text is not canonical, `point` -> json, `type[]` -> list); an
|
|
15
|
+
* untyped column is a string property. An unquoted empty cell is "property not set"; a quoted
|
|
16
|
+
* empty cell is an empty string (or an empty list), as neo4j-admin stores it by default.
|
|
17
|
+
* - `:LABEL` becomes the node list-of-dict column `labels` (role `labels`); `:TYPE` the edge dict
|
|
18
|
+
* column `type` (role `kind`); an id space `:ID(Space)` the node dict column `idSpace` (role
|
|
19
|
+
* `idSpace`), and a stored id `name:ID(Space)` also a string node column `name` whose
|
|
20
|
+
* `origin.namespace` is the space. A property whose name collides with one of those is renamed
|
|
21
|
+
* `<name>#<name>` (design section 5.6).
|
|
22
|
+
* - Ids are text cells coerced by the `ids` option ("canonical" by default, so `1` is the number 1
|
|
23
|
+
* and `007` stays a string; integers beyond 2^53 stay strings). Relationships are always directed
|
|
24
|
+
* ("In Neo4j, all relationships have a direction"), so the sink is set directed before the first
|
|
25
|
+
* edge and `onMixedDirection: "undirected"` is the way to read a file as undirected.
|
|
26
|
+
* - `:IGNORE` columns are skipped and counted in a loss note.
|
|
27
|
+
*/
|
|
28
|
+
import { type GraphImporter, type ImportInput } from "../../types.js";
|
|
29
|
+
/** The format-specific options of the Neo4j importer. */
|
|
30
|
+
export interface Neo4jImportOptions {
|
|
31
|
+
/** Further node files, each with its own header row(s); read after the primary input. */
|
|
32
|
+
nodes?: ImportInput | readonly ImportInput[] | undefined;
|
|
33
|
+
/** Relationship files, each with its own header row(s); read after the node files. */
|
|
34
|
+
relationships?: ImportInput | readonly ImportInput[] | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* The field delimiter (neo4j-admin `--delimiter`); one character. When absent it is sniffed
|
|
37
|
+
* from the first rows between "," and a tab, so a `.tsv` file needs no option.
|
|
38
|
+
*/
|
|
39
|
+
delimiter?: string | undefined;
|
|
40
|
+
/** The array delimiter of list values and `:LABEL` cells (neo4j-admin `--array-delimiter`); ";" by default. */
|
|
41
|
+
arrayDelimiter?: ";" | "," | "|" | undefined;
|
|
42
|
+
/** The quote character (neo4j-admin `--quote`); one character; a double quote by default. */
|
|
43
|
+
quote?: string | undefined;
|
|
44
|
+
}
|
|
45
|
+
/** The name of the node list column holding `:LABEL` values. */
|
|
46
|
+
export declare const LABELS_COLUMN = "labels";
|
|
47
|
+
/** The name of the edge dict column holding `:TYPE` values. */
|
|
48
|
+
export declare const TYPE_COLUMN = "type";
|
|
49
|
+
/** The name of the node dict column holding the id space of `:ID(Space)`. */
|
|
50
|
+
export declare const ID_SPACE_COLUMN = "idSpace";
|
|
51
|
+
/** Issue code: a header row (or a whole section) is malformed; the import aborts. */
|
|
52
|
+
export declare const HEADER_CODE = "E_NEO4J_HEADER";
|
|
53
|
+
/** Issue code: a row has a different number of cells than its header. */
|
|
54
|
+
export declare const COLUMN_COUNT_CODE = "E_NEO4J_COLUMN_COUNT";
|
|
55
|
+
/** Issue code: a node row has an unquoted empty `:ID` cell (a quoted empty cell is the id ""). */
|
|
56
|
+
export declare const MISSING_ID_CODE = "E_MISSING_ID";
|
|
57
|
+
/** Issue code: a relationship row has an unquoted empty `:START_ID` or `:END_ID` cell. */
|
|
58
|
+
export declare const MISSING_ENDPOINT_CODE = "E_MISSING_ENDPOINT";
|
|
59
|
+
/** Issue code: a node id was declared twice (same id space); the later row's properties win. */
|
|
60
|
+
export declare const DUPLICATE_NODE_CODE = "W_DUPLICATE_NODE";
|
|
61
|
+
/** Issue code: a node id was declared in two id spaces; the core has one id space and the later row is skipped. */
|
|
62
|
+
export declare const ID_SPACE_COLLISION_CODE = "E_NEO4J_ID_SPACE_COLLISION";
|
|
63
|
+
/** Issue code: two different id cells became one id under `ids: "number"`. */
|
|
64
|
+
export declare const ID_MERGED_CODE = "W_ID_MERGED";
|
|
65
|
+
/** Issue code: a header brace option the importer does not act on. */
|
|
66
|
+
export declare const HEADER_OPTION_CODE = "W_NEO4J_HEADER_OPTION_IGNORED";
|
|
67
|
+
/** Issue code: a reserved column (labels / type / idSpace) lost its role because the sink already holds it. */
|
|
68
|
+
export declare const ROLE_TAKEN_CODE = "W_ROLE_TAKEN";
|
|
69
|
+
/** Loss code: `:IGNORE` columns were skipped. */
|
|
70
|
+
export declare const IGNORED_COLUMNS_LOSS = "W_NEO4J_IGNORED_COLUMNS";
|
|
71
|
+
/** The Neo4j importer. */
|
|
72
|
+
export declare const neo4jImporter: GraphImporter<Neo4jImportOptions>;
|
|
73
|
+
//# sourceMappingURL=importer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../../../src/formats/neo4j/importer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AA4CH,OAAO,EAEH,KAAK,aAAa,EAElB,KAAK,WAAW,EAEnB,MAAM,gBAAgB,CAAC;AAIxB,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IAC/B,yFAAyF;IACzF,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACzD,sFAAsF;IACtF,aAAa,CAAC,EAAE,WAAW,GAAG,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACjE;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,+GAA+G;IAC/G,cAAc,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC7C,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,+DAA+D;AAC/D,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,6EAA6E;AAC7E,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAE5C,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,yBAAyB,CAAC;AAExD,kGAAkG;AAClG,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,uBAA+B,CAAC;AAElE,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,qBAA6B,CAAC;AAE9D,mHAAmH;AACnH,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AAEpE,8EAA8E;AAC9E,eAAO,MAAM,cAAc,gBAAwB,CAAC;AAEpD,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,kCAAkC,CAAC;AAElE,+GAA+G;AAC/G,eAAO,MAAM,eAAe,iBAAyB,CAAC;AAEtD,iDAAiD;AACjD,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AA+hC9D,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,kBAAkB,CA6B1D,CAAC"}
|