@bemoje/cli 0.1.26 → 0.1.27
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/cjs/index.d.ts +1 -25
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +3 -26
- package/cjs/index.js.map +1 -1
- package/cjs/lib/autostudy.d.ts +2 -0
- package/cjs/lib/autostudy.d.ts.map +1 -0
- package/cjs/lib/autostudy.js +33 -0
- package/cjs/lib/autostudy.js.map +1 -0
- package/cjs/lib/core/assertValidOptions.d.ts +3 -0
- package/cjs/lib/core/assertValidOptions.d.ts.map +1 -0
- package/cjs/lib/core/assertValidOptions.js +32 -0
- package/cjs/lib/core/assertValidOptions.js.map +1 -0
- package/cjs/lib/core/defaultParams.d.ts +4 -0
- package/cjs/lib/core/defaultParams.d.ts.map +1 -0
- package/cjs/lib/core/defaultParams.js +18 -0
- package/cjs/lib/core/defaultParams.js.map +1 -0
- package/cjs/lib/core/ensureEnglish.d.ts +3 -0
- package/cjs/lib/core/ensureEnglish.d.ts.map +1 -0
- package/cjs/lib/core/ensureEnglish.js +15 -0
- package/cjs/lib/core/ensureEnglish.js.map +1 -0
- package/cjs/lib/core/pdfParser.d.ts +2 -0
- package/cjs/lib/core/pdfParser.d.ts.map +1 -0
- package/cjs/lib/core/pdfParser.js +19 -0
- package/cjs/lib/core/pdfParser.js.map +1 -0
- package/cjs/lib/core/renderMarkdown.d.ts +3 -0
- package/cjs/lib/core/renderMarkdown.d.ts.map +1 -0
- package/cjs/lib/core/renderMarkdown.js +32 -0
- package/cjs/lib/core/renderMarkdown.js.map +1 -0
- package/cjs/lib/core/study.d.ts +7 -0
- package/cjs/lib/core/study.d.ts.map +1 -0
- package/cjs/lib/core/study.js +33 -0
- package/cjs/lib/core/study.js.map +1 -0
- package/cjs/lib/core/studySelections.d.ts +7 -0
- package/cjs/lib/core/studySelections.d.ts.map +1 -0
- package/cjs/lib/core/studySelections.js +30 -0
- package/cjs/lib/core/studySelections.js.map +1 -0
- package/cjs/lib/core/writeMarkdownFileResult.d.ts +6 -0
- package/cjs/lib/core/writeMarkdownFileResult.d.ts.map +1 -0
- package/cjs/lib/core/writeMarkdownFileResult.js +22 -0
- package/cjs/lib/core/writeMarkdownFileResult.js.map +1 -0
- package/cjs/lib/gpt/determineLanguage.d.ts +3 -0
- package/cjs/lib/gpt/determineLanguage.d.ts.map +1 -0
- package/cjs/lib/gpt/determineLanguage.js +16 -0
- package/cjs/lib/gpt/determineLanguage.js.map +1 -0
- package/cjs/lib/gpt/getAnswer.d.ts +4 -0
- package/cjs/lib/gpt/getAnswer.d.ts.map +1 -0
- package/cjs/lib/gpt/getAnswer.js +17 -0
- package/cjs/lib/gpt/getAnswer.js.map +1 -0
- package/cjs/lib/gpt/getConcepts.d.ts +4 -0
- package/cjs/lib/gpt/getConcepts.d.ts.map +1 -0
- package/cjs/lib/gpt/getConcepts.js +17 -0
- package/cjs/lib/gpt/getConcepts.js.map +1 -0
- package/cjs/lib/gpt/getSummary.d.ts +4 -0
- package/cjs/lib/gpt/getSummary.d.ts.map +1 -0
- package/cjs/lib/gpt/getSummary.js +17 -0
- package/cjs/lib/gpt/getSummary.js.map +1 -0
- package/cjs/lib/gpt/translateDaToEn.d.ts +3 -0
- package/cjs/lib/gpt/translateDaToEn.d.ts.map +1 -0
- package/cjs/lib/gpt/translateDaToEn.js +14 -0
- package/cjs/lib/gpt/translateDaToEn.js.map +1 -0
- package/cjs/lib/main.d.ts +2 -0
- package/cjs/lib/main.d.ts.map +1 -0
- package/cjs/lib/main.js +9 -0
- package/cjs/lib/main.js.map +1 -0
- package/cjs/lib/templates/getArticleConfigTemplate.d.ts +3 -0
- package/cjs/lib/templates/getArticleConfigTemplate.d.ts.map +1 -0
- package/cjs/lib/templates/getArticleConfigTemplate.js +28 -0
- package/cjs/lib/templates/getArticleConfigTemplate.js.map +1 -0
- package/cjs/lib/templates/getBookConfigTemplate.d.ts +3 -0
- package/cjs/lib/templates/getBookConfigTemplate.d.ts.map +1 -0
- package/cjs/lib/templates/getBookConfigTemplate.js +35 -0
- package/cjs/lib/templates/getBookConfigTemplate.js.map +1 -0
- package/cjs/lib/types.d.ts +37 -0
- package/cjs/lib/types.d.ts.map +1 -0
- package/cjs/{types/IConfig.js → lib/types.js} +1 -1
- package/cjs/lib/types.js.map +1 -0
- package/package.json +1 -1
- package/cjs/arg/ArgumentBuilder.d.ts +0 -23
- package/cjs/arg/ArgumentBuilder.d.ts.map +0 -1
- package/cjs/arg/ArgumentBuilder.js +0 -52
- package/cjs/arg/ArgumentBuilder.js.map +0 -1
- package/cjs/arg/ArgumentParserSelector.d.ts +0 -9
- package/cjs/arg/ArgumentParserSelector.d.ts.map +0 -1
- package/cjs/arg/ArgumentParserSelector.js +0 -15
- package/cjs/arg/ArgumentParserSelector.js.map +0 -1
- package/cjs/arg/ArgumentReader.d.ts +0 -15
- package/cjs/arg/ArgumentReader.d.ts.map +0 -1
- package/cjs/arg/ArgumentReader.js +0 -38
- package/cjs/arg/ArgumentReader.js.map +0 -1
- package/cjs/arg/ArgumentValidatorSelector.d.ts +0 -8
- package/cjs/arg/ArgumentValidatorSelector.d.ts.map +0 -1
- package/cjs/arg/ArgumentValidatorSelector.js +0 -16
- package/cjs/arg/ArgumentValidatorSelector.js.map +0 -1
- package/cjs/cmd/CommandBuilder.d.ts +0 -410
- package/cjs/cmd/CommandBuilder.d.ts.map +0 -1
- package/cjs/cmd/CommandBuilder.js +0 -1277
- package/cjs/cmd/CommandBuilder.js.map +0 -1
- package/cjs/cmd/CommandBuilderMetaData.d.ts +0 -26
- package/cjs/cmd/CommandBuilderMetaData.d.ts.map +0 -1
- package/cjs/cmd/CommandBuilderMetaData.js +0 -45
- package/cjs/cmd/CommandBuilderMetaData.js.map +0 -1
- package/cjs/cmd/CommandFeatureSelector.d.ts +0 -80
- package/cjs/cmd/CommandFeatureSelector.d.ts.map +0 -1
- package/cjs/cmd/CommandFeatureSelector.js +0 -114
- package/cjs/cmd/CommandFeatureSelector.js.map +0 -1
- package/cjs/cmd/DefaultHelpConfig.d.ts +0 -29
- package/cjs/cmd/DefaultHelpConfig.d.ts.map +0 -1
- package/cjs/cmd/DefaultHelpConfig.js +0 -177
- package/cjs/cmd/DefaultHelpConfig.js.map +0 -1
- package/cjs/cmd/commanderBackRefs.d.ts +0 -10
- package/cjs/cmd/commanderBackRefs.d.ts.map +0 -1
- package/cjs/cmd/commanderBackRefs.js +0 -38
- package/cjs/cmd/commanderBackRefs.js.map +0 -1
- package/cjs/core/OutputManager.d.ts +0 -64
- package/cjs/core/OutputManager.d.ts.map +0 -1
- package/cjs/core/OutputManager.js +0 -92
- package/cjs/core/OutputManager.js.map +0 -1
- package/cjs/core/ParserSelector.d.ts +0 -23
- package/cjs/core/ParserSelector.d.ts.map +0 -1
- package/cjs/core/ParserSelector.js +0 -46
- package/cjs/core/ParserSelector.js.map +0 -1
- package/cjs/core/ValidatorSelector.d.ts +0 -19
- package/cjs/core/ValidatorSelector.d.ts.map +0 -1
- package/cjs/core/ValidatorSelector.js +0 -42
- package/cjs/core/ValidatorSelector.js.map +0 -1
- package/cjs/core/splitCombinedArgvShorts.d.ts +0 -2
- package/cjs/core/splitCombinedArgvShorts.d.ts.map +0 -1
- package/cjs/core/splitCombinedArgvShorts.js +0 -15
- package/cjs/core/splitCombinedArgvShorts.js.map +0 -1
- package/cjs/db/AbstractJsonFileSection.d.ts +0 -136
- package/cjs/db/AbstractJsonFileSection.d.ts.map +0 -1
- package/cjs/db/AbstractJsonFileSection.js +0 -190
- package/cjs/db/AbstractJsonFileSection.js.map +0 -1
- package/cjs/db/AppDataSection.d.ts +0 -31
- package/cjs/db/AppDataSection.d.ts.map +0 -1
- package/cjs/db/AppDataSection.js +0 -49
- package/cjs/db/AppDataSection.js.map +0 -1
- package/cjs/db/ConfigSection.d.ts +0 -46
- package/cjs/db/ConfigSection.d.ts.map +0 -1
- package/cjs/db/ConfigSection.js +0 -71
- package/cjs/db/ConfigSection.js.map +0 -1
- package/cjs/db/JsonFile.d.ts +0 -36
- package/cjs/db/JsonFile.d.ts.map +0 -1
- package/cjs/db/JsonFile.js +0 -60
- package/cjs/db/JsonFile.js.map +0 -1
- package/cjs/db/PresetsSection.d.ts +0 -45
- package/cjs/db/PresetsSection.d.ts.map +0 -1
- package/cjs/db/PresetsSection.js +0 -82
- package/cjs/db/PresetsSection.js.map +0 -1
- package/cjs/opt/OptionArgumentParserSelector.d.ts +0 -8
- package/cjs/opt/OptionArgumentParserSelector.d.ts.map +0 -1
- package/cjs/opt/OptionArgumentParserSelector.js +0 -16
- package/cjs/opt/OptionArgumentParserSelector.js.map +0 -1
- package/cjs/opt/OptionArgumentValidatorSelector.d.ts +0 -8
- package/cjs/opt/OptionArgumentValidatorSelector.d.ts.map +0 -1
- package/cjs/opt/OptionArgumentValidatorSelector.js +0 -19
- package/cjs/opt/OptionArgumentValidatorSelector.js.map +0 -1
- package/cjs/opt/OptionBuilder.d.ts +0 -32
- package/cjs/opt/OptionBuilder.d.ts.map +0 -1
- package/cjs/opt/OptionBuilder.js +0 -97
- package/cjs/opt/OptionBuilder.js.map +0 -1
- package/cjs/opt/OptionHelpers.d.ts +0 -33
- package/cjs/opt/OptionHelpers.d.ts.map +0 -1
- package/cjs/opt/OptionHelpers.js +0 -57
- package/cjs/opt/OptionHelpers.js.map +0 -1
- package/cjs/opt/OptionReader.d.ts +0 -24
- package/cjs/opt/OptionReader.d.ts.map +0 -1
- package/cjs/opt/OptionReader.js +0 -66
- package/cjs/opt/OptionReader.js.map +0 -1
- package/cjs/types/IConfig.d.ts +0 -22
- package/cjs/types/IConfig.d.ts.map +0 -1
- package/cjs/types/IConfig.js.map +0 -1
- package/cjs/types/IPreset.d.ts +0 -15
- package/cjs/types/IPreset.d.ts.map +0 -1
- package/cjs/types/IPreset.js +0 -3
- package/cjs/types/IPreset.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.translateDaToEn = void 0;
|
|
4
|
+
async function translateDaToEn(gpt, text) {
|
|
5
|
+
const response = await gpt.chat((params) => {
|
|
6
|
+
params.model('gpt-4-0125-preview');
|
|
7
|
+
params.temperature(0.3);
|
|
8
|
+
params.system_message('Translate Danish to English.');
|
|
9
|
+
params.user_message(text);
|
|
10
|
+
});
|
|
11
|
+
return response.getContent() || text;
|
|
12
|
+
}
|
|
13
|
+
exports.translateDaToEn = translateDaToEn;
|
|
14
|
+
//# sourceMappingURL=translateDaToEn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"translateDaToEn.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/gpt/translateDaToEn.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,eAAe,CAAC,GAAQ,EAAE,IAAY;IAC1D,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACzC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAClC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACvB,MAAM,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAA;QACrD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,UAAU,EAAE,IAAI,IAAI,CAAA;AACtC,CAAC;AARD,0CAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/main.ts"],"names":[],"mappings":"AAEA,wBAAgB,IAAI,iHAEnB"}
|
package/cjs/lib/main.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.main = void 0;
|
|
4
|
+
const autostudy_1 = require("./autostudy");
|
|
5
|
+
function main() {
|
|
6
|
+
return autostudy_1.autostudy.parseAsync();
|
|
7
|
+
}
|
|
8
|
+
exports.main = main;
|
|
9
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/main.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAEvC,SAAgB,IAAI;IAClB,OAAO,qBAAS,CAAC,UAAU,EAAE,CAAA;AAC/B,CAAC;AAFD,oBAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getArticleConfigTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getArticleConfigTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAgB,wBAAwB,iBAsBvC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getArticleConfigTemplate = void 0;
|
|
4
|
+
function getArticleConfigTemplate() {
|
|
5
|
+
const opts = {
|
|
6
|
+
type: 'article',
|
|
7
|
+
filepath: 'path/to/file.pdf',
|
|
8
|
+
outpath: 'path/to/output.md',
|
|
9
|
+
title: 'Some Research Paper',
|
|
10
|
+
authors: 'John Doe',
|
|
11
|
+
year: 2021,
|
|
12
|
+
gptModel: 'gpt-3.5-turbo-0125',
|
|
13
|
+
subject: 'Computer Science',
|
|
14
|
+
selections: [
|
|
15
|
+
{
|
|
16
|
+
title: 'abstract',
|
|
17
|
+
pages: [2, 3],
|
|
18
|
+
questions: ['Summarize in one sentence.'],
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
silent: false,
|
|
22
|
+
overwriteCache: false,
|
|
23
|
+
apiKey: undefined,
|
|
24
|
+
};
|
|
25
|
+
return opts;
|
|
26
|
+
}
|
|
27
|
+
exports.getArticleConfigTemplate = getArticleConfigTemplate;
|
|
28
|
+
//# sourceMappingURL=getArticleConfigTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getArticleConfigTemplate.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getArticleConfigTemplate.ts"],"names":[],"mappings":";;;AAEA,SAAgB,wBAAwB;IACtC,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACb,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,SAAS;KAClB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAtBD,4DAsBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBookConfigTemplate.d.ts","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getBookConfigTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,wBAAgB,qBAAqB,iBA6BpC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBookConfigTemplate = void 0;
|
|
4
|
+
function getBookConfigTemplate() {
|
|
5
|
+
const opts = {
|
|
6
|
+
type: 'book',
|
|
7
|
+
filepath: 'path/to/file.pdf',
|
|
8
|
+
outpath: 'path/to/output.md',
|
|
9
|
+
title: 'Algorithms',
|
|
10
|
+
authors: 'John Doe',
|
|
11
|
+
year: 2021,
|
|
12
|
+
gptModel: 'gpt-3.5-turbo-0125',
|
|
13
|
+
subject: 'Computer Science',
|
|
14
|
+
selections: [
|
|
15
|
+
{
|
|
16
|
+
no: 1,
|
|
17
|
+
title: 'Introduction',
|
|
18
|
+
pages: [6, 26],
|
|
19
|
+
questions: ['What is an algorithm?', 'Why should I care about algorithms?'],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
no: 2,
|
|
23
|
+
title: 'Algorithms in the Wild?',
|
|
24
|
+
pages: [27, 34],
|
|
25
|
+
questions: ['Who uses algorithms?'],
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
silent: false,
|
|
29
|
+
overwriteCache: false,
|
|
30
|
+
apiKey: undefined,
|
|
31
|
+
};
|
|
32
|
+
return opts;
|
|
33
|
+
}
|
|
34
|
+
exports.getBookConfigTemplate = getBookConfigTemplate;
|
|
35
|
+
//# sourceMappingURL=getBookConfigTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBookConfigTemplate.js","sourceRoot":"","sources":["../../../../../../packages/autostudy/src/lib/templates/getBookConfigTemplate.ts"],"names":[],"mappings":";;;AAEA,SAAgB,qBAAqB;IACnC,MAAM,IAAI,GAAiB;QACzB,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,kBAAkB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,oBAAoB;QAC9B,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE;YACV;gBACE,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC,uBAAuB,EAAE,qCAAqC,CAAC;aAC5E;YACD;gBACE,EAAE,EAAE,CAAC;gBACL,KAAK,EAAE,yBAAyB;gBAChC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;SACF;QACD,MAAM,EAAE,KAAK;QACb,cAAc,EAAE,KAAK;QACrB,MAAM,EAAE,SAAS;KAClB,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AA7BD,sDA6BC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type GptModel = 'gpt-4-0125-preview' | 'gpt-3.5-turbo-0125';
|
|
2
|
+
export interface Answer {
|
|
3
|
+
question: string;
|
|
4
|
+
answer: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SelectionBase {
|
|
7
|
+
no?: number;
|
|
8
|
+
title: string;
|
|
9
|
+
pages: [from: number, to: number];
|
|
10
|
+
}
|
|
11
|
+
export interface Selection extends SelectionBase {
|
|
12
|
+
questions: string[];
|
|
13
|
+
}
|
|
14
|
+
export interface SelectionAnalysis extends SelectionBase {
|
|
15
|
+
summary: string;
|
|
16
|
+
concepts: Concept[];
|
|
17
|
+
questions: Answer[];
|
|
18
|
+
}
|
|
19
|
+
export interface Concept {
|
|
20
|
+
concept: string;
|
|
21
|
+
elaborated: string;
|
|
22
|
+
}
|
|
23
|
+
export interface StudyOptions {
|
|
24
|
+
type: 'book' | 'article';
|
|
25
|
+
title: string;
|
|
26
|
+
authors: string;
|
|
27
|
+
year: number;
|
|
28
|
+
subject: string;
|
|
29
|
+
filepath: string;
|
|
30
|
+
outpath?: string;
|
|
31
|
+
gptModel?: GptModel;
|
|
32
|
+
silent?: boolean;
|
|
33
|
+
overwriteCache?: boolean;
|
|
34
|
+
apiKey?: string;
|
|
35
|
+
selections: Selection[];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;AAElE,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf,UAAU,EAAE,SAAS,EAAE,CAAA;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../packages/autostudy/src/lib/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Argument } from '@commander-js/extra-typings';
|
|
2
|
-
import { ArgumentParserSelector } from './ArgumentParserSelector';
|
|
3
|
-
import { ArgumentReader } from './ArgumentReader';
|
|
4
|
-
import { ArgumentValidatorSelector } from './ArgumentValidatorSelector';
|
|
5
|
-
import { CommandBuilder } from '../cmd/CommandBuilder';
|
|
6
|
-
/**
|
|
7
|
-
* Wrapper around the @see Argument class from 'commander'.
|
|
8
|
-
*/
|
|
9
|
-
export declare class ArgumentBuilder {
|
|
10
|
-
readonly cmd: CommandBuilder;
|
|
11
|
-
readonly $: Argument;
|
|
12
|
-
readonly index: number;
|
|
13
|
-
constructor(cmd: CommandBuilder, name: string);
|
|
14
|
-
get hasValidators(): boolean;
|
|
15
|
-
get hasParser(): boolean;
|
|
16
|
-
description(...lines: string[]): this;
|
|
17
|
-
default(value: unknown, description?: string): this;
|
|
18
|
-
choices(values: readonly string[]): this;
|
|
19
|
-
get parser(): ArgumentParserSelector;
|
|
20
|
-
get validator(): ArgumentValidatorSelector;
|
|
21
|
-
get get(): ArgumentReader;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=ArgumentBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentBuilder.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD;;GAEG;AACH,qBAAa,eAAe;IAId,QAAQ,CAAC,GAAG,EAAE,cAAc;IAHxC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAA;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;gBAED,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;IAOtD,IAAI,aAAa,YAEhB;IAED,IAAI,SAAS,YAEZ;IAED,WAAW,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAK9B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;IAK5C,OAAO,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAKjC,IAAI,MAAM,2BAET;IAED,IAAI,SAAS,8BAEZ;IAED,IAAI,GAAG,mBAEN;CACF"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArgumentBuilder = void 0;
|
|
4
|
-
const extra_typings_1 = require("@commander-js/extra-typings");
|
|
5
|
-
const ArgumentParserSelector_1 = require("./ArgumentParserSelector");
|
|
6
|
-
const ArgumentReader_1 = require("./ArgumentReader");
|
|
7
|
-
const ArgumentValidatorSelector_1 = require("./ArgumentValidatorSelector");
|
|
8
|
-
const object_1 = require("@bemoje/object");
|
|
9
|
-
/**
|
|
10
|
-
* Wrapper around the @see Argument class from 'commander'.
|
|
11
|
-
*/
|
|
12
|
-
class ArgumentBuilder {
|
|
13
|
-
cmd;
|
|
14
|
-
$;
|
|
15
|
-
index;
|
|
16
|
-
constructor(cmd, name) {
|
|
17
|
-
this.cmd = cmd;
|
|
18
|
-
this.$ = new extra_typings_1.Argument(name);
|
|
19
|
-
this.index = cmd.meta.argValidators.length;
|
|
20
|
-
cmd.meta.argValidators[this.index] = [];
|
|
21
|
-
this.cmd.meta.argBuilders.push(this);
|
|
22
|
-
}
|
|
23
|
-
get hasValidators() {
|
|
24
|
-
return this.cmd.meta.argValidators[this.index].length > 0;
|
|
25
|
-
}
|
|
26
|
-
get hasParser() {
|
|
27
|
-
return this.cmd.meta.argParsers[this.index] !== undefined;
|
|
28
|
-
}
|
|
29
|
-
description(...lines) {
|
|
30
|
-
this.$.description = lines.join('\n');
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
default(value, description) {
|
|
34
|
-
this.$.default(value, description);
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
choices(values) {
|
|
38
|
-
this.$.choices(values);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
get parser() {
|
|
42
|
-
return new ArgumentParserSelector_1.ArgumentParserSelector(this);
|
|
43
|
-
}
|
|
44
|
-
get validator() {
|
|
45
|
-
return new ArgumentValidatorSelector_1.ArgumentValidatorSelector(this);
|
|
46
|
-
}
|
|
47
|
-
get get() {
|
|
48
|
-
return (0, object_1.realizeLazyProperty)(this, 'get', new ArgumentReader_1.ArgumentReader(this));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.ArgumentBuilder = ArgumentBuilder;
|
|
52
|
-
//# sourceMappingURL=ArgumentBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentBuilder.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentBuilder.ts"],"names":[],"mappings":";;;AAAA,+DAAsD;AACtD,qEAAiE;AACjE,qDAAiD;AACjD,2EAAuE;AAEvE,2CAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IAIL;IAHZ,CAAC,CAAU;IACX,KAAK,CAAQ;IAEtB,YAAqB,GAAmB,EAAE,IAAY;QAAjC,QAAG,GAAH,GAAG,CAAgB;QACtC,IAAI,CAAC,CAAC,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAA;QAC1C,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC3D,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAA;IAC3D,CAAC;IAED,WAAW,CAAC,GAAG,KAAe;QAC5B,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,KAAc,EAAE,WAAoB;QAC1C,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CAAC,MAAyB;QAC/B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,qDAAyB,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAA,4BAAmB,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAA;IACnE,CAAC;CACF;AA7CD,0CA6CC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ArgumentBuilder } from './ArgumentBuilder';
|
|
2
|
-
import { JsonValue } from '@bemoje/types';
|
|
3
|
-
import { ParserSelector } from '../core/ParserSelector';
|
|
4
|
-
import { TStringParser } from '@bemoje/types';
|
|
5
|
-
export declare class ArgumentParserSelector extends ParserSelector<ArgumentBuilder> {
|
|
6
|
-
constructor(builder: ArgumentBuilder);
|
|
7
|
-
custom<T extends JsonValue>(parser: TStringParser<T>): ArgumentBuilder;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=ArgumentParserSelector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentParserSelector.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentParserSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,qBAAa,sBAAuB,SAAQ,cAAc,CAAC,eAAe,CAAC;gBAC7D,OAAO,EAAE,eAAe;IAGpC,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;CAIrD"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArgumentParserSelector = void 0;
|
|
4
|
-
const ParserSelector_1 = require("../core/ParserSelector");
|
|
5
|
-
class ArgumentParserSelector extends ParserSelector_1.ParserSelector {
|
|
6
|
-
constructor(builder) {
|
|
7
|
-
super(builder);
|
|
8
|
-
}
|
|
9
|
-
custom(parser) {
|
|
10
|
-
this.builder.cmd.meta.argParsers[this.builder.index] = parser;
|
|
11
|
-
return this.builder;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.ArgumentParserSelector = ArgumentParserSelector;
|
|
15
|
-
//# sourceMappingURL=ArgumentParserSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentParserSelector.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentParserSelector.ts"],"names":[],"mappings":";;;AAEA,2DAAuD;AAGvD,MAAa,sBAAuB,SAAQ,+BAA+B;IACzE,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,CAAsB,MAAwB;QAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AARD,wDAQC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ArgumentBuilder } from './ArgumentBuilder';
|
|
2
|
-
export declare class ArgumentReader {
|
|
3
|
-
protected readonly parent: ArgumentBuilder;
|
|
4
|
-
constructor(parent: ArgumentBuilder);
|
|
5
|
-
get $(): import("@commander-js/extra-typings").Argument<"", undefined, undefined, undefined, undefined>;
|
|
6
|
-
get argument(): import("@commander-js/extra-typings").Argument<"", undefined, undefined, undefined, undefined>;
|
|
7
|
-
get name(): string;
|
|
8
|
-
get choices(): string[];
|
|
9
|
-
get default(): any;
|
|
10
|
-
get description(): string;
|
|
11
|
-
get variadic(): boolean;
|
|
12
|
-
get required(): boolean;
|
|
13
|
-
get optional(): boolean;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=ArgumentReader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentReader.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentReader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,qBAAa,cAAc;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;IAEtD,IAAI,CAAC,mGAEJ;IACD,IAAI,QAAQ,mGAEX;IACD,IAAI,IAAI,WAEP;IACD,IAAI,OAAO,aAEV;IACD,IAAI,OAAO,QAEV;IACD,IAAI,WAAW,WAEd;IACD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,YAEX;IACD,IAAI,QAAQ,YAEX;CACF"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArgumentReader = void 0;
|
|
4
|
-
class ArgumentReader {
|
|
5
|
-
parent;
|
|
6
|
-
constructor(parent) {
|
|
7
|
-
this.parent = parent;
|
|
8
|
-
}
|
|
9
|
-
get $() {
|
|
10
|
-
return this.parent.$;
|
|
11
|
-
}
|
|
12
|
-
get argument() {
|
|
13
|
-
return this.$;
|
|
14
|
-
}
|
|
15
|
-
get name() {
|
|
16
|
-
return this.$.name();
|
|
17
|
-
}
|
|
18
|
-
get choices() {
|
|
19
|
-
return this.$.argChoices;
|
|
20
|
-
}
|
|
21
|
-
get default() {
|
|
22
|
-
return this.$.defaultValue;
|
|
23
|
-
}
|
|
24
|
-
get description() {
|
|
25
|
-
return this.$.description;
|
|
26
|
-
}
|
|
27
|
-
get variadic() {
|
|
28
|
-
return this.$.variadic;
|
|
29
|
-
}
|
|
30
|
-
get required() {
|
|
31
|
-
return this.$.required;
|
|
32
|
-
}
|
|
33
|
-
get optional() {
|
|
34
|
-
return !this.$.required;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.ArgumentReader = ArgumentReader;
|
|
38
|
-
//# sourceMappingURL=ArgumentReader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentReader.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentReader.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IACM;IAA/B,YAA+B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAA;IACf,CAAC;IACD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;IAC1B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,CAAC,CAAC,YAAY,CAAA;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,CAAC,CAAC,WAAW,CAAA;IAC3B,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxB,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzB,CAAC;CACF;AA9BD,wCA8BC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ArgumentBuilder } from './ArgumentBuilder';
|
|
2
|
-
import { TValidator } from '@bemoje/types';
|
|
3
|
-
import { ValidatorSelector } from '../core/ValidatorSelector';
|
|
4
|
-
export declare class ArgumentValidatorSelector extends ValidatorSelector<ArgumentBuilder> {
|
|
5
|
-
constructor(builder: ArgumentBuilder);
|
|
6
|
-
custom<T>(validator: TValidator<T>): ArgumentBuilder;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=ArgumentValidatorSelector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentValidatorSelector.d.ts","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentValidatorSelector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,qBAAa,yBAA0B,SAAQ,iBAAiB,CAAC,eAAe,CAAC;gBACnE,OAAO,EAAE,eAAe;IAGpC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;CAInC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArgumentValidatorSelector = void 0;
|
|
4
|
-
const array_1 = require("@bemoje/array");
|
|
5
|
-
const ValidatorSelector_1 = require("../core/ValidatorSelector");
|
|
6
|
-
class ArgumentValidatorSelector extends ValidatorSelector_1.ValidatorSelector {
|
|
7
|
-
constructor(builder) {
|
|
8
|
-
super(builder);
|
|
9
|
-
}
|
|
10
|
-
custom(validator) {
|
|
11
|
-
(0, array_1.arrLast)(this.builder.cmd.meta.argValidators).push(validator);
|
|
12
|
-
return this.builder;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
exports.ArgumentValidatorSelector = ArgumentValidatorSelector;
|
|
16
|
-
//# sourceMappingURL=ArgumentValidatorSelector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArgumentValidatorSelector.js","sourceRoot":"","sources":["../../../../../packages/cli/src/arg/ArgumentValidatorSelector.ts"],"names":[],"mappings":";;;AACA,yCAAuC;AAEvC,iEAA6D;AAE7D,MAAa,yBAA0B,SAAQ,qCAAkC;IAC/E,YAAY,OAAwB;QAClC,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,CAAI,SAAwB;QAChC,IAAA,eAAO,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AARD,8DAQC"}
|