log10x-mcp 1.30.9 → 1.30.13
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/build/lib/advisor/compaction-support.d.ts +5 -6
- package/build/lib/advisor/compaction-support.js +9 -10
- package/build/lib/advisor/compaction-support.js.map +1 -1
- package/build/lib/advisor/reporter-forwarders.d.ts +5 -4
- package/build/lib/advisor/reporter-forwarders.js.map +1 -1
- package/build/lib/advisor/reporter.d.ts +9 -8
- package/build/lib/advisor/reporter.js +8 -7
- package/build/lib/advisor/reporter.js.map +1 -1
- package/build/lib/advisor/retriever.d.ts +131 -8
- package/build/lib/advisor/retriever.js +609 -124
- package/build/lib/advisor/retriever.js.map +1 -1
- package/build/lib/cost.d.ts +154 -15
- package/build/lib/cost.js +192 -18
- package/build/lib/cost.js.map +1 -1
- package/build/lib/offload-recipes.js +1 -1
- package/build/lib/plan-solver.d.ts +15 -0
- package/build/lib/plan-solver.js +18 -0
- package/build/lib/plan-solver.js.map +1 -1
- package/build/lib/poc-envelope-v2.d.ts +9 -1
- package/build/lib/poc-envelope-v2.js +72 -16
- package/build/lib/poc-envelope-v2.js.map +1 -1
- package/build/lib/poc-report-renderer.d.ts +1 -1
- package/build/lib/poc-report-renderer.js +43 -8
- package/build/lib/poc-report-renderer.js.map +1 -1
- package/build/lib/rate-resolution.js +11 -4
- package/build/lib/rate-resolution.js.map +1 -1
- package/build/lib/server-instructions.js +5 -4
- package/build/lib/server-instructions.js.map +1 -1
- package/build/lib/siem/clickhouse.js +6 -0
- package/build/lib/siem/clickhouse.js.map +1 -1
- package/build/lib/siem/pricing.js +7 -3
- package/build/lib/siem/pricing.js.map +1 -1
- package/build/product-kb/docs/api/github.md +0 -3
- package/build/product-kb/docs/apps/compiler/run.md +62 -38
- package/build/product-kb/docs/apps/mcp/run.md +8 -3
- package/build/product-kb/docs/apps/receiver/compact/elasticsearch.md +2 -2
- package/build/product-kb/docs/apps/receiver/compact/index.md +6 -6
- package/build/product-kb/docs/apps/receiver/compact/splunk.md +2 -2
- package/build/product-kb/docs/apps/receiver/faq.md +40 -65
- package/build/product-kb/docs/apps/receiver/index.md +2 -2
- package/build/product-kb/docs/apps/receiver/run.md +288 -70
- package/build/product-kb/docs/apps/reporter/faq.md +3 -3
- package/build/product-kb/docs/apps/reporter/run.md +255 -47
- package/build/product-kb/docs/apps/retriever/deploy/azure.md +7 -1
- package/build/product-kb/docs/apps/retriever/deploy/index.md +11 -5
- package/build/product-kb/docs/apps/retriever/faq.md +8 -8
- package/build/product-kb/docs/apps/retriever/run.md +268 -48
- package/build/product-kb/docs/compile/bootstrap/index.md +12 -5
- package/build/product-kb/docs/compile/link/index.md +1 -1
- package/build/product-kb/docs/compile/monitor/index.md +1 -1
- package/build/product-kb/docs/compile/scan/index.md +1 -1
- package/build/product-kb/docs/compile/scanner/executable/index.md +2 -2
- package/build/product-kb/docs/doc/bootstrap/index.md +28 -14
- package/build/product-kb/docs/doc/monitor/index.md +1 -1
- package/build/product-kb/docs/engine/launcher/lambda.md +1 -1
- package/build/product-kb/docs/faq/apps/receiver.md +40 -65
- package/build/product-kb/docs/faq/apps/reporter.md +3 -3
- package/build/product-kb/docs/faq/apps/retriever.md +5 -5
- package/build/product-kb/docs/faq/general.md +8 -8
- package/build/product-kb/docs/faq/pricing/overview.md +1 -1
- package/build/product-kb/docs/faq/stacks/datadog/comparisons.md +1 -1
- package/build/product-kb/docs/faq/stacks/datadog/optimization.md +1 -1
- package/build/product-kb/docs/faq/stacks/elasticsearch/comparisons.md +3 -3
- package/build/product-kb/docs/faq/stacks/elasticsearch/index.md +1 -1
- package/build/product-kb/docs/faq/stacks/index.md +1 -1
- package/build/product-kb/docs/faq/stacks/splunk/comparisons.md +4 -4
- package/build/product-kb/docs/faq/stacks/splunk/index.md +3 -3
- package/build/product-kb/docs/faq/stacks/splunk/optimization.md +1 -1
- package/build/product-kb/docs/install/datadog.md +99 -0
- package/build/product-kb/docs/run/bootstrap/index.md +42 -21
- package/build/product-kb/docs/run/index.md +1 -1
- package/build/product-kb/docs/run/initialize/message/index.md +29 -8
- package/build/product-kb/docs/run/input/analyzer/cloudwatchLogs/index.md +1 -1
- package/build/product-kb/docs/run/input/analyzer/datadogLogs/index.md +1 -1
- package/build/product-kb/docs/run/input/analyzer/elasticsearch/index.md +1 -1
- package/build/product-kb/docs/run/input/analyzer/index.md +1 -1
- package/build/product-kb/docs/run/input/analyzer/splunk/index.md +1 -1
- package/build/product-kb/docs/run/input/forwarder/datadogAgent/index.md +19 -7
- package/build/product-kb/docs/run/input/forwarder/filebeat/index.md +16 -2
- package/build/product-kb/docs/run/input/forwarder/fluentbit/index.md +18 -7
- package/build/product-kb/docs/run/input/forwarder/fluentd/index.md +18 -7
- package/build/product-kb/docs/run/input/forwarder/logstash/index.md +15 -5
- package/build/product-kb/docs/run/input/forwarder/otel-collector/index.md +43 -9
- package/build/product-kb/docs/run/input/forwarder/vector/index.md +18 -7
- package/build/product-kb/docs/run/input/objectStorage/delete/index.md +16 -6
- package/build/product-kb/docs/run/input/objectStorage/index.md +2 -2
- package/build/product-kb/docs/run/input/objectStorage/input/index.md +14 -6
- package/build/product-kb/docs/run/input/objectStorage/query/index.md +11 -5
- package/build/product-kb/docs/run/input/stream/index.md +1 -1
- package/build/product-kb/docs/run/monitor/index.md +1 -1
- package/build/product-kb/docs/run/output/event/dev/index.md +2 -2
- package/build/product-kb/docs/run/output/event/outputStream/index.md +1 -1
- package/build/product-kb/docs/run/output/metric/index.md +8 -8
- package/build/product-kb/docs/run/output/metric/log10x/index.md +291 -1
- package/build/product-kb/docs/run/output/metric/prometheus/remote-write/index.md +1 -1
- package/build/product-kb/docs/run/output/stream/index.md +2 -2
- package/build/product-kb/docs/run/receive/compact/index.md +7 -7
- package/build/product-kb/docs/run/receive/rate/index.md +67 -33
- package/build/product-kb/docs/run/transform/index.md +1 -1
- package/build/product-kb/docs/summary.md +1 -1
- package/build/tools/advise-install.d.ts +4 -4
- package/build/tools/advise-install.js +73 -15
- package/build/tools/advise-install.js.map +1 -1
- package/build/tools/advise-retriever.d.ts +11 -0
- package/build/tools/advise-retriever.js +185 -30
- package/build/tools/advise-retriever.js.map +1 -1
- package/build/tools/baseline.d.ts +15 -0
- package/build/tools/baseline.js +20 -3
- package/build/tools/baseline.js.map +1 -1
- package/build/tools/configure-engine.d.ts +9 -4
- package/build/tools/configure-engine.js +9 -4
- package/build/tools/configure-engine.js.map +1 -1
- package/build/tools/cost-options.js +24 -10
- package/build/tools/cost-options.js.map +1 -1
- package/build/tools/estimate-savings.d.ts +57 -1
- package/build/tools/estimate-savings.js +103 -8
- package/build/tools/estimate-savings.js.map +1 -1
- package/build/tools/explain-mode.js +11 -9
- package/build/tools/explain-mode.js.map +1 -1
- package/build/tools/measure-compaction.js +38 -3
- package/build/tools/measure-compaction.js.map +1 -1
- package/build/tools/pattern-mitigate.js +1 -1
- package/build/tools/pattern-mitigate.js.map +1 -1
- package/default-manifest.json +1 -1
- package/package.json +1 -1
- package/build/product-kb/docs/apps/receiver/compact/clickhouse.md +0 -583
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../../src/lib/advisor/retriever.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retriever.js","sourceRoot":"","sources":["../../../src/lib/advisor/retriever.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAKH,OAAO,EAAE,oBAAoB,EAA2B,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5C;;iFAEiF;AACjF,SAAS,qBAAqB,CAAC,UAAqC;IAClE,MAAM,MAAM,GAAuD;QACjE,SAAS,EAAE,YAAY;QACvB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;QACpB,gBAAgB,EAAE,gBAAgB;QAClC,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,EAAE;YAAE,OAAO,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAuFD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AACnD,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC;AAEzD,iFAAiF;AACjF,MAAM,oBAAoB,GAAG;IAC3B,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,eAAe;IACzB,MAAM,EAAE,aAAa;CACb,CAAC;AAEX,MAAM,oBAAoB,GAAG,uCAAuC,CAAC;AACrE,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AACvC,sFAAsF;AACtF,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,mBAAmB,GAAG,GAAG,qBAAqB,IAAI,oBAAoB,EAAE,CAAC;AAE/E,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mBAAmB,CAAC;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC;AAC9D,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,oBAAoB,uCAAuC,CAAC;AAErG;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,+FAA+F,CAAC;AAElG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACpC,wGAAwG;IACxG,yGAAyG;IACzG,wGAAwG;IACxG,uDAAuD,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAC7B,iCAAiC,iBAAiB,gDAAgD;IAClG,GAAG,0BAA0B,WAAW,8BAA8B,iCAAiC;IACvG,2GAA2G;IAC3G,0GAA0G;IAC1G,yGAAyG;IACzG,8FAA8F;IAC9F,2GAA2G;IAC3G,4GAA4G;IAC5G,6GAA6G;IAC7G,0GAA0G;IAC1G,mDAAmD;IACnD,yGAAyG;IACzG,0GAA0G;IAC1G,yGAAyG;IACzG,WAAW;IACX,uGAAuG;IACvG,0CAA0C,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GACnC,yGAAyG,CAAC;AAE5G,MAAM,CAAC,MAAM,qBAAqB,GAChC,0GAA0G;IAC1G,yGAAyG;IACzG,wGAAwG;IACxG,yGAAyG,CAAC;AAE5G;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,sGAAsG;IACtG,uGAAuG;IACvG,kGAAkG;IAClG,wGAAwG;IACxG,kDAAkD,CAAC;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAC5C,sGAAsG;IACtG,2GAA2G;IAC3G,0FAA0F;IAC1F,uGAAuG,CAAC;AAE1G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GACpC,sGAAsG;IACtG,wGAAwG;IACxG,uGAAuG;IACvG,+FAA+F;IAC/F,kDAAkD,CAAC;AAErD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,4GAA4G;IAC5G,8DAA8D,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,eAAyC;IAC7E,2EAA2E;IAC3E,+BAA+B;IAC/B,MAAM,IAAI,GACR,eAAe,KAAK,OAAO;QACzB,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,8CAA8C,CAAC;IACrD,OAAO,CACL,2GAA2G;QAC3G,iEAAiE,IAAI,uCAAuC,CAC7G,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,MAAM,oBAAoB,GAC/B,iDAAiD,aAAa,kDAAkD;IAChH,6GAA6G;IAC7G,0GAA0G;IAC1G,kGAAkG,CAAC;AAErG;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,aAAqB;IAC7D,OAAO,QAAQ,sBAAsB,+BAA+B,aAAa,EAAE,CAAC;AACtF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,gHAAgH,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAQ3C;IACC,OAAO;QACL,iBAAiB,qBAAqB,IAAI,oBAAoB,EAAE;QAChE,kBAAkB;QAClB,aAAa,mBAAmB,cAAc,uBAAuB,UAAU;QAC/E;YACE,QAAQ,sBAAsB,KAAK;YACnC,sBAAsB,IAAI,CAAC,aAAa,KAAK;YAC7C,gBAAgB,IAAI,CAAC,QAAQ,KAAK;YAClC,eAAe,IAAI,CAAC,OAAO,KAAK;YAChC,kBAAkB,IAAI,CAAC,UAAU,KAAK;YACtC,iBAAiB,aAAa,KAAK;YACnC,iBAAiB,IAAI,CAAC,SAAS,KAAK;YACpC,eAAe,IAAI,CAAC,WAAW,KAAK;YACpC,kBAAkB,IAAI,CAAC,SAAS,EAAE;SACnC,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAyB;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,cAAc,CAAC;IAEvD,yEAAyE;IACzE,8EAA8E;IAC9E,qDAAqD;IACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,SAAS,CAAC;IACtF,MAAM,kBAAkB,GAAG,eAAe,EAAE,SAAS,CAAC;IACtD,MAAM,SAAS,GACb,IAAI,CAAC,SAAS;QACd,CAAC,kBAAkB;YACjB,CAAC,CAAC,kBAAkB,CAAG,yCAAyC;YAChE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,IAAI,SAAS,CAAC,CAAC;IAEhE,MAAM,eAAe,GAA6B,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;IAChF,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,CAAC;IAE5C,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,EAAE;IACF,4EAA4E;IAC5E,oEAAoE;IACpE,gEAAgE;IAChE,2EAA2E;IAC3E,4EAA4E;IAC5E,sEAAsE;IACtE,sEAAsE;IACtE,MAAM,eAAe,GACnB,CAAC,OAAO,IAAI,kBAAkB;QAC5B,CAAC,CAAC,MAAM,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,uEAAuE;IACvE,mEAAmE;IACnE,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,IAAI,CAAC,WAAW;QAClB,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,iBAAiB,CAAC;IACtF,MAAM,WAAW,GACf,IAAI,CAAC,WAAW;QAChB,CAAC,OAAO;YACN,CAAC,CAAC,IAAI,CAAC,cAAc;gBACnB,CAAC,CAAC,GAAG,IAAI,CAAC,cAAc,kBAAkB;gBAC1C,CAAC,CAAC,SAAS;YACb,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,GAAG,WAAW,oBAAoB;gBACpC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnB,MAAM,WAAW,GAAG,OAAO;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,WAAW;YAChB,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAC9C,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAChG,EAAE,OAAO,CAAC;IAEf,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,IAAI,EAAE,CAAC;IACtF,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE;QAChF,CAAC,CAAC;YACE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK;YAClD,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,cAAc,CAAC,KAAK;YAClD,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,cAAc,CAAC,QAAQ;YAC3D,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,cAAc,CAAC,MAAM;SACtD,CAAC;IAEN,MAAM,WAAW,GAAG;QAClB,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,oBAAoB,CAAC,KAAK;QAC5D,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,oBAAoB,CAAC,KAAK;QAC5D,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,oBAAoB,CAAC,QAAQ;QACrE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,IAAI,oBAAoB,CAAC,MAAM;KAChE,CAAC;IAEF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CACX,0OAA0O,CAC3O,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,yHAAyH,CAC1H,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CACX,sHAAsH,CACvH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,QAAQ,CAAC,IAAI,CACX,iPAAiP,CAClP,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,yJAAyJ,CAC1J,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,mQAAmQ,CACpQ,CAAC;QACJ,CAAC;QACD,MAAM,aAAa,GAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CACX,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,sIAAsI,CAC5L,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE;QACrE,WAAW;QACX,WAAW;QACX,WAAW;QACX,OAAO;QACP,qEAAqE;QACrE,iEAAiE;QACjE,iEAAiE;QACjE,6DAA6D;QAC7D,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,eAAe;QACf,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CACR,OAAO;YACL,CAAC,CAAC,mDAAmD,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,gKAAgK;YACxQ,CAAC,CAAC,mDAAmD,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,oJAAoJ,CAC/P,CAAC;IACJ,CAAC;IACD,mEAAmE;IACnE,IAAI,kBAAkB,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW;YACnC,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,yCAAyC,kBAAkB,GAAG;gBAChE,CAAC,CAAC,oDAAoD,CAAC;QAC3D,KAAK,CAAC,IAAI,CACR,sBAAsB,SAAS,sEAAsE;YACrG,8BAA8B,YAAY,GAAG,CAC9C,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CACR,OAAO;QACL,CAAC,CAAC,oTAAoT,sBAAsB,gCAAgC,mBAAmB,cAAc,uBAAuB,qCAAqC;QACzc,CAAC,CAAC,qMAAqM,CAC1M,CAAC;IACF,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,oCAAoC,mBAAmB,iJAAiJ,CACzM,CAAC;QACF,KAAK,CAAC,IAAI,CACR,sbAAsb,CACvb,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,yEAAyE;IACzE,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,0EAA0E;IAC1E,2EAA2E;IAC3E,sEAAsE;IACtE,yEAAyE;IACzE,uBAAuB;IACvB,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,QAAQ,CAAC;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CACR,sDAAsD;YACtD,4CAA4C,cAAc,CAAC,SAAS,gBAAgB;YACpF,wFAAwF;YACxF,yFAAyF;YACzF,sCAAsC;YACtC,kHAAkH;YAClH,mGAAmG;YACnG,2FAA2F;YAC3F,+DAA+D;YAC/D,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IAC5E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CACV,GAAG,CAAC,OAAO;YACT,CAAC,CAAC,sBAAsB,CAAC;gBACrB,WAAW;gBACX,SAAS;gBACT,eAAe;gBACf,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,cAAc,EAAE,IAAI,CAAC,cAAe;gBACpC,cAAc,EAAE,WAAY;gBAC5B,cAAc,EAAE,WAAY;gBAC5B,QAAQ,EAAE,IAAI,CAAC,aAAc;gBAC7B,QAAQ,EAAE,IAAI,CAAC,aAAc;gBAC7B,MAAM,EAAE,WAAW;gBACnB,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;YACJ,CAAC,CAAC,iBAAiB,CAAC;gBAChB,WAAW;gBACX,SAAS;gBACT,eAAe;gBACf,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,WAAW,EAAE,WAAY;gBACzB,WAAW,EAAE,WAAY;gBACzB,WAAW,EAAE,WAAY;gBACzB,OAAO,EAAE,OAAoE;aAC9E,CAAC,CAAC,CACR,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,0EAA0E;QAC1E,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,OAAO;YAC/B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC5E,MAAM,CAAC,IAAI,CACT,GAAG,iBAAiB,CAAC;YACnB,WAAW;YACX,SAAS;YACT,eAAe;YACf,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,WAAW;SACZ,CAAC,CACH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CACX,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CACnF,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACpC,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,eAAe,GAAG,OAAO;QAC7B,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,oBAAoB,CAClB;gBACE,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;gBAC3B,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,YAAY;gBAC7B,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,EACD,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAClD,IAAI,CAAC,WAAW,CACjB;YACH,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,WAAW,IAAI,MAAM;YACrB,CAAC,CAAC,oBAAoB,CAClB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAC9C,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAClD,IAAI,CAAC,WAAW,CACjB;YACH,CAAC,CAAC,SAAS,CAAC;IAEhB,kEAAkE;IAClE,4EAA4E;IAC5E,4EAA4E;IAC5E,+DAA+D;IAC/D,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,SAAS,CAAC;IAClF,MAAM,uBAAuB,GAAG,CAAC,oBAAoB;QACnD,CAAC,CAAC,oCAAoC,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC;QAC/E,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,GAAG,EAAE,WAAW;QAChB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW;QACX,SAAS;QACT,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;QACjC,SAAS;QACT,OAAO;QACP,MAAM;QACN,QAAQ;QACR,KAAK;QACL,eAAe;QACf,uBAAuB;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oCAAoC,CAC3C,WAAmB,EACnB,SAAiB,EACjB,kBAA4C,KAAK;IAEjD,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,CAAC;IAC5C,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,kEAAkE;IAClE,oEAAoE;IACpE,MAAM,OAAO,GAAG,OAAO;QACrB,CAAC,CAAC,GAAG,WAAW,IAAI,sBAAsB,EAAE;QAC5C,CAAC,CAAC,GAAG,WAAW,IAAI,oBAAoB,IAAI,sBAAsB,EAAE,CAAC;IACvE,MAAM,kBAAkB,GAAG,OAAO;QAChC,CAAC,CAAC;YACE,SAAS;YACT,4BAA4B;YAC5B,UAAU;YACV,sBAAsB;YACtB,KAAK;SACN;QACH,CAAC,CAAC;YACE,SAAS;YACT,4BAA4B;YAC5B,YAAY;YACZ,YAAY;YACZ,wBAAwB;YACxB,kBAAkB;YAClB,gEAAgE;YAChE,KAAK;SACN,CAAC;IACN,MAAM,iBAAiB,GAAG,OAAO;QAC/B,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,mDAAmD,CAAC;IACxD,OAAO;QACL,wDAAwD;QACxD,EAAE;QACF,2EAA2E;YAC3E,mFAAmF;YACnF,iGAAiG;QACjG,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,2DAA2D;QAC3D,EAAE;QACF,SAAS;QACT,2BAA2B,SAAS,QAAQ,OAAO,WAAW;QAC9D,KAAK;QACL,EAAE;QACF,4DAA4D;QAC5D,EAAE;QACF,SAAS;QACT,6DAA6D;QAC7D,KAAK;QACL,EAAE;QACF,2EAA2E;YAC3E,wDAAwD;QACxD,EAAE;QACF,iEAAiE;QACjE,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,GAAG,kBAAkB;QACrB,EAAE;QACF,aAAa;QACb,EAAE;QACF,SAAS;QACT,OAAO;YACL,CAAC,CAAC,gBAAgB,WAAW,IAAI,mBAAmB,cAAc,uBAAuB,aAAa,SAAS,aAAa,WAAW,+BAA+B,WAAW,2DAA2D;YAC5O,CAAC,CAAC,gBAAgB,WAAW,IAAI,mBAAmB,OAAO,SAAS,8BAA8B;QACpG,KAAK;QACL,EAAE;QACF,yDAAyD;YACzD,GAAG,SAAS,YAAY,OAAO,EAAE;YACjC,uCAAuC;QACvC,EAAE;QACF,SAAS;QACT,iEAAiE;QACjE,KAAK;QACL,EAAE;QACF,yDAAyD;QACzD,EAAE;QACF,2EAA2E;YAC3E,yBAAyB,GAAG,OAAO,GAAG,GAAG,GAAG,SAAS,GAAG,0BAA0B;YAClF,uDAAuD;YACvD,8DAA8D;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAA2B,EAC3B,WAAmB,EACnB,SAAiB,EACjB,KAsBC;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAClD,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;YAChC,CAAC,CAAC,aAAa,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAI;YAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,iBAAiB;KAChD,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAChC,MAAM,EAAE,QAAQ;YACd,CAAC,CAAC,KAAK,SAAS,WAAW;YAC3B,CAAC,CAAC,KAAK,SAAS,qDAAqD;KACxE,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS,CAC3D,CAAC;IACF,yCAAyC;IACzC,+DAA+D;IAC/D,qEAAqE;IACrE,oEAAoE;IACpE,qEAAqE;IACrE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACxC,MAAM,EAAE,gBAAgB;gBACtB,CAAC,CAAC,aAAa,WAAW,iBAAiB,SAAS,wBAAwB;gBAC5E,CAAC,CAAC,QAAQ,WAAW,yBAAyB,SAAS,sDAAsD;SAChH,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;YACxC,MAAM,EAAE,gBAAgB;gBACtB,CAAC,CAAC,0BAA0B,WAAW,0BAA0B,SAAS,wEAAwE;gBAClJ,CAAC,CAAC,QAAQ,WAAW,mBAAmB,SAAS,uBAAuB;SAC3E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,KAAK,OAAO,CAAC;IAEtD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACjD,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS;gBAC/B,CAAC,CAAC,kBAAkB,QAAQ,CAAC,KAAK,CAAC,cAAc,IAAI,GAAG,IAAI;gBAC5D,CAAC,CAAC,sFAAsF;SAC3F,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC5C,MAAM,EAAE,KAAK,CAAC,cAAc;gBAC1B,CAAC,CAAC,KAAK,KAAK,CAAC,cAAc,uFAAuF;gBAClH,CAAC,CAAC,gEAAgE;SACrE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,KAAK,CAAC,WAAW;gBACvB,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,IAAI;gBAC5B,CAAC,CAAC,gEAAgE;SACrE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,uDAAuD;SACrF,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAClE,MAAM,EACJ,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa;gBACxC,CAAC,CAAC,eAAe,KAAK,CAAC,aAAa,gBAAgB,KAAK,CAAC,aAAa,IAAI;gBAC3E,CAAC,CAAC,sJAAsJ;SAC7J,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAU,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,iBAAiB,GAAG,EAAE;gBAC5B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;gBAC5B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,gCAAgC,GAAG,eAAe;aAClF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAC9C,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS;gBAC5B,CAAC,CAAC,aAAa,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,IAAI,GAAG,gBAAgB,QAAQ,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI;gBACxG,CAAC,CAAC,2DAA2D;SAChE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,KAAK,CAAC,WAAW;gBACvB,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,IAAI;gBAC5B,CAAC,CAAC,2DAA2D;SAChE,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,KAAK,CAAC,WAAW,IAAI,iEAAiE;SAC/F,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YACzC,MAAM,EAAE,KAAK,CAAC,WAAW;gBACvB,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,IAAI;gBAC5B,CAAC,CAAC,mEAAmE;SACxE,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAU,EAAE,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO,GAAG,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;gBAC1C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B,GAAG,eAAe;aAC3G,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,uEAAuE;IACvE,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,mDAAmD;IAEnD,uDAAuD;IACvD,gEAAgE;IAChE,yEAAyE;IACzE,0EAA0E;IAC1E,wEAAwE;IACxE,8CAA8C;IAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAC1B,MAAM,EACN,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,EAC7D,EAAE,SAAS,EAAE,KAAK,EAAE,CACrB,CAAC;YACF,IAAI,UAAU,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAA4B,CAAC;gBACxE,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;gBACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1C,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,4CAA4C;oBAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5B,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,MAAM,MAAM,GAAI,IAAgC,CAAC,eAAe,CAAC,CAAC;wBAClE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;4BAChD,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACT,6DAA6D;QAC7D,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,qBAAqB,aAAa,8HAA8H;aACzK,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE;oBACN,uIAAuI;oBACvI,iBAAiB;oBACjB,wHAAwH;oBACxH,KAAK,CAAC,WAAW;wBACf,CAAC,CAAC,uCAAuC,KAAK,CAAC,WAAW,4GAA4G;wBACtK,CAAC,CAAC,yGAAyG;iBAC9G,CAAC,IAAI,CAAC,IAAI,CAAC;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAS1B;IACC,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,yBAAyB;QAChC,SAAS,EAAE,aAAa,mBAAmB,uCAAuC;QAClF,QAAQ,EAAE;YACR,iBAAiB,qBAAqB,IAAI,oBAAoB,EAAE;YAChE,kBAAkB;YAClB,oBAAoB,mBAAmB,EAAE;SAC1C;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,yBAAyB;QAChC,SAAS,EAAE,iCAAiC,IAAI,CAAC,SAAS,KAAK;QAC/D,QAAQ,EAAE;YACR,4BAA4B,IAAI,CAAC,SAAS,gDAAgD;SAC3F;KACF,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,WAAW,cAAc,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EAAE,oGAAoG;QAC/G,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC;YACrC,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,wEAAwE;QACnF,QAAQ,EAAE;YACR,0BAA0B,IAAI,CAAC,WAAW,IAAI,mBAAmB,aAAa,IAAI,CAAC,SAAS,gCAAgC,UAAU,EAAE;SACzI;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,oEAAoE;QAC/E,QAAQ,EAAE;YACR,cAAc,IAAI,CAAC,SAAS,4DAA4D,IAAI,CAAC,WAAW,wBAAwB;SACjI;QACD,iBAAiB,EAAE,GAAG;KACvB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,IAQ9B;IACC,qEAAqE;IACrE,yEAAyE;IACzE,iEAAiE;IACjE,sEAAsE;IACtE,EAAE;IACF,2EAA2E;IAC3E,2EAA2E;IAC3E,8CAA8C;IAC9C,MAAM,UAAU,GACd,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU;QACrC,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU,GAAG;QAClC,CAAC,CAAC,kFAAkF,CAAC;IACzF,OAAO;;EAEP,UAAU;kBACM,IAAI,CAAC,WAAW;;;;;;;;;;mCAUC,IAAI,CAAC,WAAW;;gBAEnC,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW;;kBAEd,IAAI,CAAC,OAAO,CAAC,KAAK;kBAClB,IAAI,CAAC,OAAO,CAAC,KAAK;qBACf,IAAI,CAAC,OAAO,CAAC,QAAQ;mBACvB,IAAI,CAAC,OAAO,CAAC,MAAM;CACrC,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,cAAsB;IAItD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,sBAAsB,CAAC,IAc/B;IACC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,2EAA2E;IAC3E,wEAAwE;IACxE,MAAM,qBAAqB,GAAG,GAAG,IAAI,CAAC,WAAW,yBAAyB,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,WAAW,oBAAoB,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,oBAAoB,CAAC;IACpD,MAAM,cAAc,GAAG,GAAG,GAAG,aAAa,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,wBAAwB,CACjF,IAAI,CAAC,cAAc,CACpB,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,SAAS,eAAe,CAAC;IAElD,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kDAAkD;QACzD,SAAS,EACP,mDAAmD,sBAAsB,+BAA+B;YACxG,gFAAgF;YAChF,KAAK,4BAA4B,gCAAgC,4BAA4B,aAAa;YAC1G,0BAA0B;YAC1B,0GAA0G;YAC1G,0GAA0G;YAC1G,yGAAyG;YACzG,aAAa,qBAAqB,2BAA2B,mBAAmB,MAAM;YACtF,GAAG,yBAAyB,IAAI,oBAAoB,EAAE;QACxD,QAAQ,EAAE,2BAA2B,CAAC;YACpC,aAAa,EAAE,EAAE;YACjB,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,qBAAqB;SACjC,CAAC;QACF,iBAAiB,EAAE,GAAG;KACvB,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,8BAA8B;QACrC,SAAS,EACP,mDAAmD,GAAG,mDAAmD;YACzG,wGAAwG;YACxG,wGAAwG;YACxG,gEAAgE;QAClE,QAAQ,EAAE;YACR,2CAA2C,EAAE,WAAW,GAAG,mBAAmB,cAAc,uBAAuB;YACnH,2BAA2B,cAAc,GAAG;YAC5C,mBAAmB;SACpB;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,yBAAyB;QAChC,SAAS,EAAE,iCAAiC,IAAI,CAAC,SAAS,KAAK;QAC/D,QAAQ,EAAE;YACR,4BAA4B,IAAI,CAAC,SAAS,gDAAgD;SAC3F;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,mBAAmB;QAC1B,SAAS,EACP,uGAAuG;YACvG,2GAA2G;YAC3G,oBAAoB,IAAI,CAAC,WAAW,oBAAoB,IAAI,CAAC,WAAW,IAAI,oBAAoB,UAAU;YAC1G,iEAAiE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK;YACxG,oGAAoG;YACpG,gEAAgE;YAChE,0BAA0B,qBAAqB,8BAA8B;QAC/E,IAAI,EAAE;YACJ,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC;YAC1C,QAAQ,EAAE,MAAM;SACjB;QACD,QAAQ,EAAE,EAAE;KACb,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kBAAkB;QACzB,SAAS,EACP,oGAAoG;YACpG,mCAAmC,qBAAqB,+CAA+C;YACvG,8CAA8C,UAAU,MAAM;YAC9D,kBAAkB;QACpB,QAAQ,EAAE;YACR,0BAA0B,IAAI,CAAC,WAAW,IAAI,mBAAmB,oBAAoB,uBAAuB,aAAa,IAAI,CAAC,SAAS,gCAAgC,UAAU,aAAa,qBAAqB,EAAE;SACtN;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kBAAkB;QACzB,SAAS,EACP,8BAA8B,sBAAsB,6BAA6B;YACjF,KAAK,mBAAmB,+EAA+E;YACvG,yDAAyD;QAC3D,QAAQ,EAAE;YACR,cAAc,IAAI,CAAC,SAAS,8BAA8B,IAAI,CAAC,WAAW,IAAI,sBAAsB,wBAAwB;YAC5H,cAAc,IAAI,CAAC,SAAS,YAAY,sBAAsB,OAAO,mBAAmB,YAAY;SACrG;QACD,iBAAiB,EAAE,GAAG;KACvB,CAAC,CAAC;IAEH,wEAAwE;IACxE,kEAAkE;IAClE,yEAAyE;IACzE,oDAAoD;IACpD,MAAM,6BAA6B,GAAG,IAAI,CAAC,cAAc,KAAK,4BAA4B,CAAC;IAC3F,MAAM,mBAAmB,GAAG,6BAA6B;QACvD,CAAC,CAAC,KAAK,4BAA4B,uEAAuE;YACxG,yCAAyC;QAC3C,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,6DAA6D;YACrF,KAAK,4BAA4B,oEAAoE;YACrG,oFAAoF;YACpF,uBAAuB,IAAI,CAAC,cAAc,sCAAsC;YAChF,KAAK,4BAA4B,aAAa,CAAC;IAEnD,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,qCAAqC;QAC5C,SAAS,EACP,qGAAqG;YACrG,qGAAqG;YACrG,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,gFAAgF;YACtG,yBAAyB,mBAAmB,IAAI,qBAAqB,EAAE;QACzE,QAAQ,EAAE;YACR,wBAAwB;YACxB,+CAA+C,IAAI,CAAC,cAAc,qCAAqC,IAAI,CAAC,cAAc,0DAA0D;SACrL;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,gCAAgC;QACvC,SAAS,EACP,2GAA2G;YAC3G,+BAA+B,kBAAkB,IAAI,aAAa,0CAA0C;YAC5G,yGAAyG;YACzG,sGAAsG;YACtG,yGAAyG;QAC3G,QAAQ,EAAE;YACR,+CAA+C,IAAI,CAAC,cAAc,+CAA+C,IAAI,CAAC,MAAM,CAAC,KAAK,qBAAqB,uBAAuB,iBAAiB;YAC/L,6CAA6C,IAAI,CAAC,cAAc,qCAAqC,kBAAkB,mBAAmB,aAAa,iCAAiC;SACzL;KACF,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,KAAK,EAAE,kBAAkB;QACzB,SAAS,EACP,kGAAkG;YAClG,kEAAkE,kBAAkB,EAAE;QACxF,iBAAiB,EACf,0BAA0B,GAAG,8BAA8B;QAC7D,QAAQ,EAAE;YACR,qDAAqD,IAAI,CAAC,cAAc,qCAAqC,kBAAkB,mBAAmB,aAAa,0GAA0G;YACzQ,iDAAiD,IAAI,CAAC,cAAc,qCAAqC,kBAAkB,0DAA0D;YACrL,qBAAqB;SACtB;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,IAUnC;IACC,wEAAwE;IACxE,8EAA8E;IAC9E,yEAAyE;IACzE,iCAAiC;IACjC,EAAE;IACF,0EAA0E;IAC1E,8BAA8B;IAC9B,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,yEAAyE;IACzE,WAAW;IACX,EAAE;IACF,2EAA2E;IAC3E,4EAA4E;IAC5E,wBAAwB;IACxB,MAAM,WAAW,GACf,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU;QACrC,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,UAAU,GAAG,CAAC;QACxC,CAAC,CAAC;YACE,0DAA0D;YAC1D,iDAAiD;SAClD,CAAC;IACR,OAAO;EACP,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;qBAEH,IAAI,CAAC,WAAW;;;UAG3B,mBAAmB;;;;;gBAKb,IAAI,CAAC,cAAc;uBACZ,IAAI,CAAC,cAAc;uBACnB,IAAI,CAAC,cAAc;;;;gBAI1B,IAAI,CAAC,MAAM,CAAC,KAAK;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK;mBACd,IAAI,CAAC,MAAM,CAAC,QAAQ;iBACtB,IAAI,CAAC,MAAM,CAAC,MAAM;;;;mBAIhB,IAAI,CAAC,QAAQ;mBACb,IAAI,CAAC,QAAQ;;;;CAI/B,CAAC;AACF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,IAc1B;IACC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IACzD,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,uEAAuE;IACvE,4EAA4E;IAC5E,qDAAqD;IACrD,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,GAAG,WAAW,IAAI,sBAAsB,EAAE;QAC5C,CAAC,CAAC,GAAG,WAAW,IAAI,oBAAoB,IAAI,sBAAsB,EAAE,CAAC;IACvE,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,8BAA8B,WAAW,EAAE,CAAC;IACnG,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAElE,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,yDAAyD;QACnE,QAAQ,EAAE;YACR,cAAc,SAAS,sCAAsC,WAAW,gBAAgB;SACzF;QACD,YAAY,EAAE,eAAe;QAC7B,UAAU,EAAE,GAAG;KAChB,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,4BAA4B;QAC5B,EAAE;QACF,2EAA2E;QAC3E,mEAAmE;QACnE,qEAAqE;QACrE,aAAa;QACb,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,2EAA2E;QAC3E,yEAAyE;QACzE,0EAA0E;QAC1E,mDAAmD;QACnD,EAAE;QACF,oEAAoE;QACpE,wEAAwE;QACxE,wEAAwE;QACxE,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EACN,mGAAmG;gBACnG,kGAAkG;gBAClG,qDAAqD;YACvD,QAAQ,EAAE;gBACR,cAAc,SAAS,YAAY,WAAW,GAAG,aAAa,iDAAiD;aAChH;YACD,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,wBAAwB;YAC9B,QAAQ,EACN,iGAAiG;gBACjG,qGAAqG;gBACrG,oBAAoB;YACtB,QAAQ,EAAE;gBACR,cAAc,SAAS,YAAY,WAAW,GAAG,aAAa,qCAAqC;aACpG;YACD,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,0DAA0D;YACpE,QAAQ,EAAE;gBACR,cAAc,SAAS,YAAY,WAAW,+FAA+F;aAC9I;YACD,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,0EAA0E;QAC1E,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,2BAA2B;YACjC,QAAQ,EACN,6BAA6B,WAAW,wDAAwD;gBAChG,mGAAmG;gBACnG,oGAAoG;YACtG,QAAQ,EAAE;gBACR,cAAc,SAAS,WAAW,WAAW,qFAAqF;gBAClI,oEAAoE;gBACpE,oEAAoE;gBACpE,qCAAqC;gBACrC,cAAc,SAAS,YAAY,WAAW,GAAG,aAAa,2CAA2C;aAC1G;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,wBAAwB;QAC9B,QAAQ,EAAE,mCAAmC;QAC7C,QAAQ,EAAE,OAAO;YACf,CAAC,CAAC,CAAC,cAAc,SAAS,YAAY,YAAY,EAAE,CAAC;YACrD,CAAC,CAAC,CAAC,cAAc,SAAS,kDAAkD,WAAW,EAAE,CAAC;KAC7F,CAAC,CAAC;IAEH,2CAA2C;IAC3C,wEAAwE;IACxE,wEAAwE;IACxE,qEAAqE;IACrE,gCAAgC;IAChC,EAAE;IACF,uEAAuE;IACvE,4DAA4D;IAC5D,2EAA2E;IAC3E,MAAM,oBAAoB,GACxB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,KAAK,SAAS,CAAC;IAEvD,6EAA6E;IAC7E,MAAM,cAAc,GAAG,oBAAoB;QACzC,CAAC,CAAC,8DAA8D;QAChE,CAAC,CAAC,8JAA8J,CAAC;IAEnK,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO;YACf,CAAC,CAAC;gBACE,mEAAmE;gBACnE,kEAAkE;gBAClE,kCAAkC;gBAClC,cAAc,SAAS,YAAY,YAAY,sBAAsB;oBACnE,kGAAkG;oBAClG,cAAc;oBACd,kBAAkB,SAAS,YAAY,YAAY,UAAU;aAChE;YACH,CAAC,CAAC;gBACE,iEAAiE;gBACjE,kEAAkE;gBAClE,oCAAoC;gBACpC,cAAc,SAAS,0CAA0C,WAAW,sBAAsB;oBAChG,6GAA6G;oBAC7G,cAAc;oBACd,kBAAkB,SAAS,0CAA0C,WAAW,UAAU;aAC7F;KACN,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,mBAAmB,CAAC;QAC3D,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,wBAAwB,CACjF,IAAI,CAAC,cAAc,IAAI,GAAG,OAAO,kBAAkB,CACpD,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,QAAQ,EAAE,2DAA2D;gBACrE,QAAQ,EAAE;oBACR,6CAA6C,OAAO,qCAAqC,IAAI,CAAC,WAAW,+DAA+D;iBACzK;aACF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,4DAA4D;YACtE,QAAQ,EAAE;gBACR,6CAA6C,OAAO,qCAAqC,kBAAkB,mBAAmB,SAAS,4CAA4C;aACpL;SACF,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,QAAQ,EAAE,4DAA4D;gBACtE,QAAQ,EAAE;oBACR,gDAAgD,OAAO,+CAA+C,IAAI,CAAC,WAAW,CAAC,KAAK,2DAA2D;iBACxL;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IAC/D,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAEvE,IAAI,WAAW,EAAE,CAAC;QAChB,mEAAmE;QACnE,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,uEAAuE;YACjF,QAAQ,EAAE;gBACR,kBAAkB,WAAW,kUAAkU;aAChW;SACF,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,6CAA6C;YACvD,QAAQ,EAAE;gBACR,kBAAkB,WAAW,4OAA4O;aAC1Q;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,4DAA4D;YACtE,QAAQ,EAAE;gBACR,6CAA6C,aAAa,+DAA+D;aAC1H;SACF,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,gEAAgE;IAChE,uEAAuE;IACvE,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,wEAAwE;IACxE,2EAA2E;IAC3E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,6BAA6B;YACnC,QAAQ,EACN,oFAAoF;YACtF,QAAQ,EAAE;gBACR,cAAc,iBAAiB,yTAAyT;aACzV;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,SAAiB,EACjB,kBAA4C,KAAK,EACjD,aAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,KAAK,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,8BAA8B,WAAW,EAAE,CAAC;IAChD,MAAM,YAAY,GAAG,OAAO;QAC1B,CAAC,CAAC,GAAG,WAAW,IAAI,sBAAsB,EAAE;QAC5C,CAAC,CAAC,GAAG,WAAW,IAAI,oBAAoB,IAAI,sBAAsB,EAAE,CAAC;IACvE,MAAM,KAAK,GAAe;QACxB;YACE,KAAK,EAAE,4BAA4B;YACnC,SAAS,EAAE,OAAO;gBAChB,CAAC,CAAC,gGAAgG;oBAChG,kGAAkG;oBAClG,wCAAwC;gBAC1C,CAAC,CAAC,kNAAkN;YACtN,QAAQ,EAAE,CAAC,WAAW,SAAS,cAAc,WAAW,EAAE,CAAC;SAC5D;QACD;YACE,KAAK,EAAE,4BAA4B;YACnC,SAAS,EAAE,iEAAiE;YAC5E,QAAQ,EAAE,CAAC,cAAc,SAAS,kBAAkB,QAAQ,qBAAqB,CAAC;SACnF;QACD;YACE,KAAK,EAAE,wBAAwB;YAC/B,SAAS,EAAE,OAAO;gBAChB,CAAC,CAAC,oGAAoG;oBACpG,6FAA6F;gBAC/F,CAAC,CAAC,6DAA6D;YACjE,QAAQ,EAAE,OAAO;gBACf,CAAC,CAAC;oBACE,cAAc,SAAS,oCAAoC,QAAQ,EAAE;oBACrE,cAAc,SAAS,YAAY,YAAY,qBAAqB;iBACrE;gBACH,CAAC,CAAC,CAAC,cAAc,SAAS,oCAAoC,QAAQ,EAAE,CAAC;SAC5E;KACF,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,0EAA0E;QAC1E,2EAA2E;QAC3E,sEAAsE;QACtE,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,4BAA4B;YACnC,SAAS,EACP,uGAAuG;gBACvG,kGAAkG;gBAClG,uGAAuG;YACzG,QAAQ,EAAE,CAAC,yBAAyB,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC;YAC1E,iBAAiB,EAAE,GAAG;SACvB,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,+BAA+B;YACtC,SAAS,EACP,8NAA8N;YAChO,QAAQ,EAAE;gBACR,kCAAkC;gBAClC,wDAAwD;aACzD;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,SAAiB;IAEjB,MAAM,MAAM,GAAG,MAAM,GAAG,CACtB,MAAM,EACN,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,EAC7D,EAAE,SAAS,EAAE,MAAM,EAAE,CACtB,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAA4B,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACT,oCAAoC;IACpC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/build/lib/cost.d.ts
CHANGED
|
@@ -11,18 +11,19 @@
|
|
|
11
11
|
* uncertainty bands, and degrades savings for small events where
|
|
12
12
|
* envelope overhead dominates.
|
|
13
13
|
*
|
|
14
|
-
* Compact-ratio numbers come from the
|
|
15
|
-
* - ClickHouse dict+UDF+view: 70-78% typical reduction on noisy payloads
|
|
16
|
-
* (7-79% observed range). Modeled here as compact_ratio 0.22..0.30
|
|
17
|
-
* (post/pre).
|
|
14
|
+
* Compact-ratio numbers come from the ES/Splunk PoC findings:
|
|
18
15
|
* - Elasticsearch pruned (compactable fields excluded from _source):
|
|
19
16
|
* 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
|
|
20
17
|
* - Elasticsearch unpruned: ~45-55% post/pre. Returned via
|
|
21
18
|
* getDestinationCostModel(dest, {esPruned:false}).
|
|
22
19
|
* - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
|
|
23
20
|
* Modeled as 0.08..0.15.
|
|
24
|
-
* - Datadog/CW/Azure/GCP/Sumo/Coralogix: no-op
|
|
25
|
-
*
|
|
21
|
+
* - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
|
|
22
|
+
* 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
|
|
23
|
+
* measured rather than structural: the text index and the column codecs
|
|
24
|
+
* already absorb almost all of it, so compaction moves about 7% of table
|
|
25
|
+
* bytes, and table bytes are not where a ClickHouse bill lives. The lever
|
|
26
|
+
* there is rows that never enter, priced through the `compute` term below.
|
|
26
27
|
*
|
|
27
28
|
* Small-event degradation: below `small_event_floor_bytes` (default 100),
|
|
28
29
|
* envelope overhead linearly degrades the compact ratio toward 1.0. At
|
|
@@ -53,12 +54,11 @@ export type BillingBasis = 'uncompressed-ingest' | 'compressed-ingest' | 'indexe
|
|
|
53
54
|
* - no-op: destination cannot accept encoded events (Datadog &
|
|
54
55
|
* friends). compact_ratio fixed at 1.0; caller warns.
|
|
55
56
|
* - envelope: Splunk-style encode-in-event; query-time expand.
|
|
56
|
-
* - dict-udf-view: ClickHouse dictionary + UDF + view path.
|
|
57
57
|
* - index-pruned: ES with `_source.excludes` of compactable fields.
|
|
58
58
|
* - index-unpruned: ES without pruning (savings come from value-level
|
|
59
59
|
* rewrite, not index pruning).
|
|
60
60
|
*/
|
|
61
|
-
export type CompactMode = 'no-op' | 'envelope' | '
|
|
61
|
+
export type CompactMode = 'no-op' | 'envelope' | 'index-pruned' | 'index-unpruned';
|
|
62
62
|
/**
|
|
63
63
|
* Cheaper storage/ingest tier that tier_down routes events to.
|
|
64
64
|
* When present in a destination's cost model, projectActionWithRatio can
|
|
@@ -73,6 +73,77 @@ export interface TierDownTargetTier {
|
|
|
73
73
|
/** Cheaper storage rate for this tier ($/GB-month). */
|
|
74
74
|
storage_rate_usd_per_gb_month: number;
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* A destination whose bill is COMPUTE, not bytes accepted or bytes stored.
|
|
78
|
+
*
|
|
79
|
+
* ClickHouse is the only one modeled this way. Its storage line is small and
|
|
80
|
+
* its ingest line is zero, so pricing it on bytes alone reads as if the bill
|
|
81
|
+
* were somewhere it is not. What moves a ClickHouse bill is rows that never
|
|
82
|
+
* enter: insert and merge CPU follows row count, faster than linearly, because
|
|
83
|
+
* a row never written is not paid for once and is not paid for again on every
|
|
84
|
+
* merge that would have carried it.
|
|
85
|
+
*
|
|
86
|
+
* `curve` maps rows KEPT (as a fraction of what arrives today) to insert-plus-
|
|
87
|
+
* merge CPU as a fraction of today's. Points are measured; between them this
|
|
88
|
+
* model interpolates linearly and nothing else.
|
|
89
|
+
*
|
|
90
|
+
* Compute is bought in whole units within the autoscaler's bounds, so a CPU
|
|
91
|
+
* drop is worth nothing until a whole unit can go, and never below the floor.
|
|
92
|
+
* `unit_step` and `min_units` carry that.
|
|
93
|
+
*/
|
|
94
|
+
export interface DestinationComputeTerm {
|
|
95
|
+
/** What the CPU curve is indexed on. Rows inserted is the only measured one. */
|
|
96
|
+
basis: 'rows-inserted';
|
|
97
|
+
/** List price of one compute unit, $/hour. */
|
|
98
|
+
unit_usd_per_hour: number;
|
|
99
|
+
/** True when the platform bills whole units (round up), not fractions. */
|
|
100
|
+
unit_step: boolean;
|
|
101
|
+
/** Lowest unit count the service can run at. Never billed below this. */
|
|
102
|
+
min_units: number;
|
|
103
|
+
/**
|
|
104
|
+
* [rowsKeptFraction, cpuFraction] points, ascending by rowsKeptFraction.
|
|
105
|
+
* Endpoints at 0 and 1 are required so every input is bracketed.
|
|
106
|
+
*/
|
|
107
|
+
curve: Array<[number, number]>;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* What the rows-kept fraction was actually derived from on THIS call.
|
|
111
|
+
*
|
|
112
|
+
* - 'rows-inserted': a real row or event count. The basis the curve was
|
|
113
|
+
* measured on, so the answer means what it says.
|
|
114
|
+
* - 'bytes-removed-as-rows-proxy': bytes stood in for rows because no count
|
|
115
|
+
* was available. Fine when the removed patterns have about the average
|
|
116
|
+
* event size, and wrong in proportion to how far they do not: removing
|
|
117
|
+
* long lines takes more bytes than rows and understates the compute saving,
|
|
118
|
+
* removing short ones overstates it.
|
|
119
|
+
*/
|
|
120
|
+
export type ComputeBasis = 'rows-inserted' | 'bytes-removed-as-rows-proxy';
|
|
121
|
+
/** What a compute term says about one action, on one estate. */
|
|
122
|
+
export interface ComputeSavingProjection {
|
|
123
|
+
basis: ComputeBasis;
|
|
124
|
+
/** Rows still inserted after the action, as a fraction of today's rows. */
|
|
125
|
+
rows_kept_fraction: number;
|
|
126
|
+
/** Insert-plus-merge CPU after the action, as a fraction of today's. */
|
|
127
|
+
cpu_fraction: number;
|
|
128
|
+
/**
|
|
129
|
+
* Compute units billed before and after, whole units, floored at min_units.
|
|
130
|
+
* Present only when the caller supplied current units or a monthly spend.
|
|
131
|
+
*/
|
|
132
|
+
units_before?: number;
|
|
133
|
+
units_after?: number;
|
|
134
|
+
/** (units_before - units_after) x unit_usd_per_hour x 730. */
|
|
135
|
+
saving_usd_month?: number;
|
|
136
|
+
/**
|
|
137
|
+
* Share of today's compute bill this action removes. When units are known
|
|
138
|
+
* this is (units_before - units_after) / units_before, which is the stepped
|
|
139
|
+
* answer and can be 0 at the floor. When they are not, it is 1 - cpu_fraction,
|
|
140
|
+
* which is the unstepped shape of the curve and nothing more.
|
|
141
|
+
*/
|
|
142
|
+
saving_fraction: number;
|
|
143
|
+
/** Always true. No ClickHouse compute dollar in this codebase is measured on the customer's estate. */
|
|
144
|
+
modeled: true;
|
|
145
|
+
note: string;
|
|
146
|
+
}
|
|
76
147
|
export interface DestinationCostModel {
|
|
77
148
|
destination: SiemId;
|
|
78
149
|
/** $/GB billed at ingest. */
|
|
@@ -134,6 +205,13 @@ export interface DestinationCostModel {
|
|
|
134
205
|
* = Basic Logs; alt = [Auxiliary Logs].
|
|
135
206
|
*/
|
|
136
207
|
tier_down_alt_tiers?: TierDownTargetTier[];
|
|
208
|
+
/**
|
|
209
|
+
* Present only where the bill is compute rather than bytes. ClickHouse only.
|
|
210
|
+
* Do not add one to a destination that bills per GB accepted or per GB
|
|
211
|
+
* stored: there the byte projection already IS the bill, and a compute term
|
|
212
|
+
* would double-count it.
|
|
213
|
+
*/
|
|
214
|
+
compute?: DestinationComputeTerm;
|
|
137
215
|
}
|
|
138
216
|
/**
|
|
139
217
|
* Provenance tag for any dollar value the pipeline emits.
|
|
@@ -199,6 +277,20 @@ export interface SavingsProjection {
|
|
|
199
277
|
ingest: 'list' | 'customer_supplied' | 'unset';
|
|
200
278
|
storage: 'list' | 'customer_supplied' | 'unset';
|
|
201
279
|
};
|
|
280
|
+
/**
|
|
281
|
+
* Present only on a destination with a `compute` term (ClickHouse), and only
|
|
282
|
+
* for the actions that keep rows out of the cluster: offload, drop, sample.
|
|
283
|
+
* The byte axis above still carries the storage saving; this carries the
|
|
284
|
+
* compute one, which is the larger number and the modeled one.
|
|
285
|
+
*/
|
|
286
|
+
compute_saving?: ComputeSavingProjection;
|
|
287
|
+
/**
|
|
288
|
+
* True when any dollar on this projection rests on a model rather than on the
|
|
289
|
+
* destination's own meter. Set on every ClickHouse projection, because the
|
|
290
|
+
* compute term is a curve fitted to one capture and a unit floor that is
|
|
291
|
+
* ASSUMED. Renderers must carry the word "modeled" wherever they print these.
|
|
292
|
+
*/
|
|
293
|
+
modeled?: boolean;
|
|
202
294
|
notes?: string[];
|
|
203
295
|
}
|
|
204
296
|
/**
|
|
@@ -284,10 +376,10 @@ export declare function getAllowedActionsForDestination(destination: string): Ac
|
|
|
284
376
|
* destination, in place".
|
|
285
377
|
*
|
|
286
378
|
* True only where the destination has a real compaction mechanism: Splunk
|
|
287
|
-
* (envelope)
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
379
|
+
* (envelope) and self-hosted Elasticsearch/OpenSearch (index-pruned).
|
|
380
|
+
* Everywhere else `compact_mode` is `no-op` with ratio 1.0, and claiming
|
|
381
|
+
* in-place compaction there is a false statement about the customer's own
|
|
382
|
+
* platform.
|
|
291
383
|
*
|
|
292
384
|
* Every surface that renders or gates compaction language routes through
|
|
293
385
|
* this. Without it the renderer carries rival notions of the same fact:
|
|
@@ -325,6 +417,34 @@ export declare function getDestinationCostModel(dest: SiemId, opts?: {
|
|
|
325
417
|
* Exposed for testing; not part of the v1 stable surface.
|
|
326
418
|
*/
|
|
327
419
|
export declare function degradeRatioForSmallEvents(baseRatio: number, avgSize?: number, floor?: number): number;
|
|
420
|
+
/** Hours in a billing month, the figure every compute dollar here is built on. */
|
|
421
|
+
export declare const HOURS_PER_MONTH = 730;
|
|
422
|
+
/**
|
|
423
|
+
* Insert-plus-merge CPU as a fraction of today's, for a given fraction of
|
|
424
|
+
* today's rows kept. Linear between measured points; identity outside them,
|
|
425
|
+
* which cannot happen once a curve carries its 0 and 1 endpoints.
|
|
426
|
+
*
|
|
427
|
+
* Exposed for testing and for surfaces that want the shape without the money.
|
|
428
|
+
*/
|
|
429
|
+
export declare function cpuFractionForRowsKept(curve: Array<[number, number]>, rowsKeptFraction: number): number;
|
|
430
|
+
/**
|
|
431
|
+
* Model what an action does to a compute-billed destination's bill.
|
|
432
|
+
*
|
|
433
|
+
* Whole units, floored: the platform bills capacity in units within the
|
|
434
|
+
* autoscaler's bounds, so lower CPU is worth nothing until a whole unit can go
|
|
435
|
+
* and never below the floor. A small estate already at the floor saves zero,
|
|
436
|
+
* and this returns zero rather than a fractional dollar the invoice will not
|
|
437
|
+
* show.
|
|
438
|
+
*
|
|
439
|
+
* Without a current unit count or a monthly spend there is no dollar to give,
|
|
440
|
+
* so this returns the fraction and says what to supply.
|
|
441
|
+
*/
|
|
442
|
+
export declare function projectComputeSaving(compute: DestinationComputeTerm, rowsKeptFraction: number, opts?: {
|
|
443
|
+
current_units?: number;
|
|
444
|
+
monthly_spend_usd?: number;
|
|
445
|
+
/** What the fraction came from. Defaults to the curve's own basis. */
|
|
446
|
+
basis?: ComputeBasis;
|
|
447
|
+
}): ComputeSavingProjection;
|
|
328
448
|
export interface ProjectActionArgs {
|
|
329
449
|
action: Action;
|
|
330
450
|
bytes_in: number;
|
|
@@ -367,12 +487,31 @@ export interface ProjectActionArgs {
|
|
|
367
487
|
* where the on-wire encoded size IS the billed size), this replaces the
|
|
368
488
|
* static destination band for action='compact' so the projection reflects
|
|
369
489
|
* the service's real compressibility instead of a destination-wide guess.
|
|
370
|
-
* Ignored on index-pruned (ES)
|
|
371
|
-
*
|
|
372
|
-
*
|
|
490
|
+
* Ignored on index-pruned (ES) destinations, where the wire ratio diverges
|
|
491
|
+
* from the billed index size; those keep the static band for the dollar
|
|
492
|
+
* projection. Ignored on ClickHouse too, where compact is a no-op. The value already
|
|
373
493
|
* reflects realized small-event overhead, so it is NOT re-degraded.
|
|
374
494
|
*/
|
|
375
495
|
compact_ratio_override?: number;
|
|
496
|
+
/**
|
|
497
|
+
* Compute-billed destinations only (ClickHouse). The service's CURRENT
|
|
498
|
+
* compute unit count. Supply it, or `monthly_compute_spend_usd`, to get a
|
|
499
|
+
* dollar compute saving instead of a fraction.
|
|
500
|
+
*/
|
|
501
|
+
current_compute_units?: number;
|
|
502
|
+
/**
|
|
503
|
+
* Compute-billed destinations only. The service's current monthly compute
|
|
504
|
+
* spend in dollars. Converted to units at the model's unit price when
|
|
505
|
+
* `current_compute_units` is absent.
|
|
506
|
+
*/
|
|
507
|
+
monthly_compute_spend_usd?: number;
|
|
508
|
+
/**
|
|
509
|
+
* Rows still inserted after the action, as a fraction of the cluster's
|
|
510
|
+
* current rows. Supply it when `bytes_in` is one slice of a larger estate.
|
|
511
|
+
* When absent, the compute term ASSUMES `bytes_in` is everything the cluster
|
|
512
|
+
* takes today and reads rows kept off the byte reduction.
|
|
513
|
+
*/
|
|
514
|
+
rows_kept_fraction?: number;
|
|
376
515
|
}
|
|
377
516
|
/**
|
|
378
517
|
* Compute reduction as a 0..100 percent. Always non-negative and clamped to
|
package/build/lib/cost.js
CHANGED
|
@@ -11,18 +11,19 @@
|
|
|
11
11
|
* uncertainty bands, and degrades savings for small events where
|
|
12
12
|
* envelope overhead dominates.
|
|
13
13
|
*
|
|
14
|
-
* Compact-ratio numbers come from the
|
|
15
|
-
* - ClickHouse dict+UDF+view: 70-78% typical reduction on noisy payloads
|
|
16
|
-
* (7-79% observed range). Modeled here as compact_ratio 0.22..0.30
|
|
17
|
-
* (post/pre).
|
|
14
|
+
* Compact-ratio numbers come from the ES/Splunk PoC findings:
|
|
18
15
|
* - Elasticsearch pruned (compactable fields excluded from _source):
|
|
19
16
|
* 45-73% reduction range. Modeled as compact_ratio 0.30..0.40.
|
|
20
17
|
* - Elasticsearch unpruned: ~45-55% post/pre. Returned via
|
|
21
18
|
* getDestinationCostModel(dest, {esPruned:false}).
|
|
22
19
|
* - Splunk envelope-in-event: ~92% reduction on the OUTER stream.
|
|
23
20
|
* Modeled as 0.08..0.15.
|
|
24
|
-
* - Datadog/CW/Azure/GCP/Sumo/Coralogix: no-op
|
|
25
|
-
*
|
|
21
|
+
* - Datadog/CW/Azure/GCP/Sumo/Coralogix/ClickHouse: no-op. compact_ratio =
|
|
22
|
+
* 1.0..1.0; a caveat is emitted by callers. On ClickHouse the reason is
|
|
23
|
+
* measured rather than structural: the text index and the column codecs
|
|
24
|
+
* already absorb almost all of it, so compaction moves about 7% of table
|
|
25
|
+
* bytes, and table bytes are not where a ClickHouse bill lives. The lever
|
|
26
|
+
* there is rows that never enter, priced through the `compute` term below.
|
|
26
27
|
*
|
|
27
28
|
* Small-event degradation: below `small_event_floor_bytes` (default 100),
|
|
28
29
|
* envelope overhead linearly degrades the compact ratio toward 1.0. At
|
|
@@ -225,16 +226,79 @@ export const COST_MODEL_BY_DESTINATION = {
|
|
|
225
226
|
storage_rate_usd_per_gb_month: 0.008,
|
|
226
227
|
},
|
|
227
228
|
},
|
|
229
|
+
// ClickHouse is priced as a COMPUTE bill. Ingest is genuinely $0 and the
|
|
230
|
+
// storage rate below is genuinely small, and both stay because both are
|
|
231
|
+
// true; what changed is that neither is the bill. See `compute`.
|
|
228
232
|
clickhouse: {
|
|
229
233
|
destination: 'clickhouse',
|
|
230
234
|
ingest_per_gb: 0.0,
|
|
231
235
|
storage_per_gb_month: 0.023,
|
|
232
236
|
billing_basis: 'stored-month',
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
+
// COMPACT IS NOT A LEVER ON CLICKHOUSE, and this is a measurement rather
|
|
238
|
+
// than a missing expander. On a ClickStack table at ZSTD(1) the compact
|
|
239
|
+
// form is worth about 7% of table bytes: the text index and the column
|
|
240
|
+
// codecs have already taken the repetition that compaction would take.
|
|
241
|
+
// Seven percent of a line that is itself a small share of the bill is not
|
|
242
|
+
// a lever. Offload is.
|
|
243
|
+
compact_mode: 'no-op',
|
|
244
|
+
compact_unavailable_reason: 'the column codecs and the text index already absorb the repetition compaction would remove, so it is worth about 7% of table bytes, and table bytes are not where a ClickHouse bill lives',
|
|
245
|
+
compact_ratio_low: 1.0,
|
|
246
|
+
compact_ratio_high: 1.0,
|
|
237
247
|
small_event_floor_bytes: 80,
|
|
248
|
+
// COMPUTE TERM. Rows that never enter are the lever.
|
|
249
|
+
//
|
|
250
|
+
// unit_usd_per_hour 0.2985 is ASSUMED to be the customer's rate: it is the
|
|
251
|
+
// ClickHouse Cloud Scale compute unit (8 GiB / 2 vCPU, billed per minute)
|
|
252
|
+
// at documented list pricing read 2026-09. Nobody's contract is list, and
|
|
253
|
+
// a self-hosted cluster does not buy units at all. Treat it as a knob.
|
|
254
|
+
//
|
|
255
|
+
// min_units 12 is an ASSUMPTION: three replicas of four units, the
|
|
256
|
+
// autoscaler's configured minimum on a Scale service sized for a log
|
|
257
|
+
// estate. It is a knob, not a measurement. Where the customer's own floor
|
|
258
|
+
// is known, pass it and the stepping answers differently.
|
|
259
|
+
//
|
|
260
|
+
// curve: measured 2026-09-13 (benchmarks clickhouse-clickstack,
|
|
261
|
+
// compute-vs-rows). Insert CPU from system.query_log, merge CPU from
|
|
262
|
+
// system.part_log, fastest of three passes after a discarded warm-up, same
|
|
263
|
+
// ClickStack schema at ZSTD(1) in every arm. The points below are the
|
|
264
|
+
// `bypattern` arms, where whole message types were removed, because that is
|
|
265
|
+
// what a per-pattern policy actually does; the uniform-sample arms agree
|
|
266
|
+
// within a couple of points at half and a quarter of the rows.
|
|
267
|
+
// rows 72.85% -> CPU 83% (bypattern_75)
|
|
268
|
+
// rows 49.32% -> CPU 35% (bypattern_50)
|
|
269
|
+
// rows 23.88% -> CPU 15% (bypattern_25)
|
|
270
|
+
// Endpoints (0,0) and (1,1) close the curve. Between points, linear.
|
|
271
|
+
//
|
|
272
|
+
// THE 0.7285 POINT IS THE WEAK ONE, and the results file says so: it is
|
|
273
|
+
// the arm the run calls "the one arm that disagrees", at 83% of the CPU
|
|
274
|
+
// against its uniform twin's 63%. The file attributes that to what the two
|
|
275
|
+
// removed message types were, the OpenTelemetry collector's debug
|
|
276
|
+
// exporter, whose lines are long and highly repetitive, so taking them out
|
|
277
|
+
// leaves a residue that costs more per row to tokenise and compress.
|
|
278
|
+
// Fastest-of-three is kept here to match the other points and the
|
|
279
|
+
// published table; median-of-three would put it at 0.78 instead of 0.83.
|
|
280
|
+
// The shipped value is the more conservative of the two, and this segment
|
|
281
|
+
// is where the curve is LESS than proportional (see the crossover note
|
|
282
|
+
// below), so it understates the saving rather than overstating it.
|
|
283
|
+
//
|
|
284
|
+
// CROSSOVER: above rows-kept of about 0.63 the curve sits above the
|
|
285
|
+
// diagonal, meaning removing a small share of rows saves less than that
|
|
286
|
+
// share of compute. Below it the curve sits under the diagonal and removal
|
|
287
|
+
// saves more than proportionally. Only the second half is the product
|
|
288
|
+
// claim; the first half is the model being cautious about small cuts.
|
|
289
|
+
compute: {
|
|
290
|
+
basis: 'rows-inserted',
|
|
291
|
+
unit_usd_per_hour: 0.2985,
|
|
292
|
+
unit_step: true,
|
|
293
|
+
min_units: 12,
|
|
294
|
+
curve: [
|
|
295
|
+
[0.0, 0.0],
|
|
296
|
+
[0.2388, 0.15],
|
|
297
|
+
[0.4932, 0.35],
|
|
298
|
+
[0.7285, 0.83],
|
|
299
|
+
[1.0, 1.0],
|
|
300
|
+
],
|
|
301
|
+
},
|
|
238
302
|
},
|
|
239
303
|
cloudwatch: {
|
|
240
304
|
destination: 'cloudwatch',
|
|
@@ -362,8 +426,9 @@ export const DEFAULT_ACTION_BY_DESTINATION = {
|
|
|
362
426
|
elasticsearch_managed: ['offload'],
|
|
363
427
|
opensearch_self: ['compact', 'offload'],
|
|
364
428
|
opensearch_managed: ['offload'],
|
|
365
|
-
// ClickHouse: the
|
|
366
|
-
|
|
429
|
+
// ClickHouse: offload is the only modeled lever. Compaction is a no-op on the
|
|
430
|
+
// billed measure, and the cold-table tier_down recipe is not built yet.
|
|
431
|
+
clickhouse: ['offload'],
|
|
367
432
|
// Single-lever destinations.
|
|
368
433
|
sumo: ['offload'],
|
|
369
434
|
newrelic: ['offload'],
|
|
@@ -406,10 +471,10 @@ export function getAllowedActionsForDestination(destination) {
|
|
|
406
471
|
* destination, in place".
|
|
407
472
|
*
|
|
408
473
|
* True only where the destination has a real compaction mechanism: Splunk
|
|
409
|
-
* (envelope)
|
|
410
|
-
*
|
|
411
|
-
*
|
|
412
|
-
*
|
|
474
|
+
* (envelope) and self-hosted Elasticsearch/OpenSearch (index-pruned).
|
|
475
|
+
* Everywhere else `compact_mode` is `no-op` with ratio 1.0, and claiming
|
|
476
|
+
* in-place compaction there is a false statement about the customer's own
|
|
477
|
+
* platform.
|
|
413
478
|
*
|
|
414
479
|
* Every surface that renders or gates compaction language routes through
|
|
415
480
|
* this. Without it the renderer carries rival notions of the same fact:
|
|
@@ -527,6 +592,85 @@ export function degradeRatioForSmallEvents(baseRatio, avgSize, floor = 100) {
|
|
|
527
592
|
const penalty = (floor - avgSize) / floor; // 0..1
|
|
528
593
|
return Math.min(1, baseRatio + (1 - baseRatio) * penalty);
|
|
529
594
|
}
|
|
595
|
+
/** Hours in a billing month, the figure every compute dollar here is built on. */
|
|
596
|
+
export const HOURS_PER_MONTH = 730;
|
|
597
|
+
/**
|
|
598
|
+
* Insert-plus-merge CPU as a fraction of today's, for a given fraction of
|
|
599
|
+
* today's rows kept. Linear between measured points; identity outside them,
|
|
600
|
+
* which cannot happen once a curve carries its 0 and 1 endpoints.
|
|
601
|
+
*
|
|
602
|
+
* Exposed for testing and for surfaces that want the shape without the money.
|
|
603
|
+
*/
|
|
604
|
+
export function cpuFractionForRowsKept(curve, rowsKeptFraction) {
|
|
605
|
+
const kept = Math.max(0, Math.min(1, rowsKeptFraction));
|
|
606
|
+
const pts = [...curve].sort((a, b) => a[0] - b[0]);
|
|
607
|
+
for (let i = 0; i < pts.length - 1; i++) {
|
|
608
|
+
const [r0, c0] = pts[i];
|
|
609
|
+
const [r1, c1] = pts[i + 1];
|
|
610
|
+
if (kept >= r0 && kept <= r1) {
|
|
611
|
+
if (r1 === r0)
|
|
612
|
+
return c0;
|
|
613
|
+
return c0 + ((c1 - c0) * (kept - r0)) / (r1 - r0);
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
return kept;
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Model what an action does to a compute-billed destination's bill.
|
|
620
|
+
*
|
|
621
|
+
* Whole units, floored: the platform bills capacity in units within the
|
|
622
|
+
* autoscaler's bounds, so lower CPU is worth nothing until a whole unit can go
|
|
623
|
+
* and never below the floor. A small estate already at the floor saves zero,
|
|
624
|
+
* and this returns zero rather than a fractional dollar the invoice will not
|
|
625
|
+
* show.
|
|
626
|
+
*
|
|
627
|
+
* Without a current unit count or a monthly spend there is no dollar to give,
|
|
628
|
+
* so this returns the fraction and says what to supply.
|
|
629
|
+
*/
|
|
630
|
+
export function projectComputeSaving(compute, rowsKeptFraction, opts) {
|
|
631
|
+
const kept = Math.max(0, Math.min(1, rowsKeptFraction));
|
|
632
|
+
const basis = opts?.basis ?? compute.basis;
|
|
633
|
+
// The curve is indexed on rows. When bytes stood in for rows, say so beside
|
|
634
|
+
// every number it produced rather than only in the field name.
|
|
635
|
+
const proxyCaveat = basis === 'bytes-removed-as-rows-proxy'
|
|
636
|
+
? ' Rows kept is derived from bytes removed, not from a row count, so it skews when the removed patterns differ in average event size from the rest.'
|
|
637
|
+
: '';
|
|
638
|
+
const cpuFraction = cpuFractionForRowsKept(compute.curve, kept);
|
|
639
|
+
const monthlyPerUnit = compute.unit_usd_per_hour * HOURS_PER_MONTH;
|
|
640
|
+
let currentUnits = opts?.current_units;
|
|
641
|
+
if (currentUnits == null && opts?.monthly_spend_usd != null && monthlyPerUnit > 0) {
|
|
642
|
+
currentUnits = opts.monthly_spend_usd / monthlyPerUnit;
|
|
643
|
+
}
|
|
644
|
+
if (currentUnits == null || !Number.isFinite(currentUnits) || currentUnits <= 0) {
|
|
645
|
+
return {
|
|
646
|
+
basis,
|
|
647
|
+
rows_kept_fraction: kept,
|
|
648
|
+
cpu_fraction: cpuFraction,
|
|
649
|
+
saving_fraction: 1 - cpuFraction,
|
|
650
|
+
modeled: true,
|
|
651
|
+
note: 'modeled compute saving: supply current compute units or monthly compute spend to get dollars.' +
|
|
652
|
+
proxyCaveat,
|
|
653
|
+
};
|
|
654
|
+
}
|
|
655
|
+
const step = (u) => (compute.unit_step ? Math.ceil(u) : u);
|
|
656
|
+
const units_before = Math.max(compute.min_units, step(currentUnits));
|
|
657
|
+
const units_after = Math.max(compute.min_units, step(units_before * cpuFraction));
|
|
658
|
+
const saving_usd_month = (units_before - units_after) * compute.unit_usd_per_hour * HOURS_PER_MONTH;
|
|
659
|
+
return {
|
|
660
|
+
basis,
|
|
661
|
+
rows_kept_fraction: kept,
|
|
662
|
+
cpu_fraction: cpuFraction,
|
|
663
|
+
units_before,
|
|
664
|
+
units_after,
|
|
665
|
+
saving_usd_month,
|
|
666
|
+
saving_fraction: units_before > 0 ? (units_before - units_after) / units_before : 0,
|
|
667
|
+
modeled: true,
|
|
668
|
+
note: (units_after === units_before
|
|
669
|
+
? `modeled compute saving: ${units_before} units before and after. Compute is billed in whole units with a floor of ${compute.min_units}, so this much row reduction sheds none.`
|
|
670
|
+
: `modeled compute saving: ${units_before} units to ${units_after}, at $${compute.unit_usd_per_hour}/unit-hour over ${HOURS_PER_MONTH} hours.`) +
|
|
671
|
+
proxyCaveat,
|
|
672
|
+
};
|
|
673
|
+
}
|
|
530
674
|
function midpoint(a, b) {
|
|
531
675
|
return (a + b) / 2;
|
|
532
676
|
}
|
|
@@ -666,8 +810,10 @@ function projectActionWithRatio(args, ratio, confidence) {
|
|
|
666
810
|
: model.storage_per_gb_month;
|
|
667
811
|
// Ingest axis: customer override > list rate (effective for tier) > unset.
|
|
668
812
|
// model.ingest_per_gb is always a known number in COST_MODEL_BY_DESTINATION
|
|
669
|
-
// (
|
|
670
|
-
//
|
|
813
|
+
// (ClickHouse is genuinely $0 at ingest, not unknown, and that zero is not
|
|
814
|
+
// the whole bill: the compute term below carries what a ClickHouse cluster
|
|
815
|
+
// actually costs). 'unset' is reserved for future destinations that come
|
|
816
|
+
// without a list rate.
|
|
671
817
|
const ingestOverride = args.customer_rate?.ingest_per_gb_override;
|
|
672
818
|
let ingest_dollars;
|
|
673
819
|
let ingestSource;
|
|
@@ -763,6 +909,32 @@ function projectActionWithRatio(args, ratio, confidence) {
|
|
|
763
909
|
const total_dollars_disclosed = total_dollars == null
|
|
764
910
|
? null
|
|
765
911
|
: buildDisclosedDollarValue(total_dollars, totalSource, siemLabel, null);
|
|
912
|
+
// Compute term. Only ClickHouse carries one. The byte axis above already
|
|
913
|
+
// holds the storage saving, which on this destination is the small half; the
|
|
914
|
+
// compute saving is the other half and the one worth naming.
|
|
915
|
+
//
|
|
916
|
+
// Rows kept is read off the byte reduction unless the caller states it. That
|
|
917
|
+
// ASSUMES bytes_in is everything the cluster takes today, which is right when
|
|
918
|
+
// the caller is pricing a whole estate and wrong when it is pricing one
|
|
919
|
+
// pattern out of many; `rows_kept_fraction` is there for the second case.
|
|
920
|
+
let compute_saving;
|
|
921
|
+
if (model.compute &&
|
|
922
|
+
(args.action === 'offload' || args.action === 'drop' || args.action === 'sample')) {
|
|
923
|
+
const statedRowsKept = args.rows_kept_fraction;
|
|
924
|
+
const rowsKept = statedRowsKept ?? (args.bytes_in > 0 ? bytes_out / args.bytes_in : 1);
|
|
925
|
+
compute_saving = projectComputeSaving(model.compute, rowsKept, {
|
|
926
|
+
current_units: args.current_compute_units,
|
|
927
|
+
monthly_spend_usd: args.monthly_compute_spend_usd,
|
|
928
|
+
// A caller that states rows_kept_fraction is asserting a row count.
|
|
929
|
+
// Anything else here is bytes wearing a row's name, and the projection
|
|
930
|
+
// says which it got.
|
|
931
|
+
basis: statedRowsKept != null ? 'rows-inserted' : 'bytes-removed-as-rows-proxy',
|
|
932
|
+
});
|
|
933
|
+
notes.push(compute_saving.note);
|
|
934
|
+
}
|
|
935
|
+
if (model.compute) {
|
|
936
|
+
notes.push(`${siemLabel ?? args.destination} dollars are modeled: the bill is compute, priced from a measured rows-to-CPU curve and an ASSUMED unit floor, not from the destination's own meter.`);
|
|
937
|
+
}
|
|
766
938
|
return {
|
|
767
939
|
bytes_in: args.bytes_in,
|
|
768
940
|
bytes_out,
|
|
@@ -777,6 +949,8 @@ function projectActionWithRatio(args, ratio, confidence) {
|
|
|
777
949
|
confidence,
|
|
778
950
|
percent_reduction: pct,
|
|
779
951
|
rate_source: { ingest: ingestSource, storage: storageSource },
|
|
952
|
+
...(compute_saving ? { compute_saving } : {}),
|
|
953
|
+
...(model.compute ? { modeled: true } : {}),
|
|
780
954
|
notes: notes.length ? notes : undefined,
|
|
781
955
|
};
|
|
782
956
|
}
|