@knowzai/local-store 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Knowz
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/hash.ts","../src/types.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@22.19.19/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+better-sqlite3@7.6.13/node_modules/@types/better-sqlite3/index.d.ts","../../../node_modules/.pnpm/sqlite-vec@0.1.9/node_modules/sqlite-vec/index.d.ts","../src/sqlite-store.ts","../../../node_modules/.pnpm/pg-types@2.2.0/node_modules/pg-types/index.d.ts","../../../node_modules/.pnpm/pg-protocol@1.14.0/node_modules/pg-protocol/dist/messages.d.ts","../../../node_modules/.pnpm/pg-protocol@1.14.0/node_modules/pg-protocol/dist/serializer.d.ts","../../../node_modules/.pnpm/pg-protocol@1.14.0/node_modules/pg-protocol/dist/parser.d.ts","../../../node_modules/.pnpm/pg-protocol@1.14.0/node_modules/pg-protocol/dist/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/lib/type-overrides.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.ts","../../../node_modules/.pnpm/@types+pg@8.20.0/node_modules/@types/pg/index.d.mts","../src/postgres-store.ts","../src/open.ts","../../types/dist/index.d.ts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/zoderror.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.d.cts","../../api-client/dist/contracts.d.ts","../../api-client/dist/resources/auth.d.ts","../../api-client/dist/resources/knowledge.d.ts","../../api-client/dist/resources/vaults.d.ts","../../api-client/dist/resources/search.d.ts","../../api-client/dist/resources/ask.d.ts","../../api-client/dist/resources/index.d.ts","../../api-client/dist/resources/extras.d.ts","../../api-client/dist/chat.d.ts","../../api-client/dist/client.d.ts","../../api-client/dist/envelope.d.ts","../../api-client/dist/tls.d.ts","../../api-client/dist/resources/paging.d.ts","../../api-client/dist/index.d.ts","../src/sync-engine.ts","../src/pg-provision.ts","../src/index.ts","../../../../node_modules/@types/readable-stream/index.d.ts"],"fileIdsList":[[69,118,135,136,168],[69,115,116,118,135,136],[69,117,118,135,136],[118,135,136],[69,118,123,135,136,153],[69,118,119,124,129,135,136,138,150,161],[69,118,119,120,129,135,136,138],[69,118,135,136],[64,65,66,69,118,135,136],[69,118,121,135,136,162],[69,118,122,123,130,135,136,139],[69,118,123,135,136,150,158],[69,118,124,126,129,135,136,138],[69,117,118,125,135,136],[69,118,126,127,135,136],[69,118,128,129,135,136],[69,117,118,129,135,136],[69,118,129,130,131,135,136,150,161],[69,118,129,130,131,135,136,145,150,153],[69,111,118,126,129,132,135,136,138,150,161],[69,118,129,130,132,133,135,136,138,150,158,161],[69,118,132,134,135,136,150,158,161],[67,68,69,70,71,72,73,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[69,118,129,135,136],[69,118,135,136,137,161],[69,118,126,129,135,136,138,150],[69,118,135,136,139],[69,118,135,136,140],[69,117,118,135,136,141],[69,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167],[69,118,135,136,143],[69,118,135,136,144],[69,118,129,135,136,145,146],[69,118,135,136,145,147,162,164],[69,118,130,135,136],[69,118,129,135,136,150,151,153],[69,118,135,136,152,153],[69,118,135,136,150,151],[69,118,135,136,153],[69,118,135,136,154],[69,115,118,135,136,150,155,161],[69,118,129,135,136,156,157],[69,118,135,136,156,157],[69,118,123,135,136,138,150,158],[69,118,135,136,159],[69,118,135,136,138,160],[69,118,132,135,136,144,161],[69,118,123,135,136,162],[69,118,135,136,150,163],[69,118,135,136,137,164],[69,118,135,136,165],[69,111,118,135,136],[69,111,118,129,131,135,136,141,150,153,161,163,164,166],[69,118,135,136,150,167],[69,118,135,136,178],[69,118,129,135,136,150,158,168,172,173,176,177,178],[69,118,135,136,168,173,174,175],[69,118,135,136,150,168,173],[69,83,87,118,135,136,161],[69,83,118,135,136,150,161],[69,78,118,135,136],[69,80,83,118,135,136,158,161],[69,118,135,136,138,158],[69,78,118,135,136,168],[69,80,83,118,135,136,138,161],[69,75,76,79,82,118,129,135,136,150,161],[69,83,90,118,135,136],[69,75,81,118,135,136],[69,83,104,105,118,135,136],[69,79,83,118,135,136,153,161,168],[69,104,118,135,136,168],[69,77,78,118,135,136,168],[69,83,118,135,136],[69,77,78,79,80,81,82,83,84,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,118,135,136],[69,83,98,118,135,136],[69,83,90,91,118,135,136],[69,81,83,91,92,118,135,136],[69,82,118,135,136],[69,75,78,83,118,135,136],[69,83,87,91,92,118,135,136],[69,87,118,135,136],[69,81,83,86,118,135,136,161],[69,75,80,83,90,118,135,136],[69,118,135,136,150],[69,78,83,104,118,135,136,166,168],[69,118,135,136,195],[69,118,135,136,186,187],[69,118,135,136,183,184,186,188,189,194],[69,118,135,136,184,186],[69,118,135,136,194],[69,118,135,136,186],[69,118,135,136,183,184,186,189,190,191,192,193],[69,118,135,136,183,184,185],[69,118,135,136,182,197],[69,118,135,136,182,197,203,204,205],[69,118,135,136,196],[69,118,135,136,182,197,203,204,205,206,207,208,209],[69,118,135,136,196,197],[69,118,135,136,198,199,200,201,202],[69,118,135,136,182],[69,118,123,135,136],[62,63,69,118,135,136,171,180,181,211,212],[63,69,118,135,136,139,140,171,180],[69,118,119,130,135,136,139,140],[63,69,118,135,136,179],[63,69,118,130,135,136,140,169,170],[62,63,69,118,135,136,210],[69,118,135,136,150,168]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"b6a1d5396114d7f0f6149be43e2eee2e50b5db3c606dd7ac0198acf42f6d97a7","signature":"190efd7de11797af70ea812f61e149bae56cc0dce3f790e2704dcccccf1fe1b0","impliedFormat":99},{"version":"c91756083a0c17eba1379dcfb36def6a4cf87e85673c8d6759f7d9c99934ede9","signature":"fd252511557750a88b44b9eb7ce442ce592d93e51fa138bae149c2b1d5e20b8f","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"58647d85d0f722a1ce9de50955df60a7489f0593bf1a7015521efe901c06d770","impliedFormat":1},{"version":"73b5fa37db36eeac90c4d752e39586f1b57187400c4f5280fd05f16437287a45","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"80523c00b8544a2000ae0143e4a90a00b47f99823eb7926c1e03c494216fc363","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"746911b62b329587939560deb5c036aca48aece03147b021fa680223255d5183","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2b55d426ff2b9087485e52ac4bc7cfafe1dc420fc76dad926cd46526567c501a","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"c2a6a737189ced24ffe0634e9239b087e4c26378d0490f95141b9b9b042b746c","impliedFormat":1},{"version":"2983e0b3ad2c298e55955d3d005191c8251de4b08dce02283eda764ba3d2fd3d","impliedFormat":1},{"version":"0dbce59f53c5e5166b2426f0d5d8e80ff4c8ff77e6b29e823885fa25a1cdcbb0","signature":"6e88ba1c2081a7cdb28f02be72a529ebaef6c780cc51a73c757cc05be5688df6","impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","impliedFormat":1},{"version":"dcb41cc4b671f5f85d3754e68dfde7824686a8adbb4c690cb259c1501cb868e1","impliedFormat":1},{"version":"21ac4cf3f8d8c6e1201cb31f600be708c9a37867fc5c73b7ccf80560fae591c8","impliedFormat":1},{"version":"0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"2636a309ed87d6876728d9aca846a76b372cf2a21a4fdf9940a82a2dd86687d0","impliedFormat":1},{"version":"5aea76ab98173f2c230b1f78dc010da403da622c105c468ace9fe24e3b77883c","impliedFormat":99},{"version":"22842b20ec17ec4d9fc29cf0edf1408f53d29f07cab4e5399fcc7064d03def5b","signature":"d750ff0195a600fddfad9aabddd5d9f3b2cef5e2a8a7f54fa8d3808f180b6866","impliedFormat":99},{"version":"bd147ba1ee6899f1dfdc6cde6d969ec9b954d46f4f472569f424b1a7f57dfe82","signature":"49f27d70f572a6121a9528954e2422924d043ef82f1eb093e1afb6dfbbc31145","impliedFormat":99},{"version":"d5bad27c2e2912fb0c6aa27d87e72abc6c9e89c82ce30eb4b5fbb13978895220","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"ccc6378f40783194fe04d454781522567c6ac963745652b8c3ad8c1f29b52f32","impliedFormat":99},{"version":"edc6d242a73d83cb2931dcab1bb9c070215d4c69215da314823ea7f57827ac30","impliedFormat":99},{"version":"af3b5a52d32715c6ce0299809f046de12292c98c6f09aa8fbae85da920e453a8","impliedFormat":99},{"version":"2b92859cfc8fdfdcd0fa1491eaa317fd128bcefc4ab45416a00a768287589256","impliedFormat":99},{"version":"895a9b8add7fbbb34e4fb241c99b2511bde3173453275477c7a26312a660eb1c","impliedFormat":99},{"version":"a5ef73e0431169021c1c13c9fc36ab26fc19ef27911d17478fe9a3e95b38bb49","impliedFormat":99},{"version":"a4db76c00c8c1611ee72072605a09f7aeef8f3f106055b7129880d0c686321df","impliedFormat":99},{"version":"0d808b8a416b6e80c5a8c80bd49d46ec4df63c737edc222f61ade533f5d1c9d2","impliedFormat":99},{"version":"c9344ea2eae002f4b3e49b20c8dda4be2a5a975a4a29603e0a59fbf117140188","impliedFormat":99},{"version":"37e4f3fc8e57bf9f5754cc0e9f4ba939aa0f426f0181d985666d172baf6f039d","impliedFormat":99},{"version":"5e19f5fb3c8b9dd47293c9b074d90ac572a35ecb5d4b3806b81389d08e502f1d","impliedFormat":99},{"version":"51ec986b1fe6904f983bfdbee6397260ac873828abd71e412d7f8a628373124d","impliedFormat":99},{"version":"91401943f0b26da132deec9f18541cf955564cc9cf15d264b39d6c5aeb271459","impliedFormat":99},{"version":"55eb495ee63f9362d0a631be73e0595cc8131e5d4e0e2ca515be048e4801c815","impliedFormat":99},{"version":"21af96448cee1203f644b633057fa93ae5f3f8471bb5067835e768e2f7110d38","signature":"7c4961099846f3e6b3bbc64764c21e43e180c3d6f1331c9c539ba3700cee4b5d","impliedFormat":99},{"version":"fa74bbf2ff27fe1e1c9f2f04561dd994e25541196fd106eabb1d90963756b194","signature":"e8d720c42f968ed0d3d0fd3203b250b6a17637fe79791b1e4834311e09eca2d2","impliedFormat":99},{"version":"776289da2ad8a732ebdfe7e5b6dd9b6f15c70375611e4d3e826b5c4853ec31ae","signature":"de2e92eaa497cd97727b1970799a3abd2011613648a90b6ab398c4ceea3e4230","impliedFormat":99},{"version":"82428329db2b05aba6784395a429504ebca24f5d4b9506f779b964cf8c0fd58e","affectsGlobalScope":true,"impliedFormat":1}],"root":[62,63,171,180,181,[211,213]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo","verbatimModuleSyntax":false},"referencedMap":[[169,1],[115,2],[116,2],[117,3],[69,4],[118,5],[119,6],[120,7],[64,8],[67,9],[65,8],[66,8],[121,10],[122,11],[123,12],[124,13],[125,14],[126,15],[127,15],[128,16],[129,17],[130,18],[131,19],[70,8],[68,8],[132,20],[133,21],[134,22],[168,23],[135,24],[136,8],[137,25],[138,26],[139,27],[140,28],[141,29],[142,30],[143,31],[144,32],[145,33],[146,33],[147,34],[148,8],[149,35],[150,36],[152,37],[151,38],[153,39],[154,40],[155,41],[156,42],[157,43],[158,44],[159,45],[160,46],[161,47],[162,48],[163,49],[164,50],[165,51],[71,8],[72,8],[73,8],[112,52],[113,8],[114,8],[166,53],[167,54],[179,55],[178,56],[177,55],[74,8],[176,57],[173,1],[175,58],[174,1],[172,8],[170,8],[60,8],[61,8],[12,8],[11,8],[2,8],[13,8],[14,8],[15,8],[16,8],[17,8],[18,8],[19,8],[20,8],[3,8],[21,8],[22,8],[4,8],[23,8],[27,8],[24,8],[25,8],[26,8],[28,8],[29,8],[30,8],[5,8],[31,8],[32,8],[33,8],[34,8],[6,8],[38,8],[35,8],[36,8],[37,8],[39,8],[7,8],[40,8],[45,8],[46,8],[41,8],[42,8],[43,8],[44,8],[8,8],[50,8],[47,8],[48,8],[49,8],[51,8],[9,8],[52,8],[53,8],[54,8],[56,8],[55,8],[57,8],[58,8],[10,8],[59,8],[1,8],[90,59],[100,60],[89,59],[110,61],[81,62],[80,63],[109,1],[103,64],[108,65],[83,66],[97,67],[82,68],[106,69],[78,70],[77,1],[107,71],[79,72],[84,73],[85,8],[88,73],[75,8],[111,74],[101,75],[92,76],[93,77],[95,78],[91,79],[94,80],[104,1],[86,81],[87,82],[96,83],[76,84],[99,75],[98,73],[102,8],[105,85],[196,86],[188,87],[195,88],[190,8],[191,8],[189,89],[192,90],[183,8],[184,8],[185,86],[187,91],[193,8],[194,92],[186,93],[205,94],[206,95],[197,96],[207,96],[210,97],[202,94],[198,94],[204,98],[203,99],[199,94],[209,100],[201,94],[200,94],[208,8],[62,101],[213,102],[181,103],[212,104],[180,105],[171,106],[211,107],[63,8],[182,8],[214,108]],"latestChangedDtsFile":"./sync-engine.d.ts","version":"5.9.3"}
package/dist/hash.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /** sha256 content hash used for dirty-detection + pull no-op skipping. */
2
+ export declare function contentHash(content: string | undefined, title: string, tags: string[]): string;
3
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAEA,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAQ9F"}
package/dist/hash.js ADDED
Binary file
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../src/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,0EAA0E;AAC1E,MAAM,UAAU,WAAW,CAAC,OAA2B,EAAE,KAAa,EAAE,IAAc;IACpF,OAAO,UAAU,CAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,KAAK,CAAC;SACb,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;SACrB,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const NODE_ID: "FEAT_KnowzLocalStore";
2
+ export * from './types.js';
3
+ export { contentHash } from './hash.js';
4
+ export { SqliteStore } from './sqlite-store.js';
5
+ export { PostgresStore } from './postgres-store.js';
6
+ export { openLocalStore, defaultDbPath, graphPath } from './open.js';
7
+ export { SyncEngine, type SyncReport, type SyncStatus, type ContentEncryptor, type FlushReport, type FlushOptions, } from './sync-engine.js';
8
+ export { PostgresProvisioner, PgProvisionError, locateServerBin, type PgProvisionOptions, type PgUpResult, type PgStatus, } from './pg-provision.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAG,sBAA+B,CAAC;AAEvD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,mBAAmB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export const NODE_ID = 'FEAT_KnowzLocalStore';
2
+ export * from './types.js';
3
+ export { contentHash } from './hash.js';
4
+ export { SqliteStore } from './sqlite-store.js';
5
+ export { PostgresStore } from './postgres-store.js';
6
+ export { openLocalStore, defaultDbPath, graphPath } from './open.js';
7
+ export { SyncEngine, } from './sync-engine.js';
8
+ export { PostgresProvisioner, PgProvisionError, locateServerBin, } from './pg-provision.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,sBAA+B,CAAC;AAEvD,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EACL,UAAU,GAMX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAIhB,MAAM,mBAAmB,CAAC"}
package/dist/open.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { type LocalStore, type OpenStoreOptions } from './types.js';
2
+ export declare function defaultDbPath(profile?: string): string;
3
+ /** Sidecar path for the code graph that pairs with a profile's local db. */
4
+ export declare function graphPath(profile?: string, dbOverride?: string): string;
5
+ /** Open + init a local store. SQLite (default) or Postgres (dsn/KNOWZ_PG_DSN). */
6
+ export declare function openLocalStore(opts?: OpenStoreOptions): Promise<LocalStore>;
7
+ //# sourceMappingURL=open.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.d.ts","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAe,MAAM,YAAY,CAAC;AAIjF,wBAAgB,aAAa,CAAC,OAAO,SAAQ,GAAG,MAAM,CAErD;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,OAAO,SAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,kFAAkF;AAClF,wBAAsB,cAAc,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CAUrF"}
package/dist/open.js ADDED
@@ -0,0 +1,24 @@
1
+ import { homedir } from 'node:os';
2
+ import { join } from 'node:path';
3
+ import { DEFAULT_DIM } from './types.js';
4
+ import { SqliteStore } from './sqlite-store.js';
5
+ import { PostgresStore } from './postgres-store.js';
6
+ export function defaultDbPath(profile = 'dev') {
7
+ return join(process.env.KNOWZ_CONFIG_DIR ?? join(homedir(), '.knowz'), 'local', `${profile}.db`);
8
+ }
9
+ /** Sidecar path for the code graph that pairs with a profile's local db. */
10
+ export function graphPath(profile = 'dev', dbOverride) {
11
+ return (dbOverride ?? defaultDbPath(profile)).replace(/\.db$/, '.graph.json');
12
+ }
13
+ /** Open + init a local store. SQLite (default) or Postgres (dsn/KNOWZ_PG_DSN). */
14
+ export async function openLocalStore(opts = {}) {
15
+ const dim = opts.dim ?? DEFAULT_DIM;
16
+ const dsn = opts.dsn ?? process.env.KNOWZ_PG_DSN;
17
+ const driver = opts.driver ?? (dsn ? 'postgres' : 'sqlite');
18
+ const store = driver === 'postgres'
19
+ ? new PostgresStore(dsn ?? '', dim)
20
+ : new SqliteStore(opts.dbPath ?? defaultDbPath(), dim);
21
+ await store.init();
22
+ return store;
23
+ }
24
+ //# sourceMappingURL=open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open.js","sourceRoot":"","sources":["../src/open.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAA0C,WAAW,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,KAAK;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,KAAK,CAAC,CAAC;AACnG,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,KAAK,EAAE,UAAmB;IAC5D,OAAO,CAAC,UAAU,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAChF,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAyB,EAAE;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,KAAK,GACT,MAAM,KAAK,UAAU;QACnB,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC;QACnC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,EAAE,GAAG,CAAC,CAAC;IAC3D,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,64 @@
1
+ export interface PgProvisionOptions {
2
+ profile?: string;
3
+ port?: number;
4
+ dataDir?: string;
5
+ runAs?: string;
6
+ dbName?: string;
7
+ dbUser?: string;
8
+ }
9
+ export interface PgUpResult {
10
+ dsn: string;
11
+ port: number;
12
+ dataDir: string;
13
+ vectorVersion?: string;
14
+ }
15
+ export interface PgStatus {
16
+ running: boolean;
17
+ dataDir: string;
18
+ port: number;
19
+ initialized: boolean;
20
+ dsn: string;
21
+ }
22
+ export declare class PgProvisionError extends Error {
23
+ constructor(message: string);
24
+ }
25
+ /** Validate a Postgres identifier (database/user name); return it unchanged or throw. */
26
+ export declare function assertValidPgIdentifier(name: string, kind: 'database' | 'user'): string;
27
+ /** Search PATH + well-known locations for a dir containing initdb/pg_ctl/postgres. */
28
+ export declare function locateServerBin(): string | undefined;
29
+ export declare class PostgresProvisioner {
30
+ readonly profile: string;
31
+ readonly port: number;
32
+ readonly dataDir: string;
33
+ readonly socketDir: string;
34
+ readonly dbName: string;
35
+ readonly dbUser: string;
36
+ private readonly runAs?;
37
+ private bin?;
38
+ constructor(opts?: PgProvisionOptions);
39
+ get dsn(): string;
40
+ private get currentUser();
41
+ private delegate;
42
+ private run;
43
+ private binPath;
44
+ /** Ensure server binaries + pgvector are available; install when possible. */
45
+ ensureInstalled(): string;
46
+ private install;
47
+ private canApt;
48
+ private apt;
49
+ private sharedir;
50
+ private ensurePgvectorAvailable;
51
+ get initialized(): boolean;
52
+ isRunning(): boolean;
53
+ private prepareDirs;
54
+ private initdb;
55
+ private startServer;
56
+ private psql;
57
+ private ensureDbAndExtension;
58
+ /** Full provision: ensure binaries+pgvector, initdb if needed, start, create db+extension. */
59
+ up(): PgUpResult;
60
+ down(): void;
61
+ destroy(): void;
62
+ status(): PgStatus;
63
+ }
64
+ //# sourceMappingURL=pg-provision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-provision.d.ts","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AASD,yFAAyF;AACzF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,CAevF;AAcD,sFAAsF;AACtF,wBAAgB,eAAe,IAAI,MAAM,GAAG,SAAS,CAuBpD;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,IAAI,GAAE,kBAAuB;IAqBzC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,OAAO;IAKf,8EAA8E;IAC9E,eAAe,IAAI,MAAM;IAQzB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,uBAAuB;IAe/B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,SAAS,IAAI,OAAO;IAKpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,MAAM;IAYd,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,oBAAoB;IAiB5B,8FAA8F;IAC9F,EAAE,IAAI,UAAU;IAQhB,IAAI,IAAI,IAAI;IAOZ,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,QAAQ;CAUnB"}
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Automated local Postgres + pgvector provisioner.
3
+ *
4
+ * Creates a private, user-owned Postgres cluster under `~/.knowz/pg/<profile>`
5
+ * (independent of any system Postgres), enables `pgvector`, and returns a DSN —
6
+ * so `--driver postgres` / Model-3 local-decrypt works with zero manual setup.
7
+ *
8
+ * Strategy: reuse existing server binaries if present; otherwise install them
9
+ * (Linux+apt+root, macOS+brew); else guide the user. Postgres refuses to run as
10
+ * root, so when invoked as root the cluster runs as a non-root user (default
11
+ * `postgres`, or KNOWZ_PG_RUNAS) via `runuser`.
12
+ */
13
+ import { homedir, userInfo, platform } from 'node:os';
14
+ import { join, dirname } from 'node:path';
15
+ import { existsSync, mkdirSync, rmSync, readdirSync } from 'node:fs';
16
+ import { spawnSync } from 'node:child_process';
17
+ export class PgProvisionError extends Error {
18
+ constructor(message) {
19
+ super(message);
20
+ this.name = 'PgProvisionError';
21
+ }
22
+ }
23
+ // Postgres unquoted-identifier rules: start with a letter or underscore, then
24
+ // letters/digits/underscores, max 63 bytes. dbName/dbUser are interpolated into
25
+ // SQL (`CREATE DATABASE`, `WHERE datname='...'`) and shell args (`initdb -U`),
26
+ // so anything outside this set is rejected before it can reach those sinks.
27
+ const PG_IDENTIFIER_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;
28
+ const PG_IDENTIFIER_MAX = 63;
29
+ /** Validate a Postgres identifier (database/user name); return it unchanged or throw. */
30
+ export function assertValidPgIdentifier(name, kind) {
31
+ if (typeof name !== 'string' || name.length === 0) {
32
+ throw new PgProvisionError(`Invalid Postgres ${kind} name: must be a non-empty identifier`);
33
+ }
34
+ if (name.length > PG_IDENTIFIER_MAX) {
35
+ throw new PgProvisionError(`Invalid Postgres ${kind} name "${name}": exceeds ${PG_IDENTIFIER_MAX} characters`);
36
+ }
37
+ if (!PG_IDENTIFIER_RE.test(name)) {
38
+ throw new PgProvisionError(`Invalid Postgres ${kind} name "${name}": must match ${PG_IDENTIFIER_RE} (letters/digits/underscore, not starting with a digit)`);
39
+ }
40
+ return name;
41
+ }
42
+ /** Quote an identifier for an identifier position (`CREATE DATABASE "x"`), doubling internal quotes. */
43
+ function quotePgIdentifier(name) {
44
+ return `"${name.replace(/"/g, '""')}"`;
45
+ }
46
+ /** Escape a string for a single-quoted literal position (`WHERE datname='x'`), doubling internal quotes. */
47
+ function quotePgLiteral(value) {
48
+ return `'${value.replace(/'/g, "''")}'`;
49
+ }
50
+ const isRoot = () => typeof process.getuid === 'function' && process.getuid() === 0;
51
+ /** Search PATH + well-known locations for a dir containing initdb/pg_ctl/postgres. */
52
+ export function locateServerBin() {
53
+ const which = spawnSync('which', ['pg_ctl'], { encoding: 'utf8' });
54
+ if (which.status === 0 && which.stdout.trim()) {
55
+ return which.stdout.trim().replace(/\/pg_ctl\s*$/, '');
56
+ }
57
+ const globs = [
58
+ '/usr/lib/postgresql', // Debian/Ubuntu: <dir>/<ver>/bin
59
+ '/usr/pgsql', // RHEL
60
+ '/opt/homebrew/opt', // macOS arm
61
+ '/usr/local/opt', // macOS intel
62
+ ];
63
+ const candidates = [];
64
+ for (const base of globs) {
65
+ if (!existsSync(base))
66
+ continue;
67
+ for (const entry of readdirSync(base)) {
68
+ for (const sub of [join(base, entry, 'bin'), join(base, entry)]) {
69
+ if (existsSync(join(sub, 'pg_ctl')) && existsSync(join(sub, 'initdb')))
70
+ candidates.push(sub);
71
+ }
72
+ }
73
+ }
74
+ // prefer the highest version-looking path
75
+ candidates.sort();
76
+ return candidates.pop();
77
+ }
78
+ export class PostgresProvisioner {
79
+ profile;
80
+ port;
81
+ dataDir;
82
+ socketDir;
83
+ dbName;
84
+ dbUser;
85
+ runAs;
86
+ bin;
87
+ constructor(opts = {}) {
88
+ this.profile = opts.profile ?? 'dev';
89
+ this.port = opts.port ?? 5433;
90
+ // Validate identifiers at the earliest safe point so no SQL string, DSN, or
91
+ // `initdb -U` arg ever sees an unvalidated name (F27).
92
+ this.dbName = assertValidPgIdentifier(opts.dbName ?? 'knowz', 'database');
93
+ this.dbUser = assertValidPgIdentifier(opts.dbUser ?? 'knowz', 'user');
94
+ const current = userInfo().username;
95
+ this.runAs = opts.runAs ?? process.env.KNOWZ_PG_RUNAS ?? (isRoot() ? 'postgres' : current);
96
+ // When delegating to another OS user (root case), the cluster must live
97
+ // somewhere that user can access — ~/.knowz (e.g. /root/.knowz) is not.
98
+ const delegating = this.runAs !== current;
99
+ const base = opts.dataDir
100
+ ? dirname(opts.dataDir)
101
+ : delegating
102
+ ? `/var/lib/postgresql/knowz/${this.profile}`
103
+ : join(process.env.KNOWZ_CONFIG_DIR ?? join(homedir(), '.knowz'), 'pg', this.profile);
104
+ this.dataDir = opts.dataDir ?? join(base, 'data');
105
+ this.socketDir = base;
106
+ }
107
+ get dsn() {
108
+ return `postgresql://${this.dbUser}@127.0.0.1:${this.port}/${this.dbName}`;
109
+ }
110
+ get currentUser() {
111
+ return userInfo().username;
112
+ }
113
+ delegate(file, args) {
114
+ if (this.runAs && this.runAs !== this.currentUser) {
115
+ return { file: 'runuser', args: ['-u', this.runAs, '--', file, ...args] };
116
+ }
117
+ return { file, args };
118
+ }
119
+ run(file, args, opts = {}) {
120
+ const d = this.delegate(file, args);
121
+ return spawnSync(d.file, d.args, { encoding: 'utf8', cwd: opts.cwd, env: { ...process.env, ...opts.env } });
122
+ }
123
+ binPath(tool) {
124
+ if (!this.bin)
125
+ throw new PgProvisionError('Postgres server binaries not located');
126
+ return join(this.bin, tool);
127
+ }
128
+ /** Ensure server binaries + pgvector are available; install when possible. */
129
+ ensureInstalled() {
130
+ let bin = locateServerBin();
131
+ if (!bin)
132
+ bin = this.install();
133
+ this.bin = bin;
134
+ this.ensurePgvectorAvailable();
135
+ return bin;
136
+ }
137
+ install() {
138
+ const os = platform();
139
+ if (os === 'linux' && this.canApt()) {
140
+ const major = 16;
141
+ this.apt(['install', '-y', `postgresql-${major}`, `postgresql-${major}-pgvector`]);
142
+ const bin = locateServerBin();
143
+ if (bin)
144
+ return bin;
145
+ }
146
+ const hint = os === 'darwin'
147
+ ? 'Install with: brew install postgresql@16 pgvector'
148
+ : os === 'linux'
149
+ ? 'Install with: sudo apt-get install -y postgresql-16 postgresql-16-pgvector (or your distro equivalent)'
150
+ : 'Install PostgreSQL 16 + pgvector for your platform, then re-run.';
151
+ throw new PgProvisionError(`Could not find or auto-install Postgres server binaries. ${hint}`);
152
+ }
153
+ canApt() {
154
+ return isRoot() && spawnSync('which', ['apt-get'], { encoding: 'utf8' }).status === 0;
155
+ }
156
+ apt(args) {
157
+ const r = spawnSync('apt-get', args, { encoding: 'utf8', env: { ...process.env, DEBIAN_FRONTEND: 'noninteractive' } });
158
+ if (r.status !== 0)
159
+ throw new PgProvisionError(`apt-get ${args.join(' ')} failed: ${(r.stderr || '').slice(-400)}`);
160
+ }
161
+ sharedir() {
162
+ const pgConfig = join(this.bin, 'pg_config');
163
+ const r = spawnSync(existsSync(pgConfig) ? pgConfig : 'pg_config', ['--sharedir'], { encoding: 'utf8' });
164
+ return r.status === 0 ? r.stdout.trim() : undefined;
165
+ }
166
+ ensurePgvectorAvailable() {
167
+ const share = this.sharedir();
168
+ if (share && existsSync(join(share, 'extension', 'vector.control')))
169
+ return;
170
+ // try to install the pgvector package (Linux + apt)
171
+ if (platform() === 'linux' && this.canApt()) {
172
+ const major = (this.bin?.match(/postgresql\/(\d+)/)?.[1]) ?? '16';
173
+ this.apt(['install', '-y', `postgresql-${major}-pgvector`]);
174
+ const s2 = this.sharedir();
175
+ if (s2 && existsSync(join(s2, 'extension', 'vector.control')))
176
+ return;
177
+ }
178
+ throw new PgProvisionError('pgvector extension files not found. Install pgvector for your Postgres (e.g. apt: postgresql-<ver>-pgvector, brew: pgvector).');
179
+ }
180
+ get initialized() {
181
+ return existsSync(join(this.dataDir, 'PG_VERSION'));
182
+ }
183
+ isRunning() {
184
+ if (!this.bin || !this.initialized)
185
+ return false;
186
+ return this.run(this.binPath('pg_ctl'), ['-D', this.dataDir, 'status']).status === 0;
187
+ }
188
+ prepareDirs() {
189
+ mkdirSync(this.socketDir, { recursive: true });
190
+ mkdirSync(this.dataDir, { recursive: true });
191
+ if (this.runAs && this.runAs !== this.currentUser) {
192
+ spawnSync('chown', ['-R', this.runAs, this.socketDir], { encoding: 'utf8' });
193
+ }
194
+ }
195
+ initdb() {
196
+ this.prepareDirs();
197
+ // dataDir must be empty for initdb
198
+ rmSync(this.dataDir, { recursive: true, force: true });
199
+ mkdirSync(this.dataDir, { recursive: true });
200
+ if (this.runAs && this.runAs !== this.currentUser)
201
+ spawnSync('chown', ['-R', this.runAs, this.dataDir]);
202
+ const r = this.run(this.binPath('initdb'), [
203
+ '-D', this.dataDir, '-U', this.dbUser, '--auth-local=trust', '--auth-host=trust', '--encoding=UTF8',
204
+ ]);
205
+ if (r.status !== 0)
206
+ throw new PgProvisionError(`initdb failed: ${(r.stderr || r.stdout || '').slice(-400)}`);
207
+ }
208
+ startServer() {
209
+ const opts = `-p ${this.port} -k ${this.socketDir} -c listen_addresses=127.0.0.1`;
210
+ const log = join(this.socketDir, 'server.log');
211
+ const r = this.run(this.binPath('pg_ctl'), ['-D', this.dataDir, '-o', opts, '-l', log, '-w', '-t', '30', 'start']);
212
+ if (r.status !== 0 && !this.isRunning()) {
213
+ throw new PgProvisionError(`pg_ctl start failed: ${(r.stderr || r.stdout || '').slice(-400)}`);
214
+ }
215
+ }
216
+ psql(db, sql) {
217
+ // client can run as the current user over TCP (auth-host=trust)
218
+ return spawnSync(this.binPath('psql'), [`postgresql://${this.dbUser}@127.0.0.1:${this.port}/${db}`, '-tAc', sql], {
219
+ encoding: 'utf8',
220
+ });
221
+ }
222
+ ensureDbAndExtension() {
223
+ // dbName is already validated in the constructor; quote/escape defensively
224
+ // for each SQL position (literal for the `datname=` predicate, identifier
225
+ // for `CREATE DATABASE`).
226
+ const exists = this.psql('postgres', `SELECT 1 FROM pg_database WHERE datname=${quotePgLiteral(this.dbName)}`);
227
+ if (!exists.stdout.trim()) {
228
+ const c = this.psql('postgres', `CREATE DATABASE ${quotePgIdentifier(this.dbName)}`);
229
+ if (c.status !== 0)
230
+ throw new PgProvisionError(`create database failed: ${(c.stderr || '').slice(-300)}`);
231
+ }
232
+ const ext = this.psql(this.dbName, 'CREATE EXTENSION IF NOT EXISTS vector; SELECT extversion FROM pg_extension WHERE extname=\'vector\'');
233
+ if (ext.status !== 0)
234
+ throw new PgProvisionError(`CREATE EXTENSION vector failed: ${(ext.stderr || '').slice(-300)}`);
235
+ return ext.stdout.trim() || undefined;
236
+ }
237
+ /** Full provision: ensure binaries+pgvector, initdb if needed, start, create db+extension. */
238
+ up() {
239
+ this.ensureInstalled();
240
+ if (!this.initialized)
241
+ this.initdb();
242
+ if (!this.isRunning())
243
+ this.startServer();
244
+ const vectorVersion = this.ensureDbAndExtension();
245
+ return { dsn: this.dsn, port: this.port, dataDir: this.dataDir, vectorVersion };
246
+ }
247
+ down() {
248
+ if (!this.bin)
249
+ this.bin = locateServerBin();
250
+ if (this.bin && this.initialized && this.isRunning()) {
251
+ this.run(this.binPath('pg_ctl'), ['-D', this.dataDir, '-m', 'fast', 'stop']);
252
+ }
253
+ }
254
+ destroy() {
255
+ this.down();
256
+ rmSync(this.socketDir, { recursive: true, force: true });
257
+ }
258
+ status() {
259
+ if (!this.bin)
260
+ this.bin = locateServerBin();
261
+ return {
262
+ running: this.isRunning(),
263
+ dataDir: this.dataDir,
264
+ port: this.port,
265
+ initialized: this.initialized,
266
+ dsn: this.dsn,
267
+ };
268
+ }
269
+ }
270
+ //# sourceMappingURL=pg-provision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-provision.js","sourceRoot":"","sources":["../src/pg-provision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AA0BtE,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AACpD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,IAAyB;IAC7E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,gBAAgB,CAAC,oBAAoB,IAAI,uCAAuC,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACpC,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,IAAI,UAAU,IAAI,cAAc,iBAAiB,aAAa,CACnF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,gBAAgB,CACxB,oBAAoB,IAAI,UAAU,IAAI,iBAAiB,gBAAgB,yDAAyD,CACjI,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wGAAwG;AACxG,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACzC,CAAC;AAED,4GAA4G;AAC5G,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC1C,CAAC;AAED,MAAM,MAAM,GAAG,GAAY,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE7F,sFAAsF;AACtF,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG;QACZ,qBAAqB,EAAE,iCAAiC;QACxD,YAAY,EAAE,OAAO;QACrB,mBAAmB,EAAE,YAAY;QACjC,gBAAgB,EAAE,cAAc;KACjC,CAAC;IACF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;IACH,CAAC;IACD,0CAA0C;IAC1C,UAAU,CAAC,IAAI,EAAE,CAAC;IAClB,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,OAAO,mBAAmB;IACrB,OAAO,CAAS;IAChB,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,MAAM,CAAS;IACf,MAAM,CAAS;IACP,KAAK,CAAU;IACxB,GAAG,CAAU;IAErB,YAAY,OAA2B,EAAE;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;QAC9B,4EAA4E;QAC5E,uDAAuD;QACvD,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3F,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO;YACvB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,6BAA6B,IAAI,CAAC,OAAO,EAAE;gBAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,gBAAgB,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7E,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,IAAc;QAC3C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAEO,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,OAAkD,EAAE;QAC5F,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC9G,CAAC;IAEO,OAAO,CAAC,IAAY;QAC1B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,gBAAgB,CAAC,sCAAsC,CAAC,CAAC;QAClF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,8EAA8E;IAC9E,eAAe;QACb,IAAI,GAAG,GAAG,eAAe,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,OAAO;QACb,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtB,IAAI,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,KAAK,EAAE,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC;YACnF,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;YAC9B,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GACR,EAAE,KAAK,QAAQ;YACb,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,EAAE,KAAK,OAAO;gBACd,CAAC,CAAC,wGAAwG;gBAC1G,CAAC,CAAC,kEAAkE,CAAC;QAC3E,MAAM,IAAI,gBAAgB,CAAC,4DAA4D,IAAI,EAAE,CAAC,CAAC;IACjG,CAAC;IAEO,MAAM;QACZ,OAAO,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACxF,CAAC;IACO,GAAG,CAAC,IAAc;QACxB,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QACvH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAEO,QAAQ;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACzG,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAEO,uBAAuB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YAAE,OAAO;QAC5E,oDAAoD;QACpD,IAAI,QAAQ,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAClE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC;YAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAAE,OAAO;QACxE,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,+HAA+H,CAChI,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACvF,CAAC;IAEO,WAAW;QACjB,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,mCAAmC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW;YAAE,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACxG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACzC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB;SACpG,CAAC,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/G,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,gCAAgC,CAAC;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACnH,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,EAAU,EAAE,GAAW;QAClC,gEAAgE;QAChE,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;YAChH,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB;QAC1B,2EAA2E;QAC3E,0EAA0E;QAC1E,0BAA0B;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CACtB,UAAU,EACV,2CAA2C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACzE,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,gBAAgB,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qGAAqG,CAAC,CAAC;QAC1I,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,gBAAgB,CAAC,mCAAmC,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtH,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IACxC,CAAC;IAED,8FAA8F;IAC9F,EAAE;QACA,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;IAClF,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,eAAe,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,IAAI,CAAC,GAAG,GAAG,eAAe,EAAE,CAAC;QAC5C,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;CACF"}