@skaile/workspaces 2.0.0 → 2.2.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 +54 -0
- package/README.md +26 -0
- package/dist/{asset-feeds-7VQVISDI.js → asset-feeds-D2LOXTOS.js} +9 -9
- package/dist/{asset-feeds-7VQVISDI.js.map → asset-feeds-D2LOXTOS.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +5 -5
- package/dist/asset-manager/index.js +9 -9
- package/dist/asset-manager/installer.js +6 -6
- package/dist/asset-manager/src/index.d.ts +19 -0
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/mcp-config.d.ts +58 -0
- package/dist/asset-manager/src/mcp-config.d.ts.map +1 -0
- package/dist/bridge/drivers/claude-sdk.js +6 -6
- package/dist/bridge/drivers/codex.js +1 -1
- package/dist/bridge/drivers/continue.js +2 -2
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/gemini.js +3 -3
- package/dist/bridge/drivers/goose.js +2 -2
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/drivers/opencode.js +2 -2
- package/dist/bridge/drivers/qwen.js +3 -3
- package/dist/bridge/index.js +2 -2
- package/dist/{chunk-KYLWY3A7.js → chunk-5BH6ZEGC.js} +9 -9
- package/dist/{chunk-KYLWY3A7.js.map → chunk-5BH6ZEGC.js.map} +1 -1
- package/dist/{chunk-ST3DLLNZ.js → chunk-63ZPKREA.js} +3 -3
- package/dist/{chunk-ST3DLLNZ.js.map → chunk-63ZPKREA.js.map} +1 -1
- package/dist/{chunk-6FJH63NN.js → chunk-6HPTB6KT.js} +4 -4
- package/dist/{chunk-6FJH63NN.js.map → chunk-6HPTB6KT.js.map} +1 -1
- package/dist/{chunk-NYCJ7B27.js → chunk-6I5VRIX3.js} +8 -8
- package/dist/{chunk-NYCJ7B27.js.map → chunk-6I5VRIX3.js.map} +1 -1
- package/dist/{chunk-SVL4EZJT.js → chunk-6QSGCHE5.js} +5 -5
- package/dist/{chunk-SVL4EZJT.js.map → chunk-6QSGCHE5.js.map} +1 -1
- package/dist/{chunk-35ELAMQ5.js → chunk-A67FJ4YT.js} +4 -4
- package/dist/{chunk-35ELAMQ5.js.map → chunk-A67FJ4YT.js.map} +1 -1
- package/dist/{chunk-WCWXDW22.js → chunk-BFIK6NPZ.js} +3 -3
- package/dist/{chunk-WCWXDW22.js.map → chunk-BFIK6NPZ.js.map} +1 -1
- package/dist/{chunk-DRXDEL3A.js → chunk-BUPFJFGP.js} +3 -3
- package/dist/{chunk-DRXDEL3A.js.map → chunk-BUPFJFGP.js.map} +1 -1
- package/dist/{chunk-VCU4NPUS.js → chunk-CERGXDGG.js} +4 -4
- package/dist/{chunk-VCU4NPUS.js.map → chunk-CERGXDGG.js.map} +1 -1
- package/dist/{chunk-KUZEIKZH.js → chunk-DHGMYXOY.js} +4 -4
- package/dist/{chunk-KUZEIKZH.js.map → chunk-DHGMYXOY.js.map} +1 -1
- package/dist/{chunk-UVW3R6S7.js → chunk-GPMIXOJJ.js} +210 -11
- package/dist/chunk-GPMIXOJJ.js.map +1 -0
- package/dist/{chunk-LBZP2IYG.js → chunk-I5ESMJMW.js} +2 -2
- package/dist/{chunk-LBZP2IYG.js.map → chunk-I5ESMJMW.js.map} +1 -1
- package/dist/{chunk-DY2AK577.js → chunk-IR6VPAVH.js} +3 -3
- package/dist/{chunk-DY2AK577.js.map → chunk-IR6VPAVH.js.map} +1 -1
- package/dist/{chunk-ORZW7MMO.js → chunk-KGIVZOLU.js} +2 -2
- package/dist/{chunk-ORZW7MMO.js.map → chunk-KGIVZOLU.js.map} +1 -1
- package/dist/{chunk-QIQTYN7F.js → chunk-MAIKGYFR.js} +2 -2
- package/dist/{chunk-QIQTYN7F.js.map → chunk-MAIKGYFR.js.map} +1 -1
- package/dist/{chunk-72EOJJOM.js → chunk-Q26C5GLO.js} +11 -5
- package/dist/chunk-Q26C5GLO.js.map +1 -0
- package/dist/{chunk-OYX22NJL.js → chunk-RKMXBOIO.js} +3 -3
- package/dist/{chunk-OYX22NJL.js.map → chunk-RKMXBOIO.js.map} +1 -1
- package/dist/{chunk-UAQVFATZ.js → chunk-SZJCUC52.js} +5 -5
- package/dist/{chunk-UAQVFATZ.js.map → chunk-SZJCUC52.js.map} +1 -1
- package/dist/{chunk-WZPADAE7.js → chunk-TQIU4HQG.js} +43 -27
- package/dist/chunk-TQIU4HQG.js.map +1 -0
- package/dist/{chunk-MMD2KQ3A.js → chunk-UFY2HFLO.js} +3 -3
- package/dist/{chunk-MMD2KQ3A.js.map → chunk-UFY2HFLO.js.map} +1 -1
- package/dist/{chunk-A5OYCQGT.js → chunk-VSSAJYFK.js} +4 -4
- package/dist/{chunk-A5OYCQGT.js.map → chunk-VSSAJYFK.js.map} +1 -1
- package/dist/{chunk-Y3JVBJ3Y.js → chunk-WA7ADYSA.js} +4 -4
- package/dist/{chunk-Y3JVBJ3Y.js.map → chunk-WA7ADYSA.js.map} +1 -1
- package/dist/{chunk-CKVIN4H3.js → chunk-ZNIHTT22.js} +3 -3
- package/dist/{chunk-CKVIN4H3.js.map → chunk-ZNIHTT22.js.map} +1 -1
- package/dist/cli/index.js +49 -49
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.js +8 -8
- package/dist/core/index.js +5 -5
- package/dist/core/runtime-assets.js +3 -3
- package/dist/core/src/workspace-config.d.ts +10 -0
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +2 -2
- package/dist/deploy/index.js +5 -5
- package/dist/{ensure-sources-JLVHHZI2.js → ensure-sources-6QMXRI6D.js} +12 -12
- package/dist/{ensure-sources-JLVHHZI2.js.map → ensure-sources-6QMXRI6D.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +8 -8
- package/dist/factory-assets/connectors/deploy.js +8 -8
- package/dist/factory-assets/connectors/devserver.js +8 -8
- package/dist/factory-assets/connectors/flow/adapter.js +8 -8
- package/dist/factory-assets/connectors/flow/contract/expression.d.ts +46 -0
- package/dist/factory-assets/connectors/flow/contract/expression.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/flow.v2.schema.json +948 -0
- package/dist/factory-assets/connectors/flow/contract/hash.d.ts +6 -0
- package/dist/factory-assets/connectors/flow/contract/hash.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/index.d.ts +6 -0
- package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts +6 -0
- package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/normalize.d.ts +35 -0
- package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts +364 -0
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -0
- package/dist/factory-assets/connectors/flow/contract.d.ts +2 -0
- package/dist/factory-assets/connectors/flow/contract.js +1027 -0
- package/dist/factory-assets/connectors/flow/contract.js.map +1 -0
- package/dist/factory-assets/connectors/flow/engine.js +5 -5
- package/dist/factory-assets/connectors/flow/run-flow.js +9 -9
- package/dist/factory-assets/connectors/flow.js +8 -8
- package/dist/factory-assets/connectors/git.js +8 -8
- package/dist/factory-assets/connectors/gmail.js +8 -8
- package/dist/factory-assets/connectors/googledrive.js +8 -8
- package/dist/factory-assets/connectors/local.js +8 -8
- package/dist/factory-assets/connectors/mattermost.js +8 -8
- package/dist/factory-assets/connectors/memory.js +8 -8
- package/dist/factory-assets/connectors/minio.js +8 -8
- package/dist/factory-assets/connectors/postgres.js +8 -8
- package/dist/factory-assets/connectors/s3.js +8 -8
- package/dist/factory-assets/connectors/sharepoint.js +8 -8
- package/dist/factory-assets/connectors/sqlite.js +8 -8
- package/dist/factory-assets/connectors/static-server.js +8 -8
- package/dist/factory-assets/connectors/tunnel.js +8 -8
- package/dist/factory-assets/connectors/webdav.js +8 -8
- package/dist/factory-assets/connectors/xstate-store.js +8 -8
- package/dist/factory-assets/connectors/xstate.js +8 -8
- package/dist/{flows-LV5WYJ2I.js → flows-TDDBCLNF.js} +8 -8
- package/dist/{flows-LV5WYJ2I.js.map → flows-TDDBCLNF.js.map} +1 -1
- package/dist/{helpers-PJ3CPUUL.js → helpers-COQ7TDD4.js} +12 -12
- package/dist/{helpers-PJ3CPUUL.js.map → helpers-COQ7TDD4.js.map} +1 -1
- package/dist/library/index.js +7 -7
- package/dist/library/install.js +5 -5
- package/dist/{library-publish-HVZRCE3C.js → library-publish-SNPER6PO.js} +15 -15
- package/dist/{library-publish-HVZRCE3C.js.map → library-publish-SNPER6PO.js.map} +1 -1
- package/dist/{open-library-RMI2FTQ4.js → open-library-VH2VEYQ7.js} +13 -13
- package/dist/{open-library-RMI2FTQ4.js.map → open-library-VH2VEYQ7.js.map} +1 -1
- package/dist/{paths-JSVTQAVW.js → paths-XZA22IB4.js} +10 -10
- package/dist/{paths-JSVTQAVW.js.map → paths-XZA22IB4.js.map} +1 -1
- package/dist/{plugin-store-7TVJB2TS.js → plugin-store-CYSNVZIX.js} +7 -7
- package/dist/{plugin-store-7TVJB2TS.js.map → plugin-store-CYSNVZIX.js.map} +1 -1
- package/dist/{project-P636MSYT.js → project-FKL7PMJV.js} +13 -13
- package/dist/{project-P636MSYT.js.map → project-FKL7PMJV.js.map} +1 -1
- package/dist/resolver/index.js +5 -5
- package/dist/runner/index.js +13 -13
- package/dist/runner/src/serve.d.ts +26 -0
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +9 -9
- package/dist/sdk/bridge.js +2 -2
- package/dist/sdk/core.js +5 -5
- package/dist/sdk/flow.js +5 -5
- package/dist/sdk/index.js +13 -13
- package/dist/sdk/resolver.js +5 -5
- package/dist/sdk/runner.js +13 -13
- package/dist/sdk/transport/ws.js +1 -1
- package/dist/sdk/transport.js +1 -1
- package/dist/{setup-OYW3W3XK.js → setup-BM6HMYJJ.js} +9 -9
- package/dist/{setup-OYW3W3XK.js.map → setup-BM6HMYJJ.js.map} +1 -1
- package/dist/{skills-QY5PHBD3.js → skills-LHS4TOKK.js} +7 -7
- package/dist/{skills-QY5PHBD3.js.map → skills-LHS4TOKK.js.map} +1 -1
- package/dist/{source-63CHWDC2.js → source-JIUBJC4F.js} +14 -14
- package/dist/{source-63CHWDC2.js.map → source-JIUBJC4F.js.map} +1 -1
- package/dist/{source-manifest-publish-DLASGDK5.js → source-manifest-publish-TLH6UWWU.js} +16 -16
- package/dist/{source-manifest-publish-DLASGDK5.js.map → source-manifest-publish-TLH6UWWU.js.map} +1 -1
- package/dist/transport/index.js +1 -1
- package/dist/transport/ws.js +1 -1
- package/dist/tui/index.js +13 -13
- package/dist/workspace-plugin/adapters/mcp.js +6 -6
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +18 -1
- package/dist/chunk-72EOJJOM.js.map +0 -1
- package/dist/chunk-UVW3R6S7.js.map +0 -1
- package/dist/chunk-WZPADAE7.js.map +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { DeployConnector, createConnector2 as createConnector } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { DeployConnector, createConnector2 as createConnector } from '../../chunk-6QSGCHE5.js';
|
|
2
|
+
import '../../chunk-ZNIHTT22.js';
|
|
3
3
|
import '../../chunk-6E6PKKAD.js';
|
|
4
|
+
import '../../chunk-IFGTRL2I.js';
|
|
4
5
|
import '../../chunk-HPGV54O4.js';
|
|
5
6
|
import '../../chunk-Y662DNQQ.js';
|
|
6
|
-
import '../../chunk-
|
|
7
|
-
import '../../chunk-
|
|
7
|
+
import '../../chunk-63ZPKREA.js';
|
|
8
|
+
import '../../chunk-F3HNW354.js';
|
|
8
9
|
import '../../chunk-K5GBV4SA.js';
|
|
9
10
|
import '../../chunk-ZAP2BDHG.js';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
11
|
+
import '../../chunk-UFY2HFLO.js';
|
|
12
|
+
import '../../chunk-Q26C5GLO.js';
|
|
13
|
+
import '../../chunk-MENCWIHW.js';
|
|
12
14
|
import '../../chunk-P4VHQA4N.js';
|
|
13
15
|
import '../../chunk-DYMWJAL4.js';
|
|
14
16
|
import '../../chunk-GEEW6SY2.js';
|
|
15
|
-
import '../../chunk-F3HNW354.js';
|
|
16
|
-
import '../../chunk-MENCWIHW.js';
|
|
17
17
|
import '../../chunk-U5POE4BA.js';
|
|
18
18
|
import '../../chunk-7GOCNYUV.js';
|
|
19
19
|
import '../../chunk-NSBPE2FW.js';
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-6QSGCHE5.js';
|
|
2
|
+
import '../../chunk-ZNIHTT22.js';
|
|
3
3
|
import '../../chunk-6E6PKKAD.js';
|
|
4
|
+
import '../../chunk-IFGTRL2I.js';
|
|
4
5
|
import '../../chunk-HPGV54O4.js';
|
|
5
6
|
import '../../chunk-Y662DNQQ.js';
|
|
6
|
-
import '../../chunk-
|
|
7
|
-
import '../../chunk-
|
|
7
|
+
import '../../chunk-63ZPKREA.js';
|
|
8
|
+
import '../../chunk-F3HNW354.js';
|
|
8
9
|
import '../../chunk-K5GBV4SA.js';
|
|
9
10
|
import '../../chunk-ZAP2BDHG.js';
|
|
10
|
-
import '../../chunk-
|
|
11
|
-
import '../../chunk-
|
|
11
|
+
import '../../chunk-UFY2HFLO.js';
|
|
12
|
+
import '../../chunk-Q26C5GLO.js';
|
|
13
|
+
import '../../chunk-MENCWIHW.js';
|
|
12
14
|
import '../../chunk-P4VHQA4N.js';
|
|
13
15
|
import '../../chunk-DYMWJAL4.js';
|
|
14
16
|
import '../../chunk-GEEW6SY2.js';
|
|
15
|
-
import '../../chunk-F3HNW354.js';
|
|
16
|
-
import '../../chunk-MENCWIHW.js';
|
|
17
17
|
import '../../chunk-U5POE4BA.js';
|
|
18
18
|
import '../../chunk-7GOCNYUV.js';
|
|
19
19
|
import '../../chunk-NSBPE2FW.js';
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
export { FlowAdapter, createConnector } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
1
|
+
export { FlowAdapter, createConnector } from '../../../chunk-6QSGCHE5.js';
|
|
2
|
+
import '../../../chunk-ZNIHTT22.js';
|
|
3
3
|
import '../../../chunk-6E6PKKAD.js';
|
|
4
|
+
import '../../../chunk-IFGTRL2I.js';
|
|
4
5
|
export { isBlocking } from '../../../chunk-HPGV54O4.js';
|
|
5
6
|
import '../../../chunk-Y662DNQQ.js';
|
|
6
|
-
import '../../../chunk-
|
|
7
|
-
import '../../../chunk-
|
|
7
|
+
import '../../../chunk-63ZPKREA.js';
|
|
8
|
+
import '../../../chunk-F3HNW354.js';
|
|
8
9
|
import '../../../chunk-K5GBV4SA.js';
|
|
9
10
|
import '../../../chunk-ZAP2BDHG.js';
|
|
10
|
-
import '../../../chunk-
|
|
11
|
-
import '../../../chunk-
|
|
11
|
+
import '../../../chunk-UFY2HFLO.js';
|
|
12
|
+
import '../../../chunk-Q26C5GLO.js';
|
|
13
|
+
import '../../../chunk-MENCWIHW.js';
|
|
12
14
|
import '../../../chunk-P4VHQA4N.js';
|
|
13
15
|
import '../../../chunk-DYMWJAL4.js';
|
|
14
16
|
import '../../../chunk-GEEW6SY2.js';
|
|
15
|
-
import '../../../chunk-F3HNW354.js';
|
|
16
|
-
import '../../../chunk-MENCWIHW.js';
|
|
17
17
|
import '../../../chunk-U5POE4BA.js';
|
|
18
18
|
import '../../../chunk-7GOCNYUV.js';
|
|
19
19
|
import '../../../chunk-NSBPE2FW.js';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Hard resource budgets applied to every Flow expression evaluation. */
|
|
2
|
+
export declare const FLOW_EXPRESSION_LIMITS: Readonly<{
|
|
3
|
+
maxLength: 4096;
|
|
4
|
+
maxTokens: 256;
|
|
5
|
+
maxNesting: 32;
|
|
6
|
+
maxPathSegments: 32;
|
|
7
|
+
maxCollectionItems: 1024;
|
|
8
|
+
}>;
|
|
9
|
+
/** Read-only values available to the bounded Flow expression language. */
|
|
10
|
+
export interface FlowExpressionContext {
|
|
11
|
+
/** Validated input supplied to the current flow run. */
|
|
12
|
+
flow: {
|
|
13
|
+
input: unknown;
|
|
14
|
+
};
|
|
15
|
+
/** Authored defaults exposed through bounded own-property reads. */
|
|
16
|
+
defaults?: Record<string, unknown>;
|
|
17
|
+
/** Node status and declared output fields keyed by node identifier. */
|
|
18
|
+
nodes: Record<string, {
|
|
19
|
+
status?: string;
|
|
20
|
+
output?: {
|
|
21
|
+
fields?: unknown;
|
|
22
|
+
};
|
|
23
|
+
}>;
|
|
24
|
+
}
|
|
25
|
+
/** Deterministic syntax, budget, or path failure raised by the Flow evaluator. */
|
|
26
|
+
export declare class FlowExpressionError extends Error {
|
|
27
|
+
/** Stable error name for callers that classify evaluator failures. */
|
|
28
|
+
readonly name = "FlowExpressionError";
|
|
29
|
+
}
|
|
30
|
+
/** Static path evidence used to reconcile safe grammar with declared producer output types. */
|
|
31
|
+
export interface FlowExpressionReference {
|
|
32
|
+
/** Grammar-approved context path. */
|
|
33
|
+
path: string;
|
|
34
|
+
/** True when logical evaluation requires the resolved value itself to be boolean. */
|
|
35
|
+
booleanOperand: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** Validates authored syntax without reading runtime values; binding mode relaxes only the result type. */
|
|
38
|
+
export declare function inspectFlowExpression(expression: string, requireBoolean?: boolean): FlowExpressionReference[];
|
|
39
|
+
/**
|
|
40
|
+
* Evaluates the bounded Flow expression subset without calls, arithmetic, or dynamic property access.
|
|
41
|
+
* The `default` sentinel is valid only as the complete expression and matches unconditionally.
|
|
42
|
+
*/
|
|
43
|
+
export declare function evaluateFlowExpression(expression: string, context: FlowExpressionContext): boolean;
|
|
44
|
+
/** Proposal-compatible short name for {@link evaluateFlowExpression}. */
|
|
45
|
+
export declare function evaluate(expression: string, context: FlowExpressionContext): boolean;
|
|
46
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../../factory-assets/connectors/flow/contract/expression.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,wDAAwD;IACxD,IAAI,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC3E;AAED,kFAAkF;AAClF,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,sEAAsE;IACtE,SAAkB,IAAI,yBAAyB;CAChD;AAwXD,+FAA+F;AAC/F,MAAM,WAAW,uBAAuB;IACtC,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,2GAA2G;AAC3G,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,cAAc,UAAO,GACpB,uBAAuB,EAAE,CAkB3B;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAQT;AAED,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAEpF"}
|