tnp-core 19.0.0 → 19.0.1

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.
Files changed (67) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/fesm2022/tnp-core.mjs +0 -1
  3. package/browser/fesm2022/tnp-core.mjs.map +1 -1
  4. package/cli.backend.js +2 -2
  5. package/client/fesm2022/tnp-core.mjs +0 -1
  6. package/client/fesm2022/tnp-core.mjs.map +1 -1
  7. package/lib/helpers.d.ts +1 -1
  8. package/lib/helpers.js.map +1 -1
  9. package/lib/node-chalk-mock.js +2 -2
  10. package/lib/node-path-mock.js +2 -2
  11. package/package.json +1 -1
  12. package/taon.jsonc +5 -5
  13. package/tmp-environment.json +3 -3
  14. package/websql/fesm2022/tnp-core.mjs +0 -1
  15. package/websql/fesm2022/tnp-core.mjs.map +1 -1
  16. package/browser/esm2022/lib/core-cli.mjs +0 -21
  17. package/browser/esm2022/lib/core-config.mjs +0 -8
  18. package/browser/esm2022/lib/core-imports.mjs +0 -205
  19. package/browser/esm2022/lib/core-models.mjs +0 -176
  20. package/browser/esm2022/lib/framework-name.mjs +0 -11
  21. package/browser/esm2022/lib/helpers-isomorphic.mjs +0 -52
  22. package/browser/esm2022/lib/helpers-messages.mjs +0 -548
  23. package/browser/esm2022/lib/helpers.mjs +0 -2238
  24. package/browser/esm2022/lib/index.mjs +0 -14
  25. package/browser/esm2022/lib/node-chalk-mock.mjs +0 -42
  26. package/browser/esm2022/lib/node-path-mock.mjs +0 -422
  27. package/browser/esm2022/lib/progress-data.mjs +0 -55
  28. package/browser/esm2022/lib/required-global-npm-packages.mjs +0 -79
  29. package/browser/esm2022/lib/utils.mjs +0 -1946
  30. package/browser/esm2022/public-api.mjs +0 -2
  31. package/browser/esm2022/tnp-core.mjs +0 -5
  32. package/client/esm2022/lib/core-cli.mjs +0 -21
  33. package/client/esm2022/lib/core-config.mjs +0 -8
  34. package/client/esm2022/lib/core-imports.mjs +0 -205
  35. package/client/esm2022/lib/core-models.mjs +0 -176
  36. package/client/esm2022/lib/framework-name.mjs +0 -11
  37. package/client/esm2022/lib/helpers-isomorphic.mjs +0 -52
  38. package/client/esm2022/lib/helpers-messages.mjs +0 -548
  39. package/client/esm2022/lib/helpers.mjs +0 -2238
  40. package/client/esm2022/lib/index.mjs +0 -14
  41. package/client/esm2022/lib/node-chalk-mock.mjs +0 -42
  42. package/client/esm2022/lib/node-path-mock.mjs +0 -422
  43. package/client/esm2022/lib/progress-data.mjs +0 -55
  44. package/client/esm2022/lib/required-global-npm-packages.mjs +0 -79
  45. package/client/esm2022/lib/utils.mjs +0 -1946
  46. package/client/esm2022/public-api.mjs +0 -2
  47. package/client/esm2022/tnp-core.mjs +0 -5
  48. package/firedev.jsonc +0 -67
  49. package/lib/required.d.ts +0 -44
  50. package/lib/required.js +0 -76
  51. package/lib/required.js.map +0 -1
  52. package/websql/esm2022/lib/core-cli.mjs +0 -21
  53. package/websql/esm2022/lib/core-config.mjs +0 -8
  54. package/websql/esm2022/lib/core-imports.mjs +0 -205
  55. package/websql/esm2022/lib/core-models.mjs +0 -176
  56. package/websql/esm2022/lib/framework-name.mjs +0 -11
  57. package/websql/esm2022/lib/helpers-isomorphic.mjs +0 -52
  58. package/websql/esm2022/lib/helpers-messages.mjs +0 -548
  59. package/websql/esm2022/lib/helpers.mjs +0 -2234
  60. package/websql/esm2022/lib/index.mjs +0 -14
  61. package/websql/esm2022/lib/node-chalk-mock.mjs +0 -42
  62. package/websql/esm2022/lib/node-path-mock.mjs +0 -422
  63. package/websql/esm2022/lib/progress-data.mjs +0 -55
  64. package/websql/esm2022/lib/required-global-npm-packages.mjs +0 -79
  65. package/websql/esm2022/lib/utils.mjs +0 -1945
  66. package/websql/esm2022/public-api.mjs +0 -2
  67. package/websql/esm2022/tnp-core.mjs +0 -5
