taon-storage 18.0.34 → 19.0.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/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/fesm2022/taon-storage.mjs +4 -4
- package/client/README.md +24 -24
- package/client/fesm2022/taon-storage.mjs +4 -4
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/constants.js.map +1 -1
- package/lib/file-stor.js.map +1 -1
- package/lib/helpers.js.map +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models.js.map +1 -1
- package/lib/storage.js.map +1 -1
- package/lib/utils.d.ts +0 -0
- package/lib/utils.js +5 -0
- package/lib/utils.js.map +1 -0
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +2 -2
- package/taon.jsonc +30 -8
- package/tmp-environment.json +3 -3
- package/websql/README.md +24 -24
- package/websql/fesm2022/taon-storage.mjs +4 -4
- package/browser/esm2022/lib/constants.mjs +0 -30
- package/browser/esm2022/lib/file-stor.mjs +0 -56
- package/browser/esm2022/lib/helpers.mjs +0 -10
- package/browser/esm2022/lib/index.mjs +0 -5
- package/browser/esm2022/lib/models.mjs +0 -4
- package/browser/esm2022/lib/sample-log-cmp/sample-log-cmp.component.mjs +0 -14
- package/browser/esm2022/lib/storage.mjs +0 -187
- package/browser/esm2022/public-api.mjs +0 -2
- package/browser/esm2022/taon-storage.mjs +0 -5
- package/client/esm2022/lib/constants.mjs +0 -30
- package/client/esm2022/lib/file-stor.mjs +0 -56
- package/client/esm2022/lib/helpers.mjs +0 -10
- package/client/esm2022/lib/index.mjs +0 -5
- package/client/esm2022/lib/models.mjs +0 -4
- package/client/esm2022/lib/sample-log-cmp/sample-log-cmp.component.mjs +0 -14
- package/client/esm2022/lib/storage.mjs +0 -187
- package/client/esm2022/public-api.mjs +0 -2
- package/client/esm2022/taon-storage.mjs +0 -5
- package/firedev.jsonc +0 -30
- package/websql/esm2022/lib/constants.mjs +0 -30
- package/websql/esm2022/lib/file-stor.mjs +0 -56
- package/websql/esm2022/lib/helpers.mjs +0 -10
- package/websql/esm2022/lib/index.mjs +0 -5
- package/websql/esm2022/lib/models.mjs +0 -4
- package/websql/esm2022/lib/sample-log-cmp/sample-log-cmp.component.mjs +0 -14
- package/websql/esm2022/lib/storage.mjs +0 -187
- package/websql/esm2022/public-api.mjs +0 -2
- package/websql/esm2022/taon-storage.mjs +0 -5
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Helpers, _ } from "tnp-core/websql";
|
|
2
|
-
import * as localForge from 'localforage';
|
|
3
|
-
export const storeName = 'taon-storage_'
|
|
4
|
-
+ window?.location.port;
|
|
5
|
-
let environment = {};
|
|
6
|
-
/* */
|
|
7
|
-
/* */
|
|
8
|
-
/* */
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
environment = window['ENV'];
|
|
11
|
-
const websql = Helpers.isWebSQL ? 'websql' : '';
|
|
12
|
-
export const storLocalStorage = localForge.createInstance({
|
|
13
|
-
driver: localForge.LOCALSTORAGE,
|
|
14
|
-
storeName: [
|
|
15
|
-
storeName,
|
|
16
|
-
'LOCALSTORAGE',
|
|
17
|
-
_.kebabCase(environment?.currentProjectGenericName) + websql,
|
|
18
|
-
].join('_'), // + _.kebabCase(window.location.origin),
|
|
19
|
-
}); // TODO UNCOMMENT any
|
|
20
|
-
export const storIndexdDb = localForge.createInstance({
|
|
21
|
-
driver: localForge.INDEXEDDB,
|
|
22
|
-
storeName: [
|
|
23
|
-
storeName,
|
|
24
|
-
'INDEXEDDB',
|
|
25
|
-
_.kebabCase(environment?.currentProjectGenericName) + websql,
|
|
26
|
-
].join('_')
|
|
27
|
-
}); // TODO UNCOMMENT any
|
|
28
|
-
;
|
|
29
|
-
({}); // @--end-of-file-for-module=taon-storage lib/constants.ts
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tc3RvcmFnZS9wcm9qZWN0cy90YW9uLXN0b3JhZ2Uvc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEtBQUssVUFBVSxNQUFNLGFBQWEsQ0FBQztBQUsxQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsZUFBZTtNQUVwQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQztBQUsxQixJQUFJLFdBQVcsR0FBRyxFQUFTLENBQUM7QUFDNUIsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsYUFBYTtBQUNiLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFLNUIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztJQUN4RCxNQUFNLEVBQUUsVUFBVSxDQUFDLFlBQVk7SUFDL0IsU0FBUyxFQUFFO1FBQ1QsU0FBUztRQUNULGNBQWM7UUFDZCxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU07S0FDN0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ1QseUNBQXlDO0NBQzVDLENBQVEsQ0FBQyxDQUFDLHFCQUFxQjtBQU1oQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQztJQUNwRCxNQUFNLEVBQUUsVUFBVSxDQUFDLFNBQVM7SUFDNUIsU0FBUyxFQUFFO1FBQ1QsU0FBUztRQUNULFdBQVc7UUFDWCxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU07S0FDN0QsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO0NBQ1osQ0FBUSxDQUFDLENBQUMscUJBQXFCO0FBSS9CLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgSGVscGVycywgXyB9IGZyb20gXCJ0bnAtY29yZS93ZWJzcWxcIjtcblxuaW1wb3J0ICogYXMgbG9jYWxGb3JnZSBmcm9tICdsb2NhbGZvcmFnZSc7XG5cblxuXG5cbmV4cG9ydCBjb25zdCBzdG9yZU5hbWUgPSAndGFvbi1zdG9yYWdlXydcblxuICArIHdpbmRvdz8ubG9jYXRpb24ucG9ydDtcblxuXG5cblxubGV0IGVudmlyb25tZW50ID0ge30gYXMgYW55O1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLy8gQHRzLWlnbm9yZVxuZW52aXJvbm1lbnQgPSB3aW5kb3dbJ0VOViddO1xuXG5cblxuXG5jb25zdCB3ZWJzcWwgPSBIZWxwZXJzLmlzV2ViU1FMID8gJ3dlYnNxbCcgOiAnJztcblxuZXhwb3J0IGNvbnN0IHN0b3JMb2NhbFN0b3JhZ2UgPSBsb2NhbEZvcmdlLmNyZWF0ZUluc3RhbmNlKHtcbiAgZHJpdmVyOiBsb2NhbEZvcmdlLkxPQ0FMU1RPUkFHRSxcbiAgc3RvcmVOYW1lOiBbXG4gICAgc3RvcmVOYW1lLFxuICAgICdMT0NBTFNUT1JBR0UnLFxuICAgIF8ua2ViYWJDYXNlKGVudmlyb25tZW50Py5jdXJyZW50UHJvamVjdEdlbmVyaWNOYW1lKSArIHdlYnNxbCxcbiAgXS5qb2luKCdfJylcbiAgLCAvLyArIF8ua2ViYWJDYXNlKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pLFxufSkgYXMgYW55OyAvLyBUT0RPIFVOQ09NTUVOVCBhbnlcblxuXG5cblxuXG5leHBvcnQgY29uc3Qgc3RvckluZGV4ZERiID0gbG9jYWxGb3JnZS5jcmVhdGVJbnN0YW5jZSh7XG4gIGRyaXZlcjogbG9jYWxGb3JnZS5JTkRFWEVEREIsXG4gIHN0b3JlTmFtZTogW1xuICAgIHN0b3JlTmFtZSxcbiAgICAnSU5ERVhFRERCJyxcbiAgICBfLmtlYmFiQ2FzZShlbnZpcm9ubWVudD8uY3VycmVudFByb2plY3RHZW5lcmljTmFtZSkgKyB3ZWJzcWwsXG4gIF0uam9pbignXycpXG59KSBhcyBhbnk7IC8vIFRPRE8gVU5DT01NRU5UIGFueVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tc3RvcmFnZSBsaWIvY29uc3RhbnRzLnRzIl19
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
export class FileStor {
|
|
2
|
-
constructor(filePath, useJSON = false) {
|
|
3
|
-
this.filePath = filePath;
|
|
4
|
-
this.useJSON = useJSON;
|
|
5
|
-
}
|
|
6
|
-
async setItem(key, value, callback) {
|
|
7
|
-
/* */
|
|
8
|
-
/* */
|
|
9
|
-
/* */
|
|
10
|
-
/* */
|
|
11
|
-
/* */
|
|
12
|
-
/* */
|
|
13
|
-
/* */
|
|
14
|
-
/* */
|
|
15
|
-
/* */
|
|
16
|
-
/* */
|
|
17
|
-
/* */
|
|
18
|
-
/* */
|
|
19
|
-
/* */
|
|
20
|
-
/* */
|
|
21
|
-
/* */
|
|
22
|
-
return (void 0);
|
|
23
|
-
}
|
|
24
|
-
async getItem(key, callback) {
|
|
25
|
-
/* */
|
|
26
|
-
/* */
|
|
27
|
-
/* */
|
|
28
|
-
/* */
|
|
29
|
-
/* */
|
|
30
|
-
/* */
|
|
31
|
-
/* */
|
|
32
|
-
/* */
|
|
33
|
-
/* */
|
|
34
|
-
/* */
|
|
35
|
-
/* */
|
|
36
|
-
/* */
|
|
37
|
-
/* */
|
|
38
|
-
/* */
|
|
39
|
-
return (void 0);
|
|
40
|
-
}
|
|
41
|
-
async removeItem(key, callback) {
|
|
42
|
-
/* */
|
|
43
|
-
/* */
|
|
44
|
-
/* */
|
|
45
|
-
/* */
|
|
46
|
-
/* */
|
|
47
|
-
/* */
|
|
48
|
-
/* */
|
|
49
|
-
/* */
|
|
50
|
-
/* */
|
|
51
|
-
return (void 0);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
;
|
|
55
|
-
({}); // @--end-of-file-for-module=taon-storage lib/file-stor.ts
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tc3RvcmFnZS9wcm9qZWN0cy90YW9uLXN0b3JhZ2Uvc3JjL2xpYi9maWxlLXN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLFFBQVE7SUFLbkIsWUFDVSxRQUFnQixFQUNoQixVQUFVLEtBQUs7UUFEZixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ2hCLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFDckIsQ0FBQztJQUVMLEtBQUssQ0FBQyxPQUFPLENBQUksR0FBVyxFQUFFLEtBQVEsRUFBRSxRQUF1QztRQUNqRixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBSSxHQUFXLEVBQUUsUUFBdUM7UUFDdkUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFXLEVBQUUsUUFBNkI7UUFDN0QsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwREFBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gXCJ0bnAtY29yZS93ZWJzcWxcIjtcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5cbmV4cG9ydCBjbGFzcyBGaWxlU3RvclxuXG4gIGltcGxlbWVudHMgTW9kZWxzLlN0b3JUeXBlXG5cbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaWxlUGF0aDogc3RyaW5nLFxuICAgIHByaXZhdGUgdXNlSlNPTiA9IGZhbHNlXG4gICkgeyB9XG5cbiAgYXN5bmMgc2V0SXRlbTxUPihrZXk6IHN0cmluZywgdmFsdWU6IFQsIGNhbGxiYWNrPzogKGVycjogYW55LCB2YWx1ZTogVCkgPT4gdm9pZCk6IFByb21pc2U8VD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuICBhc3luYyBnZXRJdGVtPFQ+KGtleTogc3RyaW5nLCBjYWxsYmFjaz86IChlcnI6IGFueSwgdmFsdWU6IFQpID0+IHZvaWQpOiBQcm9taXNlPFQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuICBhc3luYyByZW1vdmVJdGVtKGtleTogc3RyaW5nLCBjYWxsYmFjaz86IChlcnI6IGFueSkgPT4gdm9pZCk6IFByb21pc2U8dm9pZD4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tc3RvcmFnZSBsaWIvZmlsZS1zdG9yLnRzIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export const keyValue = (classFun, memberName) => {
|
|
2
|
-
const res = `taon.localstorage.class.${classFun.name}.prop.${memberName}`;
|
|
3
|
-
return res;
|
|
4
|
-
};
|
|
5
|
-
export const keyDefaultValueAreadySet = (classFun, memberName) => {
|
|
6
|
-
const res = keyValue(classFun, memberName) + 'defaultvalueisset';
|
|
7
|
-
return res;
|
|
8
|
-
};
|
|
9
|
-
({}); // @--end-of-file-for-module=taon-storage lib/helpers.ts
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uLXN0b3JhZ2UvcHJvamVjdHMvdGFvbi1zdG9yYWdlL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQUU7SUFFL0MsTUFBTSxHQUFHLEdBQUcsMkJBQTJCLFFBQVEsQ0FBQyxJQUFJLFNBQVMsVUFBVSxFQUFFLENBQUE7SUFDekUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBRTtJQUMvRCxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHLG1CQUFtQixDQUFDO0lBQ2pFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUlDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmV4cG9ydCBjb25zdCBrZXlWYWx1ZSA9IChjbGFzc0Z1biwgbWVtYmVyTmFtZSkgPT4ge1xuXG4gIGNvbnN0IHJlcyA9IGB0YW9uLmxvY2Fsc3RvcmFnZS5jbGFzcy4ke2NsYXNzRnVuLm5hbWV9LnByb3AuJHttZW1iZXJOYW1lfWBcbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGNvbnN0IGtleURlZmF1bHRWYWx1ZUFyZWFkeVNldCA9IChjbGFzc0Z1biwgbWVtYmVyTmFtZSkgPT4ge1xuICBjb25zdCByZXMgPSBrZXlWYWx1ZShjbGFzc0Z1biwgbWVtYmVyTmFtZSkgKyAnZGVmYXVsdHZhbHVlaXNzZXQnO1xuICByZXR1cm4gcmVzO1xufVxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tc3RvcmFnZSBsaWIvaGVscGVycy50cyJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './sample-log-cmp/sample-log-cmp.component';
|
|
2
|
-
export * from './storage';
|
|
3
|
-
;
|
|
4
|
-
({}); // @--end-of-file-for-module=taon-storage lib/index.ts
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi1zdG9yYWdlL3Byb2plY3RzL3Rhb24tc3RvcmFnZS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxXQUFXLENBQUM7QUFFekIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzREFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5leHBvcnQgKiBmcm9tICcuL3NhbXBsZS1sb2ctY21wL3NhbXBsZS1sb2ctY21wLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZSc7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXN0b3JhZ2UgbGliL2luZGV4LnRzIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
;
|
|
2
|
-
({}); // @--end-of-file-for-module=taon-storage lib/models.ts
|
|
3
|
-
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tc3RvcmFnZS9wcm9qZWN0cy90YW9uLXN0b3JhZ2Uvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHR5cGUgeyBzdG9ySW5kZXhkRGIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG5cblxuICBleHBvcnQgdHlwZSBTdG9yVHlwZSA9IFBhcnRpYWw8KHR5cGVvZiBzdG9ySW5kZXhkRGIpPjtcblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUGVuZGluZ09wZXJhdGlvbiB7XG4gICAgZW5naW5lOiBTdG9yZ2VFbmdpbmU7XG4gICAgaWQ6IHN0cmluZztcbiAgICBpc0RvbmU6IGJvb2xlYW47XG5cblxuXG5cbiAgfVxuXG4gIGV4cG9ydCB0eXBlIFN0b3JnZUVuZ2luZSA9ICdsb2NhbHN0b3JhZ2UnXG4gICAgfCAnaW5kZXhlZGRiJ1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICA7XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXN0b3JhZ2UgbGliL21vZGVscy50cyJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, } from '@angular/core'; /* */
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SampleLogCmpComponent {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SampleLogCmpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.5", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.5", ngImport: i0, type: SampleLogCmpComponent, decorators: [{
|
|
9
|
-
type: Component,
|
|
10
|
-
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>\n", styles: [":host{display:block}\n"] }]
|
|
11
|
-
}] });
|
|
12
|
-
;
|
|
13
|
-
({}); // @--end-of-file-for-module=taon-storage lib/sample-log-cmp/sample-log-cmp.component.ts
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlLWxvZy1jbXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tc3RvcmFnZS9wcm9qZWN0cy90YW9uLXN0b3JhZ2Uvc3JjL2xpYi9zYW1wbGUtbG9nLWNtcC9zYW1wbGUtbG9nLWNtcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi1zdG9yYWdlL3Byb2plY3RzL3Rhb24tc3RvcmFnZS9zcmMvbGliL3NhbXBsZS1sb2ctY21wL3NhbXBsZS1sb2ctY21wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBSSx1QkFBdUIsRUFBSSxTQUFTLEdBQStELE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQVV6SSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBVS9DLE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjtrR0FBckIscUJBQXFCLDBFQ3RCbEMsNk5BTUEsK0VEYVksWUFBWTs7MkZBR1gscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsWUFBWSxDQUFDLGNBQ1gsSUFBSTs7QUFJakIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx3RkFBd0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgICBDb21wb25lbnQsICAgRXZlbnRFbWl0dGVyLCAgIEhvc3RCaW5kaW5nLCAgIElucHV0LCAgIE9uSW5pdCwgICBPdXRwdXQsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FtcGxlLWxvZy1jbXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2FtcGxlLWxvZy1jbXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zYW1wbGUtbG9nLWNtcC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNhbXBsZUxvZ0NtcENvbXBvbmVudCB7fVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi1zdG9yYWdlIGxpYi9zYW1wbGUtbG9nLWNtcC9zYW1wbGUtbG9nLWNtcC5jb21wb25lbnQudHMiLCI8cD5cbiAgc2FtcGxlIGxvZyBjb21wb25lbnQgd29ya3MhXG4gIDxpbWdcbiAgICBzcmM9XCIvVFRUVFRUVFRPT09PT09PT19fX19fX19fUlJSUlJSUlJFRUVFRUVFRU1NTU1NTU1NT09PT09PT09WVlZWVlZWVkVFRUVFRUVFYXNzZXRzL2Fzc2V0cy1mb3IvdGFvbi1zdG9yYWdlL3NoYXJlZC9sb2dvLnBuZ1wiXG4gICAgYWx0PVwibG9nb1wiIGhlaWdodD1cIjIwMFwiIC8+XG48L3A+XG4iXX0=
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
import { keyDefaultValueAreadySet, keyValue } from './helpers';
|
|
2
|
-
import { storIndexdDb, storLocalStorage } from './constants';
|
|
3
|
-
const AWAITING_INTERVAL_TIME = 200;
|
|
4
|
-
export function uncache(onlyInThisComponentClass, propertyValueToDeleteFromCache) {
|
|
5
|
-
if (!onlyInThisComponentClass) { // @ts-ignore
|
|
6
|
-
onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };
|
|
7
|
-
}
|
|
8
|
-
return Promise.all([
|
|
9
|
-
storLocalStorage.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
|
|
10
|
-
storLocalStorage.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
|
|
11
|
-
storIndexdDb.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
|
|
12
|
-
storIndexdDb.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
|
|
13
|
-
]);
|
|
14
|
-
}
|
|
15
|
-
class TaonStorage {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.action = (defaultValue, storageEngine, engine, transformFrom, transformTo) => {
|
|
18
|
-
if (!this.onlyInThisComponentClass) { // @ts-ignore
|
|
19
|
-
this.onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };
|
|
20
|
-
}
|
|
21
|
-
return (target, memberName) => {
|
|
22
|
-
let currentValue = target[memberName];
|
|
23
|
-
const setItemDefaultValue = async () => {
|
|
24
|
-
const observe = {
|
|
25
|
-
engine,
|
|
26
|
-
id: 'setting default value'
|
|
27
|
-
};
|
|
28
|
-
TaonStorage.pendingOperatins.push(observe);
|
|
29
|
-
await new Promise((resolve, reject) => {
|
|
30
|
-
storageEngine.getItem(keyValue(this.onlyInThisComponentClass, memberName), (err, valFromDb) => {
|
|
31
|
-
currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;
|
|
32
|
-
resolve();
|
|
33
|
-
this.endObserverAction(observe);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
if (defaultValue !== void 0) {
|
|
38
|
-
const observe = {
|
|
39
|
-
engine,
|
|
40
|
-
id: 'setting not rivial default value'
|
|
41
|
-
};
|
|
42
|
-
TaonStorage.pendingOperatins.push(observe);
|
|
43
|
-
(new Promise((resolve, reject) => {
|
|
44
|
-
storageEngine.getItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), async (err, val) => {
|
|
45
|
-
if (val) {
|
|
46
|
-
await setItemDefaultValue();
|
|
47
|
-
resolve();
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
await new Promise((res, rej) => {
|
|
51
|
-
storageEngine.setItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), true, (err, v) => {
|
|
52
|
-
res();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
await new Promise((res, rej) => {
|
|
56
|
-
storageEngine.setItem(keyValue(this.onlyInThisComponentClass, memberName), transformTo ? transformTo(defaultValue) : defaultValue, (err, val) => {
|
|
57
|
-
res();
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
currentValue = defaultValue;
|
|
61
|
-
resolve();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
})).then(() => {
|
|
65
|
-
this.endObserverAction(observe);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
setItemDefaultValue();
|
|
70
|
-
}
|
|
71
|
-
Object.defineProperty(target, memberName, {
|
|
72
|
-
set: (newValue) => {
|
|
73
|
-
const observe = {
|
|
74
|
-
engine,
|
|
75
|
-
id: 'setting in SET not rivial default value'
|
|
76
|
-
};
|
|
77
|
-
TaonStorage.pendingOperatins.push(observe);
|
|
78
|
-
(new Promise((resolve, reject) => {
|
|
79
|
-
storageEngine.setItem(keyValue(this.onlyInThisComponentClass, memberName), transformTo ? transformTo(newValue) : newValue, (err, savedValue) => {
|
|
80
|
-
resolve();
|
|
81
|
-
});
|
|
82
|
-
})).then(() => {
|
|
83
|
-
this.endObserverAction(observe);
|
|
84
|
-
});
|
|
85
|
-
currentValue = newValue;
|
|
86
|
-
},
|
|
87
|
-
get: () => currentValue,
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
static { this.pendingOperatins = []; }
|
|
93
|
-
static { this.id = 0; }
|
|
94
|
-
/**
|
|
95
|
-
* TODO This is fine for now, but could be something smarter here
|
|
96
|
-
*/
|
|
97
|
-
static async awaitPendingOperatios(id = TaonStorage.id++) {
|
|
98
|
-
if (id > Number.MAX_SAFE_INTEGER - 2) {
|
|
99
|
-
TaonStorage.id = 0;
|
|
100
|
-
id = TaonStorage.id++;
|
|
101
|
-
}
|
|
102
|
-
const pending = this.pendingOperatins;
|
|
103
|
-
const toDeleteIndex = [];
|
|
104
|
-
for (let index = 0; index < pending.length; index++) {
|
|
105
|
-
const op = pending[index];
|
|
106
|
-
if (!op.isDone) {
|
|
107
|
-
await new Promise(async (resovle, reject) => {
|
|
108
|
-
setTimeout(async () => {
|
|
109
|
-
await this.awaitPendingOperatios(id);
|
|
110
|
-
resovle();
|
|
111
|
-
}, AWAITING_INTERVAL_TIME);
|
|
112
|
-
});
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
toDeleteIndex.push(index);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
for (let index = 0; index < toDeleteIndex.length; index++) {
|
|
120
|
-
const toDelete = toDeleteIndex[index];
|
|
121
|
-
pending.splice(toDelete, 1);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
static get property() {
|
|
125
|
-
return new TaonStorage();
|
|
126
|
-
}
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
get in() {
|
|
130
|
-
const that = this;
|
|
131
|
-
return {
|
|
132
|
-
get indexedb() {
|
|
133
|
-
that.engine = 'indexeddb';
|
|
134
|
-
return that;
|
|
135
|
-
},
|
|
136
|
-
get localstorage() {
|
|
137
|
-
that.engine = 'localstorage';
|
|
138
|
-
return that;
|
|
139
|
-
},
|
|
140
|
-
/* */
|
|
141
|
-
/* */
|
|
142
|
-
/* */
|
|
143
|
-
/* */
|
|
144
|
-
/* */
|
|
145
|
-
/* */
|
|
146
|
-
/* */
|
|
147
|
-
/* */
|
|
148
|
-
/* */
|
|
149
|
-
/* */
|
|
150
|
-
/* */
|
|
151
|
-
/* */
|
|
152
|
-
/* */
|
|
153
|
-
/* */
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
for(onlyInThisComponentClass) {
|
|
157
|
-
this.onlyInThisComponentClass = onlyInThisComponentClass;
|
|
158
|
-
return this;
|
|
159
|
-
}
|
|
160
|
-
withDefaultValue(defaultValue) {
|
|
161
|
-
return this.action(defaultValue, this.getEngine(), this.engine);
|
|
162
|
-
}
|
|
163
|
-
withOptions(options) {
|
|
164
|
-
const { defaultValue, transformFrom, transformTo } = (options || {});
|
|
165
|
-
return this.action(defaultValue ? defaultValue : this.defaultValue, this.getEngine(), this.engine, transformFrom, transformTo);
|
|
166
|
-
}
|
|
167
|
-
getEngine() {
|
|
168
|
-
switch (this.engine) {
|
|
169
|
-
case 'localstorage':
|
|
170
|
-
return storLocalStorage;
|
|
171
|
-
case 'indexeddb':
|
|
172
|
-
return storIndexdDb;
|
|
173
|
-
/* */
|
|
174
|
-
/* */
|
|
175
|
-
/* */
|
|
176
|
-
/* */
|
|
177
|
-
/* */
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
endObserverAction(observe) {
|
|
181
|
-
observe.isDone = true;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
export const Stor = TaonStorage;
|
|
185
|
-
;
|
|
186
|
-
({}); // @--end-of-file-for-module=taon-storage lib/storage.ts
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uLXN0b3JhZ2UvcHJvamVjdHMvdGFvbi1zdG9yYWdlL3NyYy9saWIvc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSS9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLN0QsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFJbkMsTUFBTSxVQUFVLE9BQU8sQ0FBdUIsd0JBQXdDLEVBQUUsOEJBQW9EO0lBQzFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsYUFBYTtRQUM1Qyx3QkFBd0IsR0FBRyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFFakIsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQy9GLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQy9HLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsWUFBWSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0tBRTVHLENBQUMsQ0FBQTtBQUNKLENBQUM7QUFHRCxNQUFNLFdBQVc7SUFBakI7UUE0SlUsV0FBTSxHQUFHLENBQ2YsWUFBaUIsRUFDakIsYUFFbUIsRUFHbkIsTUFBMkIsRUFDM0IsYUFBYyxFQUNkLFdBQVksRUFDWixFQUFFO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUMsYUFBYTtnQkFDakQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUM7WUFDbkUsQ0FBQztZQUVELE9BQU8sQ0FBQyxNQUFXLEVBQUUsVUFBa0IsRUFBRSxFQUFFO2dCQUN6QyxJQUFJLFlBQVksR0FBUSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRTNDLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxJQUFJLEVBQUU7b0JBRXJDLE1BQU0sT0FBTyxHQUFHO3dCQUNkLE1BQU07d0JBQ04sRUFBRSxFQUFFLHVCQUF1QjtxQkFDRCxDQUFDO29CQUM3QixXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUUzQyxNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO3dCQUMxQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUU7NEJBRTVGLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDOzRCQUVwRSxPQUFPLEVBQUUsQ0FBQzs0QkFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2xDLENBQUMsQ0FBQyxDQUFBO29CQUNKLENBQUMsQ0FBQyxDQUFDO2dCQUVMLENBQUMsQ0FBQTtnQkFFRCxJQUFJLFlBQVksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUU1QixNQUFNLE9BQU8sR0FBRzt3QkFDZCxNQUFNO3dCQUNOLEVBQUUsRUFBRSxrQ0FBa0M7cUJBQ1osQ0FBQztvQkFDN0IsV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFM0MsQ0FBQyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTt3QkFDckMsYUFBYSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTs0QkFFNUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQ0FDUixNQUFNLG1CQUFtQixFQUFFLENBQUM7Z0NBQzVCLE9BQU8sRUFBRSxDQUFBOzRCQUNYLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO29DQUNuQyxhQUFhLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0NBQzFHLEdBQUcsRUFBRSxDQUFDO29DQUNSLENBQUMsQ0FBQyxDQUFBO2dDQUNKLENBQUMsQ0FBQyxDQUFDO2dDQUVILE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7b0NBQ25DLGFBQWEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsRUFDdkUsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTt3Q0FDbkUsR0FBRyxFQUFFLENBQUM7b0NBQ1IsQ0FBQyxDQUFDLENBQUE7Z0NBQ04sQ0FBQyxDQUFDLENBQUM7Z0NBRUgsWUFBWSxHQUFHLFlBQVksQ0FBQztnQ0FFNUIsT0FBTyxFQUFFLENBQUE7NEJBQ1gsQ0FBQzt3QkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNsQyxDQUFDLENBQUMsQ0FBQztnQkFHTCxDQUFDO3FCQUFNLENBQUM7b0JBQ04sbUJBQW1CLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQztnQkFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUU7b0JBQ3hDLEdBQUcsRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO3dCQUVyQixNQUFNLE9BQU8sR0FBRzs0QkFDZCxNQUFNOzRCQUNOLEVBQUUsRUFBRSx5Q0FBeUM7eUJBQ25CLENBQUM7d0JBQzdCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBRTNDLENBQUMsSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7NEJBQ3JDLGFBQWEsQ0FBQyxPQUFPLENBQ25CLFFBQVEsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsVUFBVSxDQUFDLEVBQ25ELFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQzlDLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFO2dDQUNsQixPQUFPLEVBQUUsQ0FBQzs0QkFDWixDQUFDLENBQ0YsQ0FBQzt3QkFDSixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7NEJBQ1osSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO3dCQUNsQyxDQUFDLENBQUMsQ0FBQzt3QkFFSCxZQUFZLEdBQUcsUUFBUSxDQUFDO29CQUMxQixDQUFDO29CQUNELEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZO2lCQUN4QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFLSixDQUFDO2FBeFFnQixxQkFBZ0IsR0FBOEIsRUFBRSxBQUFoQyxDQUFpQzthQUNqRCxPQUFFLEdBQUcsQ0FBQyxBQUFKLENBQUs7SUFFdEI7O09BRUc7SUFDSSxNQUFNLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsR0FBRyxXQUFXLENBQUMsRUFBRSxFQUFFO1FBRTdELElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxXQUFXLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuQixFQUFFLEdBQUcsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQTZDLENBQUM7UUFDbkUsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDcEQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBNEIsQ0FBQztZQUVyRCxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNmLE1BQU0sSUFBSSxPQUFPLENBQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtvQkFDaEQsVUFBVSxDQUFDLEtBQUssSUFBSSxFQUFFO3dCQUNwQixNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDckMsT0FBTyxFQUFFLENBQUM7b0JBQ1osQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUE7Z0JBQzVCLENBQUMsQ0FBQyxDQUFBO2dCQUNGLE9BQU87WUFDVCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxLQUFLLFFBQVE7UUFDakIsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFVSCxLQUFLO0lBQ0wsS0FBSztJQU1ILElBQVcsRUFBRTtRQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPO1lBQ0wsSUFBSSxRQUFRO2dCQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO2dCQUMxQixPQUFPLElBQStCLENBQUM7WUFDekMsQ0FBQztZQUNELElBQUksWUFBWTtnQkFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLGNBQWMsQ0FBQztnQkFDN0IsT0FBTyxJQUErQixDQUFDO1lBQ3pDLENBQUM7WUFDUCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztTQUVBLENBQUE7SUFDSCxDQUFDO0lBT00sR0FBRyxDQUFDLHdCQUFtQztRQUM1QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7UUFDekQsT0FBTyxJQUF1QyxDQUFDO0lBQ2pELENBQUM7SUFLTSxnQkFBZ0IsQ0FBQyxZQUFrQjtRQUV4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDakUsQ0FBQztJQUlELFdBQVcsQ0FBQyxPQU9YO1FBQ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFRLENBQUM7UUFDNUUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUNoQixZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFDL0MsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUNoQixJQUFJLENBQUMsTUFBTSxFQUNYLGFBQWEsRUFDYixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUM7SUFRTyxTQUFTO1FBQ2YsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFcEIsS0FBSyxjQUFjO2dCQUNqQixPQUFPLGdCQUFnQixDQUFDO1lBQzFCLEtBQUssV0FBVztnQkFDZCxPQUFPLFlBQVksQ0FBQztZQUU1QixLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztRQUVELENBQUM7SUFDSCxDQUFDO0lBSU8saUJBQWlCLENBQUMsT0FBZ0M7UUFFeEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDeEIsQ0FBQzs7QUFxSEgsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQztBQUUvQixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsga2V5RGVmYXVsdFZhbHVlQXJlYWR5U2V0LCBrZXlWYWx1ZSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBGaWxlU3RvciB9IGZyb20gJy4vZmlsZS1zdG9yJztcblxuaW1wb3J0IHsgc3RvckluZGV4ZERiLCBzdG9yTG9jYWxTdG9yYWdlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5cblxuXG5jb25zdCBBV0FJVElOR19JTlRFUlZBTF9USU1FID0gMjAwO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIHVuY2FjaGU8Q0xBU1NfRlVOQ1RJT04gPSBhbnk+KG9ubHlJblRoaXNDb21wb25lbnRDbGFzczogQ0xBU1NfRlVOQ1RJT04sIHByb3BlcnR5VmFsdWVUb0RlbGV0ZUZyb21DYWNoZToga2V5b2YgQ0xBU1NfRlVOQ1RJT04pIHtcbiAgaWYgKCFvbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MpIHsgLy8gQHRzLWlnbm9yZVxuICAgIG9ubHlJblRoaXNDb21wb25lbnRDbGFzcyA9IHsgbmFtZTogJ19fR0xPQkFMX05BTUVTUEFDRV9fJyB9O1xuICB9XG4gIHJldHVybiBQcm9taXNlLmFsbChbXG5cbiAgICBzdG9yTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5VmFsdWUob25seUluVGhpc0NvbXBvbmVudENsYXNzLCBwcm9wZXJ0eVZhbHVlVG9EZWxldGVGcm9tQ2FjaGUpKSxcbiAgICBzdG9yTG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5RGVmYXVsdFZhbHVlQXJlYWR5U2V0KG9ubHlJblRoaXNDb21wb25lbnRDbGFzcywgcHJvcGVydHlWYWx1ZVRvRGVsZXRlRnJvbUNhY2hlKSksXG4gICAgc3RvckluZGV4ZERiLnJlbW92ZUl0ZW0oa2V5VmFsdWUob25seUluVGhpc0NvbXBvbmVudENsYXNzLCBwcm9wZXJ0eVZhbHVlVG9EZWxldGVGcm9tQ2FjaGUpKSxcbiAgICBzdG9ySW5kZXhkRGIucmVtb3ZlSXRlbShrZXlEZWZhdWx0VmFsdWVBcmVhZHlTZXQob25seUluVGhpc0NvbXBvbmVudENsYXNzLCBwcm9wZXJ0eVZhbHVlVG9EZWxldGVGcm9tQ2FjaGUpKSxcblxuICBdKVxufVxuXG5cbmNsYXNzIFRhb25TdG9yYWdlIHtcblxuXG4gIHByaXZhdGUgc3RhdGljIHBlbmRpbmdPcGVyYXRpbnM6IE1vZGVscy5QZW5kaW5nT3BlcmF0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBzdGF0aWMgaWQgPSAwO1xuXG4gIC8qKlxuICAgKiBUT0RPIFRoaXMgaXMgZmluZSBmb3Igbm93LCBidXQgY291bGQgYmUgc29tZXRoaW5nIHNtYXJ0ZXIgaGVyZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBhd2FpdFBlbmRpbmdPcGVyYXRpb3MoaWQgPSBUYW9uU3RvcmFnZS5pZCsrKTogUHJvbWlzZTx2b2lkPiB7XG5cbiAgICBpZiAoaWQgPiBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUiAtIDIpIHtcbiAgICAgIFRhb25TdG9yYWdlLmlkID0gMDtcbiAgICAgIGlkID0gVGFvblN0b3JhZ2UuaWQrKztcbiAgICB9XG4gICAgY29uc3QgcGVuZGluZyA9IHRoaXMucGVuZGluZ09wZXJhdGlucyBhcyBNb2RlbHMuUGVuZGluZ09wZXJhdGlvbltdO1xuICAgIGNvbnN0IHRvRGVsZXRlSW5kZXggPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcGVuZGluZy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IG9wID0gcGVuZGluZ1tpbmRleF0gYXMgTW9kZWxzLlBlbmRpbmdPcGVyYXRpb247XG5cbiAgICAgIGlmICghb3AuaXNEb25lKSB7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KGFzeW5jIChyZXNvdmxlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuYXdhaXRQZW5kaW5nT3BlcmF0aW9zKGlkKTtcbiAgICAgICAgICAgIHJlc292bGUoKTtcbiAgICAgICAgICB9LCBBV0FJVElOR19JTlRFUlZBTF9USU1FKVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b0RlbGV0ZUluZGV4LnB1c2goaW5kZXgpO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdG9EZWxldGVJbmRleC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IHRvRGVsZXRlID0gdG9EZWxldGVJbmRleFtpbmRleF07XG4gICAgICBwZW5kaW5nLnNwbGljZSh0b0RlbGV0ZSwgMSk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGdldCBwcm9wZXJ0eSgpIHtcbiAgICByZXR1cm4gbmV3IFRhb25TdG9yYWdlKCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBvbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3M/OiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBkZWZhdWx0VmFsdWU6IGFueTtcbiAgcHJpdmF0ZSBlbmdpbmU6IE1vZGVscy5TdG9yZ2VFbmdpbmU7XG5cblxuXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG5cbiAgcHVibGljIGdldCBpbigpIHtcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICByZXR1cm4ge1xuICAgICAgZ2V0IGluZGV4ZWRiKCkge1xuICAgICAgICB0aGF0LmVuZ2luZSA9ICdpbmRleGVkZGInO1xuICAgICAgICByZXR1cm4gdGhhdCBhcyBPbWl0PFRhb25TdG9yYWdlLCAnaW4nPjtcbiAgICAgIH0sXG4gICAgICBnZXQgbG9jYWxzdG9yYWdlKCkge1xuICAgICAgICB0aGF0LmVuZ2luZSA9ICdsb2NhbHN0b3JhZ2UnO1xuICAgICAgICByZXR1cm4gdGhhdCBhcyBPbWl0PFRhb25TdG9yYWdlLCAnaW4nPjtcbiAgICAgIH0sXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgfVxuICB9XG5cblxuXG5cblxuXG4gIHB1YmxpYyBmb3Iob25seUluVGhpc0NvbXBvbmVudENsYXNzPzogRnVuY3Rpb24pOiBPbWl0PFRhb25TdG9yYWdlLCAnZm9yJyB8ICdpbic+IHtcbiAgICB0aGlzLm9ubHlJblRoaXNDb21wb25lbnRDbGFzcyA9IG9ubHlJblRoaXNDb21wb25lbnRDbGFzcztcbiAgICByZXR1cm4gdGhpcyBhcyBPbWl0PFRhb25TdG9yYWdlLCAnZm9yJyB8ICdpbic+O1xuICB9XG5cblxuXG5cbiAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlPzogYW55KTogYW55IHtcblxuICAgIHJldHVybiB0aGlzLmFjdGlvbihkZWZhdWx0VmFsdWUsIHRoaXMuZ2V0RW5naW5lKCksIHRoaXMuZW5naW5lKVxuICB9XG5cblxuXG4gIHdpdGhPcHRpb25zKG9wdGlvbnM6IHtcbiAgICAvKipcbiAgICAgKiBkZWZhdWx0IHZhbHVlXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogYW55O1xuICAgIHRyYW5zZm9ybUZyb20/OiAodmFsdWVGcm9tRGI6IGFueSkgPT4gYW55LFxuICAgIHRyYW5zZm9ybVRvPzogKHZhbHVlVGhhdEdldFRvREI6IGFueSkgPT4gYW55LFxuICB9KSB7XG4gICAgY29uc3QgeyBkZWZhdWx0VmFsdWUsIHRyYW5zZm9ybUZyb20sIHRyYW5zZm9ybVRvIH0gPSAob3B0aW9ucyB8fCB7fSkgYXMgYW55O1xuICAgIHJldHVybiB0aGlzLmFjdGlvbihcbiAgICAgIGRlZmF1bHRWYWx1ZSA/IGRlZmF1bHRWYWx1ZSA6IHRoaXMuZGVmYXVsdFZhbHVlLFxuICAgICAgdGhpcy5nZXRFbmdpbmUoKSxcbiAgICAgIHRoaXMuZW5naW5lLFxuICAgICAgdHJhbnNmb3JtRnJvbSxcbiAgICAgIHRyYW5zZm9ybVRvLFxuICAgICk7XG4gIH1cblxuXG5cblxuXG5cblxuICBwcml2YXRlIGdldEVuZ2luZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZW5naW5lKSB7XG5cbiAgICAgIGNhc2UgJ2xvY2Fsc3RvcmFnZSc6XG4gICAgICAgIHJldHVybiBzdG9yTG9jYWxTdG9yYWdlO1xuICAgICAgY2FzZSAnaW5kZXhlZGRiJzpcbiAgICAgICAgcmV0dXJuIHN0b3JJbmRleGREYjtcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIH1cbiAgfVxuXG5cblxuICBwcml2YXRlIGVuZE9ic2VydmVyQWN0aW9uKG9ic2VydmU6IE1vZGVscy5QZW5kaW5nT3BlcmF0aW9uKSB7XG5cbiAgICBvYnNlcnZlLmlzRG9uZSA9IHRydWU7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBhY3Rpb24gPSAoXG4gICAgZGVmYXVsdFZhbHVlOiBhbnksXG4gICAgc3RvcmFnZUVuZ2luZVxuXG4gICAgICA6IE1vZGVscy5TdG9yVHlwZVxuXG4gICAgLFxuICAgIGVuZ2luZTogTW9kZWxzLlN0b3JnZUVuZ2luZSxcbiAgICB0cmFuc2Zvcm1Gcm9tPyxcbiAgICB0cmFuc2Zvcm1Ubz8sXG4gICkgPT4ge1xuICAgIGlmICghdGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MpIHsgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MgPSB7IG5hbWU6ICdfX0dMT0JBTF9OQU1FU1BBQ0VfXycgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gKHRhcmdldDogYW55LCBtZW1iZXJOYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGxldCBjdXJyZW50VmFsdWU6IGFueSA9IHRhcmdldFttZW1iZXJOYW1lXTtcblxuICAgICAgY29uc3Qgc2V0SXRlbURlZmF1bHRWYWx1ZSA9IGFzeW5jICgpID0+IHtcblxuICAgICAgICBjb25zdCBvYnNlcnZlID0ge1xuICAgICAgICAgIGVuZ2luZSxcbiAgICAgICAgICBpZDogJ3NldHRpbmcgZGVmYXVsdCB2YWx1ZSdcbiAgICAgICAgfSBhcyBNb2RlbHMuUGVuZGluZ09wZXJhdGlvbjtcbiAgICAgICAgVGFvblN0b3JhZ2UucGVuZGluZ09wZXJhdGlucy5wdXNoKG9ic2VydmUpO1xuXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBzdG9yYWdlRW5naW5lLmdldEl0ZW0oa2V5VmFsdWUodGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MsIG1lbWJlck5hbWUpLCAoZXJyLCB2YWxGcm9tRGIpID0+IHtcblxuICAgICAgICAgICAgY3VycmVudFZhbHVlID0gdHJhbnNmb3JtRnJvbSA/IHRyYW5zZm9ybUZyb20odmFsRnJvbURiKSA6IHZhbEZyb21EYjtcblxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgdGhpcy5lbmRPYnNlcnZlckFjdGlvbihvYnNlcnZlKTtcbiAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgICBpZiAoZGVmYXVsdFZhbHVlICE9PSB2b2lkIDApIHtcblxuICAgICAgICBjb25zdCBvYnNlcnZlID0ge1xuICAgICAgICAgIGVuZ2luZSxcbiAgICAgICAgICBpZDogJ3NldHRpbmcgbm90IHJpdmlhbCBkZWZhdWx0IHZhbHVlJ1xuICAgICAgICB9IGFzIE1vZGVscy5QZW5kaW5nT3BlcmF0aW9uO1xuICAgICAgICBUYW9uU3RvcmFnZS5wZW5kaW5nT3BlcmF0aW5zLnB1c2gob2JzZXJ2ZSk7XG5cbiAgICAgICAgKG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBzdG9yYWdlRW5naW5lLmdldEl0ZW0oa2V5RGVmYXVsdFZhbHVlQXJlYWR5U2V0KHRoaXMub25seUluVGhpc0NvbXBvbmVudENsYXNzLCBtZW1iZXJOYW1lKSwgYXN5bmMgKGVyciwgdmFsKSA9PiB7XG5cbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgYXdhaXQgc2V0SXRlbURlZmF1bHRWYWx1ZSgpO1xuICAgICAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXMsIHJlaikgPT4ge1xuICAgICAgICAgICAgICAgIHN0b3JhZ2VFbmdpbmUuc2V0SXRlbShrZXlEZWZhdWx0VmFsdWVBcmVhZHlTZXQodGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MsIG1lbWJlck5hbWUpLCB0cnVlLCAoZXJyLCB2KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXMoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzLCByZWopID0+IHtcbiAgICAgICAgICAgICAgICBzdG9yYWdlRW5naW5lLnNldEl0ZW0oa2V5VmFsdWUodGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MsIG1lbWJlck5hbWUpLFxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtVG8gPyB0cmFuc2Zvcm1UbyhkZWZhdWx0VmFsdWUpIDogZGVmYXVsdFZhbHVlLCAoZXJyLCB2YWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzKCk7XG4gICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBjdXJyZW50VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG5cbiAgICAgICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pKS50aGVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVuZE9ic2VydmVyQWN0aW9uKG9ic2VydmUpO1xuICAgICAgICB9KTtcblxuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJdGVtRGVmYXVsdFZhbHVlKCk7XG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG1lbWJlck5hbWUsIHtcbiAgICAgICAgc2V0OiAobmV3VmFsdWU6IGFueSkgPT4ge1xuXG4gICAgICAgICAgY29uc3Qgb2JzZXJ2ZSA9IHtcbiAgICAgICAgICAgIGVuZ2luZSxcbiAgICAgICAgICAgIGlkOiAnc2V0dGluZyBpbiBTRVQgbm90IHJpdmlhbCBkZWZhdWx0IHZhbHVlJ1xuICAgICAgICAgIH0gYXMgTW9kZWxzLlBlbmRpbmdPcGVyYXRpb247XG4gICAgICAgICAgVGFvblN0b3JhZ2UucGVuZGluZ09wZXJhdGlucy5wdXNoKG9ic2VydmUpO1xuXG4gICAgICAgICAgKG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHN0b3JhZ2VFbmdpbmUuc2V0SXRlbShcbiAgICAgICAgICAgICAga2V5VmFsdWUodGhpcy5vbmx5SW5UaGlzQ29tcG9uZW50Q2xhc3MsIG1lbWJlck5hbWUpLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm1UbyA/IHRyYW5zZm9ybVRvKG5ld1ZhbHVlKSA6IG5ld1ZhbHVlLFxuICAgICAgICAgICAgICAoZXJyLCBzYXZlZFZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW5kT2JzZXJ2ZXJBY3Rpb24ob2JzZXJ2ZSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjdXJyZW50VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0OiAoKSA9PiBjdXJyZW50VmFsdWUsXG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xuXG5cblxuXG59XG5cbmV4cG9ydCBjb25zdCBTdG9yID0gVGFvblN0b3JhZ2U7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXN0b3JhZ2UgbGliL3N0b3JhZ2UudHMiXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './lib';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uLXN0b3JhZ2UvcHJvamVjdHMvdGFvbi1zdG9yYWdlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24tc3RvcmFnZS9wcm9qZWN0cy90YW9uLXN0b3JhZ2Uvc3JjL3Rhb24tc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|