bla-agents 1.1.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/blind-llm-agents/SKILL.md +20 -14
- package/DISCLAIMER.md +15 -7
- package/README.md +153 -198
- package/dist/bundler/index.d.ts +19 -2
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/index.js +47 -4
- package/dist/bundler/index.js.map +1 -1
- package/dist/cli.d.ts +5 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +123 -18
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +54 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +160 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/coverage-contract.d.ts +97 -0
- package/dist/core/coverage-contract.d.ts.map +1 -0
- package/dist/core/coverage-contract.js +164 -0
- package/dist/core/coverage-contract.js.map +1 -0
- package/dist/core/debug-posture.d.ts +40 -0
- package/dist/core/debug-posture.d.ts.map +1 -0
- package/dist/core/debug-posture.js +197 -0
- package/dist/core/debug-posture.js.map +1 -0
- package/dist/core/detector.d.ts.map +1 -1
- package/dist/core/detector.js +58 -6
- package/dist/core/detector.js.map +1 -1
- package/dist/core/identifiers.d.ts +32 -0
- package/dist/core/identifiers.d.ts.map +1 -0
- package/dist/core/identifiers.js +263 -0
- package/dist/core/identifiers.js.map +1 -0
- package/dist/core/llm-directives.d.ts +12 -0
- package/dist/core/llm-directives.d.ts.map +1 -0
- package/dist/core/llm-directives.js +23 -0
- package/dist/core/llm-directives.js.map +1 -0
- package/dist/core/prng.d.ts +10 -1
- package/dist/core/prng.d.ts.map +1 -1
- package/dist/core/prng.js +27 -2
- package/dist/core/prng.js.map +1 -1
- package/dist/core/release-exposure.d.ts.map +1 -1
- package/dist/core/release-exposure.js +13 -2
- package/dist/core/release-exposure.js.map +1 -1
- package/dist/core/release-plan.d.ts +68 -0
- package/dist/core/release-plan.d.ts.map +1 -0
- package/dist/core/release-plan.js +244 -0
- package/dist/core/release-plan.js.map +1 -0
- package/dist/core/sarif.d.ts +53 -0
- package/dist/core/sarif.d.ts.map +1 -0
- package/dist/core/sarif.js +95 -0
- package/dist/core/sarif.js.map +1 -0
- package/dist/core/sqlite-runtime.d.ts +13 -0
- package/dist/core/sqlite-runtime.d.ts.map +1 -1
- package/dist/core/sqlite-runtime.js +38 -8
- package/dist/core/sqlite-runtime.js.map +1 -1
- package/dist/core/types.d.ts +7 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/engine/auditor.d.ts.map +1 -1
- package/dist/engine/auditor.js +380 -19
- package/dist/engine/auditor.js.map +1 -1
- package/dist/engine/benchmark.d.ts +1 -1
- package/dist/engine/benchmark.d.ts.map +1 -1
- package/dist/engine/benchmark.js +121 -41
- package/dist/engine/benchmark.js.map +1 -1
- package/dist/engine/defender.d.ts +1 -0
- package/dist/engine/defender.d.ts.map +1 -1
- package/dist/engine/defender.js +7 -1
- package/dist/engine/defender.js.map +1 -1
- package/dist/engine/harden.d.ts +61 -0
- package/dist/engine/harden.d.ts.map +1 -0
- package/dist/engine/harden.js +294 -0
- package/dist/engine/harden.js.map +1 -0
- package/dist/engine/protector.d.ts.map +1 -1
- package/dist/engine/protector.js +242 -26
- package/dist/engine/protector.js.map +1 -1
- package/dist/identity.d.ts +112 -2
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +112 -2
- package/dist/identity.js.map +1 -1
- package/dist/index.d.ts +26 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -9
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +59 -152
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +466 -50
- package/dist/mcp/server.js.map +1 -1
- package/dist/setup/clients.d.ts +49 -1
- package/dist/setup/clients.d.ts.map +1 -1
- package/dist/setup/clients.js +1193 -20
- package/dist/setup/clients.js.map +1 -1
- package/dist/setup/doctor.d.ts +58 -14
- package/dist/setup/doctor.d.ts.map +1 -1
- package/dist/setup/doctor.js +316 -22
- package/dist/setup/doctor.js.map +1 -1
- package/dist/setup/setup.d.ts +77 -7
- package/dist/setup/setup.d.ts.map +1 -1
- package/dist/setup/setup.js +591 -62
- package/dist/setup/setup.js.map +1 -1
- package/dist/shields/chaff/chaff-generator.d.ts.map +1 -1
- package/dist/shields/chaff/chaff-generator.js +12 -3
- package/dist/shields/chaff/chaff-generator.js.map +1 -1
- package/dist/shields/deception/architecture-mirage.js +1 -1
- package/dist/shields/deception/architecture-mirage.js.map +1 -1
- package/dist/shields/deception/canary-honeypot.d.ts +33 -0
- package/dist/shields/deception/canary-honeypot.d.ts.map +1 -0
- package/dist/shields/deception/canary-honeypot.js +95 -0
- package/dist/shields/deception/canary-honeypot.js.map +1 -0
- package/dist/shields/deception/cognitive-armor-trigger.d.ts +43 -0
- package/dist/shields/deception/cognitive-armor-trigger.d.ts.map +1 -0
- package/dist/shields/deception/cognitive-armor-trigger.js +204 -0
- package/dist/shields/deception/cognitive-armor-trigger.js.map +1 -0
- package/dist/shields/deception/crash-trace-decoy.js +1 -1
- package/dist/shields/deception/crash-trace-decoy.js.map +1 -1
- package/dist/shields/deception/decompiler-illusion.js +1 -1
- package/dist/shields/deception/decompiler-illusion.js.map +1 -1
- package/dist/shields/deception/diff-noise-injector.js +1 -1
- package/dist/shields/deception/diff-noise-injector.js.map +1 -1
- package/dist/shields/deception/evidence-contract-poison.js +5 -5
- package/dist/shields/deception/evidence-contract-poison.js.map +1 -1
- package/dist/shields/deception/format-payloads.d.ts +21 -0
- package/dist/shields/deception/format-payloads.d.ts.map +1 -0
- package/dist/shields/deception/format-payloads.js +24 -0
- package/dist/shields/deception/format-payloads.js.map +1 -0
- package/dist/shields/deception/index.d.ts +10 -2
- package/dist/shields/deception/index.d.ts.map +1 -1
- package/dist/shields/deception/index.js +20 -3
- package/dist/shields/deception/index.js.map +1 -1
- package/dist/shields/deception/prompt-completion-poison.d.ts +3 -2
- package/dist/shields/deception/prompt-completion-poison.d.ts.map +1 -1
- package/dist/shields/deception/prompt-completion-poison.js +6 -3
- package/dist/shields/deception/prompt-completion-poison.js.map +1 -1
- package/dist/shields/deception/shadow-business-logic.js +4 -4
- package/dist/shields/deception/shadow-business-logic.js.map +1 -1
- package/dist/shields/deception/system-diagnostic-decoy.d.ts +36 -0
- package/dist/shields/deception/system-diagnostic-decoy.d.ts.map +1 -0
- package/dist/shields/deception/system-diagnostic-decoy.js +101 -0
- package/dist/shields/deception/system-diagnostic-decoy.js.map +1 -0
- package/dist/shields/exhaustion/asar-header-amplifier.d.ts +12 -3
- package/dist/shields/exhaustion/asar-header-amplifier.d.ts.map +1 -1
- package/dist/shields/exhaustion/asar-header-amplifier.js +30 -8
- package/dist/shields/exhaustion/asar-header-amplifier.js.map +1 -1
- package/dist/shields/exhaustion/bpe-token-amplifier.js +2 -2
- package/dist/shields/exhaustion/bpe-token-amplifier.js.map +1 -1
- package/dist/shields/exhaustion/callgraph-labyrinth.js +2 -2
- package/dist/shields/exhaustion/callgraph-labyrinth.js.map +1 -1
- package/dist/shields/exhaustion/cdp-shape-budget-breaker.js +1 -1
- package/dist/shields/exhaustion/cdp-shape-budget-breaker.js.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.d.ts +10 -5
- package/dist/shields/exhaustion/frida-capture-saturation.d.ts.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.js +21 -8
- package/dist/shields/exhaustion/frida-capture-saturation.js.map +1 -1
- package/dist/shields/exhaustion/index.d.ts +2 -2
- package/dist/shields/exhaustion/index.d.ts.map +1 -1
- package/dist/shields/exhaustion/index.js +2 -2
- package/dist/shields/exhaustion/index.js.map +1 -1
- package/dist/shields/exhaustion/obligation-flooder.d.ts +23 -6
- package/dist/shields/exhaustion/obligation-flooder.d.ts.map +1 -1
- package/dist/shields/exhaustion/obligation-flooder.js +29 -12
- package/dist/shields/exhaustion/obligation-flooder.js.map +1 -1
- package/dist/shields/exhaustion/rea-budget-matrix.d.ts +8 -2
- package/dist/shields/exhaustion/rea-budget-matrix.d.ts.map +1 -1
- package/dist/shields/exhaustion/rea-budget-matrix.js +139 -16
- package/dist/shields/exhaustion/rea-budget-matrix.js.map +1 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.d.ts.map +1 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.js +2 -1
- package/dist/shields/exhaustion/regex-worker-tarpit.js.map +1 -1
- package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts +7 -4
- package/dist/shields/exhaustion/wasm-interface-exhaustion.d.ts.map +1 -1
- package/dist/shields/exhaustion/wasm-interface-exhaustion.js +16 -7
- package/dist/shields/exhaustion/wasm-interface-exhaustion.js.map +1 -1
- package/dist/shields/formats/android-dex-xref.d.ts +19 -0
- package/dist/shields/formats/android-dex-xref.d.ts.map +1 -0
- package/dist/shields/formats/android-dex-xref.js +427 -0
- package/dist/shields/formats/android-dex-xref.js.map +1 -0
- package/dist/shields/formats/android-manifest.d.ts +44 -0
- package/dist/shields/formats/android-manifest.d.ts.map +1 -0
- package/dist/shields/formats/android-manifest.js +240 -0
- package/dist/shields/formats/android-manifest.js.map +1 -0
- package/dist/shields/formats/android-r8.d.ts +44 -0
- package/dist/shields/formats/android-r8.d.ts.map +1 -0
- package/dist/shields/formats/android-r8.js +246 -0
- package/dist/shields/formats/android-r8.js.map +1 -0
- package/dist/shields/formats/apple-plist.d.ts +15 -0
- package/dist/shields/formats/apple-plist.d.ts.map +1 -1
- package/dist/shields/formats/apple-plist.js +59 -1
- package/dist/shields/formats/apple-plist.js.map +1 -1
- package/dist/shields/formats/archive.d.ts +27 -6
- package/dist/shields/formats/archive.d.ts.map +1 -1
- package/dist/shields/formats/archive.js +247 -45
- package/dist/shields/formats/archive.js.map +1 -1
- package/dist/shields/formats/asar.d.ts +50 -10
- package/dist/shields/formats/asar.d.ts.map +1 -1
- package/dist/shields/formats/asar.js +265 -39
- package/dist/shields/formats/asar.js.map +1 -1
- package/dist/shields/formats/bun-standalone.d.ts +78 -0
- package/dist/shields/formats/bun-standalone.d.ts.map +1 -0
- package/dist/shields/formats/bun-standalone.js +272 -0
- package/dist/shields/formats/bun-standalone.js.map +1 -0
- package/dist/shields/formats/dotnet-managed.d.ts +9 -0
- package/dist/shields/formats/dotnet-managed.d.ts.map +1 -1
- package/dist/shields/formats/dotnet-managed.js +26 -1
- package/dist/shields/formats/dotnet-managed.js.map +1 -1
- package/dist/shields/formats/electron-fuses.d.ts +63 -8
- package/dist/shields/formats/electron-fuses.d.ts.map +1 -1
- package/dist/shields/formats/electron-fuses.js +297 -65
- package/dist/shields/formats/electron-fuses.js.map +1 -1
- package/dist/shields/formats/erlang-beam.d.ts +34 -0
- package/dist/shields/formats/erlang-beam.d.ts.map +1 -0
- package/dist/shields/formats/erlang-beam.js +319 -0
- package/dist/shields/formats/erlang-beam.js.map +1 -0
- package/dist/shields/formats/evm-bytecode.d.ts +28 -0
- package/dist/shields/formats/evm-bytecode.d.ts.map +1 -0
- package/dist/shields/formats/evm-bytecode.js +124 -0
- package/dist/shields/formats/evm-bytecode.js.map +1 -0
- package/dist/shields/formats/go-flutter-exhaustion.d.ts +55 -0
- package/dist/shields/formats/go-flutter-exhaustion.d.ts.map +1 -0
- package/dist/shields/formats/go-flutter-exhaustion.js +346 -0
- package/dist/shields/formats/go-flutter-exhaustion.js.map +1 -0
- package/dist/shields/formats/gpu-ptx.d.ts +40 -0
- package/dist/shields/formats/gpu-ptx.d.ts.map +1 -0
- package/dist/shields/formats/gpu-ptx.js +62 -0
- package/dist/shields/formats/gpu-ptx.js.map +1 -0
- package/dist/shields/formats/headers.d.ts.map +1 -1
- package/dist/shields/formats/headers.js +54 -14
- package/dist/shields/formats/headers.js.map +1 -1
- package/dist/shields/formats/jvm-bytecode.d.ts +20 -0
- package/dist/shields/formats/jvm-bytecode.d.ts.map +1 -0
- package/dist/shields/formats/jvm-bytecode.js +134 -0
- package/dist/shields/formats/jvm-bytecode.js.map +1 -0
- package/dist/shields/formats/mobile-game.d.ts +4 -0
- package/dist/shields/formats/mobile-game.d.ts.map +1 -1
- package/dist/shields/formats/mobile-game.js +16 -0
- package/dist/shields/formats/mobile-game.js.map +1 -1
- package/dist/shields/formats/model.d.ts +22 -8
- package/dist/shields/formats/model.d.ts.map +1 -1
- package/dist/shields/formats/model.js +231 -59
- package/dist/shields/formats/model.js.map +1 -1
- package/dist/shields/formats/native.d.ts +74 -11
- package/dist/shields/formats/native.d.ts.map +1 -1
- package/dist/shields/formats/native.js +557 -109
- package/dist/shields/formats/native.js.map +1 -1
- package/dist/shields/formats/pcap-capture.d.ts +27 -0
- package/dist/shields/formats/pcap-capture.d.ts.map +1 -0
- package/dist/shields/formats/pcap-capture.js +201 -0
- package/dist/shields/formats/pcap-capture.js.map +1 -0
- package/dist/shields/formats/python.d.ts +22 -1
- package/dist/shields/formats/python.d.ts.map +1 -1
- package/dist/shields/formats/python.js +568 -27
- package/dist/shields/formats/python.js.map +1 -1
- package/dist/shields/formats/sourcemap.d.ts.map +1 -1
- package/dist/shields/formats/sourcemap.js +2 -0
- package/dist/shields/formats/sourcemap.js.map +1 -1
- package/dist/shields/formats/sqlite.d.ts +87 -15
- package/dist/shields/formats/sqlite.d.ts.map +1 -1
- package/dist/shields/formats/sqlite.js +377 -42
- package/dist/shields/formats/sqlite.js.map +1 -1
- package/dist/shields/formats/wasm.d.ts +6 -0
- package/dist/shields/formats/wasm.d.ts.map +1 -1
- package/dist/shields/formats/wasm.js +118 -3
- package/dist/shields/formats/wasm.js.map +1 -1
- package/dist/shields/javascript/ast-shield.d.ts +26 -5
- package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
- package/dist/shields/javascript/ast-shield.js +748 -104
- package/dist/shields/javascript/ast-shield.js.map +1 -1
- package/dist/shields/runtime/memory-diff-shield.d.ts +56 -0
- package/dist/shields/runtime/memory-diff-shield.d.ts.map +1 -0
- package/dist/shields/runtime/memory-diff-shield.js +170 -0
- package/dist/shields/runtime/memory-diff-shield.js.map +1 -0
- package/dist/shields/runtime/runtime-shield.d.ts +12 -16
- package/dist/shields/runtime/runtime-shield.d.ts.map +1 -1
- package/dist/shields/runtime/runtime-shield.js +30 -24
- package/dist/shields/runtime/runtime-shield.js.map +1 -1
- package/dist/shields/tarpit/opaque-predicates.d.ts.map +1 -1
- package/dist/shields/tarpit/opaque-predicates.js +3 -3
- package/dist/shields/tarpit/opaque-predicates.js.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.d.ts +9 -4
- package/dist/shields/tarpit/tarpit-generator.d.ts.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.js +30 -23
- package/dist/shields/tarpit/tarpit-generator.js.map +1 -1
- package/package.json +13 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditor.js","sourceRoot":"","sources":["../../src/engine/auditor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditor.js","sourceRoot":"","sources":["../../src/engine/auditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAY,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAQlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,UAAU;IAC7B,CAAC,CAAE,SAAmC;IACtC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AAExB,SAAS,2BAA2B,CAAC,KAAa;IAChD,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,SAAS,GAAG,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACjE,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IACjB,OAAO,CACL,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,QAAQ;QACpB,OAAO,KAAK,iBAAiB;QAC7B,OAAO,KAAK,wBAAwB;QACpC,OAAO,KAAK,iBAAiB;QAC7B,OAAO,KAAK,wBAAwB;QACpC,OAAO,KAAK,YAAY,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,QAAgB;IAC1D,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,EAAE,GAAG,yCAAyC,CAAC;IACrD,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC;YAAE,SAAS;QAClD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAc,EACd,SAAiB;IAMjB,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAEpE,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,4BAA4B,GAAG,CAAC,CAAC;IACrC,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAC9B,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,0BAA0B,GAAG,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,6DAA6D;IAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,6CAA6C,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClG,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,kDAAkD,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClH,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9F,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxE,aAAa,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAC/B,gXAAgX,CACjX,CAAC;IACF,IAAI,YAAY,EAAE,CAAC;QACjB,0BAA0B,IAAI,YAAY,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,IAAI,WAAW,GAAwC,UAAU,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;YACxB,UAAU,EAAE,aAAa;YACzB,OAAO,EAAE;gBACP,YAAY;gBACZ,KAAK;gBACL,mBAAmB;gBACnB,kBAAkB;gBAClB,eAAe;gBACf,iBAAiB;gBACjB,eAAe;aAChB;YACD,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,WAAW,GAAG,WAAW,CAAC;QAC5B,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE;YACZ,KAAK;gBACH,eAAe,EAAE,CAAC;YACpB,CAAC;YACD,mBAAmB,CAAC,IAAI;gBACtB,cAAc,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,WAAW,CAAC;gBACjD,IACE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBACpF,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC7B,0TAA0T,CAAC,IAAI,CAC7T,MAAM,CACP,EACD,CAAC;oBACD,4BAA4B,EAAE,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;wBACpD,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;wBAC1D,SAAS,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;wBACxD,WAAW,EAAE,6DAA6D;wBAC1E,4BAA4B,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;wBACrE,gBAAgB,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;wBACxD,MAAM,EACJ,eAAe,CAAC,IAAI,GAAG,CAAC;4BACtB,CAAC,CAAC,+DAA+D;4BACjE,CAAC,CAAC,mEAAmE;qBAC1E,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,gBAAgB,CAAC,IAAI;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,gBAAgB,CAAC;gBACvD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,OAAO,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;wBACtD,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;wBAC1D,SAAS,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;wBACpD,WAAW,EAAE,gCAAgC;wBAC7C,4BAA4B,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;wBACvE,gBAAgB,EAAE,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;wBACxD,MAAM,EACJ,eAAe,CAAC,IAAI,GAAG,CAAC;4BACtB,CAAC,CAAC,4DAA4D;4BAC9D,CAAC,CAAC,wDAAwD;qBAC/D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,cAAc,CAAC,IAAI;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClC,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpE,IACE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAClF,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,eAAe,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,EACxG,CAAC;wBACD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACnC,gBAAgB,EAAE,CAAC;wBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACpC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;4BACtB,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC9D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gCACzB,OAAO,CAAC,IAAI,CAAC;oCACX,EAAE,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;oCACjD,IAAI,EAAE,EAAE;oCACR,IAAI,EAAE,aAAa;oCACnB,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;oCAC1D,SAAS,EAAE,UAAU;oCACrB,WAAW,EAAE,uDAAuD;oCACpE,4BAA4B,EAAE,GAAG;oCACjC,gBAAgB,EAAE,IAAI;oCACtB,MAAM,EAAE,mFAAmF;iCAC5F,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,eAAe,EAAE,CAAC;4BAClB,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;4BACtC,mBAAmB,EAAE,CAAC;wBACxB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,qBAAqB,EAAE,CAAC;oBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC7I,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;wBACtC,gBAAgB,EAAE,CAAC;wBACnB,IACE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC;4BAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;4BACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAC9B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC7B,CAAC;4BACD,oBAAoB,EAAE,CAAC;wBACzB,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,IAAI,CAAC;gCACX,EAAE,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;gCACzB,IAAI,EAAE,IAAI,CAAC,KAAK;gCAChB,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE;gCAC1D,SAAS,EAAE,MAAM;gCACjB,WAAW,EAAE,0DAA0D;gCACvE,4BAA4B,EAAE,GAAG;gCACjC,gBAAgB,EAAE,IAAI;gCACtB,MAAM,EAAE,wDAAwD;6BACjE,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QAC/G,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,aAAa,SAAS,EAAE;gBAC5B,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,UAAU;gBACrB,WAAW,EAAE,wDAAwD;gBACrE,4BAA4B,EAAE,GAAG;gBACjC,gBAAgB,EAAE,IAAI;gBACtB,MAAM,EAAE,iFAAiF;aAC1F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,qBAAqB,GAAG,eAAe,CAAC;IAC5C,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACzC,IAAI,KAAK,IAAI,CAAC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YACxC,iBAAiB,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,qBAAqB,IAAI,KAAK,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GACrB,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAEpD,MAAM,qBAAqB,GACzB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC;QAC3B,4BAA4B,GAAG,CAAC;QAChC,gBAAgB;QAChB,gBAAgB,CAAC;IAEnB,OAAO;QACL,GAAG,EAAE;YACH,WAAW;YACX,iBAAiB;YACjB,uBAAuB,EAAE,CAAC,GAAG,eAAe,CAAC;YAC7C,qBAAqB,EAAE,CAAC,GAAG,aAAa,CAAC;YACzC,eAAe;YACf,cAAc;YACd,4BAA4B;YAC5B,qBAAqB;YACrB,mBAAmB;YACnB,gBAAgB;YAChB,yBAAyB,EAAE,iBAAiB;YAC5C,6BAA6B,EAAE,qBAAqB;YACpD,gBAAgB;YAChB,oBAAoB;YACpB,qBAAqB;YACrB,0BAA0B;SAC3B;QACD,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,UAAkB;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kEAAkE,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,GAAG,GAAgC;QACrC,WAAW,EAAE,UAAU;QACvB,iBAAiB,EAAE,UAAU;QAC7B,uBAAuB,EAAE,EAAE;QAC3B,qBAAqB,EAAE,EAAE;QACzB,eAAe,EAAE,CAAC;QAClB,cAAc,EAAE,CAAC;QACjB,4BAA4B,EAAE,CAAC;QAC/B,qBAAqB,EAAE,CAAC;QACxB,mBAAmB,EAAE,CAAC;QACtB,gBAAgB,EAAE,CAAC;QACnB,yBAAyB,EAAE,CAAC;QAC5B,6BAA6B,EAAE,CAAC;QAChC,gBAAgB,EAAE,CAAC;QACnB,oBAAoB,EAAE,CAAC;QACvB,qBAAqB,EAAE,CAAC;QACxB,0BAA0B,EAAE,CAAC;KAC9B,CAAC;IACF,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEvD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAQ,EAAE;YACpC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC9D,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;oBAAE,SAAS;gBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,KAAK,CAAC,WAAW,EAAE;oBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;qBAClC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;oBACpG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;wBACjE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAChC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,GAAG,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3E,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;YAC3C,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;YACzC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC;YACjD,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAChD,YAAY,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC5C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACrC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC;YAC/C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC;YAClD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACnC,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC;YAC5C,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACjD,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;gBACjC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7B,QAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7E,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,cAAc,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC;gBACxD,QAAQ,IAAI,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC;gBAChE,eAAe,IAAI,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAC;gBAChE,KAAK,IAAI,QAAQ,CAAC,aAAa,CAAC,0BAA0B,CAAC;gBAC3D,YAAY,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC5C,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QACD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,GAAG,GAAG;YACJ,WAAW,EAAE,UAAU;YACvB,iBAAiB,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;YAC3D,uBAAuB,EAAE,CAAC,GAAG,MAAM,CAAC;YACpC,qBAAqB,EAAE,CAAC,GAAG,aAAa,CAAC;YACzC,eAAe;YACf,cAAc;YACd,4BAA4B,EAAE,QAAQ;YACtC,qBAAqB,EAAE,cAAc;YACrC,mBAAmB,EAAE,YAAY;YACjC,gBAAgB,EAAE,QAAQ;YAC1B,yBAAyB,EAAE,SAAS;YACpC,6BAA6B,EAAE,QAAQ;YACvC,gBAAgB,EAAE,MAAM;YACxB,oBAAoB,EAAE,WAAW;YACjC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;YACnD,0BAA0B,EAAE,KAAK;SAClC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3B,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7D,IAAI,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YACd,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,aAAa,GAAG,kCAAkC,CAAC,QAAQ,CAAC,CAAC;YACnE,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC7C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE,EAAE,eAAe,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACtC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;oBACvB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;oBAC3B,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,8CAA8C;oBAC3D,4BAA4B,EAAE,GAAG;oBACjC,gBAAgB,EAAE,IAAI;oBACtB,MAAM,EAAE,sDAAsD;iBAC/D,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;gBACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;gBACxC,IAAI,WAAW,GAAwC,UAAU,CAAC;gBAClE,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,SAAS,GAAG,CAAC,CAAC;gBAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,IAAI,eAAe,GAAG,CAAC,CAAC;gBACxB,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;oBACpD,MAAM,GAAG,GAAG,uBAAuB,CACjC,aAAa,CAAC,GAAG,CAAE,EACnB,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,EAAE,CACrC,CAAC;oBACF,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;wBACvC,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;oBACpC,CAAC;oBACD,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;oBAC3C,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;oBACzC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBACjD,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBAChD,YAAY,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAC5C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACrC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC;oBAC/C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC;oBAClD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACnC,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC5C,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBACjD,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;gBAED,GAAG,GAAG;oBACJ,WAAW;oBACX,iBAAiB,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBAC3D,uBAAuB,EAAE,CAAC,GAAG,MAAM,CAAC;oBACpC,qBAAqB,EAAE,CAAC,GAAG,aAAa,CAAC;oBACzC,eAAe;oBACf,cAAc;oBACd,4BAA4B,EAAE,QAAQ;oBACtC,qBAAqB,EAAE,cAAc;oBACrC,mBAAmB,EAAE,YAAY;oBACjC,gBAAgB,EAAE,QAAQ;oBAC1B,yBAAyB,EAAE,SAAS;oBACpC,6BAA6B,EAAE,QAAQ;oBACvC,gBAAgB,EAAE,MAAM;oBACxB,oBAAoB,EAAE,WAAW;oBACjC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;oBACnD,0BAA0B,EAAE,KAAK;iBAClC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;YACtC,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC7C,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;YACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YACxC,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;oBAC/D,MAAM,GAAG,GAAG,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;oBAClF,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC;oBAC3C,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;oBACzC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC;oBACjD,cAAc,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBAChD,YAAY,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAC5C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACrC,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC;oBAC/C,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC;oBAClD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACnC,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC5C,eAAe,IAAI,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC;oBACjD,KAAK,IAAI,GAAG,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,GAAG,GAAG;gBACJ,WAAW,EAAE,UAAU;gBACvB,iBAAiB,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBAC3D,uBAAuB,EAAE,CAAC,GAAG,MAAM,CAAC;gBACpC,qBAAqB,EAAE,CAAC,GAAG,aAAa,CAAC;gBACzC,eAAe;gBACf,cAAc;gBACd,4BAA4B,EAAE,QAAQ;gBACtC,qBAAqB,EAAE,cAAc;gBACrC,mBAAmB,EAAE,YAAY;gBACjC,gBAAgB,EAAE,QAAQ;gBAC1B,yBAAyB,EAAE,SAAS;gBACpC,6BAA6B,EAAE,QAAQ;gBACvC,gBAAgB,EAAE,MAAM;gBACxB,oBAAoB,EAAE,WAAW;gBACjC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;gBACnD,0BAA0B,EAAE,KAAK;aAClC,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GACf,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBACxD,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,uBAAuB,CAAC,IAAI,KAAK,CAAC,CAAC;YACvE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE,EAAE,YAAY,GAAG,EAAE;oBACrB,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW;oBACzC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;oBAC3C,WAAW,EAAE,0CAA0C;oBACvD,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;oBACxD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;oBAC1C,MAAM,EAAE,WAAW;wBACjB,CAAC,CAAC,iEAAiE;wBACnE,CAAC,CAAC,4DAA4D;iBACjE,CAAC,CAAC;YACL,CAAC;YACD,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC7F,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACpD,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC9E,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACjE,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC;oBAC7C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAC9B,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;gBACpE,8GAA8G;gBAC9G,MAAM,WAAW,GAAG,gBAAgB,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,MAAM,CAC5B,MAAM,CAAC,GAAG,CAAA,wFAAwF,EAClG,GAAG,CACJ,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAClD,CAAC;gBACF,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;oBACrB,MAAM,OAAO,GACX,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;wBAC1B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;wBACxB,wCAAwC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxD,IAAI,OAAO,EAAE,CAAC;wBACZ,UAAU,EAAE,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACN,YAAY,CAAC,IAAI,CAAC;4BAChB,EAAE,EAAE,SAAS,MAAM,EAAE;4BACrB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;4BAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;4BAC3C,WAAW,EAAE,4CAA4C;4BACzD,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;4BACxD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;4BAC3C,MAAM,EAAE,WAAW;gCACjB,CAAC,CAAC,gEAAgE;gCAClE,CAAC,CAAC,uDAAuD;yBAC5D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,GAAG,GAAG;oBACJ,GAAG,GAAG;oBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBACvD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAE;oBAChF,cAAc,EAAE,SAAS,CAAC,MAAM;oBAChC,4BAA4B,EAAE,UAAU;oBACxC,qBAAqB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC;oBACrE,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC3C,YAAY,CAAC,IAAI,CAAC;oBAChB,EAAE,EAAE,YAAY,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACnC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,QAAQ,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG;oBAC9E,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;oBACpD,WAAW,EAAE,oBAAoB;oBACjC,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;oBACjE,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBACpD,MAAM,EAAE,OAAO,CAAC,YAAY;wBAC1B,CAAC,CAAC,6CAA6C;wBAC/C,CAAC,CAAC,kEAAkE;iBACvE,CAAC,CAAC;gBACH,GAAG,GAAG;oBACJ,GAAG,GAAG;oBACN,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;oBAChE,uBAAuB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,EAAE;oBACrF,cAAc,EAAE,CAAC;oBACjB,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC3D,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACpD,0BAA0B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IACL,MAAM,KAAK,YAAY;YACvB,MAAM,KAAK,cAAc;YACzB,MAAM,KAAK,WAAW,EACtB,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACtD,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC/C,iBAAiB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC7C,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACnD,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACnD,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,WAAW,GAAG,GAAG,OAAO,iBAAiB,CAAC;YAChD,MAAM,aAAa,GACjB,UAAU,CAAC,WAAW,CAAC;gBACvB,wBAAwB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;YACtE,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,IAAI,aAAa,CAAC;YAC5D,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,sBAAsB,GAAG,EAAE,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,GAAG,CAAC,0BAA0B,GAAG,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,GAAG,CAAC,uBAAuB,GAAG,EAAE,EAAE,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;YACD,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBAClD,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACjD,CAAC;YACD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,UAAU,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,OAAO;gBAClE,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBACjD,WAAW,EAAE,qFAAqF;gBAClG,4BAA4B,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAChE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAChD,MAAM,EAAE,GAAG,CAAC,YAAY;oBACtB,CAAC,CAAC,mCAAmC,GAAG,CAAC,sBAAsB,wBAAwB,GAAG,CAAC,0BAA0B,yBAAyB,GAAG,CAAC,uBAAuB,uBAAuB;oBAChM,CAAC,CAAC,aAAa;wBACb,CAAC,CAAC,wHAAwH;wBAC1H,CAAC,CAAC,2EAA2E;aAClF,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBAC7D,uBAAuB,EAAE,MAAM;gBAC/B,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxD,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjD,0BAA0B,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACtD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,UAAU,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,MAAM,UAAU;gBACjE,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBACnD,WAAW,EAAE,yBAAyB;gBACtC,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBAChE,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACnD,MAAM,EAAE,MAAM,CAAC,YAAY;oBACzB,CAAC,CAAC,mCAAmC,MAAM,CAAC,gBAAgB,iDAAiD;oBAC7G,CAAC,CAAC,yEAAyE;aAC9E,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBAC/D,uBAAuB,EAAE,MAAM;gBAC/B,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACrD,4BAA4B,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1D,qBAAqB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvF,0BAA0B,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,mBAAmB,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YACrE,iBAAiB,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,MAAM,KAAK,aAAa;oBAC9B,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,gDAAgD,CACrD,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC;YACD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,WAAW,WAAW;gBAChF,IAAI,EAAE,cAAc;gBACpB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBACpD,WAAW,EAAE,wBAAwB;gBACrC,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBACjE,gBAAgB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACpD,MAAM,EAAE,OAAO,CAAC,YAAY;oBAC1B,CAAC,CAAC,kFAAkF;oBACpF,CAAC,CAAC,oEAAoE;aACzE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBAChE,uBAAuB,EAAE,MAAM;gBAC/B,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;gBAChD,4BAA4B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3D,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;gBACnF,0BAA0B,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YACpE,iBAAiB,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YACvD,MAAM,WAAW,GACf,MAAM,KAAK,aAAa;gBACtB,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,YAAY;gBAC1C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAChE,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,UAAU,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBAC3C,WAAW,EACT,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,yBAAyB;gBAC5F,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC3C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,+DAA+D;oBACjE,CAAC,CAAC,2DAA2D;aAChE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE;gBACzE,cAAc,EAAE,EAAE;gBAClB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAChE,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1F,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,WAAW,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAClC,IAAI,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,WAAW;gBACxD,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBACvC,WAAW,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,kBAAkB;gBACtF,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,2DAA2D;oBAC7D,CAAC,CAAC,sDAAsD;aAC3D,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtE,cAAc,EAAE,OAAO,CAAC,MAAM;gBAC9B,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;gBACrE,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;YAC5D,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtE,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAChC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBACvC,WAAW,EAAE,oDAAoD;gBACjE,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBACxD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC3C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,yDAAyD;oBAC3D,CAAC,CAAC,4DAA4D;aACjE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,mEAAmE,CAAC;oBACvE,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACvC,iBAAiB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YAC9D,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,UAAU,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACjC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,eAAe;gBACrB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBAC3C,WAAW,EAAE,+CAA+C;gBAC5D,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,uEAAuE;oBACzE,CAAC,CAAC,8DAA8D;aACnE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,wDAAwD,EAAE,wBAAwB,CAAC;oBACtF,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,EAAE;gBAClB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC5C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,iBAAiB,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YAC9E,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU;gBAC3C,WAAW,EAAE,gDAAgD;gBAC7D,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBACxD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBAC3C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,+DAA+D;oBACjE,CAAC,CAAC,4DAA4D;aACjE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,sCAAsC,CAAC;oBAC1C,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,iBAAiB,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBACvC,WAAW,EAAE,qDAAqD;gBAClE,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,6DAA6D;oBAC/D,CAAC,CAAC,2DAA2D;aAChE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC;wBACE,4CAA4C;wBAC5C,4CAA4C;qBAC7C;oBACH,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACrC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;gBACvC,WAAW,EAAE,yDAAyD;gBACtE,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG;gBACxD,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,uEAAuE;oBACzE,CAAC,CAAC,kEAAkE;aACvE,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,mDAAmD,EAAE,4BAA4B,CAAC;oBACrF,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YACrC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;YAChF,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,QAAQ,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBACzC,WAAW,EAAE,oCAAoC;gBACjD,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,0EAA0E;oBAC5E,CAAC,CAAC,sDAAsD;aAC3D,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,gDAAgD,CAAC;oBACpD,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,CAAC;gBACjB,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,iBAAiB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACtD,YAAY,CAAC,IAAI,CAAC;gBAChB,EAAE,EAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC9B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,kBAAkB;gBACxB,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC;gBAC3B,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;gBACzC,WAAW,EAAE,8CAA8C;gBAC3D,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;gBAC1D,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;gBAC1C,MAAM,EAAE,WAAW;oBACjB,CAAC,CAAC,+DAA+D;oBACjE,CAAC,CAAC,0DAA0D;aAC/D,CAAC,CAAC;YACH,GAAG,GAAG;gBACJ,GAAG,GAAG;gBACN,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU;gBACvD,uBAAuB,EAAE,WAAW;oBAClC,CAAC,CAAC,CAAC,4CAA4C,EAAE,qBAAqB,CAAC;oBACvE,CAAC,CAAC,EAAE;gBACN,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACpC,4BAA4B,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClD,qBAAqB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3C,0BAA0B,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IACE,GAAG,CAAC,iBAAiB,KAAK,SAAS;QACnC,GAAG,CAAC,4BAA4B,IAAI,CAAC;QACrC,GAAG,CAAC,0BAA0B,IAAI,CAAC,EACnC,CAAC;QACD,aAAa,GAAG,IAAI,CAAC,GAAG,CACtB,CAAC,EACD,EAAE;YACA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,GAAG,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;SAAM,IAAI,GAAG,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,4BAA4B,GAAG,CAAC,EAAE,CAAC;QAC1F,aAAa,GAAG,EAAE,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,IAAI,CAAC,GAAG,CACtB,EAAE,EACF,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,yBAAyB,GAAG,CAAC,CAAC,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GACpB,aAAa,IAAI,EAAE;QACjB,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,aAAa,IAAI,EAAE;YACnB,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,aAAa,CAAC;IAEtB,MAAM,cAAc,GAAG,oCAAoC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;IAC3C,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjE,MAAM,kBAAkB,GAAG,0BAA0B,UAAU,EAAE,CAAC;IAClE,MAAM,eAAe,GACnB,gBAAgB,KAAK,eAAe;QAClC,CAAC,CAAC,kBAAkB,QAAQ,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,uBAAuB,CAAC,MAAM,oCAAoC,eAAe,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;QACpQ,CAAC,CAAC,mBAAmB,aAAa,QAAQ,QAAQ,CAAC,OAAO,CAAC,uBAAuB,aAAa,+CAA+C,eAAe,CAAC,yBAAyB,aAAa,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,kBAAkB,0CAA0C,CAAC;IAEzU,OAAO;QACL,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,MAAM;QACtB,MAAM;QACN,QAAQ;QACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,aAAa;QACb,gBAAgB;QAChB,aAAa,EAAE,GAAG;QAClB,YAAY;QACZ,oBAAoB,EAAE,CAAC,GAAG,iBAAiB,CAAC;QAC5C,cAAc;QACd,eAAe;QACf,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BenchmarkReport } from "../core/types.js";
|
|
2
2
|
/**
|
|
3
|
-
* Runs the
|
|
3
|
+
* Runs the Counter-REA Showcase Benchmark (`bla benchmark`), including BEAM/EVM/PCAP/PTX.
|
|
4
4
|
*/
|
|
5
5
|
export declare function runShowcaseBenchmark(): Promise<BenchmarkReport>;
|
|
6
6
|
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;AAqJ5E;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,eAAe,CAAC,CAiSrE"}
|
package/dist/engine/benchmark.js
CHANGED
|
@@ -3,9 +3,11 @@ import { tmpdir } from "node:os";
|
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import vm from "node:vm";
|
|
5
5
|
import { BLA_IDENTITY } from "../identity.js";
|
|
6
|
+
import { isNodeSqliteAvailable } from "../core/sqlite-runtime.js";
|
|
6
7
|
import { packAsarBuffer } from "../shields/formats/asar.js";
|
|
7
8
|
import { buildSampleSqliteDatabase } from "../shields/formats/sqlite.js";
|
|
8
9
|
import { buildSafetensorsBuffer } from "../shields/formats/model.js";
|
|
10
|
+
import { buildMappedGoFlutterElfFixture } from "../shields/formats/go-flutter-exhaustion.js";
|
|
9
11
|
import { auditTarget } from "./auditor.js";
|
|
10
12
|
import { protectTarget } from "./protector.js";
|
|
11
13
|
/**
|
|
@@ -105,46 +107,11 @@ function buildSampleWasmModule() {
|
|
|
105
107
|
]);
|
|
106
108
|
}
|
|
107
109
|
/**
|
|
108
|
-
* Showcase 5:
|
|
110
|
+
* Showcase 5: ELF64 with mapped `.go.buildinfo` + Dart isolate data regions
|
|
111
|
+
* (hits REA's real Go / Flutter parsers, not only the trailer).
|
|
109
112
|
*/
|
|
110
113
|
function buildSampleElf64Binary() {
|
|
111
|
-
|
|
112
|
-
// ELF64 little-endian header
|
|
113
|
-
bytes.set([0x7f, 0x45, 0x4c, 0x46, 2, 1, 1], 0);
|
|
114
|
-
bytes.writeUInt16LE(2, 16); // ET_EXEC
|
|
115
|
-
bytes.writeUInt16LE(0x3e, 18); // EM_X86_64
|
|
116
|
-
bytes.writeUInt32LE(1, 20); // EV_CURRENT
|
|
117
|
-
bytes.writeBigUInt64LE(64n, 32); // e_phoff
|
|
118
|
-
bytes.writeBigUInt64LE(128n, 40); // e_shoff
|
|
119
|
-
bytes.writeUInt16LE(64, 52); // e_ehsize
|
|
120
|
-
bytes.writeUInt16LE(56, 54); // e_phentsize
|
|
121
|
-
bytes.writeUInt16LE(1, 56); // e_phnum
|
|
122
|
-
bytes.writeUInt16LE(64, 58); // e_shentsize
|
|
123
|
-
bytes.writeUInt16LE(3, 60); // e_shnum
|
|
124
|
-
bytes.writeUInt16LE(1, 62); // e_shstrndx
|
|
125
|
-
// Program header 0: PT_LOAD covering file
|
|
126
|
-
bytes.writeUInt32LE(1, 64); // PT_LOAD
|
|
127
|
-
bytes.writeUInt32LE(4, 68); // PF_R
|
|
128
|
-
bytes.writeBigUInt64LE(0n, 72); // p_offset
|
|
129
|
-
bytes.writeBigUInt64LE(0x400000n, 80); // p_vaddr
|
|
130
|
-
bytes.writeBigUInt64LE(BigInt(bytes.length), 96); // p_filesz
|
|
131
|
-
bytes.writeBigUInt64LE(BigInt(bytes.length), 104); // p_memsz
|
|
132
|
-
// Section header 1: .shstrtab at 192
|
|
133
|
-
const names = Buffer.from("\0.shstrtab\0.rodata\0", "utf8");
|
|
134
|
-
names.copy(bytes, 512);
|
|
135
|
-
bytes.writeUInt32LE(1, 192); // sh_name
|
|
136
|
-
bytes.writeUInt32LE(3, 196); // SHT_STRTAB
|
|
137
|
-
bytes.writeBigUInt64LE(512n, 216); // sh_offset
|
|
138
|
-
bytes.writeBigUInt64LE(BigInt(names.length), 224); // sh_size
|
|
139
|
-
// Section header 2: .rodata at 256
|
|
140
|
-
bytes.writeUInt32LE(11, 256); // sh_name (.rodata)
|
|
141
|
-
bytes.writeUInt32LE(1, 260); // SHT_PROGBITS
|
|
142
|
-
bytes.writeBigUInt64LE(2n, 264); // SHF_ALLOC (read-only!)
|
|
143
|
-
bytes.writeBigUInt64LE(0x400400n, 272); // sh_addr
|
|
144
|
-
bytes.writeBigUInt64LE(1024n, 280); // sh_offset
|
|
145
|
-
bytes.writeBigUInt64LE(512n, 288); // sh_size
|
|
146
|
-
bytes.write("/rustc/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/library/core", 1024, "latin1");
|
|
147
|
-
return bytes;
|
|
114
|
+
return buildMappedGoFlutterElfFixture();
|
|
148
115
|
}
|
|
149
116
|
function runCommonJsModule(code) {
|
|
150
117
|
const mod = { exports: {} };
|
|
@@ -177,7 +144,7 @@ function runCommonJsModule(code) {
|
|
|
177
144
|
return mod.exports;
|
|
178
145
|
}
|
|
179
146
|
/**
|
|
180
|
-
* Runs the
|
|
147
|
+
* Runs the Counter-REA Showcase Benchmark (`bla benchmark`), including BEAM/EVM/PCAP/PTX.
|
|
181
148
|
*/
|
|
182
149
|
export async function runShowcaseBenchmark() {
|
|
183
150
|
const tempDir = mkdtempSync(join(tmpdir(), "bla-benchmark-"));
|
|
@@ -258,7 +225,9 @@ export async function runShowcaseBenchmark() {
|
|
|
258
225
|
cases.push(buildCaseResult("native-elf", "Native ELF64 Rust/Go/Electron/Dart Binary", "REA inspect_rust_binary / inspect_electron_fuses / identify_flutter_build", res, functionalOk));
|
|
259
226
|
}
|
|
260
227
|
// 6. Local SQLite 3 Entitlement Database (.sqlite)
|
|
261
|
-
|
|
228
|
+
// Degrade gracefully on Node < 22.13 / --no-experimental-sqlite: skip this target
|
|
229
|
+
// rather than hard-failing the entire Counter-REA showcase.
|
|
230
|
+
if (isNodeSqliteAvailable()) {
|
|
262
231
|
const dbPath = join(tempDir, "entitlements.sqlite");
|
|
263
232
|
const outDbPath = join(tempDir, "entitlements.shielded.sqlite");
|
|
264
233
|
writeFileSync(dbPath, buildSampleSqliteDatabase());
|
|
@@ -276,7 +245,7 @@ export async function runShowcaseBenchmark() {
|
|
|
276
245
|
}));
|
|
277
246
|
const res = protectTarget({ inputPath: modelPath, outputPath: outModelPath, intensity: "bankrupt" });
|
|
278
247
|
const afterAudit = auditTarget(outModelPath);
|
|
279
|
-
const functionalOk = afterAudit.
|
|
248
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
280
249
|
cases.push(buildCaseResult("safetensors-model", "Proprietary Edge AI Model (.safetensors)", "REA inspect_model_artifact", res, functionalOk));
|
|
281
250
|
}
|
|
282
251
|
// 8. Android Dalvik Bytecode (classes.dex)
|
|
@@ -294,6 +263,117 @@ export async function runShowcaseBenchmark() {
|
|
|
294
263
|
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
295
264
|
cases.push(buildCaseResult("android-dex", "Android Dalvik Bytecode (classes.dex)", "REA search_android_classes (JADX/JEB)", res, functionalOk));
|
|
296
265
|
}
|
|
266
|
+
// 9. Apple PropertyList (Info.plist)
|
|
267
|
+
{
|
|
268
|
+
const plistPath = join(tempDir, "Info.plist");
|
|
269
|
+
const outPlistPath = join(tempDir, "Info.shielded.plist");
|
|
270
|
+
writeFileSync(plistPath, `<?xml version="1.0" encoding="UTF-8"?>\n<plist version="1.0"><dict><key>CFBundleIdentifier</key><string>com.bla.desktop</string></dict></plist>`, "utf8");
|
|
271
|
+
const res = protectTarget({ inputPath: plistPath, outputPath: outPlistPath, intensity: "bankrupt" });
|
|
272
|
+
const afterAudit = auditTarget(outPlistPath);
|
|
273
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
274
|
+
cases.push(buildCaseResult("apple-plist", "Apple Bundle PropertyList (Info.plist)", "REA inspect_apple_bundle", res, functionalOk));
|
|
275
|
+
}
|
|
276
|
+
// 10. .NET Managed CLR Assembly (.dll)
|
|
277
|
+
{
|
|
278
|
+
const dllPath = join(tempDir, "EnterpriseVault.dll");
|
|
279
|
+
const outDllPath = join(tempDir, "EnterpriseVault.shielded.dll");
|
|
280
|
+
const peClr = Buffer.alloc(128, 0);
|
|
281
|
+
peClr.write("MZ", 0, "ascii");
|
|
282
|
+
peClr.write("BSJB", 64, "ascii");
|
|
283
|
+
writeFileSync(dllPath, peClr);
|
|
284
|
+
const res = protectTarget({ inputPath: dllPath, outputPath: outDllPath, intensity: "bankrupt" });
|
|
285
|
+
const afterAudit = auditTarget(outDllPath);
|
|
286
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
287
|
+
cases.push(buildCaseResult("dotnet-managed", ".NET Managed CLR Assembly (.dll)", "REA inspect_dotnet_assembly", res, functionalOk));
|
|
288
|
+
}
|
|
289
|
+
// 11. Erlang BEAM OTP module (.beam)
|
|
290
|
+
{
|
|
291
|
+
const beamPath = join(tempDir, "enclave_guard.beam");
|
|
292
|
+
const outBeamPath = join(tempDir, "enclave_guard.shielded.beam");
|
|
293
|
+
const chunk = (name, body) => {
|
|
294
|
+
const pad = (4 - (body.length % 4)) % 4;
|
|
295
|
+
const hdr = Buffer.alloc(8);
|
|
296
|
+
hdr.write(name, 0, "latin1");
|
|
297
|
+
hdr.writeUInt32BE(body.length, 4);
|
|
298
|
+
return Buffer.concat([hdr, body, Buffer.alloc(pad)]);
|
|
299
|
+
};
|
|
300
|
+
const atomNames = ["bench_mod", "module_info", "start"];
|
|
301
|
+
const atomParts = [Buffer.alloc(4)];
|
|
302
|
+
atomParts[0].writeUInt32BE(atomNames.length);
|
|
303
|
+
for (const n of atomNames) {
|
|
304
|
+
const enc = Buffer.from(n, "utf8");
|
|
305
|
+
atomParts.push(Buffer.from([enc.length]), enc);
|
|
306
|
+
}
|
|
307
|
+
const codeBody = Buffer.alloc(20);
|
|
308
|
+
codeBody.writeUInt32BE(16, 0);
|
|
309
|
+
codeBody.writeUInt32BE(0, 4);
|
|
310
|
+
codeBody.writeUInt32BE(169, 8);
|
|
311
|
+
codeBody.writeUInt32BE(4, 12);
|
|
312
|
+
codeBody.writeUInt32BE(2, 16);
|
|
313
|
+
const expBody = Buffer.alloc(16);
|
|
314
|
+
expBody.writeUInt32BE(1, 0);
|
|
315
|
+
expBody.writeUInt32BE(2, 4);
|
|
316
|
+
expBody.writeUInt32BE(0, 8);
|
|
317
|
+
expBody.writeUInt32BE(1, 12);
|
|
318
|
+
const form = Buffer.concat([
|
|
319
|
+
Buffer.from("BEAM", "latin1"),
|
|
320
|
+
chunk("AtU8", Buffer.concat(atomParts)),
|
|
321
|
+
chunk("Code", codeBody),
|
|
322
|
+
chunk("ExpT", expBody),
|
|
323
|
+
]);
|
|
324
|
+
const seed = Buffer.concat([
|
|
325
|
+
Buffer.from("FOR1", "latin1"),
|
|
326
|
+
(() => {
|
|
327
|
+
const b = Buffer.alloc(4);
|
|
328
|
+
b.writeUInt32BE(form.length);
|
|
329
|
+
return b;
|
|
330
|
+
})(),
|
|
331
|
+
form,
|
|
332
|
+
]);
|
|
333
|
+
writeFileSync(beamPath, seed);
|
|
334
|
+
const res = protectTarget({ inputPath: beamPath, outputPath: outBeamPath, intensity: "bankrupt" });
|
|
335
|
+
const afterAudit = auditTarget(outBeamPath);
|
|
336
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
337
|
+
cases.push(buildCaseResult("erlang-beam", "Erlang/OTP BEAM Module (.beam)", "REA inspect_erlang_beam", res, functionalOk));
|
|
338
|
+
}
|
|
339
|
+
// 12. EVM contract bytecode (.evm / .bin)
|
|
340
|
+
{
|
|
341
|
+
const evmPath = join(tempDir, "Vault.evm");
|
|
342
|
+
const outEvmPath = join(tempDir, "Vault.shielded.evm");
|
|
343
|
+
// Minimal runtime bytecode: STOP
|
|
344
|
+
writeFileSync(evmPath, Buffer.from([0x00]));
|
|
345
|
+
const res = protectTarget({ inputPath: evmPath, outputPath: outEvmPath, intensity: "bankrupt" });
|
|
346
|
+
const afterAudit = auditTarget(outEvmPath);
|
|
347
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED" &&
|
|
348
|
+
res.metrics.protectedBytes >= 4_000_000;
|
|
349
|
+
cases.push(buildCaseResult("evm-bytecode", "EVM Contract Bytecode (Solidity metadata)", "REA inspect_evm_bytecode / evmole", res, functionalOk));
|
|
350
|
+
}
|
|
351
|
+
// 13. PCAP capture (.pcap)
|
|
352
|
+
{
|
|
353
|
+
const pcapPath = join(tempDir, "enclave-traffic.pcap");
|
|
354
|
+
const outPcapPath = join(tempDir, "enclave-traffic.shielded.pcap");
|
|
355
|
+
const hdr = Buffer.alloc(24);
|
|
356
|
+
hdr.writeUInt32LE(0xa1b2c3d4, 0);
|
|
357
|
+
hdr.writeUInt16LE(2, 4);
|
|
358
|
+
hdr.writeUInt16LE(4, 6);
|
|
359
|
+
hdr.writeUInt32LE(65535, 16);
|
|
360
|
+
hdr.writeUInt32LE(1, 20);
|
|
361
|
+
writeFileSync(pcapPath, hdr);
|
|
362
|
+
const res = protectTarget({ inputPath: pcapPath, outputPath: outPcapPath, intensity: "bankrupt" });
|
|
363
|
+
const afterAudit = auditTarget(outPcapPath);
|
|
364
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
365
|
+
cases.push(buildCaseResult("pcap-capture", "libpcap Network Capture (.pcap)", "REA inspect_pcap_capture (tshark JSON)", res, functionalOk));
|
|
366
|
+
}
|
|
367
|
+
// 14. NVIDIA PTX text module (.ptx)
|
|
368
|
+
{
|
|
369
|
+
const ptxPath = join(tempDir, "enclave_kernel.ptx");
|
|
370
|
+
const outPtxPath = join(tempDir, "enclave_kernel.shielded.ptx");
|
|
371
|
+
writeFileSync(ptxPath, `.version 7.5\n.target sm_70\n.address_size 64\n\n.visible .entry real_kernel(.param .u64 real_kernel_param_0)\n{\n ret;\n}\n`, "utf8");
|
|
372
|
+
const res = protectTarget({ inputPath: ptxPath, outputPath: outPtxPath, intensity: "bankrupt" });
|
|
373
|
+
const afterAudit = auditTarget(outPtxPath);
|
|
374
|
+
const functionalOk = afterAudit.protectionStatus === "BLA_PROTECTED";
|
|
375
|
+
cases.push(buildCaseResult("gpu-ptx", "NVIDIA PTX Text Module (.ptx)", "REA inspect_gpu_artifact (PTX)", res, functionalOk));
|
|
376
|
+
}
|
|
297
377
|
}
|
|
298
378
|
finally {
|
|
299
379
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/engine/benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export interface OneClickDefenseOptions {
|
|
|
7
7
|
readonly intensity?: ProtectionIntensity;
|
|
8
8
|
readonly seed?: string | number;
|
|
9
9
|
readonly emitManifest?: boolean;
|
|
10
|
+
readonly llmDirectives?: boolean;
|
|
10
11
|
}
|
|
11
12
|
export interface OneClickDefenseStageSummary {
|
|
12
13
|
readonly stage: "1-release-exposure-scan" | "2-preflight-rea-audit" | "3-exhaustion-and-deception-shield" | "4-counter-rea-invariant-verification" | "5-defense-attestation-manifest";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defender.d.ts","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"defender.d.ts","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EACV,yBAAyB,GACzB,uBAAuB,GACvB,mCAAmC,GACnC,sCAAsC,GACtC,gCAAgC,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE;QAC1B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;QAC9C,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;QAC7C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;QAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;QACzC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;KAC3C,CAAC;IACF,QAAQ,CAAC,gBAAgB,EAAE;QACzB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;QACxC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;QAC5C,QAAQ,CAAC,6BAA6B,EAAE,MAAM,CAAC;QAC/C,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;QAChD,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;KAC5C,CAAC;CACH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAwHnF"}
|
package/dist/engine/defender.js
CHANGED
|
@@ -37,6 +37,9 @@ export function defendTarget(options) {
|
|
|
37
37
|
...(options.inPlace !== undefined ? { inPlace: options.inPlace } : {}),
|
|
38
38
|
intensity,
|
|
39
39
|
...(options.seed !== undefined ? { seed: options.seed } : {}),
|
|
40
|
+
...(options.llmDirectives !== undefined
|
|
41
|
+
? { llmDirectives: options.llmDirectives }
|
|
42
|
+
: {}),
|
|
40
43
|
honeySourceMaps: true,
|
|
41
44
|
});
|
|
42
45
|
// Stage 4: Verify Counter-REA Invariants
|
|
@@ -88,6 +91,9 @@ export function defendTarget(options) {
|
|
|
88
91
|
schema: "https://bla.tools/schemas/defense-manifest-v1.json",
|
|
89
92
|
blaVersion: BLA_IDENTITY.version,
|
|
90
93
|
protectedAt: new Date().toISOString(),
|
|
94
|
+
// Honesty: this JSON is an attestation record, not a cryptographic signature.
|
|
95
|
+
// Set attestationKind to "ed25519" only when a real signature is attached.
|
|
96
|
+
attestationKind: "unsigned",
|
|
91
97
|
inputSha256: protection.originalSha256,
|
|
92
98
|
protectedSha256: protection.protectedSha256,
|
|
93
99
|
detectedFormat: protection.detectedFormat,
|
|
@@ -102,7 +108,7 @@ export function defendTarget(options) {
|
|
|
102
108
|
stages.push({
|
|
103
109
|
stage: "5-defense-attestation-manifest",
|
|
104
110
|
status: "passed",
|
|
105
|
-
headline: `Emitted
|
|
111
|
+
headline: `Emitted unsigned Counter-REA attestation manifest (not ed25519-signed) to ${manifestPath}`,
|
|
106
112
|
});
|
|
107
113
|
}
|
|
108
114
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defender.js","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,sBAAsB,GAEvB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"defender.js","sourceRoot":"","sources":["../../src/engine/defender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { ArtifactFormat, ProtectionIntensity } from "../core/types.js";
|
|
2
|
+
/** Preferred build-output directory names, searched first under a project root. */
|
|
3
|
+
export declare const BLA_BUILD_OUTPUT_DIR_NAMES: readonly ["dist", "build", "out", "release", "Release", "Debug", "x64", "Win32", "bin", ".next", "target"];
|
|
4
|
+
export interface DiscoveredArtifact {
|
|
5
|
+
readonly path: string;
|
|
6
|
+
readonly format: ArtifactFormat;
|
|
7
|
+
readonly relativePath: string;
|
|
8
|
+
}
|
|
9
|
+
export interface HardenArtifactSummary {
|
|
10
|
+
readonly inputPath: string;
|
|
11
|
+
readonly relativePath: string;
|
|
12
|
+
readonly format: ArtifactFormat;
|
|
13
|
+
readonly outputPath: string;
|
|
14
|
+
readonly success: boolean;
|
|
15
|
+
readonly defenseScore: number;
|
|
16
|
+
readonly tokenAmplificationFactor: number;
|
|
17
|
+
readonly costAmplificationFactor: number;
|
|
18
|
+
readonly error?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface HardenProjectOptions {
|
|
21
|
+
/** Project or build directory (default: cwd). A single file is also accepted. */
|
|
22
|
+
readonly directory?: string;
|
|
23
|
+
readonly intensity?: ProtectionIntensity;
|
|
24
|
+
readonly seed?: string | number;
|
|
25
|
+
readonly emitManifest?: boolean;
|
|
26
|
+
readonly llmDirectives?: boolean;
|
|
27
|
+
/** Optional output root; defaults to `<dir>/.bla-hardened`. */
|
|
28
|
+
readonly outputDirectory?: string;
|
|
29
|
+
readonly maxArtifacts?: number;
|
|
30
|
+
}
|
|
31
|
+
export interface HardenProjectReport {
|
|
32
|
+
readonly blaVersion: string;
|
|
33
|
+
readonly directory: string;
|
|
34
|
+
readonly intensity: ProtectionIntensity;
|
|
35
|
+
readonly overallSuccess: boolean;
|
|
36
|
+
readonly discoveredCount: number;
|
|
37
|
+
readonly hardenedCount: number;
|
|
38
|
+
readonly failedCount: number;
|
|
39
|
+
readonly outputDirectory: string;
|
|
40
|
+
readonly artifacts: readonly HardenArtifactSummary[];
|
|
41
|
+
readonly oneSentenceUsage: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Auto-discovers protectable build artifacts under a project or build directory.
|
|
45
|
+
* Prefers dist/build/out/release/…, and also picks up root-level
|
|
46
|
+
* .asar/native/.wasm/.py/.pyc/.sqlite/.safetensors/.gguf/.dex/.class/.dll
|
|
47
|
+
* and magic-byte formats even when a build directory exists.
|
|
48
|
+
*/
|
|
49
|
+
export declare function discoverHardenableArtifacts(directory?: string, options?: {
|
|
50
|
+
readonly maxArtifacts?: number;
|
|
51
|
+
}): readonly DiscoveredArtifact[];
|
|
52
|
+
/**
|
|
53
|
+
* One-sentence Counter-REA hardening: discover every protectable build artifact
|
|
54
|
+
* under a project/build directory and run the full audit→defend→verify pipeline
|
|
55
|
+
* with the bankrupt profile. Modelled on REA's `npx rea-agents setup` simplicity.
|
|
56
|
+
*
|
|
57
|
+
* Usage: `bla harden .` / MCP `bla_harden` with `{ "directory": "." }`
|
|
58
|
+
*/
|
|
59
|
+
export declare function hardenProject(options?: HardenProjectOptions): HardenProjectReport;
|
|
60
|
+
export declare function formatHardenProjectReport(report: HardenProjectReport): string;
|
|
61
|
+
//# sourceMappingURL=harden.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harden.d.ts","sourceRoot":"","sources":["../../src/engine/harden.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAO5E,mFAAmF;AACnF,eAAO,MAAM,0BAA0B,4GAY5B,CAAC;AAuCZ,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAmFD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,GAAE,MAAsB,EACjC,OAAO,GAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,SAAS,kBAAkB,EAAE,CAmC/B;AAeD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAgGrB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAyB7E"}
|