@@ -1,14 +0,0 @@
1
- export * from './framework-name';
2
- export * from './core-imports';
3
- export * from './core-models';
4
- import { HelpersCore as Base } from './helpers';
5
- export * from './core-config';
6
- export * from './progress-data';
7
- export * from './utils';
8
- export * from './core-cli';
9
- export * from './required-global-npm-packages';
10
- export { HelpersCore as CoreHelpers } from './helpers';
11
- export let Helpers = Base.InstanceCore;
12
- ;
13
- ({}); // @--end-of-file-for-module=tnp-core lib/index.ts
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtY29yZS9wcm9qZWN0cy90bnAtY29yZS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsV0FBVyxJQUFJLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxXQUFXLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0FBRXRDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vZnJhbWV3b3JrLW5hbWUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlLWltcG9ydHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlLW1vZGVscyc7XG5pbXBvcnQgeyBIZWxwZXJzQ29yZSBhcyBCYXNlIH0gZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1kYXRhJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlLWNsaSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVpcmVkLWdsb2JhbC1ucG0tcGFja2FnZXMnO1xuZXhwb3J0IHsgSGVscGVyc0NvcmUgYXMgQ29yZUhlbHBlcnMsIENvbW1hbmRPdXRwdXRPcHRpb25zIH0gZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCBsZXQgSGVscGVycyA9IEJhc2UuSW5zdGFuY2VDb3JlO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2luZGV4LnRzIl19
@@ -1,42 +0,0 @@
1
- const allObj = {
2
- black(a) {
3
- console.log(a);
4
- },
5
- gray(a) {
6
- console.log(a);
7
- },
8
- red(a) {
9
- console.log(a);
10
- },
11
- green(a) {
12
- console.log(a);
13
- },
14
- italic(a) {
15
- console.log(a);
16
- },
17
- magenta(a) {
18
- console.log(a);
19
- },
20
- bold(a) {
21
- console.log(a);
22
- },
23
- underline(a) {
24
- console.log(a);
25
- },
26
- };
27
- const map = new Map();
28
- const all = Object.keys(allObj).map(key => {
29
- map.set(allObj[key], key);
30
- return allObj[key];
31
- });
32
- for (let i = 0; i < all.length; i++) {
33
- const e1 = all[i];
34
- for (let j = 0; j < all.length; j++) {
35
- const e2 = all[j]; // @ts-ignore
36
- e1[map.get(e2)] = e2;
37
- }
38
- }
39
- export const chalk = allObj;
40
- ;
41
- ({}); // @--end-of-file-for-module=tnp-core lib/node-chalk-mock.ts
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1jaGFsay1tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9ub2RlLWNoYWxrLW1vY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxNQUFNLEdBQUc7SUFDYixLQUFLLENBQUMsQ0FBQztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUNELElBQUksQ0FBQyxDQUFDO1FBQ0osT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsR0FBRyxDQUFDLENBQUM7UUFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxLQUFLLENBQUMsQ0FBQztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sQ0FBQyxDQUFDO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLENBQUMsQ0FBQztRQUNKLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUNELFNBQVMsQ0FBQyxDQUFDO1FBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFDO0FBRXhDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO0lBQ3hDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDO0FBRUgsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUNwQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFhLENBQUM7SUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFhLENBQUMsQ0FBQyxhQUFhO1FBQzVDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFVLE1BQWEsQ0FBQztBQUd6QyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDREQUE0RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IENoYWxrIH0gZnJvbSAnY2hhbGsnO1xuXG5cblxuXG5jb25zdCBhbGxPYmogPSB7XG4gIGJsYWNrKGEpIHtcbiAgICBjb25zb2xlLmxvZyhhKTtcbiAgfSxcbiAgZ3JheShhKSB7XG4gICAgY29uc29sZS5sb2coYSk7XG4gIH0sXG4gIHJlZChhKSB7XG4gICAgY29uc29sZS5sb2coYSk7XG4gIH0sXG4gIGdyZWVuKGEpIHtcbiAgICBjb25zb2xlLmxvZyhhKTtcbiAgfSxcbiAgaXRhbGljKGEpIHtcbiAgICBjb25zb2xlLmxvZyhhKTtcbiAgfSxcbiAgbWFnZW50YShhKSB7XG4gICAgY29uc29sZS5sb2coYSk7XG4gIH0sXG4gIGJvbGQoYSkge1xuICAgIGNvbnNvbGUubG9nKGEpO1xuICB9LFxuICB1bmRlcmxpbmUoYSkge1xuICAgIGNvbnNvbGUubG9nKGEpO1xuICB9LFxufTtcblxuY29uc3QgbWFwID0gbmV3IE1hcDxGdW5jdGlvbiwgc3RyaW5nPigpO1xuXG5jb25zdCBhbGwgPSBPYmplY3Qua2V5cyhhbGxPYmopLm1hcChrZXkgPT4ge1xuICBtYXAuc2V0KGFsbE9ialtrZXldLCBrZXkpO1xuICByZXR1cm4gYWxsT2JqW2tleV07XG59KTtcblxuZm9yIChsZXQgaSA9IDA7IGkgPCBhbGwubGVuZ3RoOyBpKyspIHtcbiAgY29uc3QgZTEgPSBhbGxbaV0gYXMgRnVuY3Rpb247XG4gIGZvciAobGV0IGogPSAwOyBqIDwgYWxsLmxlbmd0aDsgaisrKSB7XG4gICAgY29uc3QgZTIgPSBhbGxbal0gYXMgRnVuY3Rpb247IC8vIEB0cy1pZ25vcmVcbiAgICBlMVttYXAuZ2V0KGUyKV0gPSBlMjtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY2hhbGs6IENoYWxrID0gYWxsT2JqIGFzIGFueTtcblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL25vZGUtY2hhbGstbW9jay50cyJdfQ==
@@ -1,422 +0,0 @@
1
- function assertPath(path) {
2
- if (typeof path !== 'string') {
3
- throw new TypeError('[taon-core] Path must be a string. Received ' + JSON.stringify(path));
4
- }
5
- }
6
- function normalizeStringPosix(path, allowAboveRoot) {
7
- var res = '';
8
- var lastSegmentLength = 0;
9
- var lastSlash = -1;
10
- var dots = 0;
11
- var code;
12
- for (var i = 0; i <= path.length; ++i) {
13
- if (i < path.length)
14
- code = path.charCodeAt(i);
15
- else if (code === 47 /*/*/)
16
- break;
17
- else
18
- code = 47 /*/*/;
19
- if (code === 47 /*/*/) {
20
- if (lastSlash === i - 1 || dots === 1) {
21
- }
22
- else if (lastSlash !== i - 1 && dots === 2) {
23
- if (res.length < 2 ||
24
- lastSegmentLength !== 2 ||
25
- res.charCodeAt(res.length - 1) !== 46 /*.*/ ||
26
- res.charCodeAt(res.length - 2) !== 46 /*.*/) {
27
- if (res.length > 2) {
28
- var lastSlashIndex = res.lastIndexOf('/');
29
- if (lastSlashIndex !== res.length - 1) {
30
- if (lastSlashIndex === -1) {
31
- res = '';
32
- lastSegmentLength = 0;
33
- }
34
- else {
35
- res = res.slice(0, lastSlashIndex);
36
- lastSegmentLength = res.length - 1 - res.lastIndexOf('/');
37
- }
38
- lastSlash = i;
39
- dots = 0;
40
- continue;
41
- }
42
- }
43
- else if (res.length === 2 || res.length === 1) {
44
- res = '';
45
- lastSegmentLength = 0;
46
- lastSlash = i;
47
- dots = 0;
48
- continue;
49
- }
50
- }
51
- if (allowAboveRoot) {
52
- if (res.length > 0)
53
- res += '/..';
54
- else
55
- res = '..';
56
- lastSegmentLength = 2;
57
- }
58
- }
59
- else {
60
- if (res.length > 0)
61
- res += '/' + path.slice(lastSlash + 1, i);
62
- else
63
- res = path.slice(lastSlash + 1, i);
64
- lastSegmentLength = i - lastSlash - 1;
65
- }
66
- lastSlash = i;
67
- dots = 0;
68
- }
69
- else if (code === 46 /*.*/ && dots !== -1) {
70
- ++dots;
71
- }
72
- else {
73
- dots = -1;
74
- }
75
- }
76
- return res;
77
- }
78
- function _format(sep, pathObject) {
79
- var dir = pathObject.dir || pathObject.root;
80
- var base = pathObject.base || (pathObject.name || '') + (pathObject.ext || '');
81
- if (!dir) {
82
- return base;
83
- }
84
- if (dir === pathObject.root) {
85
- return dir + base;
86
- }
87
- return dir + sep + base;
88
- }
89
- export const path = {
90
- resolve: function resolve(pathToResovle) {
91
- return pathToResovle;
92
- },
93
- normalize: function normalize(pathArg) {
94
- assertPath(pathArg);
95
- if (pathArg.length === 0)
96
- return '.';
97
- var isAbsolute = pathArg.charCodeAt(0) === 47; /*/*/
98
- var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47; /*/*/
99
- pathArg = normalizeStringPosix(pathArg, !isAbsolute);
100
- if (pathArg.length === 0 && !isAbsolute)
101
- pathArg = '.';
102
- if (pathArg.length > 0 && trailingSeparator)
103
- pathArg += '/';
104
- if (isAbsolute)
105
- return '/' + pathArg;
106
- return pathArg;
107
- },
108
- isAbsolute: function isAbsolute(pathArg) {
109
- assertPath(pathArg);
110
- return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;
111
- },
112
- join: function join() {
113
- if (arguments.length === 0)
114
- return '.';
115
- var joined;
116
- for (var i = 0; i < arguments.length; ++i) {
117
- var arg = arguments[i];
118
- assertPath(arg);
119
- if (arg.length > 0) {
120
- if (joined === undefined)
121
- joined = arg;
122
- else
123
- joined += '/' + arg;
124
- }
125
- }
126
- if (joined === undefined)
127
- return '.';
128
- return path.normalize(joined);
129
- },
130
- relative: function relative(from, to) {
131
- assertPath(from);
132
- assertPath(to);
133
- if (from === to)
134
- return '';
135
- from = path.resolve(from);
136
- to = path.resolve(to);
137
- if (from === to)
138
- return '';
139
- var fromStart = 1;
140
- for (; fromStart < from.length; ++fromStart) {
141
- if (from.charCodeAt(fromStart) !== 47 /*/*/)
142
- break;
143
- }
144
- var fromEnd = from.length;
145
- var fromLen = fromEnd - fromStart;
146
- var toStart = 1;
147
- for (; toStart < to.length; ++toStart) {
148
- if (to.charCodeAt(toStart) !== 47 /*/*/)
149
- break;
150
- }
151
- var toEnd = to.length;
152
- var toLen = toEnd - toStart;
153
- var length = fromLen < toLen ? fromLen : toLen;
154
- var lastCommonSep = -1;
155
- var i = 0;
156
- for (; i <= length; ++i) {
157
- if (i === length) {
158
- if (toLen > length) {
159
- if (to.charCodeAt(toStart + i) === 47 /*/*/) {
160
- return to.slice(toStart + i + 1);
161
- }
162
- else if (i === 0) {
163
- return to.slice(toStart + i);
164
- }
165
- }
166
- else if (fromLen > length) {
167
- if (from.charCodeAt(fromStart + i) === 47 /*/*/) {
168
- lastCommonSep = i;
169
- }
170
- else if (i === 0) {
171
- lastCommonSep = 0;
172
- }
173
- }
174
- break;
175
- }
176
- var fromCode = from.charCodeAt(fromStart + i);
177
- var toCode = to.charCodeAt(toStart + i);
178
- if (fromCode !== toCode)
179
- break;
180
- else if (fromCode === 47 /*/*/)
181
- lastCommonSep = i;
182
- }
183
- var out = '';
184
- for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
185
- if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {
186
- if (out.length === 0)
187
- out += '..';
188
- else
189
- out += '/..';
190
- }
191
- }
192
- if (out.length > 0)
193
- return out + to.slice(toStart + lastCommonSep);
194
- else {
195
- toStart += lastCommonSep;
196
- if (to.charCodeAt(toStart) === 47 /*/*/)
197
- ++toStart;
198
- return to.slice(toStart);
199
- }
200
- },
201
- _makeLong: function _makeLong(path) {
202
- return path;
203
- },
204
- dirname: function dirname(path) {
205
- assertPath(path);
206
- if (path.length === 0)
207
- return '.';
208
- var code = path.charCodeAt(0);
209
- var hasRoot = code === 47; /*/*/
210
- var end = -1;
211
- var matchedSlash = true;
212
- for (var i = path.length - 1; i >= 1; --i) {
213
- code = path.charCodeAt(i);
214
- if (code === 47 /*/*/) {
215
- if (!matchedSlash) {
216
- end = i;
217
- break;
218
- }
219
- }
220
- else {
221
- matchedSlash = false;
222
- }
223
- }
224
- if (end === -1)
225
- return hasRoot ? '/' : '.';
226
- if (hasRoot && end === 1)
227
- return '//';
228
- return path.slice(0, end);
229
- },
230
- basename: function basename(pathArg, ext) {
231
- if (ext !== undefined && typeof ext !== 'string')
232
- throw new TypeError('"ext" argument must be a string');
233
- assertPath(pathArg);
234
- var start = 0;
235
- var end = -1;
236
- var matchedSlash = true;
237
- var i;
238
- if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {
239
- if (ext.length === pathArg.length && ext === pathArg)
240
- return '';
241
- var extIdx = ext.length - 1;
242
- var firstNonSlashEnd = -1;
243
- for (i = pathArg.length - 1; i >= 0; --i) {
244
- var code = pathArg.charCodeAt(i);
245
- if (code === 47 /*/*/) {
246
- if (!matchedSlash) {
247
- start = i + 1;
248
- break;
249
- }
250
- }
251
- else {
252
- if (firstNonSlashEnd === -1) {
253
- matchedSlash = false;
254
- firstNonSlashEnd = i + 1;
255
- }
256
- if (extIdx >= 0) {
257
- if (code === ext.charCodeAt(extIdx)) {
258
- if (--extIdx === -1) {
259
- end = i;
260
- }
261
- }
262
- else {
263
- extIdx = -1;
264
- end = firstNonSlashEnd;
265
- }
266
- }
267
- }
268
- }
269
- if (start === end)
270
- end = firstNonSlashEnd;
271
- else if (end === -1)
272
- end = pathArg.length;
273
- return pathArg.slice(start, end);
274
- }
275
- else {
276
- for (i = pathArg.length - 1; i >= 0; --i) {
277
- if (pathArg.charCodeAt(i) === 47 /*/*/) {
278
- if (!matchedSlash) {
279
- start = i + 1;
280
- break;
281
- }
282
- }
283
- else if (end === -1) {
284
- matchedSlash = false;
285
- end = i + 1;
286
- }
287
- }
288
- if (end === -1)
289
- return '';
290
- return pathArg.slice(start, end);
291
- }
292
- },
293
- extname: function extname(pathArg) {
294
- assertPath(pathArg);
295
- var startDot = -1;
296
- var startPart = 0;
297
- var end = -1;
298
- var matchedSlash = true;
299
- var preDotState = 0;
300
- for (var i = pathArg.length - 1; i >= 0; --i) {
301
- var code = pathArg.charCodeAt(i);
302
- if (code === 47 /*/*/) {
303
- if (!matchedSlash) {
304
- startPart = i + 1;
305
- break;
306
- }
307
- continue;
308
- }
309
- if (end === -1) {
310
- matchedSlash = false;
311
- end = i + 1;
312
- }
313
- if (code === 46 /*.*/) {
314
- if (startDot === -1)
315
- startDot = i;
316
- else if (preDotState !== 1)
317
- preDotState = 1;
318
- }
319
- else if (startDot !== -1) {
320
- preDotState = -1;
321
- }
322
- }
323
- if (startDot === -1 ||
324
- end === -1 ||
325
- preDotState === 0 ||
326
- (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
327
- return '';
328
- }
329
- return pathArg.slice(startDot, end);
330
- },
331
- format: function format(pathObject) {
332
- if (pathObject === null || typeof pathObject !== 'object') {
333
- throw new TypeError('The "pathObject" argument must be of type Object. Received type ' +
334
- typeof pathObject);
335
- }
336
- return _format('/', pathObject);
337
- },
338
- parse: function parse(pathArg) {
339
- assertPath(pathArg);
340
- var ret = { root: '', dir: '', base: '', ext: '', name: '' };
341
- if (pathArg.length === 0)
342
- return ret;
343
- var code = pathArg.charCodeAt(0);
344
- var isAbsolute = code === 47; /*/*/
345
- var start;
346
- if (isAbsolute) {
347
- ret.root = '/';
348
- start = 1;
349
- }
350
- else {
351
- start = 0;
352
- }
353
- var startDot = -1;
354
- var startPart = 0;
355
- var end = -1;
356
- var matchedSlash = true;
357
- var i = pathArg.length - 1;
358
- var preDotState = 0;
359
- for (; i >= start; --i) {
360
- code = pathArg.charCodeAt(i);
361
- if (code === 47 /*/*/) {
362
- if (!matchedSlash) {
363
- startPart = i + 1;
364
- break;
365
- }
366
- continue;
367
- }
368
- if (end === -1) {
369
- matchedSlash = false;
370
- end = i + 1;
371
- }
372
- if (code === 46 /*.*/) {
373
- if (startDot === -1)
374
- startDot = i;
375
- else if (preDotState !== 1)
376
- preDotState = 1;
377
- }
378
- else if (startDot !== -1) {
379
- preDotState = -1;
380
- }
381
- }
382
- if (startDot === -1 ||
383
- end === -1 ||
384
- preDotState === 0 ||
385
- (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
386
- if (end !== -1) {
387
- if (startPart === 0 && isAbsolute)
388
- ret.base = ret.name = pathArg.slice(1, end);
389
- else
390
- ret.base = ret.name = pathArg.slice(startPart, end);
391
- }
392
- }
393
- else {
394
- if (startPart === 0 && isAbsolute) {
395
- ret.name = pathArg.slice(1, startDot);
396
- ret.base = pathArg.slice(1, end);
397
- }
398
- else {
399
- ret.name = pathArg.slice(startPart, startDot);
400
- ret.base = pathArg.slice(startPart, end);
401
- }
402
- ret.ext = pathArg.slice(startDot, end);
403
- }
404
- if (startPart > 0)
405
- ret.dir = pathArg.slice(0, startPart - 1);
406
- else if (isAbsolute)
407
- ret.dir = '/';
408
- return ret;
409
- },
410
- sep: '/',
411
- delimiter: ':',
412
- win32: {
413
- // @ts-ignore
414
- normalize: p => {
415
- return p;
416
- },
417
- },
418
- posix: null,
419
- };
420
- ;
421
- ({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts
422
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1wYXRoLW1vY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtY29yZS9wcm9qZWN0cy90bnAtY29yZS9zcmMvbGliL25vZGUtcGF0aC1tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFNBQVMsVUFBVSxDQUFDLElBQUk7SUFDdEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksU0FBUyxDQUNqQiw4Q0FBOEMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUN0RSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFHRCxTQUFTLG9CQUFvQixDQUFDLElBQUksRUFBRSxjQUFjO0lBQ2hELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNiLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDO0lBQzFCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25CLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLElBQUksSUFBSSxDQUFDO0lBQ1QsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTTtZQUFFLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLO1lBQUUsTUFBTTs7WUFDN0IsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLElBQUksU0FBUyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBRXhDLENBQUM7aUJBQU0sSUFBSSxTQUFTLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLElBQ0UsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUNkLGlCQUFpQixLQUFLLENBQUM7b0JBQ3ZCLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSztvQkFDM0MsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQzNDLENBQUM7b0JBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUNuQixJQUFJLGNBQWMsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMxQyxJQUFJLGNBQWMsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDOzRCQUN0QyxJQUFJLGNBQWMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUMxQixHQUFHLEdBQUcsRUFBRSxDQUFDO2dDQUNULGlCQUFpQixHQUFHLENBQUMsQ0FBQzs0QkFDeEIsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztnQ0FDbkMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDNUQsQ0FBQzs0QkFDRCxTQUFTLEdBQUcsQ0FBQyxDQUFDOzRCQUNkLElBQUksR0FBRyxDQUFDLENBQUM7NEJBQ1QsU0FBUzt3QkFDWCxDQUFDO29CQUNILENBQUM7eUJBQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNoRCxHQUFHLEdBQUcsRUFBRSxDQUFDO3dCQUNULGlCQUFpQixHQUFHLENBQUMsQ0FBQzt3QkFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQzt3QkFDZCxJQUFJLEdBQUcsQ0FBQyxDQUFDO3dCQUNULFNBQVM7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO2dCQUNELElBQUksY0FBYyxFQUFFLENBQUM7b0JBQ25CLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDO3dCQUFFLEdBQUcsSUFBSSxLQUFLLENBQUM7O3dCQUM1QixHQUFHLEdBQUcsSUFBSSxDQUFDO29CQUNoQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQUUsR0FBRyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7O29CQUN6RCxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN4QyxpQkFBaUIsR0FBRyxDQUFDLEdBQUcsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUN4QyxDQUFDO1lBQ0QsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNkLElBQUksR0FBRyxDQUFDLENBQUM7UUFDWCxDQUFDO2FBQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxFQUFFLElBQUksQ0FBQztRQUNULENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVTtJQUM5QixJQUFJLEdBQUcsR0FBRyxVQUFVLENBQUMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUM7SUFDNUMsSUFBSSxJQUFJLEdBQ04sVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNULE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELElBQUksR0FBRyxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUNELE9BQU8sR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRztJQUVsQixPQUFPLEVBQUUsU0FBUyxPQUFPLENBQUMsYUFBYTtRQUNyQyxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUyxFQUFFLFNBQVMsU0FBUyxDQUFDLE9BQU87UUFDbkMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFFckMsSUFBSSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ3BELElBQUksaUJBQWlCLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7UUFHNUUsT0FBTyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXJELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUN2RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLGlCQUFpQjtZQUFFLE9BQU8sSUFBSSxHQUFHLENBQUM7UUFFNUQsSUFBSSxVQUFVO1lBQUUsT0FBTyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBQ3JDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVLEVBQUUsU0FBUyxVQUFVLENBQUMsT0FBTztRQUNyQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsT0FBTyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQUksRUFBRSxTQUFTLElBQUk7UUFDakIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUN2QyxJQUFJLE1BQU0sQ0FBQztRQUNYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUMsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQUksTUFBTSxLQUFLLFNBQVM7b0JBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQzs7b0JBQ2xDLE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEtBQUssU0FBUztZQUFFLE9BQU8sR0FBRyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUSxFQUFFLFNBQVMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ2xDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQixVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFZixJQUFJLElBQUksS0FBSyxFQUFFO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFM0IsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEIsSUFBSSxJQUFJLEtBQUssRUFBRTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRzNCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNsQixPQUFPLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUM7WUFDNUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLO2dCQUFFLE1BQU07UUFDckQsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FBQztRQUdsQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDaEIsT0FBTyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSztnQkFBRSxNQUFNO1FBQ2pELENBQUM7UUFDRCxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3RCLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxPQUFPLENBQUM7UUFHNUIsSUFBSSxNQUFNLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDL0MsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxDQUFDLElBQUksTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDO29CQUNuQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFHNUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLENBQUM7eUJBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBR25CLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxJQUFJLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBR2hELGFBQWEsR0FBRyxDQUFDLENBQUM7b0JBQ3BCLENBQUM7eUJBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBR25CLGFBQWEsR0FBRyxDQUFDLENBQUM7b0JBQ3BCLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxNQUFNO1lBQ1IsQ0FBQztZQUNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksUUFBUSxLQUFLLE1BQU07Z0JBQUUsTUFBTTtpQkFDMUIsSUFBSSxRQUFRLEtBQUssRUFBRSxDQUFDLEtBQUs7Z0JBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBR2IsS0FBSyxDQUFDLEdBQUcsU0FBUyxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckQsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUM7b0JBQUUsR0FBRyxJQUFJLElBQUksQ0FBQzs7b0JBQzdCLEdBQUcsSUFBSSxLQUFLLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFJRCxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDO2FBQzlELENBQUM7WUFDSixPQUFPLElBQUksYUFBYSxDQUFDO1lBQ3pCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSztnQkFBRSxFQUFFLE9BQU8sQ0FBQztZQUNuRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLEVBQUUsU0FBUyxTQUFTLENBQUMsSUFBSTtRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLEVBQUUsU0FBUyxPQUFPLENBQUMsSUFBSTtRQUM1QixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUNsQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksT0FBTyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO1FBQ2hDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQzFDLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNsQixHQUFHLEdBQUcsQ0FBQyxDQUFDO29CQUNSLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFFTixZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzNDLElBQUksT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxFQUFFLFNBQVMsUUFBUSxDQUFDLE9BQU8sRUFBRSxHQUFHO1FBQ3RDLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRO1lBQzlDLE1BQU0sSUFBSSxTQUFTLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6RCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFcEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDYixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLENBQUM7UUFFTixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDeEUsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLElBQUksR0FBRyxLQUFLLE9BQU87Z0JBQUUsT0FBTyxFQUFFLENBQUM7WUFDaEUsSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDNUIsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQixLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFHdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO3dCQUNsQixLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDZCxNQUFNO29CQUNSLENBQUM7Z0JBQ0gsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksZ0JBQWdCLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFHNUIsWUFBWSxHQUFHLEtBQUssQ0FBQzt3QkFDckIsZ0JBQWdCLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDM0IsQ0FBQztvQkFDRCxJQUFJLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFFaEIsSUFBSSxJQUFJLEtBQUssR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDOzRCQUNwQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0NBR3BCLEdBQUcsR0FBRyxDQUFDLENBQUM7NEJBQ1YsQ0FBQzt3QkFDSCxDQUFDOzZCQUFNLENBQUM7NEJBR04sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDOzRCQUNaLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQzt3QkFDekIsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxLQUFLLEtBQUssR0FBRztnQkFBRSxHQUFHLEdBQUcsZ0JBQWdCLENBQUM7aUJBQ3JDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQztnQkFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUMxQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUd2QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7d0JBQ2xCLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNkLE1BQU07b0JBQ1IsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBR3RCLFlBQVksR0FBRyxLQUFLLENBQUM7b0JBQ3JCLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzFCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEVBQUUsU0FBUyxPQUFPLENBQUMsT0FBTztRQUMvQixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBR3hCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFHdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNsQixTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEIsTUFBTTtnQkFDUixDQUFDO2dCQUNELFNBQVM7WUFDWCxDQUFDO1lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFHZixZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBRXRCLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQztvQkFBRSxRQUFRLEdBQUcsQ0FBQyxDQUFDO3FCQUM3QixJQUFJLFdBQVcsS0FBSyxDQUFDO29CQUFFLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDOUMsQ0FBQztpQkFBTSxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUczQixXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUNFLFFBQVEsS0FBSyxDQUFDLENBQUM7WUFDZixHQUFHLEtBQUssQ0FBQyxDQUFDO1lBRVYsV0FBVyxLQUFLLENBQUM7WUFFakIsQ0FBQyxXQUFXLEtBQUssQ0FBQyxJQUFJLFFBQVEsS0FBSyxHQUFHLEdBQUcsQ0FBQyxJQUFJLFFBQVEsS0FBSyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQ3pFLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLEVBQUUsU0FBUyxNQUFNLENBQUMsVUFBVTtRQUNoQyxJQUFJLFVBQVUsS0FBSyxJQUFJLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUQsTUFBTSxJQUFJLFNBQVMsQ0FDakIsa0VBQWtFO2dCQUNoRSxPQUFPLFVBQVUsQ0FDcEIsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUssRUFBRSxTQUFTLEtBQUssQ0FBQyxPQUFPO1FBQzNCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVwQixJQUFJLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzdELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLENBQUM7UUFDckMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLFVBQVUsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztRQUNuQyxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUNmLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBSTNCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUdwQixPQUFPLENBQUMsSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBR3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDbEIsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2xCLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRCxTQUFTO1lBQ1gsQ0FBQztZQUNELElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBR2YsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDckIsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZCxDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUV0QixJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUM7b0JBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQztxQkFDN0IsSUFBSSxXQUFXLEtBQUssQ0FBQztvQkFBRSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLENBQUM7aUJBQU0sSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFHM0IsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFDRSxRQUFRLEtBQUssQ0FBQyxDQUFDO1lBQ2YsR0FBRyxLQUFLLENBQUMsQ0FBQztZQUVWLFdBQVcsS0FBSyxDQUFDO1lBRWpCLENBQUMsV0FBVyxLQUFLLENBQUMsSUFBSSxRQUFRLEtBQUssR0FBRyxHQUFHLENBQUMsSUFBSSxRQUFRLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUN6RSxDQUFDO1lBQ0QsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDZixJQUFJLFNBQVMsS0FBSyxDQUFDLElBQUksVUFBVTtvQkFDL0IsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDOztvQkFDekMsR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksU0FBUyxLQUFLLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDdEMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxTQUFTLEdBQUcsQ0FBQztZQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3hELElBQUksVUFBVTtZQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRW5DLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLEdBQUc7SUFDZCxLQUFLLEVBQUU7UUFDTCxhQUFhO1FBQ2IsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ2IsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDO0tBQ0Y7SUFDRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFHRCxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmZ1bmN0aW9uIGFzc2VydFBhdGgocGF0aCkge1xuICBpZiAodHlwZW9mIHBhdGggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICdbdGFvbi1jb3JlXSBQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICcgKyBKU09OLnN0cmluZ2lmeShwYXRoKSxcbiAgICApO1xuICB9XG59XG5cblxuZnVuY3Rpb24gbm9ybWFsaXplU3RyaW5nUG9zaXgocGF0aCwgYWxsb3dBYm92ZVJvb3QpIHtcbiAgdmFyIHJlcyA9ICcnO1xuICB2YXIgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICB2YXIgbGFzdFNsYXNoID0gLTE7XG4gIHZhciBkb3RzID0gMDtcbiAgdmFyIGNvZGU7XG4gIGZvciAodmFyIGkgPSAwOyBpIDw9IHBhdGgubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoaSA8IHBhdGgubGVuZ3RoKSBjb2RlID0gcGF0aC5jaGFyQ29kZUF0KGkpO1xuICAgIGVsc2UgaWYgKGNvZGUgPT09IDQ3IC8qLyovKSBicmVhaztcbiAgICBlbHNlIGNvZGUgPSA0NyAvKi8qLztcbiAgICBpZiAoY29kZSA9PT0gNDcgLyovKi8pIHtcbiAgICAgIGlmIChsYXN0U2xhc2ggPT09IGkgLSAxIHx8IGRvdHMgPT09IDEpIHtcblxuICAgICAgfSBlbHNlIGlmIChsYXN0U2xhc2ggIT09IGkgLSAxICYmIGRvdHMgPT09IDIpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlcy5sZW5ndGggPCAyIHx8XG4gICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggIT09IDIgfHxcbiAgICAgICAgICByZXMuY2hhckNvZGVBdChyZXMubGVuZ3RoIC0gMSkgIT09IDQ2IC8qLiovIHx8XG4gICAgICAgICAgcmVzLmNoYXJDb2RlQXQocmVzLmxlbmd0aCAtIDIpICE9PSA0NiAvKi4qL1xuICAgICAgICApIHtcbiAgICAgICAgICBpZiAocmVzLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgIHZhciBsYXN0U2xhc2hJbmRleCA9IHJlcy5sYXN0SW5kZXhPZignLycpO1xuICAgICAgICAgICAgaWYgKGxhc3RTbGFzaEluZGV4ICE9PSByZXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVzID0gJyc7XG4gICAgICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSAwO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlcyA9IHJlcy5zbGljZSgwLCBsYXN0U2xhc2hJbmRleCk7XG4gICAgICAgICAgICAgICAgbGFzdFNlZ21lbnRMZW5ndGggPSByZXMubGVuZ3RoIC0gMSAtIHJlcy5sYXN0SW5kZXhPZignLycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxhc3RTbGFzaCA9IGk7XG4gICAgICAgICAgICAgIGRvdHMgPSAwO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5sZW5ndGggPT09IDIgfHwgcmVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgcmVzID0gJyc7XG4gICAgICAgICAgICBsYXN0U2VnbWVudExlbmd0aCA9IDA7XG4gICAgICAgICAgICBsYXN0U2xhc2ggPSBpO1xuICAgICAgICAgICAgZG90cyA9IDA7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsbG93QWJvdmVSb290KSB7XG4gICAgICAgICAgaWYgKHJlcy5sZW5ndGggPiAwKSByZXMgKz0gJy8uLic7XG4gICAgICAgICAgZWxzZSByZXMgPSAnLi4nO1xuICAgICAgICAgIGxhc3RTZWdtZW50TGVuZ3RoID0gMjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHJlcy5sZW5ndGggPiAwKSByZXMgKz0gJy8nICsgcGF0aC5zbGljZShsYXN0U2xhc2ggKyAxLCBpKTtcbiAgICAgICAgZWxzZSByZXMgPSBwYXRoLnNsaWNlKGxhc3RTbGFzaCArIDEsIGkpO1xuICAgICAgICBsYXN0U2VnbWVudExlbmd0aCA9IGkgLSBsYXN0U2xhc2ggLSAxO1xuICAgICAgfVxuICAgICAgbGFzdFNsYXNoID0gaTtcbiAgICAgIGRvdHMgPSAwO1xuICAgIH0gZWxzZSBpZiAoY29kZSA9PT0gNDYgLyouKi8gJiYgZG90cyAhPT0gLTEpIHtcbiAgICAgICsrZG90cztcbiAgICB9IGVsc2Uge1xuICAgICAgZG90cyA9IC0xO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBfZm9ybWF0KHNlcCwgcGF0aE9iamVjdCkge1xuICB2YXIgZGlyID0gcGF0aE9iamVjdC5kaXIgfHwgcGF0aE9iamVjdC5yb290O1xuICB2YXIgYmFzZSA9XG4gICAgcGF0aE9iamVjdC5iYXNlIHx8IChwYXRoT2JqZWN0Lm5hbWUgfHwgJycpICsgKHBhdGhPYmplY3QuZXh0IHx8ICcnKTtcbiAgaWYgKCFkaXIpIHtcbiAgICByZXR1cm4gYmFzZTtcbiAgfVxuICBpZiAoZGlyID09PSBwYXRoT2JqZWN0LnJvb3QpIHtcbiAgICByZXR1cm4gZGlyICsgYmFzZTtcbiAgfVxuICByZXR1cm4gZGlyICsgc2VwICsgYmFzZTtcbn1cblxuZXhwb3J0IGNvbnN0IHBhdGggPSB7XG5cbiAgcmVzb2x2ZTogZnVuY3Rpb24gcmVzb2x2ZShwYXRoVG9SZXNvdmxlKSB7XG4gICAgcmV0dXJuIHBhdGhUb1Jlc292bGU7XG4gIH0sXG5cbiAgbm9ybWFsaXplOiBmdW5jdGlvbiBub3JtYWxpemUocGF0aEFyZykge1xuICAgIGFzc2VydFBhdGgocGF0aEFyZyk7XG5cbiAgICBpZiAocGF0aEFyZy5sZW5ndGggPT09IDApIHJldHVybiAnLic7XG5cbiAgICB2YXIgaXNBYnNvbHV0ZSA9IHBhdGhBcmcuY2hhckNvZGVBdCgwKSA9PT0gNDc7IC8qLyovXG4gICAgdmFyIHRyYWlsaW5nU2VwYXJhdG9yID0gcGF0aEFyZy5jaGFyQ29kZUF0KHBhdGhBcmcubGVuZ3RoIC0gMSkgPT09IDQ3OyAvKi8qL1xuXG5cbiAgICBwYXRoQXJnID0gbm9ybWFsaXplU3RyaW5nUG9zaXgocGF0aEFyZywgIWlzQWJzb2x1dGUpO1xuXG4gICAgaWYgKHBhdGhBcmcubGVuZ3RoID09PSAwICYmICFpc0Fic29sdXRlKSBwYXRoQXJnID0gJy4nO1xuICAgIGlmIChwYXRoQXJnLmxlbmd0aCA+IDAgJiYgdHJhaWxpbmdTZXBhcmF0b3IpIHBhdGhBcmcgKz0gJy8nO1xuXG4gICAgaWYgKGlzQWJzb2x1dGUpIHJldHVybiAnLycgKyBwYXRoQXJnO1xuICAgIHJldHVybiBwYXRoQXJnO1xuICB9LFxuXG4gIGlzQWJzb2x1dGU6IGZ1bmN0aW9uIGlzQWJzb2x1dGUocGF0aEFyZykge1xuICAgIGFzc2VydFBhdGgocGF0aEFyZyk7XG4gICAgcmV0dXJuIHBhdGhBcmcubGVuZ3RoID4gMCAmJiBwYXRoQXJnLmNoYXJDb2RlQXQoMCkgPT09IDQ3IC8qLyovO1xuICB9LFxuXG4gIGpvaW46IGZ1bmN0aW9uIGpvaW4oKSB7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHJldHVybiAnLic7XG4gICAgdmFyIGpvaW5lZDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7ICsraSkge1xuICAgICAgdmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgIGFzc2VydFBhdGgoYXJnKTtcbiAgICAgIGlmIChhcmcubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoam9pbmVkID09PSB1bmRlZmluZWQpIGpvaW5lZCA9IGFyZztcbiAgICAgICAgZWxzZSBqb2luZWQgKz0gJy8nICsgYXJnO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoam9pbmVkID09PSB1bmRlZmluZWQpIHJldHVybiAnLic7XG4gICAgcmV0dXJuIHBhdGgubm9ybWFsaXplKGpvaW5lZCk7XG4gIH0sXG5cbiAgcmVsYXRpdmU6IGZ1bmN0aW9uIHJlbGF0aXZlKGZyb20sIHRvKSB7XG4gICAgYXNzZXJ0UGF0aChmcm9tKTtcbiAgICBhc3NlcnRQYXRoKHRvKTtcblxuICAgIGlmIChmcm9tID09PSB0bykgcmV0dXJuICcnO1xuXG4gICAgZnJvbSA9IHBhdGgucmVzb2x2ZShmcm9tKTtcbiAgICB0byA9IHBhdGgucmVzb2x2ZSh0byk7XG5cbiAgICBpZiAoZnJvbSA9PT0gdG8pIHJldHVybiAnJztcblxuXG4gICAgdmFyIGZyb21TdGFydCA9IDE7XG4gICAgZm9yICg7IGZyb21TdGFydCA8IGZyb20ubGVuZ3RoOyArK2Zyb21TdGFydCkge1xuICAgICAgaWYgKGZyb20uY2hhckNvZGVBdChmcm9tU3RhcnQpICE9PSA0NyAvKi8qLykgYnJlYWs7XG4gICAgfVxuICAgIHZhciBmcm9tRW5kID0gZnJvbS5sZW5ndGg7XG4gICAgdmFyIGZyb21MZW4gPSBmcm9tRW5kIC0gZnJvbVN0YXJ0O1xuXG5cbiAgICB2YXIgdG9TdGFydCA9IDE7XG4gICAgZm9yICg7IHRvU3RhcnQgPCB0by5sZW5ndGg7ICsrdG9TdGFydCkge1xuICAgICAgaWYgKHRvLmNoYXJDb2RlQXQodG9TdGFydCkgIT09IDQ3IC8qLyovKSBicmVhaztcbiAgICB9XG4gICAgdmFyIHRvRW5kID0gdG8ubGVuZ3RoO1xuICAgIHZhciB0b0xlbiA9IHRvRW5kIC0gdG9TdGFydDtcblxuXG4gICAgdmFyIGxlbmd0aCA9IGZyb21MZW4gPCB0b0xlbiA/IGZyb21MZW4gOiB0b0xlbjtcbiAgICB2YXIgbGFzdENvbW1vblNlcCA9IC0xO1xuICAgIHZhciBpID0gMDtcbiAgICBmb3IgKDsgaSA8PSBsZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGkgPT09IGxlbmd0aCkge1xuICAgICAgICBpZiAodG9MZW4gPiBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAodG8uY2hhckNvZGVBdCh0b1N0YXJ0ICsgaSkgPT09IDQ3IC8qLyovKSB7XG5cblxuICAgICAgICAgICAgcmV0dXJuIHRvLnNsaWNlKHRvU3RhcnQgKyBpICsgMSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpID09PSAwKSB7XG5cblxuICAgICAgICAgICAgcmV0dXJuIHRvLnNsaWNlKHRvU3RhcnQgKyBpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZnJvbUxlbiA+IGxlbmd0aCkge1xuICAgICAgICAgIGlmIChmcm9tLmNoYXJDb2RlQXQoZnJvbVN0YXJ0ICsgaSkgPT09IDQ3IC8qLyovKSB7XG5cblxuICAgICAgICAgICAgbGFzdENvbW1vblNlcCA9IGk7XG4gICAgICAgICAgfSBlbHNlIGlmIChpID09PSAwKSB7XG5cblxuICAgICAgICAgICAgbGFzdENvbW1vblNlcCA9IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgdmFyIGZyb21Db2RlID0gZnJvbS5jaGFyQ29kZUF0KGZyb21TdGFydCArIGkpO1xuICAgICAgdmFyIHRvQ29kZSA9IHRvLmNoYXJDb2RlQXQodG9TdGFydCArIGkpO1xuICAgICAgaWYgKGZyb21Db2RlICE9PSB0b0NvZGUpIGJyZWFrO1xuICAgICAgZWxzZSBpZiAoZnJvbUNvZGUgPT09IDQ3IC8qLyovKSBsYXN0Q29tbW9uU2VwID0gaTtcbiAgICB9XG5cbiAgICB2YXIgb3V0ID0gJyc7XG5cblxuICAgIGZvciAoaSA9IGZyb21TdGFydCArIGxhc3RDb21tb25TZXAgKyAxOyBpIDw9IGZyb21FbmQ7ICsraSkge1xuICAgICAgaWYgKGkgPT09IGZyb21FbmQgfHwgZnJvbS5jaGFyQ29kZUF0KGkpID09PSA0NyAvKi8qLykge1xuICAgICAgICBpZiAob3V0Lmxlbmd0aCA9PT0gMCkgb3V0ICs9ICcuLic7XG4gICAgICAgIGVsc2Ugb3V0ICs9ICcvLi4nO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICBpZiAob3V0Lmxlbmd0aCA+IDApIHJldHVybiBvdXQgKyB0by5zbGljZSh0b1N0YXJ0ICsgbGFzdENvbW1vblNlcCk7XG4gICAgZWxzZSB7XG4gICAgICB0b1N0YXJ0ICs9IGxhc3RDb21tb25TZXA7XG4gICAgICBpZiAodG8uY2hhckNvZGVBdCh0b1N0YXJ0KSA9PT0gNDcgLyovKi8pICsrdG9TdGFydDtcbiAgICAgIHJldHVybiB0by5zbGljZSh0b1N0YXJ0KTtcbiAgICB9XG4gIH0sXG5cbiAgX21ha2VMb25nOiBmdW5jdGlvbiBfbWFrZUxvbmcocGF0aCkge1xuICAgIHJldHVybiBwYXRoO1xuICB9LFxuXG4gIGRpcm5hbWU6IGZ1bmN0aW9uIGRpcm5hbWUocGF0aCkge1xuICAgIGFzc2VydFBhdGgocGF0aCk7XG4gICAgaWYgKHBhdGgubGVuZ3RoID09PSAwKSByZXR1cm4gJy4nO1xuICAgIHZhciBjb2RlID0gcGF0aC5jaGFyQ29kZUF0KDApO1xuICAgIHZhciBoYXNSb290ID0gY29kZSA9PT0gNDc7IC8qLyovXG4gICAgdmFyIGVuZCA9IC0xO1xuICAgIHZhciBtYXRjaGVkU2xhc2ggPSB0cnVlO1xuICAgIGZvciAodmFyIGkgPSBwYXRoLmxlbmd0aCAtIDE7IGkgPj0gMTsgLS1pKSB7XG4gICAgICBjb2RlID0gcGF0aC5jaGFyQ29kZUF0KGkpO1xuICAgICAgaWYgKGNvZGUgPT09IDQ3IC8qLyovKSB7XG4gICAgICAgIGlmICghbWF0Y2hlZFNsYXNoKSB7XG4gICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcblxuICAgICAgICBtYXRjaGVkU2xhc2ggPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZW5kID09PSAtMSkgcmV0dXJuIGhhc1Jvb3QgPyAnLycgOiAnLic7XG4gICAgaWYgKGhhc1Jvb3QgJiYgZW5kID09PSAxKSByZXR1cm4gJy8vJztcbiAgICByZXR1cm4gcGF0aC5zbGljZSgwLCBlbmQpO1xuICB9LFxuXG4gIGJhc2VuYW1lOiBmdW5jdGlvbiBiYXNlbmFtZShwYXRoQXJnLCBleHQpIHtcbiAgICBpZiAoZXh0ICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGV4dCAhPT0gJ3N0cmluZycpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImV4dFwiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTtcbiAgICBhc3NlcnRQYXRoKHBhdGhBcmcpO1xuXG4gICAgdmFyIHN0YXJ0ID0gMDtcbiAgICB2YXIgZW5kID0gLTE7XG4gICAgdmFyIG1hdGNoZWRTbGFzaCA9IHRydWU7XG4gICAgdmFyIGk7XG5cbiAgICBpZiAoZXh0ICE9PSB1bmRlZmluZWQgJiYgZXh0Lmxlbmd0aCA+IDAgJiYgZXh0Lmxlbmd0aCA8PSBwYXRoQXJnLmxlbmd0aCkge1xuICAgICAgaWYgKGV4dC5sZW5ndGggPT09IHBhdGhBcmcubGVuZ3RoICYmIGV4dCA9PT0gcGF0aEFyZykgcmV0dXJuICcnO1xuICAgICAgdmFyIGV4dElkeCA9IGV4dC5sZW5ndGggLSAxO1xuICAgICAgdmFyIGZpcnN0Tm9uU2xhc2hFbmQgPSAtMTtcbiAgICAgIGZvciAoaSA9IHBhdGhBcmcubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgdmFyIGNvZGUgPSBwYXRoQXJnLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGlmIChjb2RlID09PSA0NyAvKi8qLykge1xuXG5cbiAgICAgICAgICBpZiAoIW1hdGNoZWRTbGFzaCkge1xuICAgICAgICAgICAgc3RhcnQgPSBpICsgMTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZmlyc3ROb25TbGFzaEVuZCA9PT0gLTEpIHtcblxuXG4gICAgICAgICAgICBtYXRjaGVkU2xhc2ggPSBmYWxzZTtcbiAgICAgICAgICAgIGZpcnN0Tm9uU2xhc2hFbmQgPSBpICsgMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV4dElkeCA+PSAwKSB7XG5cbiAgICAgICAgICAgIGlmIChjb2RlID09PSBleHQuY2hhckNvZGVBdChleHRJZHgpKSB7XG4gICAgICAgICAgICAgIGlmICgtLWV4dElkeCA9PT0gLTEpIHtcblxuXG4gICAgICAgICAgICAgICAgZW5kID0gaTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcblxuXG4gICAgICAgICAgICAgIGV4dElkeCA9IC0xO1xuICAgICAgICAgICAgICBlbmQgPSBmaXJzdE5vblNsYXNoRW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoc3RhcnQgPT09IGVuZCkgZW5kID0gZmlyc3ROb25TbGFzaEVuZDtcbiAgICAgIGVsc2UgaWYgKGVuZCA9PT0gLTEpIGVuZCA9IHBhdGhBcmcubGVuZ3RoO1xuICAgICAgcmV0dXJuIHBhdGhBcmcuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvciAoaSA9IHBhdGhBcmcubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgaWYgKHBhdGhBcmcuY2hhckNvZGVBdChpKSA9PT0gNDcgLyovKi8pIHtcblxuXG4gICAgICAgICAgaWYgKCFtYXRjaGVkU2xhc2gpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gaSArIDE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZW5kID09PSAtMSkge1xuXG5cbiAgICAgICAgICBtYXRjaGVkU2xhc2ggPSBmYWxzZTtcbiAgICAgICAgICBlbmQgPSBpICsgMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZW5kID09PSAtMSkgcmV0dXJuICcnO1xuICAgICAgcmV0dXJuIHBhdGhBcmcuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gICAgfVxuICB9LFxuXG4gIGV4dG5hbWU6IGZ1bmN0aW9uIGV4dG5hbWUocGF0aEFyZykge1xuICAgIGFzc2VydFBhdGgocGF0aEFyZyk7XG4gICAgdmFyIHN0YXJ0RG90ID0gLTE7XG4gICAgdmFyIHN0YXJ0UGFydCA9IDA7XG4gICAgdmFyIGVuZCA9IC0xO1xuICAgIHZhciBtYXRjaGVkU2xhc2ggPSB0cnVlO1xuXG5cbiAgICB2YXIgcHJlRG90U3RhdGUgPSAwO1xuICAgIGZvciAodmFyIGkgPSBwYXRoQXJnLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICB2YXIgY29kZSA9IHBhdGhBcmcuY2hhckNvZGVBdChpKTtcbiAgICAgIGlmIChjb2RlID09PSA0NyAvKi8qLykge1xuXG5cbiAgICAgICAgaWYgKCFtYXRjaGVkU2xhc2gpIHtcbiAgICAgICAgICBzdGFydFBhcnQgPSBpICsgMTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChlbmQgPT09IC0xKSB7XG5cblxuICAgICAgICBtYXRjaGVkU2xhc2ggPSBmYWxzZTtcbiAgICAgICAgZW5kID0gaSArIDE7XG4gICAgICB9XG4gICAgICBpZiAoY29kZSA9PT0gNDYgLyouKi8pIHtcblxuICAgICAgICBpZiAoc3RhcnREb3QgPT09IC0xKSBzdGFydERvdCA9IGk7XG4gICAgICAgIGVsc2UgaWYgKHByZURvdFN0YXRlICE9PSAxKSBwcmVEb3RTdGF0ZSA9IDE7XG4gICAgICB9IGVsc2UgaWYgKHN0YXJ0RG90ICE9PSAtMSkge1xuXG5cbiAgICAgICAgcHJlRG90U3RhdGUgPSAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdGFydERvdCA9PT0gLTEgfHxcbiAgICAgIGVuZCA9PT0gLTEgfHxcblxuICAgICAgcHJlRG90U3RhdGUgPT09IDAgfHxcblxuICAgICAgKHByZURvdFN0YXRlID09PSAxICYmIHN0YXJ0RG90ID09PSBlbmQgLSAxICYmIHN0YXJ0RG90ID09PSBzdGFydFBhcnQgKyAxKVxuICAgICkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aEFyZy5zbGljZShzdGFydERvdCwgZW5kKTtcbiAgfSxcblxuICBmb3JtYXQ6IGZ1bmN0aW9uIGZvcm1hdChwYXRoT2JqZWN0KSB7XG4gICAgaWYgKHBhdGhPYmplY3QgPT09IG51bGwgfHwgdHlwZW9mIHBhdGhPYmplY3QgIT09ICdvYmplY3QnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAnVGhlIFwicGF0aE9iamVjdFwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBPYmplY3QuIFJlY2VpdmVkIHR5cGUgJyArXG4gICAgICAgICAgdHlwZW9mIHBhdGhPYmplY3QsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gX2Zvcm1hdCgnLycsIHBhdGhPYmplY3QpO1xuICB9LFxuXG4gIHBhcnNlOiBmdW5jdGlvbiBwYXJzZShwYXRoQXJnKSB7XG4gICAgYXNzZXJ0UGF0aChwYXRoQXJnKTtcblxuICAgIHZhciByZXQgPSB7IHJvb3Q6ICcnLCBkaXI6ICcnLCBiYXNlOiAnJywgZXh0OiAnJywgbmFtZTogJycgfTtcbiAgICBpZiAocGF0aEFyZy5sZW5ndGggPT09IDApIHJldHVybiByZXQ7XG4gICAgdmFyIGNvZGUgPSBwYXRoQXJnLmNoYXJDb2RlQXQoMCk7XG4gICAgdmFyIGlzQWJzb2x1dGUgPSBjb2RlID09PSA0NzsgLyovKi9cbiAgICB2YXIgc3RhcnQ7XG4gICAgaWYgKGlzQWJzb2x1dGUpIHtcbiAgICAgIHJldC5yb290ID0gJy8nO1xuICAgICAgc3RhcnQgPSAxO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGFydCA9IDA7XG4gICAgfVxuICAgIHZhciBzdGFydERvdCA9IC0xO1xuICAgIHZhciBzdGFydFBhcnQgPSAwO1xuICAgIHZhciBlbmQgPSAtMTtcbiAgICB2YXIgbWF0Y2hlZFNsYXNoID0gdHJ1ZTtcbiAgICB2YXIgaSA9IHBhdGhBcmcubGVuZ3RoIC0gMTtcblxuXG5cbiAgICB2YXIgcHJlRG90U3RhdGUgPSAwO1xuXG5cbiAgICBmb3IgKDsgaSA+PSBzdGFydDsgLS1pKSB7XG4gICAgICBjb2RlID0gcGF0aEFyZy5jaGFyQ29kZUF0KGkpO1xuICAgICAgaWYgKGNvZGUgPT09IDQ3IC8qLyovKSB7XG5cblxuICAgICAgICBpZiAoIW1hdGNoZWRTbGFzaCkge1xuICAgICAgICAgIHN0YXJ0UGFydCA9IGkgKyAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKGVuZCA9PT0gLTEpIHtcblxuXG4gICAgICAgIG1hdGNoZWRTbGFzaCA9IGZhbHNlO1xuICAgICAgICBlbmQgPSBpICsgMTtcbiAgICAgIH1cbiAgICAgIGlmIChjb2RlID09PSA0NiAvKi4qLykge1xuXG4gICAgICAgIGlmIChzdGFydERvdCA9PT0gLTEpIHN0YXJ0RG90ID0gaTtcbiAgICAgICAgZWxzZSBpZiAocHJlRG90U3RhdGUgIT09IDEpIHByZURvdFN0YXRlID0gMTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhcnREb3QgIT09IC0xKSB7XG5cblxuICAgICAgICBwcmVEb3RTdGF0ZSA9IC0xO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHN0YXJ0RG90ID09PSAtMSB8fFxuICAgICAgZW5kID09PSAtMSB8fFxuXG4gICAgICBwcmVEb3RTdGF0ZSA9PT0gMCB8fFxuXG4gICAgICAocHJlRG90U3RhdGUgPT09IDEgJiYgc3RhcnREb3QgPT09IGVuZCAtIDEgJiYgc3RhcnREb3QgPT09IHN0YXJ0UGFydCArIDEpXG4gICAgKSB7XG4gICAgICBpZiAoZW5kICE9PSAtMSkge1xuICAgICAgICBpZiAoc3RhcnRQYXJ0ID09PSAwICYmIGlzQWJzb2x1dGUpXG4gICAgICAgICAgcmV0LmJhc2UgPSByZXQubmFtZSA9IHBhdGhBcmcuc2xpY2UoMSwgZW5kKTtcbiAgICAgICAgZWxzZSByZXQuYmFzZSA9IHJldC5uYW1lID0gcGF0aEFyZy5zbGljZShzdGFydFBhcnQsIGVuZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGFydFBhcnQgPT09IDAgJiYgaXNBYnNvbHV0ZSkge1xuICAgICAgICByZXQubmFtZSA9IHBhdGhBcmcuc2xpY2UoMSwgc3RhcnREb3QpO1xuICAgICAgICByZXQuYmFzZSA9IHBhdGhBcmcuc2xpY2UoMSwgZW5kKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldC5uYW1lID0gcGF0aEFyZy5zbGljZShzdGFydFBhcnQsIHN0YXJ0RG90KTtcbiAgICAgICAgcmV0LmJhc2UgPSBwYXRoQXJnLnNsaWNlKHN0YXJ0UGFydCwgZW5kKTtcbiAgICAgIH1cbiAgICAgIHJldC5leHQgPSBwYXRoQXJnLnNsaWNlKHN0YXJ0RG90LCBlbmQpO1xuICAgIH1cblxuICAgIGlmIChzdGFydFBhcnQgPiAwKSByZXQuZGlyID0gcGF0aEFyZy5zbGljZSgwLCBzdGFydFBhcnQgLSAxKTtcbiAgICBlbHNlIGlmIChpc0Fic29sdXRlKSByZXQuZGlyID0gJy8nO1xuXG4gICAgcmV0dXJuIHJldDtcbiAgfSxcblxuICBzZXA6ICcvJyxcbiAgZGVsaW1pdGVyOiAnOicsXG4gIHdpbjMyOiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIG5vcm1hbGl6ZTogcCA9PiB7XG4gICAgICByZXR1cm4gcDtcbiAgICB9LFxuICB9LFxuICBwb3NpeDogbnVsbCxcbn07XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9ub2RlLXBhdGgtbW9jay50cyJdfQ==
@@ -1,55 +0,0 @@
1
- import { Helpers } from '.';
2
- import { _ } from './core-imports';
3
- export class PROGRESS_DATA {
4
- constructor() {
5
- this.type = 'event';
6
- }
7
- static log(log) {
8
- /* */
9
- /* */
10
- /* */
11
- /* */
12
- /* */
13
- /* */
14
- /* */
15
- }
16
- static resolveFrom(chunk, callbackOnFounded, checkSplit = true) {
17
- let progress;
18
- let res = [];
19
- if (!_.isString(chunk)) {
20
- return [];
21
- }
22
- chunk = chunk.trim();
23
- if (checkSplit) {
24
- const split = chunk.split(/\r\n|\n|\r/);
25
- if (split.length > 1) {
26
- split.forEach(s => {
27
- res = res.concat(this.resolveFrom(s, callbackOnFounded, false));
28
- });
29
- return res;
30
- }
31
- }
32
- if (/\[\[\[.*\]\]\]/g.test(chunk)) {
33
- chunk = chunk.replace(/^\[\[\[/g, '').replace(/\]\]\]$/g, '');
34
- progress = chunk;
35
- }
36
- if (!_.isUndefined(progress)) {
37
- try {
38
- const p = JSON.parse(progress);
39
- const single = _.merge(new PROGRESS_DATA(), p);
40
- res = res.concat([single]);
41
- if (_.isFunction(callbackOnFounded)) {
42
- callbackOnFounded(single);
43
- }
44
- }
45
- catch (err) {
46
- Helpers.error(err, true, true);
47
- Helpers.error(`ProgresssBarData: fail to parse "${progress}"`, true, true);
48
- }
49
- }
50
- return res;
51
- }
52
- }
53
- ;
54
- ({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1jb3JlL3Byb2plY3RzL3RucC1jb3JlL3NyYy9saWIvcHJvZ3Jlc3MtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBQzVCLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWlCbkMsTUFBTSxPQUFPLGFBQWE7SUFBMUI7UUE4RFMsU0FBSSxHQUFrQyxPQUFPLENBQUM7SUFHdkQsQ0FBQztJQWhFUSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQW1CO1FBQ3ZDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBRU0sTUFBTSxDQUFDLFdBQVcsQ0FDdkIsS0FBYSxFQUNiLGlCQUFnRCxFQUNoRCxVQUFVLEdBQUcsSUFBSTtRQUVqQixJQUFJLFFBQVEsQ0FBQztRQUNiLElBQUksR0FBRyxHQUFvQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXJCLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hDLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFFckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDaEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDbEUsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDOUQsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7b0JBQ3BDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1QixDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMvQixPQUFPLENBQUMsS0FBSyxDQUNYLG9DQUFvQyxRQUFRLEdBQUcsRUFDL0MsSUFBSSxFQUNKLElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FRRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuJztcbmltcG9ydCB7IF8gfSBmcm9tICcuL2NvcmUtaW1wb3J0cyc7XG5pbXBvcnQgeyBDb3JlTW9kZWxzIH0gZnJvbSAnLi9jb3JlLW1vZGVscyc7XG5cbi8qICovXG4vKiAqL1xuICBcblxuZXhwb3J0IGludGVyZmFjZSBJUFJPR1JFU1NfREFUQSB7XG4gIC8qKlxuICAgKiBIb3cgbWFuIHBlcmNlbnQgb2ZcbiAgICovXG4gIHZhbHVlPzogbnVtYmVyO1xuICBtc2c/OiBzdHJpbmc7XG4gIHR5cGU/OiBDb3JlTW9kZWxzLlBST0dSRVNTX0RBVEFfVFlQRTtcbiAgZGF0ZT86IERhdGU7XG59XG5cbmV4cG9ydCBjbGFzcyBQUk9HUkVTU19EQVRBIGltcGxlbWVudHMgSVBST0dSRVNTX0RBVEEge1xuICBwdWJsaWMgc3RhdGljIGxvZyhsb2c6IElQUk9HUkVTU19EQVRBKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmVzb2x2ZUZyb20oXG4gICAgY2h1bms6IHN0cmluZyxcbiAgICBjYWxsYmFja09uRm91bmRlZD86IChqc29uOiBQUk9HUkVTU19EQVRBKSA9PiBhbnksXG4gICAgY2hlY2tTcGxpdCA9IHRydWUsXG4gICk6IFBST0dSRVNTX0RBVEFbXSB7XG4gICAgbGV0IHByb2dyZXNzO1xuICAgIGxldCByZXM6IFBST0dSRVNTX0RBVEFbXSA9IFtdO1xuICAgIGlmICghXy5pc1N0cmluZyhjaHVuaykpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgY2h1bmsgPSBjaHVuay50cmltKCk7XG5cbiAgICBpZiAoY2hlY2tTcGxpdCkge1xuICAgICAgY29uc3Qgc3BsaXQgPSBjaHVuay5zcGxpdCgvXFxyXFxufFxcbnxcXHIvKTtcbiAgICAgIGlmIChzcGxpdC5sZW5ndGggPiAxKSB7XG5cbiAgICAgICAgc3BsaXQuZm9yRWFjaChzID0+IHtcbiAgICAgICAgICByZXMgPSByZXMuY29uY2F0KHRoaXMucmVzb2x2ZUZyb20ocywgY2FsbGJhY2tPbkZvdW5kZWQsIGZhbHNlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgvXFxbXFxbXFxbLipcXF1cXF1cXF0vZy50ZXN0KGNodW5rKSkge1xuICAgICAgY2h1bmsgPSBjaHVuay5yZXBsYWNlKC9eXFxbXFxbXFxbL2csICcnKS5yZXBsYWNlKC9cXF1cXF1cXF0kL2csICcnKTtcbiAgICAgIHByb2dyZXNzID0gY2h1bms7XG4gICAgfVxuICAgIGlmICghXy5pc1VuZGVmaW5lZChwcm9ncmVzcykpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHAgPSBKU09OLnBhcnNlKHByb2dyZXNzKTtcbiAgICAgICAgY29uc3Qgc2luZ2xlID0gXy5tZXJnZShuZXcgUFJPR1JFU1NfREFUQSgpLCBwKTtcbiAgICAgICAgcmVzID0gcmVzLmNvbmNhdChbc2luZ2xlXSk7XG4gICAgICAgIGlmIChfLmlzRnVuY3Rpb24oY2FsbGJhY2tPbkZvdW5kZWQpKSB7XG4gICAgICAgICAgY2FsbGJhY2tPbkZvdW5kZWQoc2luZ2xlKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIEhlbHBlcnMuZXJyb3IoZXJyLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgSGVscGVycy5lcnJvcihcbiAgICAgICAgICBgUHJvZ3Jlc3NzQmFyRGF0YTogZmFpbCB0byBwYXJzZSBcIiR7cHJvZ3Jlc3N9XCJgLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHB1YmxpYyB2YWx1ZT86IG51bWJlcjtcbiAgcHVibGljIG1zZz86IHN0cmluZztcblxuICBwdWJsaWMgdHlwZTogQ29yZU1vZGVscy5QUk9HUkVTU19EQVRBX1RZUEUgPSAnZXZlbnQnO1xuXG4gIHB1YmxpYyBkYXRlPzogRGF0ZTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9wcm9ncmVzcy1kYXRhLnRzIl19