@backstage/plugin-catalog-backend-module-incremental-ingestion 0.6.0-next.3 → 0.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/CHANGELOG.md +24 -0
- package/dist/module/WrapperProviders.cjs.js +2 -2
- package/dist/module/WrapperProviders.cjs.js.map +1 -1
- package/dist/service/IncrementalCatalogBuilder.cjs.js +2 -3
- package/dist/service/IncrementalCatalogBuilder.cjs.js.map +1 -1
- package/package.json +14 -14
- package/dist/util.cjs.js +0 -28
- package/dist/util.cjs.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-backend-module-incremental-ingestion
|
|
2
2
|
|
|
3
|
+
## 0.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 6cf91c5: Use `HumanDuration` for all duration needs in the public API, instead of `luxon` types. These are generally compatible, with a few caveats:
|
|
8
|
+
|
|
9
|
+
- If you scheduled things to run quarterly (`quarter` or `quarters`), you can use `{ months: 3 }` instead.
|
|
10
|
+
- If you used the singular nouns such as `year: 1`, use plurals instead (e.g. `years: 1`).
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- c5e39e7: Internal refactor to use the deferred from the types package
|
|
15
|
+
- 4e58bc7: Upgrade to uuid v11 internally
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- @backstage/config@1.3.0
|
|
18
|
+
- @backstage/plugin-events-node@0.4.5
|
|
19
|
+
- @backstage/types@1.2.0
|
|
20
|
+
- @backstage/plugin-catalog-backend@1.28.0
|
|
21
|
+
- @backstage/plugin-catalog-node@1.14.0
|
|
22
|
+
- @backstage/backend-plugin-api@1.0.2
|
|
23
|
+
- @backstage/plugin-permission-common@0.8.2
|
|
24
|
+
- @backstage/catalog-model@1.7.1
|
|
25
|
+
- @backstage/errors@1.2.5
|
|
26
|
+
|
|
3
27
|
## 0.6.0-next.3
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var errors = require('@backstage/errors');
|
|
4
|
+
var types = require('@backstage/types');
|
|
4
5
|
var luxon = require('luxon');
|
|
5
6
|
var IncrementalIngestionDatabaseManager = require('../database/IncrementalIngestionDatabaseManager.cjs.js');
|
|
6
7
|
var migrations = require('../database/migrations.cjs.js');
|
|
7
8
|
var IncrementalIngestionEngine = require('../engine/IncrementalIngestionEngine.cjs.js');
|
|
8
9
|
var routes = require('../router/routes.cjs.js');
|
|
9
|
-
var util = require('../util.cjs.js');
|
|
10
10
|
|
|
11
11
|
class WrapperProviders {
|
|
12
12
|
constructor(options) {
|
|
@@ -14,7 +14,7 @@ class WrapperProviders {
|
|
|
14
14
|
}
|
|
15
15
|
migrate;
|
|
16
16
|
numberOfProvidersToConnect = 0;
|
|
17
|
-
readySignal =
|
|
17
|
+
readySignal = types.createDeferred();
|
|
18
18
|
wrap(provider, options) {
|
|
19
19
|
this.numberOfProvidersToConnect += 1;
|
|
20
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WrapperProviders.cjs.js","sources":["../../src/module/WrapperProviders.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n LoggerService,\n RootConfigService,\n SchedulerService,\n} from '@backstage/backend-plugin-api';\nimport { stringifyError } from '@backstage/errors';\nimport {\n EntityProvider,\n EntityProviderConnection,\n} from '@backstage/plugin-catalog-node';\nimport express from 'express';\nimport { Knex } from 'knex';\nimport { Duration } from 'luxon';\nimport { IncrementalIngestionDatabaseManager } from '../database/IncrementalIngestionDatabaseManager';\nimport { applyDatabaseMigrations } from '../database/migrations';\nimport { IncrementalIngestionEngine } from '../engine/IncrementalIngestionEngine';\nimport { IncrementalProviderRouter } from '../router/routes';\nimport {\n IncrementalEntityProvider,\n IncrementalEntityProviderOptions,\n} from '../types';\
|
|
1
|
+
{"version":3,"file":"WrapperProviders.cjs.js","sources":["../../src/module/WrapperProviders.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n LoggerService,\n RootConfigService,\n SchedulerService,\n} from '@backstage/backend-plugin-api';\nimport { stringifyError } from '@backstage/errors';\nimport {\n EntityProvider,\n EntityProviderConnection,\n} from '@backstage/plugin-catalog-node';\nimport { createDeferred } from '@backstage/types';\nimport express from 'express';\nimport { Knex } from 'knex';\nimport { Duration } from 'luxon';\nimport { IncrementalIngestionDatabaseManager } from '../database/IncrementalIngestionDatabaseManager';\nimport { applyDatabaseMigrations } from '../database/migrations';\nimport { IncrementalIngestionEngine } from '../engine/IncrementalIngestionEngine';\nimport { IncrementalProviderRouter } from '../router/routes';\nimport {\n IncrementalEntityProvider,\n IncrementalEntityProviderOptions,\n} from '../types';\n\n/**\n * Helps in the creation of the catalog entity providers that wrap the\n * incremental ones.\n */\nexport class WrapperProviders {\n private migrate: Promise<void> | undefined;\n private numberOfProvidersToConnect = 0;\n private readonly readySignal = createDeferred();\n\n constructor(\n private readonly options: {\n config: RootConfigService;\n logger: LoggerService;\n client: Knex;\n scheduler: SchedulerService;\n applyDatabaseMigrations?: typeof applyDatabaseMigrations;\n },\n ) {}\n\n wrap(\n provider: IncrementalEntityProvider<unknown, unknown>,\n options: IncrementalEntityProviderOptions,\n ): EntityProvider {\n this.numberOfProvidersToConnect += 1;\n return {\n getProviderName: () => provider.getProviderName(),\n connect: async connection => {\n await this.startProvider(provider, options, connection);\n this.numberOfProvidersToConnect -= 1;\n if (this.numberOfProvidersToConnect === 0) {\n this.readySignal.resolve();\n }\n },\n };\n }\n\n async adminRouter(): Promise<express.Router> {\n return await new IncrementalProviderRouter(\n new IncrementalIngestionDatabaseManager({ client: this.options.client }),\n this.options.logger,\n ).createRouter();\n }\n\n private async startProvider(\n provider: IncrementalEntityProvider<unknown, unknown>,\n providerOptions: IncrementalEntityProviderOptions,\n connection: EntityProviderConnection,\n ) {\n const logger = this.options.logger.child({\n entityProvider: provider.getProviderName(),\n });\n\n try {\n if (!this.migrate) {\n this.migrate = Promise.resolve().then(async () => {\n const apply =\n this.options.applyDatabaseMigrations ?? applyDatabaseMigrations;\n await apply(this.options.client);\n });\n }\n\n await this.migrate;\n\n const { burstInterval, burstLength, restLength } = providerOptions;\n\n logger.info(`Connecting`);\n\n const manager = new IncrementalIngestionDatabaseManager({\n client: this.options.client,\n });\n const engine = new IncrementalIngestionEngine({\n ...providerOptions,\n ready: this.readySignal,\n manager,\n logger,\n provider,\n restLength,\n connection,\n });\n\n const frequency = Duration.isDuration(burstInterval)\n ? burstInterval\n : Duration.fromObject(burstInterval);\n const length = Duration.isDuration(burstLength)\n ? burstLength\n : Duration.fromObject(burstLength);\n\n await this.options.scheduler.scheduleTask({\n id: provider.getProviderName(),\n fn: engine.taskFn.bind(engine),\n frequency,\n timeout: length,\n });\n } catch (error) {\n logger.warn(\n `Failed to initialize incremental ingestion provider ${provider.getProviderName()}, ${stringifyError(\n error,\n )}`,\n );\n throw error;\n }\n }\n}\n"],"names":["createDeferred","IncrementalProviderRouter","IncrementalIngestionDatabaseManager","applyDatabaseMigrations","IncrementalIngestionEngine","Duration","stringifyError"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var types = require('@backstage/types');
|
|
3
4
|
var luxon = require('luxon');
|
|
4
5
|
var IncrementalIngestionEngine = require('../engine/IncrementalIngestionEngine.cjs.js');
|
|
5
6
|
var migrations = require('../database/migrations.cjs.js');
|
|
6
7
|
var IncrementalIngestionDatabaseManager = require('../database/IncrementalIngestionDatabaseManager.cjs.js');
|
|
7
8
|
var routes = require('../router/routes.cjs.js');
|
|
8
|
-
var util = require('../util.cjs.js');
|
|
9
9
|
|
|
10
10
|
class IncrementalCatalogBuilder {
|
|
11
11
|
constructor(env, builder, client, manager) {
|
|
@@ -13,7 +13,6 @@ class IncrementalCatalogBuilder {
|
|
|
13
13
|
this.builder = builder;
|
|
14
14
|
this.client = client;
|
|
15
15
|
this.manager = manager;
|
|
16
|
-
this.ready = new util.Deferred();
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Creates the incremental catalog builder, which extends the regular catalog builder.
|
|
@@ -26,7 +25,7 @@ class IncrementalCatalogBuilder {
|
|
|
26
25
|
const manager = new IncrementalIngestionDatabaseManager.IncrementalIngestionDatabaseManager({ client });
|
|
27
26
|
return new IncrementalCatalogBuilder(env, builder, client, manager);
|
|
28
27
|
}
|
|
29
|
-
ready;
|
|
28
|
+
ready = types.createDeferred();
|
|
30
29
|
async build() {
|
|
31
30
|
await migrations.applyDatabaseMigrations(this.client);
|
|
32
31
|
this.ready.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalCatalogBuilder.cjs.js","sources":["../../src/service/IncrementalCatalogBuilder.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n IncrementalEntityProvider,\n IncrementalEntityProviderOptions,\n PluginEnvironment,\n} from '../types';\nimport { CatalogBuilder as CoreCatalogBuilder } from '@backstage/plugin-catalog-backend';\nimport { Duration } from 'luxon';\nimport { Knex } from 'knex';\nimport { IncrementalIngestionEngine } from '../engine/IncrementalIngestionEngine';\nimport { applyDatabaseMigrations } from '../database/migrations';\nimport { IncrementalIngestionDatabaseManager } from '../database/IncrementalIngestionDatabaseManager';\nimport { IncrementalProviderRouter } from '../router/routes';\nimport {
|
|
1
|
+
{"version":3,"file":"IncrementalCatalogBuilder.cjs.js","sources":["../../src/service/IncrementalCatalogBuilder.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n IncrementalEntityProvider,\n IncrementalEntityProviderOptions,\n PluginEnvironment,\n} from '../types';\nimport { CatalogBuilder as CoreCatalogBuilder } from '@backstage/plugin-catalog-backend';\nimport { createDeferred } from '@backstage/types';\nimport { Duration } from 'luxon';\nimport { Knex } from 'knex';\nimport { IncrementalIngestionEngine } from '../engine/IncrementalIngestionEngine';\nimport { applyDatabaseMigrations } from '../database/migrations';\nimport { IncrementalIngestionDatabaseManager } from '../database/IncrementalIngestionDatabaseManager';\nimport { IncrementalProviderRouter } from '../router/routes';\nimport { EventParams, EventSubscriber } from '@backstage/plugin-events-node';\n\n/** @public */\nexport class IncrementalCatalogBuilder {\n /**\n * Creates the incremental catalog builder, which extends the regular catalog builder.\n * @param env - PluginEnvironment\n * @param builder - CatalogBuilder\n * @returns IncrementalCatalogBuilder\n */\n static async create(env: PluginEnvironment, builder: CoreCatalogBuilder) {\n const client = await env.database.getClient();\n const manager = new IncrementalIngestionDatabaseManager({ client });\n return new IncrementalCatalogBuilder(env, builder, client, manager);\n }\n\n private ready = createDeferred();\n\n private constructor(\n private env: PluginEnvironment,\n private builder: CoreCatalogBuilder,\n private client: Knex,\n private manager: IncrementalIngestionDatabaseManager,\n ) {}\n\n async build() {\n await applyDatabaseMigrations(this.client);\n this.ready.resolve();\n\n const routerLogger = this.env.logger.child({\n router: 'IncrementalProviderAdmin',\n });\n\n const incrementalAdminRouter = await new IncrementalProviderRouter(\n this.manager,\n routerLogger,\n ).createRouter();\n\n return { incrementalAdminRouter };\n }\n\n addIncrementalEntityProvider<TCursor, TContext>(\n provider: IncrementalEntityProvider<TCursor, TContext>,\n options: IncrementalEntityProviderOptions,\n ): EventSubscriber {\n const { burstInterval, burstLength, restLength } = options;\n const { logger: catalogLogger, scheduler } = this.env;\n const ready = this.ready;\n\n const manager = this.manager;\n\n let engine: IncrementalIngestionEngine;\n\n this.builder.addEntityProvider({\n getProviderName: provider.getProviderName.bind(provider),\n async connect(connection) {\n const logger = catalogLogger.child({\n entityProvider: provider.getProviderName(),\n });\n\n engine = new IncrementalIngestionEngine({\n ...options,\n ready,\n manager,\n logger,\n provider,\n restLength,\n connection,\n });\n\n const frequency = Duration.isDuration(burstInterval)\n ? burstInterval\n : Duration.fromObject(burstInterval);\n const length = Duration.isDuration(burstLength)\n ? burstLength\n : Duration.fromObject(burstLength);\n\n await scheduler.scheduleTask({\n id: provider.getProviderName(),\n fn: engine.taskFn.bind(engine),\n frequency,\n timeout: length,\n });\n },\n });\n\n return {\n onEvent: (params: EventParams) => engine.onEvent(params),\n supportsEventTopics() {\n return engine.supportsEventTopics();\n },\n };\n }\n}\n"],"names":["IncrementalIngestionDatabaseManager","createDeferred","applyDatabaseMigrations","IncrementalProviderRouter","IncrementalIngestionEngine","Duration"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-catalog-backend-module-incremental-ingestion",
|
|
3
|
-
"version": "0.6.0
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "An entity provider for streaming large asset sources into the catalog",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "backend-plugin-module",
|
|
@@ -62,26 +62,26 @@
|
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@backstage/backend-common": "^0.25.0",
|
|
65
|
-
"@backstage/backend-plugin-api": "1.0.2
|
|
66
|
-
"@backstage/catalog-model": "1.7.
|
|
67
|
-
"@backstage/config": "1.
|
|
68
|
-
"@backstage/errors": "1.2.
|
|
69
|
-
"@backstage/plugin-catalog-backend": "1.28.0
|
|
70
|
-
"@backstage/plugin-catalog-node": "1.14.0
|
|
71
|
-
"@backstage/plugin-events-node": "0.4.5
|
|
72
|
-
"@backstage/plugin-permission-common": "0.8.
|
|
73
|
-
"@backstage/types": "1.
|
|
65
|
+
"@backstage/backend-plugin-api": "^1.0.2",
|
|
66
|
+
"@backstage/catalog-model": "^1.7.1",
|
|
67
|
+
"@backstage/config": "^1.3.0",
|
|
68
|
+
"@backstage/errors": "^1.2.5",
|
|
69
|
+
"@backstage/plugin-catalog-backend": "^1.28.0",
|
|
70
|
+
"@backstage/plugin-catalog-node": "^1.14.0",
|
|
71
|
+
"@backstage/plugin-events-node": "^0.4.5",
|
|
72
|
+
"@backstage/plugin-permission-common": "^0.8.2",
|
|
73
|
+
"@backstage/types": "^1.2.0",
|
|
74
74
|
"@types/express": "^4.17.6",
|
|
75
75
|
"express": "^4.17.1",
|
|
76
76
|
"express-promise-router": "^4.1.0",
|
|
77
77
|
"knex": "^3.0.0",
|
|
78
78
|
"luxon": "^3.0.0",
|
|
79
|
-
"uuid": "^
|
|
79
|
+
"uuid": "^11.0.0"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@backstage/backend-defaults": "0.5.3
|
|
83
|
-
"@backstage/backend-test-utils": "1.1.0
|
|
84
|
-
"@backstage/cli": "0.29.0
|
|
82
|
+
"@backstage/backend-defaults": "^0.5.3",
|
|
83
|
+
"@backstage/backend-test-utils": "^1.1.0",
|
|
84
|
+
"@backstage/cli": "^0.29.0",
|
|
85
85
|
"@types/luxon": "^3.0.0"
|
|
86
86
|
}
|
|
87
87
|
}
|
package/dist/util.cjs.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
class Deferred {
|
|
4
|
-
#resolve;
|
|
5
|
-
#reject;
|
|
6
|
-
get resolve() {
|
|
7
|
-
return this.#resolve;
|
|
8
|
-
}
|
|
9
|
-
get reject() {
|
|
10
|
-
return this.#reject;
|
|
11
|
-
}
|
|
12
|
-
then;
|
|
13
|
-
catch;
|
|
14
|
-
finally;
|
|
15
|
-
constructor() {
|
|
16
|
-
const promise = new Promise((resolve, reject) => {
|
|
17
|
-
this.#resolve = resolve;
|
|
18
|
-
this.#reject = reject;
|
|
19
|
-
});
|
|
20
|
-
this.then = promise.then.bind(promise);
|
|
21
|
-
this.catch = promise.catch.bind(promise);
|
|
22
|
-
this.finally = promise.finally.bind(promise);
|
|
23
|
-
}
|
|
24
|
-
[Symbol.toStringTag] = "Deferred";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
exports.Deferred = Deferred;
|
|
28
|
-
//# sourceMappingURL=util.cjs.js.map
|
package/dist/util.cjs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.cjs.js","sources":["../src/util.ts"],"sourcesContent":["/*\n * Copyright 2022 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class Deferred<T> implements Promise<T> {\n #resolve?: (value: T) => void;\n #reject?: (error: Error) => void;\n\n public get resolve() {\n return this.#resolve!;\n }\n public get reject() {\n return this.#reject!;\n }\n\n public then: Promise<T>['then'];\n public catch: Promise<T>['catch'];\n public finally: Promise<T>['finally'];\n\n public constructor() {\n const promise = new Promise<T>((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n });\n\n this.then = promise.then.bind(promise);\n this.catch = promise.catch.bind(promise);\n this.finally = promise.finally.bind(promise);\n }\n\n [Symbol.toStringTag]: 'Deferred' = 'Deferred';\n}\n"],"names":[],"mappings":";;AAgBO,MAAM,QAAkC,CAAA;AAAA,EAC7C,QAAA;AAAA,EACA,OAAA;AAAA,EAEA,IAAW,OAAU,GAAA;AACnB,IAAA,OAAO,IAAK,CAAA,QAAA;AAAA;AACd,EACA,IAAW,MAAS,GAAA;AAClB,IAAA,OAAO,IAAK,CAAA,OAAA;AAAA;AACd,EAEO,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EAEA,WAAc,GAAA;AACnB,IAAA,MAAM,OAAU,GAAA,IAAI,OAAW,CAAA,CAAC,SAAS,MAAW,KAAA;AAClD,MAAA,IAAA,CAAK,QAAW,GAAA,OAAA;AAChB,MAAA,IAAA,CAAK,OAAU,GAAA,MAAA;AAAA,KAChB,CAAA;AAED,IAAA,IAAA,CAAK,IAAO,GAAA,OAAA,CAAQ,IAAK,CAAA,IAAA,CAAK,OAAO,CAAA;AACrC,IAAA,IAAA,CAAK,KAAQ,GAAA,OAAA,CAAQ,KAAM,CAAA,IAAA,CAAK,OAAO,CAAA;AACvC,IAAA,IAAA,CAAK,OAAU,GAAA,OAAA,CAAQ,OAAQ,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA;AAC7C,EAEA,CAAC,MAAO,CAAA,WAAW,IAAgB,UAAA;AACrC;;;;"}
|