@hf-chimera/adapters-shared 0.2.3 → 0.2.4
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/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":["import type {\n\tAnyChimeraCollectionQuery,\n\tAnyChimeraEntityStore,\n\tAnyChimeraItemQuery,\n\tChimeraEventEmitterEventNames,\n} from \"@hf-chimera/store\";\n\nexport const CHIMERA_ENTITY_STORE_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"updated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"deleted\",\n\t\"itemDeleted\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraEntityStore>[];\n\nexport const CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraCollectionQuery>[];\n\nexport const CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraItemQuery>[];\n","import type {\n\tAnyChimeraEntityStore,\n\tChimeraCollectionParams,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreOperatorsMap,\n} from \"@hf-chimera/store\";\n\n// Minimal query builder interface that adapters expect\n// This allows using any query builder implementation (including custom ones)\n// The official implementation is available in @hf-chimera/query-builder\nexport interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {\n\tisChimeraQueryBuilder: true;\n\tbuild(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;\n}\n\nexport type QueryBuilderCreator
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":["import type {\n\tAnyChimeraCollectionQuery,\n\tAnyChimeraEntityStore,\n\tAnyChimeraItemQuery,\n\tChimeraEventEmitterEventNames,\n} from \"@hf-chimera/store\";\n\nexport const CHIMERA_ENTITY_STORE_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"updated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"deleted\",\n\t\"itemDeleted\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraEntityStore>[];\n\nexport const CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraCollectionQuery>[];\n\nexport const CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraItemQuery>[];\n","import type {\n\tAnyChimeraEntityStore,\n\tChimeraCollectionParams,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreOperatorsMap,\n} from \"@hf-chimera/store\";\n\n// Minimal query builder interface that adapters expect\n// This allows using any query builder implementation (including custom ones)\n// The official implementation is available in @hf-chimera/query-builder\nexport interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {\n\tisChimeraQueryBuilder: true;\n\tbuild(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;\n}\n\nexport type QueryBuilderCreator<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>,\n> = (qb: TQueryBuilder) => TQueryBuilder | undefined;\n\nexport type AnyChimeraParams<\n\tTStore extends AnyChimeraEntityStore,\n\tTMeta = any,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>,\n> =\n\t| ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta>\n\t| QueryBuilderCreator<TStore, TQueryBuilder>\n\t| ChimeraQueryBuilder<TStore>;\n\nconst isQueryBuilder = <TStore extends AnyChimeraEntityStore, Meta = any>(\n\tparams: AnyChimeraParams<TStore, Meta>,\n): params is ChimeraQueryBuilder<TStore> => \"isChimeraQueryBuilder\" in params && params.isChimeraQueryBuilder;\n\nexport const normalizeParams = <TStore extends AnyChimeraEntityStore, TMeta = any>(\n\tcreateQueryBuilder: (() => ChimeraQueryBuilder<TStore>) | undefined,\n\tparams: AnyChimeraParams<TStore, TMeta>,\n): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta> => {\n\tif (isQueryBuilder(params)) return params.build();\n\tif (typeof params === \"function\") {\n\t\tif (!createQueryBuilder) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Query builder creator function provided but no query builder factory was supplied. \" +\n\t\t\t\t\t\"Either pass a query builder factory as the second argument to createChimeraStoreHooks/createChimeraStoreComposables, \" +\n\t\t\t\t\t\"or install the official @hf-chimera/query-builder package and use 'createDefaultQueryBuilder'. \" +\n\t\t\t\t\t\"Alternatively, use plain ChimeraCollectionParams instead of a creator function.\",\n\t\t\t);\n\t\t}\n\t\tconst q = createQueryBuilder();\n\t\treturn (params(q) ?? q).build();\n\t}\n\treturn params;\n};\n"],"mappings":";;AAOA,MAAa,qCAAqC;CACjD;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAa,mCAAmC;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAa,6BAA6B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;ACTD,MAAM,kBACL,WAC2C,2BAA2B,UAAU,OAAO;AAExF,MAAa,mBACZ,oBACA,WAC8G;AAC9G,KAAI,eAAe,OAAO,CAAE,QAAO,OAAO,OAAO;AACjD,KAAI,OAAO,WAAW,YAAY;AACjC,MAAI,CAAC,mBACJ,OAAM,IAAI,MACT,yXAIA;EAEF,MAAM,IAAI,oBAAoB;AAC9B,UAAQ,OAAO,EAAE,IAAI,GAAG,OAAO;;AAEhC,QAAO"}
|
package/dist/index.d.cts
CHANGED
|
@@ -10,8 +10,8 @@ interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {
|
|
|
10
10
|
isChimeraQueryBuilder: true;
|
|
11
11
|
build(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;
|
|
12
12
|
}
|
|
13
|
-
type QueryBuilderCreator<TStore extends AnyChimeraEntityStore
|
|
14
|
-
type AnyChimeraParams<TStore extends AnyChimeraEntityStore, TMeta = any,
|
|
13
|
+
type QueryBuilderCreator<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>> = (qb: TQueryBuilder) => TQueryBuilder | undefined;
|
|
14
|
+
type AnyChimeraParams<TStore extends AnyChimeraEntityStore, TMeta = any, TQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>> = ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta> | QueryBuilderCreator<TStore, TQueryBuilder> | ChimeraQueryBuilder<TStore>;
|
|
15
15
|
declare const normalizeParams: <TStore extends AnyChimeraEntityStore, TMeta = any>(createQueryBuilder: (() => ChimeraQueryBuilder<TStore>) | undefined, params: AnyChimeraParams<TStore, TMeta>) => ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { AnyChimeraParams, CHIMERA_COLLECTION_UPDATE_EVENTS, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, CHIMERA_ITEM_UPDATE_EVENTS, ChimeraQueryBuilder, QueryBuilderCreator, normalizeParams };
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":[],"mappings":";;;cAOa;cASA;cAaA;;;UCnBI,mCAAmC;;EDHvC,KAAA,EAAA,ECKH,uBDLG,CCKqB,8BDEyC,CCFV,MDEU,CAAA,ECFD,wBDEC,CCFwB,MDExB,CAAA,EAAA,GAAA,CAAA;AAE3E;AAaa,KCdD,mBDcC,CAAA,
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":[],"mappings":";;;cAOa;cASA;cAaA;;;UCnBI,mCAAmC;;EDHvC,KAAA,EAAA,ECKH,uBDLG,CCKqB,8BDEyC,CCFV,MDEU,CAAA,ECFD,wBDEC,CCFwB,MDExB,CAAA,EAAA,GAAA,CAAA;AAE3E;AAaa,KCdD,mBDcC,CAAA,eCbG,qBDsByD,EAAA,sBCrBlD,mBDqBkD,CCrB9B,MDqB8B,CAAA,GCrBpB,mBDqBoB,CCrBA,MDqBA,CAAA,CAAA,GAAA,CAAA,EAAA,ECpBhE,aDoBgE,EAAA,GCpB9C,aDoB8C,GAAA,SAAA;KClB7D,gCACI,0DAEO,oBAAoB,UAAU,oBAAoB,WAEtE,wBAAwB,+BAA+B,SAAS,yBAAyB,SAAS,SAClG,oBAAoB,QAAQ,iBAC5B,oBAAoB;cAMV,iCAAkC,+DACnB,oBAAoB,8BACvC,iBAAiB,QAAQ,WAC/B,wBAAwB,+BAA+B,SAAS,yBAAyB,SAAS"}
|
package/dist/index.d.mts
CHANGED
|
@@ -10,8 +10,8 @@ interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {
|
|
|
10
10
|
isChimeraQueryBuilder: true;
|
|
11
11
|
build(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;
|
|
12
12
|
}
|
|
13
|
-
type QueryBuilderCreator<TStore extends AnyChimeraEntityStore
|
|
14
|
-
type AnyChimeraParams<TStore extends AnyChimeraEntityStore, TMeta = any,
|
|
13
|
+
type QueryBuilderCreator<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>> = (qb: TQueryBuilder) => TQueryBuilder | undefined;
|
|
14
|
+
type AnyChimeraParams<TStore extends AnyChimeraEntityStore, TMeta = any, TQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>> = ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta> | QueryBuilderCreator<TStore, TQueryBuilder> | ChimeraQueryBuilder<TStore>;
|
|
15
15
|
declare const normalizeParams: <TStore extends AnyChimeraEntityStore, TMeta = any>(createQueryBuilder: (() => ChimeraQueryBuilder<TStore>) | undefined, params: AnyChimeraParams<TStore, TMeta>) => ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta>;
|
|
16
16
|
//#endregion
|
|
17
17
|
export { AnyChimeraParams, CHIMERA_COLLECTION_UPDATE_EVENTS, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, CHIMERA_ITEM_UPDATE_EVENTS, ChimeraQueryBuilder, QueryBuilderCreator, normalizeParams };
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":[],"mappings":";;;cAOa;cASA;cAaA;;;UCnBI,mCAAmC;;EDHvC,KAAA,EAAA,ECKH,uBDLG,CCKqB,8BDEyC,CCFV,MDEU,CAAA,ECFD,wBDEC,CCFwB,MDExB,CAAA,EAAA,GAAA,CAAA;AAE3E;AAaa,KCdD,mBDcC,CAAA,
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":[],"mappings":";;;cAOa;cASA;cAaA;;;UCnBI,mCAAmC;;EDHvC,KAAA,EAAA,ECKH,uBDLG,CCKqB,8BDEyC,CCFV,MDEU,CAAA,ECFD,wBDEC,CCFwB,MDExB,CAAA,EAAA,GAAA,CAAA;AAE3E;AAaa,KCdD,mBDcC,CAAA,eCbG,qBDsByD,EAAA,sBCrBlD,mBDqBkD,CCrB9B,MDqB8B,CAAA,GCrBpB,mBDqBoB,CCrBA,MDqBA,CAAA,CAAA,GAAA,CAAA,EAAA,ECpBhE,aDoBgE,EAAA,GCpB9C,aDoB8C,GAAA,SAAA;KClB7D,gCACI,0DAEO,oBAAoB,UAAU,oBAAoB,WAEtE,wBAAwB,+BAA+B,SAAS,yBAAyB,SAAS,SAClG,oBAAoB,QAAQ,iBAC5B,oBAAoB;cAMV,iCAAkC,+DACnB,oBAAoB,8BACvC,iBAAiB,QAAQ,WAC/B,wBAAwB,+BAA+B,SAAS,yBAAyB,SAAS"}
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":["import type {\n\tAnyChimeraCollectionQuery,\n\tAnyChimeraEntityStore,\n\tAnyChimeraItemQuery,\n\tChimeraEventEmitterEventNames,\n} from \"@hf-chimera/store\";\n\nexport const CHIMERA_ENTITY_STORE_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"updated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"deleted\",\n\t\"itemDeleted\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraEntityStore>[];\n\nexport const CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraCollectionQuery>[];\n\nexport const CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraItemQuery>[];\n","import type {\n\tAnyChimeraEntityStore,\n\tChimeraCollectionParams,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreOperatorsMap,\n} from \"@hf-chimera/store\";\n\n// Minimal query builder interface that adapters expect\n// This allows using any query builder implementation (including custom ones)\n// The official implementation is available in @hf-chimera/query-builder\nexport interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {\n\tisChimeraQueryBuilder: true;\n\tbuild(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;\n}\n\nexport type QueryBuilderCreator
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../events.ts","../params.ts"],"sourcesContent":["import type {\n\tAnyChimeraCollectionQuery,\n\tAnyChimeraEntityStore,\n\tAnyChimeraItemQuery,\n\tChimeraEventEmitterEventNames,\n} from \"@hf-chimera/store\";\n\nexport const CHIMERA_ENTITY_STORE_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"updated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"deleted\",\n\t\"itemDeleted\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraEntityStore>[];\n\nexport const CHIMERA_COLLECTION_UPDATE_EVENTS = [\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"selfItemCreated\",\n\t\"itemAdded\",\n\t\"itemUpdated\",\n\t\"selfItemUpdated\",\n\t\"itemDeleted\",\n\t\"selfItemDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraCollectionQuery>[];\n\nexport const CHIMERA_ITEM_UPDATE_EVENTS = [\n\t\"initialized\",\n\t\"selfCreated\",\n\t\"ready\",\n\t\"updated\",\n\t\"selfUpdated\",\n\t\"deleted\",\n\t\"selfDeleted\",\n\t\"error\",\n] as const satisfies ChimeraEventEmitterEventNames<AnyChimeraItemQuery>[];\n","import type {\n\tAnyChimeraEntityStore,\n\tChimeraCollectionParams,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreOperatorsMap,\n} from \"@hf-chimera/store\";\n\n// Minimal query builder interface that adapters expect\n// This allows using any query builder implementation (including custom ones)\n// The official implementation is available in @hf-chimera/query-builder\nexport interface ChimeraQueryBuilder<TStore extends AnyChimeraEntityStore> {\n\tisChimeraQueryBuilder: true;\n\tbuild(): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, any>;\n}\n\nexport type QueryBuilderCreator<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>,\n> = (qb: TQueryBuilder) => TQueryBuilder | undefined;\n\nexport type AnyChimeraParams<\n\tTStore extends AnyChimeraEntityStore,\n\tTMeta = any,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore> = ChimeraQueryBuilder<TStore>,\n> =\n\t| ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta>\n\t| QueryBuilderCreator<TStore, TQueryBuilder>\n\t| ChimeraQueryBuilder<TStore>;\n\nconst isQueryBuilder = <TStore extends AnyChimeraEntityStore, Meta = any>(\n\tparams: AnyChimeraParams<TStore, Meta>,\n): params is ChimeraQueryBuilder<TStore> => \"isChimeraQueryBuilder\" in params && params.isChimeraQueryBuilder;\n\nexport const normalizeParams = <TStore extends AnyChimeraEntityStore, TMeta = any>(\n\tcreateQueryBuilder: (() => ChimeraQueryBuilder<TStore>) | undefined,\n\tparams: AnyChimeraParams<TStore, TMeta>,\n): ChimeraCollectionParams<ChimeraEntityStoreOperatorsMap<TStore>, ChimeraEntityStoreEntity<TStore>, TMeta> => {\n\tif (isQueryBuilder(params)) return params.build();\n\tif (typeof params === \"function\") {\n\t\tif (!createQueryBuilder) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Query builder creator function provided but no query builder factory was supplied. \" +\n\t\t\t\t\t\"Either pass a query builder factory as the second argument to createChimeraStoreHooks/createChimeraStoreComposables, \" +\n\t\t\t\t\t\"or install the official @hf-chimera/query-builder package and use 'createDefaultQueryBuilder'. \" +\n\t\t\t\t\t\"Alternatively, use plain ChimeraCollectionParams instead of a creator function.\",\n\t\t\t);\n\t\t}\n\t\tconst q = createQueryBuilder();\n\t\treturn (params(q) ?? q).build();\n\t}\n\treturn params;\n};\n"],"mappings":";AAOA,MAAa,qCAAqC;CACjD;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAa,mCAAmC;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAED,MAAa,6BAA6B;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;;;ACTD,MAAM,kBACL,WAC2C,2BAA2B,UAAU,OAAO;AAExF,MAAa,mBACZ,oBACA,WAC8G;AAC9G,KAAI,eAAe,OAAO,CAAE,QAAO,OAAO,OAAO;AACjD,KAAI,OAAO,WAAW,YAAY;AACjC,MAAI,CAAC,mBACJ,OAAM,IAAI,MACT,yXAIA;EAEF,MAAM,IAAI,oBAAoB;AAC9B,UAAQ,OAAO,EAAE,IAAI,GAAG,OAAO;;AAEhC,QAAO"}
|