@nlabs/lex 2.0.0 → 2.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.
- package/lib/utils/vite/config.js +26 -33
- package/package.json +4 -28
package/lib/utils/vite/config.js
CHANGED
|
@@ -6,7 +6,6 @@ import inject from '@rollup/plugin-inject';
|
|
|
6
6
|
import { existsSync, readFileSync } from 'fs';
|
|
7
7
|
import { extname, resolve } from 'path';
|
|
8
8
|
import { mergeConfig } from 'vite';
|
|
9
|
-
import { nodePolyfills } from 'vite-plugin-node-polyfills';
|
|
10
9
|
import { LexConfig } from '../../LexConfig.js';
|
|
11
10
|
import { generateLexFavicons, getDevAsset } from './assets.js';
|
|
12
11
|
const createInjectPlugin = inject;
|
|
@@ -34,6 +33,26 @@ const emptyCryptoPlugin = ()=>({
|
|
|
34
33
|
return id === 'crypto' || id === 'node:crypto' ? '\0lex-empty-crypto' : null;
|
|
35
34
|
}
|
|
36
35
|
});
|
|
36
|
+
const nodePolyfillModules = {
|
|
37
|
+
assert: 'assert/build/assert.js',
|
|
38
|
+
buffer: 'buffer/index.js',
|
|
39
|
+
http: 'stream-http/index.js',
|
|
40
|
+
https: 'https-browserify/index.js',
|
|
41
|
+
os: 'os-browserify/browser.js',
|
|
42
|
+
path: 'path-browserify/index.js',
|
|
43
|
+
process: 'process/browser.js',
|
|
44
|
+
stream: 'stream-browserify/index.js',
|
|
45
|
+
util: 'util/util.js',
|
|
46
|
+
vm: 'vm-browserify/index.js'
|
|
47
|
+
};
|
|
48
|
+
const nodePolyfillsPlugin = ()=>({
|
|
49
|
+
name: 'lex-node-polyfills',
|
|
50
|
+
resolveId (id) {
|
|
51
|
+
const moduleName = id.startsWith('node:') ? id.slice(5) : id;
|
|
52
|
+
const replacement = nodePolyfillModules[moduleName];
|
|
53
|
+
return replacement ? resolveProjectPackage(replacement) : null;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
37
56
|
const graphqlPlugin = ()=>({
|
|
38
57
|
load (id) {
|
|
39
58
|
if (!/\.(gql|graphql)$/.test(id)) return null;
|
|
@@ -179,41 +198,18 @@ export const createLexViteConfig = (options)=>{
|
|
|
179
198
|
plugins: [
|
|
180
199
|
...options.ssr ? [] : [
|
|
181
200
|
emptyCryptoPlugin(),
|
|
182
|
-
|
|
183
|
-
globals: {
|
|
184
|
-
Buffer: false,
|
|
185
|
-
global: false,
|
|
186
|
-
process: false
|
|
187
|
-
},
|
|
188
|
-
include: [
|
|
189
|
-
'assert',
|
|
190
|
-
'buffer',
|
|
191
|
-
'http',
|
|
192
|
-
'https',
|
|
193
|
-
'os',
|
|
194
|
-
'path',
|
|
195
|
-
'process',
|
|
196
|
-
'stream',
|
|
197
|
-
'util',
|
|
198
|
-
'vm'
|
|
199
|
-
],
|
|
200
|
-
overrides: {
|
|
201
|
-
buffer: resolveProjectPackage('buffer'),
|
|
202
|
-
process: resolveProjectPackage('process/browser.js')
|
|
203
|
-
},
|
|
204
|
-
protocolImports: true
|
|
205
|
-
}),
|
|
201
|
+
nodePolyfillsPlugin(),
|
|
206
202
|
createInjectPlugin({
|
|
207
203
|
Buffer: [
|
|
208
|
-
|
|
204
|
+
resolveProjectPackage('buffer/index.js'),
|
|
209
205
|
'Buffer'
|
|
210
206
|
],
|
|
211
207
|
global: [
|
|
212
|
-
|
|
208
|
+
resolveProjectPackage('global/window.js'),
|
|
213
209
|
'default'
|
|
214
210
|
],
|
|
215
211
|
process: [
|
|
216
|
-
|
|
212
|
+
resolveProjectPackage('process/browser.js'),
|
|
217
213
|
'default'
|
|
218
214
|
]
|
|
219
215
|
})
|
|
@@ -236,10 +232,7 @@ export const createLexViteConfig = (options)=>{
|
|
|
236
232
|
randombytes: resolve(LexConfig.getLexDir(), 'node_modules/randombytes'),
|
|
237
233
|
react: resolveProjectPackage('react'),
|
|
238
234
|
'react-dom': resolveProjectPackage('react-dom'),
|
|
239
|
-
'regenerator-runtime': resolveProjectPackage('regenerator-runtime')
|
|
240
|
-
'vite-plugin-node-polyfills/shims/buffer': resolve(LexConfig.getLexDir(), 'node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js'),
|
|
241
|
-
'vite-plugin-node-polyfills/shims/global': resolve(LexConfig.getLexDir(), 'node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js'),
|
|
242
|
-
'vite-plugin-node-polyfills/shims/process': resolve(LexConfig.getLexDir(), 'node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js')
|
|
235
|
+
'regenerator-runtime': resolveProjectPackage('regenerator-runtime')
|
|
243
236
|
},
|
|
244
237
|
extensions: [
|
|
245
238
|
'.mjs',
|
|
@@ -276,4 +269,4 @@ export const createLexViteConfig = (options)=>{
|
|
|
276
269
|
return mergeConfig(viteConfig, config.vite || {});
|
|
277
270
|
};
|
|
278
271
|
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy92aXRlL2NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHt0cmFuc2Zvcm19IGZyb20gJ0Bzd2MvY29yZSc7XG5pbXBvcnQgaW5qZWN0IGZyb20gJ0Byb2xsdXAvcGx1Z2luLWluamVjdCc7XG5pbXBvcnQge2V4aXN0c1N5bmMsIHJlYWRGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtleHRuYW1lLCByZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7bWVyZ2VDb25maWd9IGZyb20gJ3ZpdGUnO1xuaW1wb3J0IHtub2RlUG9seWZpbGxzfSBmcm9tICd2aXRlLXBsdWdpbi1ub2RlLXBvbHlmaWxscyc7XG5cbmltcG9ydCB7TGV4Q29uZmlnfSBmcm9tICcuLi8uLi9MZXhDb25maWcuanMnO1xuaW1wb3J0IHtnZW5lcmF0ZUxleEZhdmljb25zLCBnZXREZXZBc3NldH0gZnJvbSAnLi9hc3NldHMuanMnO1xuXG5pbXBvcnQgdHlwZSB7SW5saW5lQ29uZmlnLCBQbHVnaW59IGZyb20gJ3ZpdGUnO1xuXG5jb25zdCBjcmVhdGVJbmplY3RQbHVnaW4gPSBpbmplY3QgYXMgdW5rbm93biBhcyAob3B0aW9uczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IFBsdWdpbjtcblxuZXhwb3J0IGludGVyZmFjZSBMZXhWaXRlT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGFuYWx5emU/OiBib29sZWFuO1xuICByZWFkb25seSBjb21tYW5kOiAnYnVpbGQnIHwgJ3NlcnZlJztcbiAgcmVhZG9ubHkgZW50cnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1vZGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG9wZW4/OiBib29sZWFuO1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuICByZWFkb25seSBxdWlldD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHNzcj86IGJvb2xlYW47XG59XG5cbmNvbnN0IGNvbnRlbnRUeXBlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgJy5jc3MnOiAndGV4dC9jc3MnLFxuICAnLmdpZic6ICdpbWFnZS9naWYnLFxuICAnLmh0bWwnOiAndGV4dC9odG1sJyxcbiAgJy5pY28nOiAnaW1hZ2UveC1pY29uJyxcbiAgJy5qcGVnJzogJ2ltYWdlL2pwZWcnLFxuICAnLmpwZyc6ICdpbWFnZS9qcGVnJyxcbiAgJy5qc29uJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAnLnBuZyc6ICdpbWFnZS9wbmcnLFxuICAnLnN2Zyc6ICdpbWFnZS9zdmcreG1sJyxcbiAgJy50dGYnOiAnZm9udC90dGYnLFxuICAnLnR4dCc6ICd0ZXh0L3BsYWluJyxcbiAgJy53b2ZmJzogJ2ZvbnQvd29mZicsXG4gICcud29mZjInOiAnZm9udC93b2ZmMidcbn07XG5cbmNvbnN0IGVtcHR5Q3J5cHRvUGx1Z2luID0gKCk6IFBsdWdpbiA9PiAoe1xuICBsb2FkKGlkKSB7XG4gICAgcmV0dXJuIGlkID09PSAnXFwwbGV4LWVtcHR5LWNyeXB0bycgPyAnZXhwb3J0IGRlZmF1bHQge307IGV4cG9ydCBjb25zdCB3ZWJjcnlwdG8gPSB1bmRlZmluZWQ7JyA6IG51bGw7XG4gIH0sXG4gIG5hbWU6ICdsZXgtZW1wdHktY3J5cHRvJyxcbiAgcmVzb2x2ZUlkKGlkKSB7XG4gICAgcmV0dXJuIGlkID09PSAnY3J5cHRvJyB8fCBpZCA9PT0gJ25vZGU6Y3J5cHRvJyA/ICdcXDBsZXgtZW1wdHktY3J5cHRvJyA6IG51bGw7XG4gIH1cbn0pO1xuXG5jb25zdCBncmFwaHFsUGx1Z2luID0gKCk6IFBsdWdpbiA9PiAoe1xuICBsb2FkKGlkKSB7XG4gICAgaWYoIS9cXC4oZ3FsfGdyYXBocWwpJC8udGVzdChpZCkpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHNvdXJjZSA9IEpTT04uc3RyaW5naWZ5KHJlYWRGaWxlU3luYyhpZCwgJ3V0ZjgnKSk7XG4gICAgcmV0dXJuIGBpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJzsgZXhwb3J0IGRlZmF1bHQgZ3FsKCR7c291cmNlfSk7YDtcbiAgfSxcbiAgbmFtZTogJ2xleC1ncmFwaHFsJ1xufSk7XG5cbmNvbnN0IHN3Y1BsdWdpbiA9IChzb3VyY2VQYXRoOiBzdHJpbmcpOiBQbHVnaW4gPT4gKHtcbiAgZW5mb3JjZTogJ3ByZScsXG4gIGFzeW5jIHRyYW5zZm9ybShzb3VyY2UsIGlkKSB7XG4gICAgY29uc3QgY2xlYW5JZCA9IGlkLnNwbGl0KCc/JylbMF07XG4gICAgaWYoIWNsZWFuSWQuc3RhcnRzV2l0aChzb3VyY2VQYXRoKSB8fCAhL1xcLltqdF1zeD8kLy50ZXN0KGNsZWFuSWQpIHx8IC9cXC4odGVzdHxzcGVjfGludGVncmF0aW9ufGUyZSlcXC5banRdc3g/JC8udGVzdChjbGVhbklkKSkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBzd2NDb25maWcgPSBMZXhDb25maWcuZ2V0U1dDQ29uZmlnV2l0aFJlYWN0Q29tcGlsZXIoKTtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm0oc291cmNlLCB7XG4gICAgICAuLi5zd2NDb25maWcsXG4gICAgICBmaWxlbmFtZTogY2xlYW5JZCxcbiAgICAgIG1vZHVsZTogey4uLnN3Y0NvbmZpZz8ubW9kdWxlLCB0eXBlOiAnZXM2J30sXG4gICAgICBzb3VyY2VNYXBzOiB0cnVlXG4gICAgfSk7XG5cbiAgICBjb25zdCBuZWVkc1JlYWN0ID0gL1xcYlJlYWN0XFxzKlxcLi8udGVzdChyZXN1bHQuY29kZSkgJiYgIS9mcm9tXFxzK1snXCJdcmVhY3RbJ1wiXS8udGVzdChyZXN1bHQuY29kZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvZGU6IG5lZWRzUmVhY3QgPyBgaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcXG4ke3Jlc3VsdC5jb2RlfWAgOiByZXN1bHQuY29kZSxcbiAgICAgIG1hcDogcmVzdWx0Lm1hcCB8fCBudWxsXG4gICAgfTtcbiAgfSxcbiAgbmFtZTogJ2xleC1zd2MnXG59KTtcblxuY29uc3QgaW1wb3J0TWV0YUNvbXBhdGliaWxpdHlQbHVnaW4gPSAoc291cmNlUGF0aDogc3RyaW5nKTogUGx1Z2luID0+ICh7XG4gIGVuZm9yY2U6ICdwb3N0JyxcbiAgbmFtZTogJ2xleC1pbXBvcnQtbWV0YS1jb21wYXRpYmlsaXR5JyxcbiAgdHJhbnNmb3JtKHNvdXJjZSwgaWQpIHtcbiAgICBjb25zdCBjbGVhbklkID0gaWQuc3BsaXQoJz8nKVswXTtcbiAgICBpZighY2xlYW5JZC5zdGFydHNXaXRoKHNvdXJjZVBhdGgpIHx8ICFzb3VyY2UuaW5jbHVkZXMoJ2ltcG9ydC5tZXRhLnVybCcpKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gJyh0eXBlb2YgZG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCIgJiYgZG9jdW1lbnQuY3VycmVudFNjcmlwdCAmJiBkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYyA/IG5ldyBVUkwoZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5ocmVmIDogKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyBuZXcgVVJMKFwiXCIsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKS5ocmVmIDogXCJcIikpJztcbiAgICByZXR1cm4gc291cmNlLnJlcGxhY2VBbGwoJ2ltcG9ydC5tZXRhLnVybCcsIHJlcGxhY2VtZW50KTtcbiAgfVxufSk7XG5cbmNvbnN0IGFzc2V0c0RldlBsdWdpbiA9ICgpOiBQbHVnaW4gPT4ge1xuICBsZXQgZmF2aWNvbkh0bWw6IHN0cmluZ1tdID0gW107XG5cbiAgcmV0dXJuIHtcbiAgICBhc3luYyBidWlsZFN0YXJ0KCkge1xuICAgICAgY29uc3QgZ2VuZXJhdGVkRmF2aWNvbnMgPSBhd2FpdCBnZW5lcmF0ZUxleEZhdmljb25zKExleENvbmZpZy5jb25maWcpO1xuICAgICAgZmF2aWNvbkh0bWwgPSBnZW5lcmF0ZWRGYXZpY29ucz8uaHRtbCB8fCBbXTtcbiAgICB9LFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXIpIHtcbiAgICAgIHNlcnZlci5taWRkbGV3YXJlcy51c2UoYXN5bmMgKHJlcXVlc3QsIHJlc3BvbnNlLCBuZXh0KSA9PiB7XG4gICAgICAgIGlmKCFyZXF1ZXN0LnVybCkgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCBnZXREZXZBc3NldChMZXhDb25maWcuY29uZmlnLCByZXF1ZXN0LnVybCk7XG4gICAgICAgIGlmKCFhc3NldCkgcmV0dXJuIG5leHQoKTtcblxuICAgICAgICByZXNwb25zZS5zdGF0dXNDb2RlID0gMjAwO1xuICAgICAgICByZXNwb25zZS5zZXRIZWFkZXIoJ0NvbnRlbnQtVHlwZScsIGNvbnRlbnRUeXBlc1tleHRuYW1lKHJlcXVlc3QudXJsLnNwbGl0KCc/JylbMF0pXSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyk7XG4gICAgICAgIHJlc3BvbnNlLmVuZChhc3NldCk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIG5hbWU6ICdsZXgtYXNzZXRzLWRldicsXG4gICAgdHJhbnNmb3JtSW5kZXhIdG1sKGh0bWwpIHtcbiAgICAgIGlmKGZhdmljb25IdG1sLmxlbmd0aCA9PT0gMCkgcmV0dXJuIGh0bWw7XG4gICAgICByZXR1cm4gaHRtbC5yZXBsYWNlKCc8L2hlYWQ+JywgYCAgICAke2Zhdmljb25IdG1sLmpvaW4oJ1xcbiAgICAnKX1cXG4gIDwvaGVhZD5gKTtcbiAgICB9XG4gIH07XG59O1xuXG5jb25zdCBhbmFseXplclBsdWdpbiA9IChlbmFibGVkOiBib29sZWFuKTogUGx1Z2luID0+ICh7XG4gIGdlbmVyYXRlQnVuZGxlKF9vcHRpb25zLCBidW5kbGUpIHtcbiAgICBpZighZW5hYmxlZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgcmVwb3J0ID0gT2JqZWN0LmVudHJpZXMoYnVuZGxlKS5tYXAoKFtmaWxlTmFtZSwgb3V0cHV0XSkgPT4gKHtcbiAgICAgIGZpbGVOYW1lLFxuICAgICAgc2l6ZTogb3V0cHV0LnR5cGUgPT09ICdhc3NldCdcbiAgICAgICAgPyBCdWZmZXIuYnl0ZUxlbmd0aCh0eXBlb2Ygb3V0cHV0LnNvdXJjZSA9PT0gJ3N0cmluZycgPyBvdXRwdXQuc291cmNlIDogb3V0cHV0LnNvdXJjZSlcbiAgICAgICAgOiBCdWZmZXIuYnl0ZUxlbmd0aChvdXRwdXQuY29kZSksXG4gICAgICB0eXBlOiBvdXRwdXQudHlwZVxuICAgIH0pKTtcblxuICAgIHRoaXMuZW1pdEZpbGUoe2ZpbGVOYW1lOiAnYnVuZGxlLXJlcG9ydC5qc29uJywgc291cmNlOiBKU09OLnN0cmluZ2lmeShyZXBvcnQsIG51bGwsIDIpLCB0eXBlOiAnYXNzZXQnfSk7XG4gIH0sXG4gIG5hbWU6ICdsZXgtYnVuZGxlLWFuYWx5emVyJ1xufSk7XG5cbmNvbnN0IGdldExpYnJhcnlGb3JtYXRzID0gKGxpYnJhcnlUYXJnZXQ/OiBzdHJpbmcpOiBBcnJheTwnY2pzJyB8ICdlcycgfCAnaWlmZScgfCAndW1kJz4gPT4ge1xuICBpZihsaWJyYXJ5VGFyZ2V0ID09PSAnY29tbW9uanMnIHx8IGxpYnJhcnlUYXJnZXQgPT09ICdjb21tb25qczInKSByZXR1cm4gWydjanMnXTtcbiAgaWYobGlicmFyeVRhcmdldCA9PT0gJ3ZhcicgfHwgbGlicmFyeVRhcmdldCA9PT0gJ3dpbmRvdycpIHJldHVybiBbJ2lpZmUnXTtcbiAgaWYobGlicmFyeVRhcmdldCA9PT0gJ3VtZCcpIHJldHVybiBbJ3VtZCddO1xuICByZXR1cm4gWydlcyddO1xufTtcblxuY29uc3QgcmVzb2x2ZVByb2plY3RQYWNrYWdlID0gKHBhY2thZ2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwcm9qZWN0UGFja2FnZSA9IHJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ25vZGVfbW9kdWxlcycsIHBhY2thZ2VOYW1lKTtcbiAgcmV0dXJuIGV4aXN0c1N5bmMocHJvamVjdFBhY2thZ2UpID8gcHJvamVjdFBhY2thZ2UgOiByZXNvbHZlKExleENvbmZpZy5nZXRMZXhEaXIoKSwgJ25vZGVfbW9kdWxlcycsIHBhY2thZ2VOYW1lKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVMZXhWaXRlQ29uZmlnID0gKG9wdGlvbnM6IExleFZpdGVPcHRpb25zKTogSW5saW5lQ29uZmlnID0+IHtcbiAgY29uc3QgY29uZmlnID0gTGV4Q29uZmlnLmNvbmZpZztcbiAgY29uc3Qgc291cmNlUGF0aCA9IGNvbmZpZy5zb3VyY2VGdWxsUGF0aCB8fCByZXNvbHZlKHByb2Nlc3MuY3dkKCksIGNvbmZpZy5zb3VyY2VQYXRoIHx8ICcuL3NyYycpO1xuICBjb25zdCBvdXRwdXRQYXRoID0gY29uZmlnLm91dHB1dEZ1bGxQYXRoIHx8IHJlc29sdmUocHJvY2Vzcy5jd2QoKSwgY29uZmlnLm91dHB1dFBhdGggfHwgJy4vbGliJyk7XG4gIGNvbnN0IGVudHJ5UGF0aCA9IHJlc29sdmUoc291cmNlUGF0aCwgb3B0aW9ucy5lbnRyeSB8fCBjb25maWcuZW50cnlKcyB8fCAnaW5kZXguanMnKTtcbiAgY29uc3QgaHRtbFBhdGggPSByZXNvbHZlKHNvdXJjZVBhdGgsIGNvbmZpZy5lbnRyeUhUTUwgfHwgJ2luZGV4Lmh0bWwnKTtcbiAgY29uc3QgaGFzSHRtbEVudHJ5ID0gZXhpc3RzU3luYyhodG1sUGF0aCkgJiYgIW9wdGlvbnMuc3NyO1xuICBjb25zdCBvdXRwdXRIYXNoID0gY29uZmlnLm91dHB1dEhhc2ggfHwgb3B0aW9ucy5tb2RlID09PSAncHJvZHVjdGlvbic7XG4gIGNvbnN0IGZpbGVOYW1lID0gY29uZmlnLm91dHB1dEZpbGUgfHwgKG91dHB1dEhhc2ggPyAnW25hbWVdLltoYXNoXS5qcycgOiAnW25hbWVdLmpzJyk7XG5cbiAgY29uc3Qgdml0ZUNvbmZpZzogSW5saW5lQ29uZmlnID0ge1xuICAgIGFwcFR5cGU6IGhhc0h0bWxFbnRyeSA/ICdzcGEnIDogJ2N1c3RvbScsXG4gICAgYmFzZTogJy8nLFxuICAgIGJ1aWxkOiB7XG4gICAgICBjc3NDb2RlU3BsaXQ6IHRydWUsXG4gICAgICBlbXB0eU91dERpcjogZmFsc2UsXG4gICAgICBtaW5pZnk6IG9wdGlvbnMubW9kZSA9PT0gJ3Byb2R1Y3Rpb24nLFxuICAgICAgb3V0RGlyOiBvdXRwdXRQYXRoLFxuICAgICAgcm9sbGRvd25PcHRpb25zOiB7XG4gICAgICAgIGlucHV0OiBoYXNIdG1sRW50cnkgPyBodG1sUGF0aCA6IGVudHJ5UGF0aCxcbiAgICAgICAgb3V0cHV0OiB7XG4gICAgICAgICAgYXNzZXRGaWxlTmFtZXM6IG91dHB1dEhhc2ggPyAnYXNzZXRzL1tuYW1lXS5baGFzaF1bZXh0bmFtZV0nIDogJ2Fzc2V0cy9bbmFtZV1bZXh0bmFtZV0nLFxuICAgICAgICAgIGNodW5rRmlsZU5hbWVzOiBvdXRwdXRIYXNoID8gJ1tuYW1lXS5baGFzaF0uY2h1bmsuanMnIDogJ1tuYW1lXS5jaHVuay5qcycsXG4gICAgICAgICAgZW50cnlGaWxlTmFtZXM6IGZpbGVOYW1lLFxuICAgICAgICAgIG1hbnVhbENodW5rcyhpZCkge1xuICAgICAgICAgICAgcmV0dXJuIGlkLmluY2x1ZGVzKCcvbm9kZV9tb2R1bGVzLycpID8gJ3ZlbmRvcnMnIDogdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNvdXJjZW1hcDogY29uZmlnLnN3Yz8uc291cmNlTWFwcyA/IHRydWUgOiBmYWxzZSxcbiAgICAgIHNzcjogb3B0aW9ucy5zc3IgPyBlbnRyeVBhdGggOiBmYWxzZSxcbiAgICAgIHRhcmdldDogY29uZmlnLnN3Yz8uanNjPy50YXJnZXQ/LnRvU3RyaW5nKCkgfHwgJ2VzMjAyMCdcbiAgICB9LFxuICAgIGNsZWFyU2NyZWVuOiBmYWxzZSxcbiAgICBjb25maWdGaWxlOiBmYWxzZSxcbiAgICBjc3M6IHtcbiAgICAgIHBvc3Rjc3M6IHJlc29sdmUoTGV4Q29uZmlnLmdldExleERpcigpLCAncG9zdGNzcy5jb25maWcuanMnKVxuICAgIH0sXG4gICAgZGVmaW5lOiB7XG4gICAgICAncHJvY2Vzcy5lbnYuTk9ERV9FTlYnOiBKU09OLnN0cmluZ2lmeShvcHRpb25zLm1vZGUgfHwgKG9wdGlvbnMuY29tbWFuZCA9PT0gJ2J1aWxkJyA/ICdwcm9kdWN0aW9uJyA6ICdkZXZlbG9wbWVudCcpKVxuICAgIH0sXG4gICAgZW52RGlyOiBwcm9jZXNzLmN3ZCgpLFxuICAgIGxvZ0xldmVsOiBvcHRpb25zLnF1aWV0ID8gJ3NpbGVudCcgOiAnaW5mbycsXG4gICAgbW9kZTogb3B0aW9ucy5tb2RlIHx8IChvcHRpb25zLmNvbW1hbmQgPT09ICdidWlsZCcgPyAncHJvZHVjdGlvbicgOiAnZGV2ZWxvcG1lbnQnKSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICAuLi4ob3B0aW9ucy5zc3IgPyBbXSA6IFtcbiAgICAgICAgZW1wdHlDcnlwdG9QbHVnaW4oKSxcbiAgICAgICAgbm9kZVBvbHlmaWxscyh7XG4gICAgICAgICAgZ2xvYmFsczoge0J1ZmZlcjogZmFsc2UsIGdsb2JhbDogZmFsc2UsIHByb2Nlc3M6IGZhbHNlfSxcbiAgICAgICAgICBpbmNsdWRlOiBbJ2Fzc2VydCcsICdidWZmZXInLCAnaHR0cCcsICdodHRwcycsICdvcycsICdwYXRoJywgJ3Byb2Nlc3MnLCAnc3RyZWFtJywgJ3V0aWwnLCAndm0nXSxcbiAgICAgICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgICAgIGJ1ZmZlcjogcmVzb2x2ZVByb2plY3RQYWNrYWdlKCdidWZmZXInKSxcbiAgICAgICAgICAgIHByb2Nlc3M6IHJlc29sdmVQcm9qZWN0UGFja2FnZSgncHJvY2Vzcy9icm93c2VyLmpzJylcbiAgICAgICAgICB9LFxuICAgICAgICAgIHByb3RvY29sSW1wb3J0czogdHJ1ZVxuICAgICAgICB9KSxcbiAgICAgICAgY3JlYXRlSW5qZWN0UGx1Z2luKHtcbiAgICAgICAgICBCdWZmZXI6IFtyZXNvbHZlKExleENvbmZpZy5nZXRMZXhEaXIoKSwgJ25vZGVfbW9kdWxlcy92aXRlLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9zaGltcy9idWZmZXIvZGlzdC9pbmRleC5qcycpLCAnQnVmZmVyJ10sXG4gICAgICAgICAgZ2xvYmFsOiBbcmVzb2x2ZShMZXhDb25maWcuZ2V0TGV4RGlyKCksICdub2RlX21vZHVsZXMvdml0ZS1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvc2hpbXMvZ2xvYmFsL2Rpc3QvaW5kZXguanMnKSwgJ2RlZmF1bHQnXSxcbiAgICAgICAgICBwcm9jZXNzOiBbcmVzb2x2ZShMZXhDb25maWcuZ2V0TGV4RGlyKCksICdub2RlX21vZHVsZXMvdml0ZS1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvc2hpbXMvcHJvY2Vzcy9kaXN0L2luZGV4LmpzJyksICdkZWZhdWx0J11cbiAgICAgICAgfSlcbiAgICAgIF0pLFxuICAgICAgc3djUGx1Z2luKHNvdXJjZVBhdGgpLFxuICAgICAgZ3JhcGhxbFBsdWdpbigpLFxuICAgICAgLi4uKG9wdGlvbnMuc3NyID8gW10gOiBbaW1wb3J0TWV0YUNvbXBhdGliaWxpdHlQbHVnaW4oc291cmNlUGF0aCksIGFzc2V0c0RldlBsdWdpbigpLCBhbmFseXplclBsdWdpbihCb29sZWFuKG9wdGlvbnMuYW5hbHl6ZSkpXSlcbiAgICBdLFxuICAgIHB1YmxpY0RpcjogZmFsc2UsXG4gICAgcmVzb2x2ZToge1xuICAgICAgYWxpYXM6IHtcbiAgICAgICAgQnVmZmVyOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ2J1ZmZlcicpLFxuICAgICAgICAnY29yZS1qcyc6IHJlc29sdmVQcm9qZWN0UGFja2FnZSgnY29yZS1qcycpLFxuICAgICAgICBnbG9iYWw6IHJlc29sdmVQcm9qZWN0UGFja2FnZSgnZ2xvYmFsJyksXG4gICAgICAgICdncmFwaHFsLXRhZyc6IHJlc29sdmVQcm9qZWN0UGFja2FnZSgnZ3JhcGhxbC10YWcnKSxcbiAgICAgICAgcmFuZG9tYnl0ZXM6IHJlc29sdmUoTGV4Q29uZmlnLmdldExleERpcigpLCAnbm9kZV9tb2R1bGVzL3JhbmRvbWJ5dGVzJyksXG4gICAgICAgIHJlYWN0OiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ3JlYWN0JyksXG4gICAgICAgICdyZWFjdC1kb20nOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ3JlYWN0LWRvbScpLFxuICAgICAgICAncmVnZW5lcmF0b3ItcnVudGltZSc6IHJlc29sdmVQcm9qZWN0UGFja2FnZSgncmVnZW5lcmF0b3ItcnVudGltZScpLFxuICAgICAgICAndml0ZS1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvc2hpbXMvYnVmZmVyJzogcmVzb2x2ZShMZXhDb25maWcuZ2V0TGV4RGlyKCksICdub2RlX21vZHVsZXMvdml0ZS1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvc2hpbXMvYnVmZmVyL2Rpc3QvaW5kZXguanMnKSxcbiAgICAgICAgJ3ZpdGUtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3NoaW1zL2dsb2JhbCc6IHJlc29sdmUoTGV4Q29uZmlnLmdldExleERpcigpLCAnbm9kZV9tb2R1bGVzL3ZpdGUtcGx1Z2luLW5vZGUtcG9seWZpbGxzL3NoaW1zL2dsb2JhbC9kaXN0L2luZGV4LmpzJyksXG4gICAgICAgICd2aXRlLXBsdWdpbi1ub2RlLXBvbHlmaWxscy9zaGltcy9wcm9jZXNzJzogcmVzb2x2ZShMZXhDb25maWcuZ2V0TGV4RGlyKCksICdub2RlX21vZHVsZXMvdml0ZS1wbHVnaW4tbm9kZS1wb2x5ZmlsbHMvc2hpbXMvcHJvY2Vzcy9kaXN0L2luZGV4LmpzJylcbiAgICAgIH0sXG4gICAgICBleHRlbnNpb25zOiBbJy5tanMnLCAnLmpzJywgJy50cycsICcudHN4JywgJy5qc3gnLCAnLmpzb24nLCAnLmdxbCcsICcuZ3JhcGhxbCddLFxuICAgICAgcHJlc2VydmVTeW1saW5rczogZmFsc2UsXG4gICAgICB0c2NvbmZpZ1BhdGhzOiB0cnVlXG4gICAgfSxcbiAgICByb290OiBzb3VyY2VQYXRoLFxuICAgIHNlcnZlcjoge1xuICAgICAgaG1yOiBmYWxzZSxcbiAgICAgIG9wZW46IG9wdGlvbnMub3BlbixcbiAgICAgIHBvcnQ6IG9wdGlvbnMucG9ydCxcbiAgICAgIHN0cmljdFBvcnQ6IHRydWVcbiAgICB9XG4gIH07XG5cbiAgaWYoIWhhc0h0bWxFbnRyeSAmJiBjb25maWcubGlicmFyeU5hbWUgJiYgIW9wdGlvbnMuc3NyKSB7XG4gICAgdml0ZUNvbmZpZy5idWlsZCA9IHtcbiAgICAgIC4uLnZpdGVDb25maWcuYnVpbGQsXG4gICAgICBsaWI6IHtcbiAgICAgICAgZW50cnk6IGVudHJ5UGF0aCxcbiAgICAgICAgZmlsZU5hbWU6ICgpID0+IGNvbmZpZy5vdXRwdXRGaWxlIHx8ICdpbmRleC5qcycsXG4gICAgICAgIGZvcm1hdHM6IGdldExpYnJhcnlGb3JtYXRzKGNvbmZpZy5saWJyYXJ5VGFyZ2V0KSxcbiAgICAgICAgbmFtZTogY29uZmlnLmxpYnJhcnlOYW1lXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtZXJnZUNvbmZpZyh2aXRlQ29uZmlnLCBjb25maWcudml0ZSB8fCB7fSkgYXMgSW5saW5lQ29uZmlnO1xufTtcbiJdLCJuYW1lcyI6WyJ0cmFuc2Zvcm0iLCJpbmplY3QiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIiwiZXh0bmFtZSIsInJlc29sdmUiLCJtZXJnZUNvbmZpZyIsIm5vZGVQb2x5ZmlsbHMiLCJMZXhDb25maWciLCJnZW5lcmF0ZUxleEZhdmljb25zIiwiZ2V0RGV2QXNzZXQiLCJjcmVhdGVJbmplY3RQbHVnaW4iLCJjb250ZW50VHlwZXMiLCJlbXB0eUNyeXB0b1BsdWdpbiIsImxvYWQiLCJpZCIsIm5hbWUiLCJyZXNvbHZlSWQiLCJncmFwaHFsUGx1Z2luIiwidGVzdCIsInNvdXJjZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJzd2NQbHVnaW4iLCJzb3VyY2VQYXRoIiwiZW5mb3JjZSIsImNsZWFuSWQiLCJzcGxpdCIsInN0YXJ0c1dpdGgiLCJzd2NDb25maWciLCJnZXRTV0NDb25maWdXaXRoUmVhY3RDb21waWxlciIsInJlc3VsdCIsImZpbGVuYW1lIiwibW9kdWxlIiwidHlwZSIsInNvdXJjZU1hcHMiLCJuZWVkc1JlYWN0IiwiY29kZSIsIm1hcCIsImltcG9ydE1ldGFDb21wYXRpYmlsaXR5UGx1Z2luIiwiaW5jbHVkZXMiLCJyZXBsYWNlbWVudCIsInJlcGxhY2VBbGwiLCJhc3NldHNEZXZQbHVnaW4iLCJmYXZpY29uSHRtbCIsImJ1aWxkU3RhcnQiLCJnZW5lcmF0ZWRGYXZpY29ucyIsImNvbmZpZyIsImh0bWwiLCJjb25maWd1cmVTZXJ2ZXIiLCJzZXJ2ZXIiLCJtaWRkbGV3YXJlcyIsInVzZSIsInJlcXVlc3QiLCJyZXNwb25zZSIsIm5leHQiLCJ1cmwiLCJhc3NldCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJlbmQiLCJ0cmFuc2Zvcm1JbmRleEh0bWwiLCJsZW5ndGgiLCJyZXBsYWNlIiwiam9pbiIsImFuYWx5emVyUGx1Z2luIiwiZW5hYmxlZCIsImdlbmVyYXRlQnVuZGxlIiwiX29wdGlvbnMiLCJidW5kbGUiLCJyZXBvcnQiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmlsZU5hbWUiLCJvdXRwdXQiLCJzaXplIiwiQnVmZmVyIiwiYnl0ZUxlbmd0aCIsImVtaXRGaWxlIiwiZ2V0TGlicmFyeUZvcm1hdHMiLCJsaWJyYXJ5VGFyZ2V0IiwicmVzb2x2ZVByb2plY3RQYWNrYWdlIiwicGFja2FnZU5hbWUiLCJwcm9qZWN0UGFja2FnZSIsInByb2Nlc3MiLCJjd2QiLCJnZXRMZXhEaXIiLCJjcmVhdGVMZXhWaXRlQ29uZmlnIiwib3B0aW9ucyIsInNvdXJjZUZ1bGxQYXRoIiwib3V0cHV0UGF0aCIsIm91dHB1dEZ1bGxQYXRoIiwiZW50cnlQYXRoIiwiZW50cnkiLCJlbnRyeUpzIiwiaHRtbFBhdGgiLCJlbnRyeUhUTUwiLCJoYXNIdG1sRW50cnkiLCJzc3IiLCJvdXRwdXRIYXNoIiwibW9kZSIsIm91dHB1dEZpbGUiLCJ2aXRlQ29uZmlnIiwiYXBwVHlwZSIsImJhc2UiLCJidWlsZCIsImNzc0NvZGVTcGxpdCIsImVtcHR5T3V0RGlyIiwibWluaWZ5Iiwib3V0RGlyIiwicm9sbGRvd25PcHRpb25zIiwiaW5wdXQiLCJhc3NldEZpbGVOYW1lcyIsImNodW5rRmlsZU5hbWVzIiwiZW50cnlGaWxlTmFtZXMiLCJtYW51YWxDaHVua3MiLCJ1bmRlZmluZWQiLCJzb3VyY2VtYXAiLCJzd2MiLCJ0YXJnZXQiLCJqc2MiLCJ0b1N0cmluZyIsImNsZWFyU2NyZWVuIiwiY29uZmlnRmlsZSIsImNzcyIsInBvc3Rjc3MiLCJkZWZpbmUiLCJjb21tYW5kIiwiZW52RGlyIiwibG9nTGV2ZWwiLCJxdWlldCIsInBsdWdpbnMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiaW5jbHVkZSIsIm92ZXJyaWRlcyIsImJ1ZmZlciIsInByb3RvY29sSW1wb3J0cyIsIkJvb2xlYW4iLCJhbmFseXplIiwicHVibGljRGlyIiwiYWxpYXMiLCJyYW5kb21ieXRlcyIsInJlYWN0IiwiZXh0ZW5zaW9ucyIsInByZXNlcnZlU3ltbGlua3MiLCJ0c2NvbmZpZ1BhdGhzIiwicm9vdCIsImhtciIsIm9wZW4iLCJwb3J0Iiwic3RyaWN0UG9ydCIsImxpYnJhcnlOYW1lIiwibGliIiwiZm9ybWF0cyIsInZpdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLFNBQVMsUUFBTyxZQUFZO0FBQ3BDLE9BQU9DLFlBQVksd0JBQXdCO0FBQzNDLFNBQVFDLFVBQVUsRUFBRUMsWUFBWSxRQUFPLEtBQUs7QUFDNUMsU0FBUUMsT0FBTyxFQUFFQyxPQUFPLFFBQU8sT0FBTztBQUN0QyxTQUFRQyxXQUFXLFFBQU8sT0FBTztBQUNqQyxTQUFRQyxhQUFhLFFBQU8sNkJBQTZCO0FBRXpELFNBQVFDLFNBQVMsUUFBTyxxQkFBcUI7QUFDN0MsU0FBUUMsbUJBQW1CLEVBQUVDLFdBQVcsUUFB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
|
|
272
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy92aXRlL2NvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHt0cmFuc2Zvcm19IGZyb20gJ0Bzd2MvY29yZSc7XG5pbXBvcnQgaW5qZWN0IGZyb20gJ0Byb2xsdXAvcGx1Z2luLWluamVjdCc7XG5pbXBvcnQge2V4aXN0c1N5bmMsIHJlYWRGaWxlU3luY30gZnJvbSAnZnMnO1xuaW1wb3J0IHtleHRuYW1lLCByZXNvbHZlfSBmcm9tICdwYXRoJztcbmltcG9ydCB7bWVyZ2VDb25maWd9IGZyb20gJ3ZpdGUnO1xuXG5pbXBvcnQge0xleENvbmZpZ30gZnJvbSAnLi4vLi4vTGV4Q29uZmlnLmpzJztcbmltcG9ydCB7Z2VuZXJhdGVMZXhGYXZpY29ucywgZ2V0RGV2QXNzZXR9IGZyb20gJy4vYXNzZXRzLmpzJztcblxuaW1wb3J0IHR5cGUge0lubGluZUNvbmZpZywgUGx1Z2lufSBmcm9tICd2aXRlJztcblxuY29uc3QgY3JlYXRlSW5qZWN0UGx1Z2luID0gaW5qZWN0IGFzIHVua25vd24gYXMgKG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiBQbHVnaW47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGV4Vml0ZU9wdGlvbnMge1xuICByZWFkb25seSBhbmFseXplPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgY29tbWFuZDogJ2J1aWxkJyB8ICdzZXJ2ZSc7XG4gIHJlYWRvbmx5IGVudHJ5Pzogc3RyaW5nO1xuICByZWFkb25seSBtb2RlPzogc3RyaW5nO1xuICByZWFkb25seSBvcGVuPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgcG9ydD86IG51bWJlcjtcbiAgcmVhZG9ubHkgcXVpZXQ/OiBib29sZWFuO1xuICByZWFkb25seSBzc3I/OiBib29sZWFuO1xufVxuXG5jb25zdCBjb250ZW50VHlwZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICcuY3NzJzogJ3RleHQvY3NzJyxcbiAgJy5naWYnOiAnaW1hZ2UvZ2lmJyxcbiAgJy5odG1sJzogJ3RleHQvaHRtbCcsXG4gICcuaWNvJzogJ2ltYWdlL3gtaWNvbicsXG4gICcuanBlZyc6ICdpbWFnZS9qcGVnJyxcbiAgJy5qcGcnOiAnaW1hZ2UvanBlZycsXG4gICcuanNvbic6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgJy5wbmcnOiAnaW1hZ2UvcG5nJyxcbiAgJy5zdmcnOiAnaW1hZ2Uvc3ZnK3htbCcsXG4gICcudHRmJzogJ2ZvbnQvdHRmJyxcbiAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICcud29mZic6ICdmb250L3dvZmYnLFxuICAnLndvZmYyJzogJ2ZvbnQvd29mZjInXG59O1xuXG5jb25zdCBlbXB0eUNyeXB0b1BsdWdpbiA9ICgpOiBQbHVnaW4gPT4gKHtcbiAgbG9hZChpZCkge1xuICAgIHJldHVybiBpZCA9PT0gJ1xcMGxleC1lbXB0eS1jcnlwdG8nID8gJ2V4cG9ydCBkZWZhdWx0IHt9OyBleHBvcnQgY29uc3Qgd2ViY3J5cHRvID0gdW5kZWZpbmVkOycgOiBudWxsO1xuICB9LFxuICBuYW1lOiAnbGV4LWVtcHR5LWNyeXB0bycsXG4gIHJlc29sdmVJZChpZCkge1xuICAgIHJldHVybiBpZCA9PT0gJ2NyeXB0bycgfHwgaWQgPT09ICdub2RlOmNyeXB0bycgPyAnXFwwbGV4LWVtcHR5LWNyeXB0bycgOiBudWxsO1xuICB9XG59KTtcblxuY29uc3Qgbm9kZVBvbHlmaWxsTW9kdWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgYXNzZXJ0OiAnYXNzZXJ0L2J1aWxkL2Fzc2VydC5qcycsXG4gIGJ1ZmZlcjogJ2J1ZmZlci9pbmRleC5qcycsXG4gIGh0dHA6ICdzdHJlYW0taHR0cC9pbmRleC5qcycsXG4gIGh0dHBzOiAnaHR0cHMtYnJvd3NlcmlmeS9pbmRleC5qcycsXG4gIG9zOiAnb3MtYnJvd3NlcmlmeS9icm93c2VyLmpzJyxcbiAgcGF0aDogJ3BhdGgtYnJvd3NlcmlmeS9pbmRleC5qcycsXG4gIHByb2Nlc3M6ICdwcm9jZXNzL2Jyb3dzZXIuanMnLFxuICBzdHJlYW06ICdzdHJlYW0tYnJvd3NlcmlmeS9pbmRleC5qcycsXG4gIHV0aWw6ICd1dGlsL3V0aWwuanMnLFxuICB2bTogJ3ZtLWJyb3dzZXJpZnkvaW5kZXguanMnXG59O1xuXG5jb25zdCBub2RlUG9seWZpbGxzUGx1Z2luID0gKCk6IFBsdWdpbiA9PiAoe1xuICBuYW1lOiAnbGV4LW5vZGUtcG9seWZpbGxzJyxcbiAgcmVzb2x2ZUlkKGlkKSB7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGlkLnN0YXJ0c1dpdGgoJ25vZGU6JykgPyBpZC5zbGljZSg1KSA6IGlkO1xuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gbm9kZVBvbHlmaWxsTW9kdWxlc1ttb2R1bGVOYW1lXTtcbiAgICByZXR1cm4gcmVwbGFjZW1lbnQgPyByZXNvbHZlUHJvamVjdFBhY2thZ2UocmVwbGFjZW1lbnQpIDogbnVsbDtcbiAgfVxufSk7XG5cbmNvbnN0IGdyYXBocWxQbHVnaW4gPSAoKTogUGx1Z2luID0+ICh7XG4gIGxvYWQoaWQpIHtcbiAgICBpZighL1xcLihncWx8Z3JhcGhxbCkkLy50ZXN0KGlkKSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3Qgc291cmNlID0gSlNPTi5zdHJpbmdpZnkocmVhZEZpbGVTeW5jKGlkLCAndXRmOCcpKTtcbiAgICByZXR1cm4gYGltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnOyBleHBvcnQgZGVmYXVsdCBncWwoJHtzb3VyY2V9KTtgO1xuICB9LFxuICBuYW1lOiAnbGV4LWdyYXBocWwnXG59KTtcblxuY29uc3Qgc3djUGx1Z2luID0gKHNvdXJjZVBhdGg6IHN0cmluZyk6IFBsdWdpbiA9PiAoe1xuICBlbmZvcmNlOiAncHJlJyxcbiAgYXN5bmMgdHJhbnNmb3JtKHNvdXJjZSwgaWQpIHtcbiAgICBjb25zdCBjbGVhbklkID0gaWQuc3BsaXQoJz8nKVswXTtcbiAgICBpZighY2xlYW5JZC5zdGFydHNXaXRoKHNvdXJjZVBhdGgpIHx8ICEvXFwuW2p0XXN4PyQvLnRlc3QoY2xlYW5JZCkgfHwgL1xcLih0ZXN0fHNwZWN8aW50ZWdyYXRpb258ZTJlKVxcLltqdF1zeD8kLy50ZXN0KGNsZWFuSWQpKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHN3Y0NvbmZpZyA9IExleENvbmZpZy5nZXRTV0NDb25maWdXaXRoUmVhY3RDb21waWxlcigpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybShzb3VyY2UsIHtcbiAgICAgIC4uLnN3Y0NvbmZpZyxcbiAgICAgIGZpbGVuYW1lOiBjbGVhbklkLFxuICAgICAgbW9kdWxlOiB7Li4uc3djQ29uZmlnPy5tb2R1bGUsIHR5cGU6ICdlczYnfSxcbiAgICAgIHNvdXJjZU1hcHM6IHRydWVcbiAgICB9KTtcblxuICAgIGNvbnN0IG5lZWRzUmVhY3QgPSAvXFxiUmVhY3RcXHMqXFwuLy50ZXN0KHJlc3VsdC5jb2RlKSAmJiAhL2Zyb21cXHMrWydcIl1yZWFjdFsnXCJdLy50ZXN0KHJlc3VsdC5jb2RlKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29kZTogbmVlZHNSZWFjdCA/IGBpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xcbiR7cmVzdWx0LmNvZGV9YCA6IHJlc3VsdC5jb2RlLFxuICAgICAgbWFwOiByZXN1bHQubWFwIHx8IG51bGxcbiAgICB9O1xuICB9LFxuICBuYW1lOiAnbGV4LXN3Yydcbn0pO1xuXG5jb25zdCBpbXBvcnRNZXRhQ29tcGF0aWJpbGl0eVBsdWdpbiA9IChzb3VyY2VQYXRoOiBzdHJpbmcpOiBQbHVnaW4gPT4gKHtcbiAgZW5mb3JjZTogJ3Bvc3QnLFxuICBuYW1lOiAnbGV4LWltcG9ydC1tZXRhLWNvbXBhdGliaWxpdHknLFxuICB0cmFuc2Zvcm0oc291cmNlLCBpZCkge1xuICAgIGNvbnN0IGNsZWFuSWQgPSBpZC5zcGxpdCgnPycpWzBdO1xuICAgIGlmKCFjbGVhbklkLnN0YXJ0c1dpdGgoc291cmNlUGF0aCkgfHwgIXNvdXJjZS5pbmNsdWRlcygnaW1wb3J0Lm1ldGEudXJsJykpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSAnKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudC5jdXJyZW50U2NyaXB0ICYmIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjID8gbmV3IFVSTChkb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYywgd2luZG93LmxvY2F0aW9uLmhyZWYpLmhyZWYgOiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IG5ldyBVUkwoXCJcIiwgd2luZG93LmxvY2F0aW9uLmhyZWYpLmhyZWYgOiBcIlwiKSknO1xuICAgIHJldHVybiBzb3VyY2UucmVwbGFjZUFsbCgnaW1wb3J0Lm1ldGEudXJsJywgcmVwbGFjZW1lbnQpO1xuICB9XG59KTtcblxuY29uc3QgYXNzZXRzRGV2UGx1Z2luID0gKCk6IFBsdWdpbiA9PiB7XG4gIGxldCBmYXZpY29uSHRtbDogc3RyaW5nW10gPSBbXTtcblxuICByZXR1cm4ge1xuICAgIGFzeW5jIGJ1aWxkU3RhcnQoKSB7XG4gICAgICBjb25zdCBnZW5lcmF0ZWRGYXZpY29ucyA9IGF3YWl0IGdlbmVyYXRlTGV4RmF2aWNvbnMoTGV4Q29uZmlnLmNvbmZpZyk7XG4gICAgICBmYXZpY29uSHRtbCA9IGdlbmVyYXRlZEZhdmljb25zPy5odG1sIHx8IFtdO1xuICAgIH0sXG4gICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikge1xuICAgICAgc2VydmVyLm1pZGRsZXdhcmVzLnVzZShhc3luYyAocmVxdWVzdCwgcmVzcG9uc2UsIG5leHQpID0+IHtcbiAgICAgICAgaWYoIXJlcXVlc3QudXJsKSByZXR1cm4gbmV4dCgpO1xuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IGdldERldkFzc2V0KExleENvbmZpZy5jb25maWcsIHJlcXVlc3QudXJsKTtcbiAgICAgICAgaWYoIWFzc2V0KSByZXR1cm4gbmV4dCgpO1xuXG4gICAgICAgIHJlc3BvbnNlLnN0YXR1c0NvZGUgPSAyMDA7XG4gICAgICAgIHJlc3BvbnNlLnNldEhlYWRlcignQ29udGVudC1UeXBlJywgY29udGVudFR5cGVzW2V4dG5hbWUocmVxdWVzdC51cmwuc3BsaXQoJz8nKVswXSldIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKTtcbiAgICAgICAgcmVzcG9uc2UuZW5kKGFzc2V0KTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgbmFtZTogJ2xleC1hc3NldHMtZGV2JyxcbiAgICB0cmFuc2Zvcm1JbmRleEh0bWwoaHRtbCkge1xuICAgICAgaWYoZmF2aWNvbkh0bWwubGVuZ3RoID09PSAwKSByZXR1cm4gaHRtbDtcbiAgICAgIHJldHVybiBodG1sLnJlcGxhY2UoJzwvaGVhZD4nLCBgICAgICR7ZmF2aWNvbkh0bWwuam9pbignXFxuICAgICcpfVxcbiAgPC9oZWFkPmApO1xuICAgIH1cbiAgfTtcbn07XG5cbmNvbnN0IGFuYWx5emVyUGx1Z2luID0gKGVuYWJsZWQ6IGJvb2xlYW4pOiBQbHVnaW4gPT4gKHtcbiAgZ2VuZXJhdGVCdW5kbGUoX29wdGlvbnMsIGJ1bmRsZSkge1xuICAgIGlmKCFlbmFibGVkKSByZXR1cm47XG5cbiAgICBjb25zdCByZXBvcnQgPSBPYmplY3QuZW50cmllcyhidW5kbGUpLm1hcCgoW2ZpbGVOYW1lLCBvdXRwdXRdKSA9PiAoe1xuICAgICAgZmlsZU5hbWUsXG4gICAgICBzaXplOiBvdXRwdXQudHlwZSA9PT0gJ2Fzc2V0J1xuICAgICAgICA/IEJ1ZmZlci5ieXRlTGVuZ3RoKHR5cGVvZiBvdXRwdXQuc291cmNlID09PSAnc3RyaW5nJyA/IG91dHB1dC5zb3VyY2UgOiBvdXRwdXQuc291cmNlKVxuICAgICAgICA6IEJ1ZmZlci5ieXRlTGVuZ3RoKG91dHB1dC5jb2RlKSxcbiAgICAgIHR5cGU6IG91dHB1dC50eXBlXG4gICAgfSkpO1xuXG4gICAgdGhpcy5lbWl0RmlsZSh7ZmlsZU5hbWU6ICdidW5kbGUtcmVwb3J0Lmpzb24nLCBzb3VyY2U6IEpTT04uc3RyaW5naWZ5KHJlcG9ydCwgbnVsbCwgMiksIHR5cGU6ICdhc3NldCd9KTtcbiAgfSxcbiAgbmFtZTogJ2xleC1idW5kbGUtYW5hbHl6ZXInXG59KTtcblxuY29uc3QgZ2V0TGlicmFyeUZvcm1hdHMgPSAobGlicmFyeVRhcmdldD86IHN0cmluZyk6IEFycmF5PCdjanMnIHwgJ2VzJyB8ICdpaWZlJyB8ICd1bWQnPiA9PiB7XG4gIGlmKGxpYnJhcnlUYXJnZXQgPT09ICdjb21tb25qcycgfHwgbGlicmFyeVRhcmdldCA9PT0gJ2NvbW1vbmpzMicpIHJldHVybiBbJ2NqcyddO1xuICBpZihsaWJyYXJ5VGFyZ2V0ID09PSAndmFyJyB8fCBsaWJyYXJ5VGFyZ2V0ID09PSAnd2luZG93JykgcmV0dXJuIFsnaWlmZSddO1xuICBpZihsaWJyYXJ5VGFyZ2V0ID09PSAndW1kJykgcmV0dXJuIFsndW1kJ107XG4gIHJldHVybiBbJ2VzJ107XG59O1xuXG5jb25zdCByZXNvbHZlUHJvamVjdFBhY2thZ2UgPSAocGFja2FnZU5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IHByb2plY3RQYWNrYWdlID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCAnbm9kZV9tb2R1bGVzJywgcGFja2FnZU5hbWUpO1xuICByZXR1cm4gZXhpc3RzU3luYyhwcm9qZWN0UGFja2FnZSkgPyBwcm9qZWN0UGFja2FnZSA6IHJlc29sdmUoTGV4Q29uZmlnLmdldExleERpcigpLCAnbm9kZV9tb2R1bGVzJywgcGFja2FnZU5hbWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxleFZpdGVDb25maWcgPSAob3B0aW9uczogTGV4Vml0ZU9wdGlvbnMpOiBJbmxpbmVDb25maWcgPT4ge1xuICBjb25zdCBjb25maWcgPSBMZXhDb25maWcuY29uZmlnO1xuICBjb25zdCBzb3VyY2VQYXRoID0gY29uZmlnLnNvdXJjZUZ1bGxQYXRoIHx8IHJlc29sdmUocHJvY2Vzcy5jd2QoKSwgY29uZmlnLnNvdXJjZVBhdGggfHwgJy4vc3JjJyk7XG4gIGNvbnN0IG91dHB1dFBhdGggPSBjb25maWcub3V0cHV0RnVsbFBhdGggfHwgcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBjb25maWcub3V0cHV0UGF0aCB8fCAnLi9saWInKTtcbiAgY29uc3QgZW50cnlQYXRoID0gcmVzb2x2ZShzb3VyY2VQYXRoLCBvcHRpb25zLmVudHJ5IHx8IGNvbmZpZy5lbnRyeUpzIHx8ICdpbmRleC5qcycpO1xuICBjb25zdCBodG1sUGF0aCA9IHJlc29sdmUoc291cmNlUGF0aCwgY29uZmlnLmVudHJ5SFRNTCB8fCAnaW5kZXguaHRtbCcpO1xuICBjb25zdCBoYXNIdG1sRW50cnkgPSBleGlzdHNTeW5jKGh0bWxQYXRoKSAmJiAhb3B0aW9ucy5zc3I7XG4gIGNvbnN0IG91dHB1dEhhc2ggPSBjb25maWcub3V0cHV0SGFzaCB8fCBvcHRpb25zLm1vZGUgPT09ICdwcm9kdWN0aW9uJztcbiAgY29uc3QgZmlsZU5hbWUgPSBjb25maWcub3V0cHV0RmlsZSB8fCAob3V0cHV0SGFzaCA/ICdbbmFtZV0uW2hhc2hdLmpzJyA6ICdbbmFtZV0uanMnKTtcblxuICBjb25zdCB2aXRlQ29uZmlnOiBJbmxpbmVDb25maWcgPSB7XG4gICAgYXBwVHlwZTogaGFzSHRtbEVudHJ5ID8gJ3NwYScgOiAnY3VzdG9tJyxcbiAgICBiYXNlOiAnLycsXG4gICAgYnVpbGQ6IHtcbiAgICAgIGNzc0NvZGVTcGxpdDogdHJ1ZSxcbiAgICAgIGVtcHR5T3V0RGlyOiBmYWxzZSxcbiAgICAgIG1pbmlmeTogb3B0aW9ucy5tb2RlID09PSAncHJvZHVjdGlvbicsXG4gICAgICBvdXREaXI6IG91dHB1dFBhdGgsXG4gICAgICByb2xsZG93bk9wdGlvbnM6IHtcbiAgICAgICAgaW5wdXQ6IGhhc0h0bWxFbnRyeSA/IGh0bWxQYXRoIDogZW50cnlQYXRoLFxuICAgICAgICBvdXRwdXQ6IHtcbiAgICAgICAgICBhc3NldEZpbGVOYW1lczogb3V0cHV0SGFzaCA/ICdhc3NldHMvW25hbWVdLltoYXNoXVtleHRuYW1lXScgOiAnYXNzZXRzL1tuYW1lXVtleHRuYW1lXScsXG4gICAgICAgICAgY2h1bmtGaWxlTmFtZXM6IG91dHB1dEhhc2ggPyAnW25hbWVdLltoYXNoXS5jaHVuay5qcycgOiAnW25hbWVdLmNodW5rLmpzJyxcbiAgICAgICAgICBlbnRyeUZpbGVOYW1lczogZmlsZU5hbWUsXG4gICAgICAgICAgbWFudWFsQ2h1bmtzKGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gaWQuaW5jbHVkZXMoJy9ub2RlX21vZHVsZXMvJykgPyAndmVuZG9ycycgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgc291cmNlbWFwOiBjb25maWcuc3djPy5zb3VyY2VNYXBzID8gdHJ1ZSA6IGZhbHNlLFxuICAgICAgc3NyOiBvcHRpb25zLnNzciA/IGVudHJ5UGF0aCA6IGZhbHNlLFxuICAgICAgdGFyZ2V0OiBjb25maWcuc3djPy5qc2M/LnRhcmdldD8udG9TdHJpbmcoKSB8fCAnZXMyMDIwJ1xuICAgIH0sXG4gICAgY2xlYXJTY3JlZW46IGZhbHNlLFxuICAgIGNvbmZpZ0ZpbGU6IGZhbHNlLFxuICAgIGNzczoge1xuICAgICAgcG9zdGNzczogcmVzb2x2ZShMZXhDb25maWcuZ2V0TGV4RGlyKCksICdwb3N0Y3NzLmNvbmZpZy5qcycpXG4gICAgfSxcbiAgICBkZWZpbmU6IHtcbiAgICAgICdwcm9jZXNzLmVudi5OT0RFX0VOVic6IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMubW9kZSB8fCAob3B0aW9ucy5jb21tYW5kID09PSAnYnVpbGQnID8gJ3Byb2R1Y3Rpb24nIDogJ2RldmVsb3BtZW50JykpXG4gICAgfSxcbiAgICBlbnZEaXI6IHByb2Nlc3MuY3dkKCksXG4gICAgbG9nTGV2ZWw6IG9wdGlvbnMucXVpZXQgPyAnc2lsZW50JyA6ICdpbmZvJyxcbiAgICBtb2RlOiBvcHRpb25zLm1vZGUgfHwgKG9wdGlvbnMuY29tbWFuZCA9PT0gJ2J1aWxkJyA/ICdwcm9kdWN0aW9uJyA6ICdkZXZlbG9wbWVudCcpLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIC4uLihvcHRpb25zLnNzciA/IFtdIDogW1xuICAgICAgICBlbXB0eUNyeXB0b1BsdWdpbigpLFxuICAgICAgICBub2RlUG9seWZpbGxzUGx1Z2luKCksXG4gICAgICAgIGNyZWF0ZUluamVjdFBsdWdpbih7XG4gICAgICAgICAgQnVmZmVyOiBbcmVzb2x2ZVByb2plY3RQYWNrYWdlKCdidWZmZXIvaW5kZXguanMnKSwgJ0J1ZmZlciddLFxuICAgICAgICAgIGdsb2JhbDogW3Jlc29sdmVQcm9qZWN0UGFja2FnZSgnZ2xvYmFsL3dpbmRvdy5qcycpLCAnZGVmYXVsdCddLFxuICAgICAgICAgIHByb2Nlc3M6IFtyZXNvbHZlUHJvamVjdFBhY2thZ2UoJ3Byb2Nlc3MvYnJvd3Nlci5qcycpLCAnZGVmYXVsdCddXG4gICAgICAgIH0pXG4gICAgICBdKSxcbiAgICAgIHN3Y1BsdWdpbihzb3VyY2VQYXRoKSxcbiAgICAgIGdyYXBocWxQbHVnaW4oKSxcbiAgICAgIC4uLihvcHRpb25zLnNzciA/IFtdIDogW2ltcG9ydE1ldGFDb21wYXRpYmlsaXR5UGx1Z2luKHNvdXJjZVBhdGgpLCBhc3NldHNEZXZQbHVnaW4oKSwgYW5hbHl6ZXJQbHVnaW4oQm9vbGVhbihvcHRpb25zLmFuYWx5emUpKV0pXG4gICAgXSxcbiAgICBwdWJsaWNEaXI6IGZhbHNlLFxuICAgIHJlc29sdmU6IHtcbiAgICAgIGFsaWFzOiB7XG4gICAgICAgIEJ1ZmZlcjogcmVzb2x2ZVByb2plY3RQYWNrYWdlKCdidWZmZXInKSxcbiAgICAgICAgJ2NvcmUtanMnOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ2NvcmUtanMnKSxcbiAgICAgICAgZ2xvYmFsOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ2dsb2JhbCcpLFxuICAgICAgICAnZ3JhcGhxbC10YWcnOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ2dyYXBocWwtdGFnJyksXG4gICAgICAgIHJhbmRvbWJ5dGVzOiByZXNvbHZlKExleENvbmZpZy5nZXRMZXhEaXIoKSwgJ25vZGVfbW9kdWxlcy9yYW5kb21ieXRlcycpLFxuICAgICAgICByZWFjdDogcmVzb2x2ZVByb2plY3RQYWNrYWdlKCdyZWFjdCcpLFxuICAgICAgICAncmVhY3QtZG9tJzogcmVzb2x2ZVByb2plY3RQYWNrYWdlKCdyZWFjdC1kb20nKSxcbiAgICAgICAgJ3JlZ2VuZXJhdG9yLXJ1bnRpbWUnOiByZXNvbHZlUHJvamVjdFBhY2thZ2UoJ3JlZ2VuZXJhdG9yLXJ1bnRpbWUnKVxuICAgICAgfSxcbiAgICAgIGV4dGVuc2lvbnM6IFsnLm1qcycsICcuanMnLCAnLnRzJywgJy50c3gnLCAnLmpzeCcsICcuanNvbicsICcuZ3FsJywgJy5ncmFwaHFsJ10sXG4gICAgICBwcmVzZXJ2ZVN5bWxpbmtzOiBmYWxzZSxcbiAgICAgIHRzY29uZmlnUGF0aHM6IHRydWVcbiAgICB9LFxuICAgIHJvb3Q6IHNvdXJjZVBhdGgsXG4gICAgc2VydmVyOiB7XG4gICAgICBobXI6IGZhbHNlLFxuICAgICAgb3Blbjogb3B0aW9ucy5vcGVuLFxuICAgICAgcG9ydDogb3B0aW9ucy5wb3J0LFxuICAgICAgc3RyaWN0UG9ydDogdHJ1ZVxuICAgIH1cbiAgfTtcblxuICBpZighaGFzSHRtbEVudHJ5ICYmIGNvbmZpZy5saWJyYXJ5TmFtZSAmJiAhb3B0aW9ucy5zc3IpIHtcbiAgICB2aXRlQ29uZmlnLmJ1aWxkID0ge1xuICAgICAgLi4udml0ZUNvbmZpZy5idWlsZCxcbiAgICAgIGxpYjoge1xuICAgICAgICBlbnRyeTogZW50cnlQYXRoLFxuICAgICAgICBmaWxlTmFtZTogKCkgPT4gY29uZmlnLm91dHB1dEZpbGUgfHwgJ2luZGV4LmpzJyxcbiAgICAgICAgZm9ybWF0czogZ2V0TGlicmFyeUZvcm1hdHMoY29uZmlnLmxpYnJhcnlUYXJnZXQpLFxuICAgICAgICBuYW1lOiBjb25maWcubGlicmFyeU5hbWVcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1lcmdlQ29uZmlnKHZpdGVDb25maWcsIGNvbmZpZy52aXRlIHx8IHt9KSBhcyBJbmxpbmVDb25maWc7XG59O1xuIl0sIm5hbWVzIjpbInRyYW5zZm9ybSIsImluamVjdCIsImV4aXN0c1N5bmMiLCJyZWFkRmlsZVN5bmMiLCJleHRuYW1lIiwicmVzb2x2ZSIsIm1lcmdlQ29uZmlnIiwiTGV4Q29uZmlnIiwiZ2VuZXJhdGVMZXhGYXZpY29ucyIsImdldERldkFzc2V0IiwiY3JlYXRlSW5qZWN0UGx1Z2luIiwiY29udGVudFR5cGVzIiwiZW1wdHlDcnlwdG9QbHVnaW4iLCJsb2FkIiwiaWQiLCJuYW1lIiwicmVzb2x2ZUlkIiwibm9kZVBvbHlmaWxsTW9kdWxlcyIsImFzc2VydCIsImJ1ZmZlciIsImh0dHAiLCJodHRwcyIsIm9zIiwicGF0aCIsInByb2Nlc3MiLCJzdHJlYW0iLCJ1dGlsIiwidm0iLCJub2RlUG9seWZpbGxzUGx1Z2luIiwibW9kdWxlTmFtZSIsInN0YXJ0c1dpdGgiLCJzbGljZSIsInJlcGxhY2VtZW50IiwicmVzb2x2ZVByb2plY3RQYWNrYWdlIiwiZ3JhcGhxbFBsdWdpbiIsInRlc3QiLCJzb3VyY2UiLCJKU09OIiwic3RyaW5naWZ5Iiwic3djUGx1Z2luIiwic291cmNlUGF0aCIsImVuZm9yY2UiLCJjbGVhbklkIiwic3BsaXQiLCJzd2NDb25maWciLCJnZXRTV0NDb25maWdXaXRoUmVhY3RDb21waWxlciIsInJlc3VsdCIsImZpbGVuYW1lIiwibW9kdWxlIiwidHlwZSIsInNvdXJjZU1hcHMiLCJuZWVkc1JlYWN0IiwiY29kZSIsIm1hcCIsImltcG9ydE1ldGFDb21wYXRpYmlsaXR5UGx1Z2luIiwiaW5jbHVkZXMiLCJyZXBsYWNlQWxsIiwiYXNzZXRzRGV2UGx1Z2luIiwiZmF2aWNvbkh0bWwiLCJidWlsZFN0YXJ0IiwiZ2VuZXJhdGVkRmF2aWNvbnMiLCJjb25maWciLCJodG1sIiwiY29uZmlndXJlU2VydmVyIiwic2VydmVyIiwibWlkZGxld2FyZXMiLCJ1c2UiLCJyZXF1ZXN0IiwicmVzcG9uc2UiLCJuZXh0IiwidXJsIiwiYXNzZXQiLCJzdGF0dXNDb2RlIiwic2V0SGVhZGVyIiwiZW5kIiwidHJhbnNmb3JtSW5kZXhIdG1sIiwibGVuZ3RoIiwicmVwbGFjZSIsImpvaW4iLCJhbmFseXplclBsdWdpbiIsImVuYWJsZWQiLCJnZW5lcmF0ZUJ1bmRsZSIsIl9vcHRpb25zIiwiYnVuZGxlIiwicmVwb3J0IiwiT2JqZWN0IiwiZW50cmllcyIsImZpbGVOYW1lIiwib3V0cHV0Iiwic2l6ZSIsIkJ1ZmZlciIsImJ5dGVMZW5ndGgiLCJlbWl0RmlsZSIsImdldExpYnJhcnlGb3JtYXRzIiwibGlicmFyeVRhcmdldCIsInBhY2thZ2VOYW1lIiwicHJvamVjdFBhY2thZ2UiLCJjd2QiLCJnZXRMZXhEaXIiLCJjcmVhdGVMZXhWaXRlQ29uZmlnIiwib3B0aW9ucyIsInNvdXJjZUZ1bGxQYXRoIiwib3V0cHV0UGF0aCIsIm91dHB1dEZ1bGxQYXRoIiwiZW50cnlQYXRoIiwiZW50cnkiLCJlbnRyeUpzIiwiaHRtbFBhdGgiLCJlbnRyeUhUTUwiLCJoYXNIdG1sRW50cnkiLCJzc3IiLCJvdXRwdXRIYXNoIiwibW9kZSIsIm91dHB1dEZpbGUiLCJ2aXRlQ29uZmlnIiwiYXBwVHlwZSIsImJhc2UiLCJidWlsZCIsImNzc0NvZGVTcGxpdCIsImVtcHR5T3V0RGlyIiwibWluaWZ5Iiwib3V0RGlyIiwicm9sbGRvd25PcHRpb25zIiwiaW5wdXQiLCJhc3NldEZpbGVOYW1lcyIsImNodW5rRmlsZU5hbWVzIiwiZW50cnlGaWxlTmFtZXMiLCJtYW51YWxDaHVua3MiLCJ1bmRlZmluZWQiLCJzb3VyY2VtYXAiLCJzd2MiLCJ0YXJnZXQiLCJqc2MiLCJ0b1N0cmluZyIsImNsZWFyU2NyZWVuIiwiY29uZmlnRmlsZSIsImNzcyIsInBvc3Rjc3MiLCJkZWZpbmUiLCJjb21tYW5kIiwiZW52RGlyIiwibG9nTGV2ZWwiLCJxdWlldCIsInBsdWdpbnMiLCJnbG9iYWwiLCJCb29sZWFuIiwiYW5hbHl6ZSIsInB1YmxpY0RpciIsImFsaWFzIiwicmFuZG9tYnl0ZXMiLCJyZWFjdCIsImV4dGVuc2lvbnMiLCJwcmVzZXJ2ZVN5bWxpbmtzIiwidHNjb25maWdQYXRocyIsInJvb3QiLCJobXIiLCJvcGVuIiwicG9ydCIsInN0cmljdFBvcnQiLCJsaWJyYXJ5TmFtZSIsImxpYiIsImZvcm1hdHMiLCJ2aXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxTQUFTLFFBQU8sWUFBWTtBQUNwQyxPQUFPQyxZQUFZLHdCQUF3QjtBQUMzQyxTQUFRQyxVQUFVLEVBQUVDLFlBQVksUUFBTyxLQUFLO0FBQzVDLFNBQVFDLE9BQU8sRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDdEMsU0FBUUMsV0FBVyxRQUFPLE9BQU87QUFFakMsU0FBUUMsU0FBUyxRQUFPLHFCQUFxQjtBQUM3QyxTQUFRQyxtQkFBbUIsRUFBRUMsV0FBVyxRQUFPLGNBQWM7QUFJN0QsTUFBTUMscUJBQXFCVDtBQWEzQixNQUFNVSxlQUF1QztJQUMzQyxRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztJQUNULFFBQVE7SUFDUixTQUFTO0lBQ1QsUUFBUTtJQUNSLFFBQVE7SUFDUixRQUFRO0lBQ1IsUUFBUTtJQUNSLFNBQVM7SUFDVCxVQUFVO0FBQ1o7QUFFQSxNQUFNQyxvQkFBb0IsSUFBZSxDQUFBO1FBQ3ZDQyxNQUFLQyxFQUFFO1lBQ0wsT0FBT0EsT0FBTyx1QkFBdUIsMkRBQTJEO1FBQ2xHO1FBQ0FDLE1BQU07UUFDTkMsV0FBVUYsRUFBRTtZQUNWLE9BQU9BLE9BQU8sWUFBWUEsT0FBTyxnQkFBZ0IsdUJBQXVCO1FBQzFFO0lBQ0YsQ0FBQTtBQUVBLE1BQU1HLHNCQUE4QztJQUNsREMsUUFBUTtJQUNSQyxRQUFRO0lBQ1JDLE1BQU07SUFDTkMsT0FBTztJQUNQQyxJQUFJO0lBQ0pDLE1BQU07SUFDTkMsU0FBUztJQUNUQyxRQUFRO0lBQ1JDLE1BQU07SUFDTkMsSUFBSTtBQUNOO0FBRUEsTUFBTUMsc0JBQXNCLElBQWUsQ0FBQTtRQUN6Q2IsTUFBTTtRQUNOQyxXQUFVRixFQUFFO1lBQ1YsTUFBTWUsYUFBYWYsR0FBR2dCLFVBQVUsQ0FBQyxXQUFXaEIsR0FBR2lCLEtBQUssQ0FBQyxLQUFLakI7WUFDMUQsTUFBTWtCLGNBQWNmLG1CQUFtQixDQUFDWSxXQUFXO1lBQ25ELE9BQU9HLGNBQWNDLHNCQUFzQkQsZUFBZTtRQUM1RDtJQUNGLENBQUE7QUFFQSxNQUFNRSxnQkFBZ0IsSUFBZSxDQUFBO1FBQ25DckIsTUFBS0MsRUFBRTtZQUNMLElBQUcsQ0FBQyxtQkFBbUJxQixJQUFJLENBQUNyQixLQUFLLE9BQU87WUFDeEMsTUFBTXNCLFNBQVNDLEtBQUtDLFNBQVMsQ0FBQ25DLGFBQWFXLElBQUk7WUFDL0MsT0FBTyxDQUFDLGtEQUFrRCxFQUFFc0IsT0FBTyxFQUFFLENBQUM7UUFDeEU7UUFDQXJCLE1BQU07SUFDUixDQUFBO0FBRUEsTUFBTXdCLFlBQVksQ0FBQ0MsYUFBZ0MsQ0FBQTtRQUNqREMsU0FBUztRQUNULE1BQU16QyxXQUFVb0MsTUFBTSxFQUFFdEIsRUFBRTtZQUN4QixNQUFNNEIsVUFBVTVCLEdBQUc2QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEMsSUFBRyxDQUFDRCxRQUFRWixVQUFVLENBQUNVLGVBQWUsQ0FBQyxhQUFhTCxJQUFJLENBQUNPLFlBQVksMENBQTBDUCxJQUFJLENBQUNPLFVBQVUsT0FBTztZQUVySSxNQUFNRSxZQUFZckMsVUFBVXNDLDZCQUE2QjtZQUN6RCxNQUFNQyxTQUFTLE1BQU05QyxVQUFVb0MsUUFBUTtnQkFDckMsR0FBR1EsU0FBUztnQkFDWkcsVUFBVUw7Z0JBQ1ZNLFFBQVE7b0JBQUMsR0FBR0osV0FBV0ksTUFBTTtvQkFBRUMsTUFBTTtnQkFBSztnQkFDMUNDLFlBQVk7WUFDZDtZQUVBLE1BQU1DLGFBQWEsZUFBZWhCLElBQUksQ0FBQ1csT0FBT00sSUFBSSxLQUFLLENBQUMsdUJBQXVCakIsSUFBSSxDQUFDVyxPQUFPTSxJQUFJO1lBQy9GLE9BQU87Z0JBQ0xBLE1BQU1ELGFBQWEsQ0FBQyw0QkFBNEIsRUFBRUwsT0FBT00sSUFBSSxFQUFFLEdBQUdOLE9BQU9NLElBQUk7Z0JBQzdFQyxLQUFLUCxPQUFPTyxHQUFHLElBQUk7WUFDckI7UUFDRjtRQUNBdEMsTUFBTTtJQUNSLENBQUE7QUFFQSxNQUFNdUMsZ0NBQWdDLENBQUNkLGFBQWdDLENBQUE7UUFDckVDLFNBQVM7UUFDVDFCLE1BQU07UUFDTmYsV0FBVW9DLE1BQU0sRUFBRXRCLEVBQUU7WUFDbEIsTUFBTTRCLFVBQVU1QixHQUFHNkIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hDLElBQUcsQ0FBQ0QsUUFBUVosVUFBVSxDQUFDVSxlQUFlLENBQUNKLE9BQU9tQixRQUFRLENBQUMsb0JBQW9CLE9BQU87WUFFbEYsTUFBTXZCLGNBQWM7WUFDcEIsT0FBT0ksT0FBT29CLFVBQVUsQ0FBQyxtQkFBbUJ4QjtRQUM5QztJQUNGLENBQUE7QUFFQSxNQUFNeUIsa0JBQWtCO0lBQ3RCLElBQUlDLGNBQXdCLEVBQUU7SUFFOUIsT0FBTztRQUNMLE1BQU1DO1lBQ0osTUFBTUMsb0JBQW9CLE1BQU1wRCxvQkFBb0JELFVBQVVzRCxNQUFNO1lBQ3BFSCxjQUFjRSxtQkFBbUJFLFFBQVEsRUFBRTtRQUM3QztRQUNBQyxpQkFBZ0JDLE1BQU07WUFDcEJBLE9BQU9DLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDLE9BQU9DLFNBQVNDLFVBQVVDO2dCQUMvQyxJQUFHLENBQUNGLFFBQVFHLEdBQUcsRUFBRSxPQUFPRDtnQkFDeEIsTUFBTUUsUUFBUSxNQUFNOUQsWUFBWUYsVUFBVXNELE1BQU0sRUFBRU0sUUFBUUcsR0FBRztnQkFDN0QsSUFBRyxDQUFDQyxPQUFPLE9BQU9GO2dCQUVsQkQsU0FBU0ksVUFBVSxHQUFHO2dCQUN0QkosU0FBU0ssU0FBUyxDQUFDLGdCQUFnQjlELFlBQVksQ0FBQ1AsUUFBUStELFFBQVFHLEdBQUcsQ0FBQzNCLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUk7Z0JBQ3ZGeUIsU0FBU00sR0FBRyxDQUFDSDtZQUNmO1FBQ0Y7UUFDQXhELE1BQU07UUFDTjRELG9CQUFtQmIsSUFBSTtZQUNyQixJQUFHSixZQUFZa0IsTUFBTSxLQUFLLEdBQUcsT0FBT2Q7WUFDcEMsT0FBT0EsS0FBS2UsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUVuQixZQUFZb0IsSUFBSSxDQUFDLFVBQVUsV0FBVyxDQUFDO1FBQy9FO0lBQ0Y7QUFDRjtBQUVBLE1BQU1DLGlCQUFpQixDQUFDQyxVQUE4QixDQUFBO1FBQ3BEQyxnQkFBZUMsUUFBUSxFQUFFQyxNQUFNO1lBQzdCLElBQUcsQ0FBQ0gsU0FBUztZQUViLE1BQU1JLFNBQVNDLE9BQU9DLE9BQU8sQ0FBQ0gsUUFBUTlCLEdBQUcsQ0FBQyxDQUFDLENBQUNrQyxVQUFVQyxPQUFPLEdBQU0sQ0FBQTtvQkFDakVEO29CQUNBRSxNQUFNRCxPQUFPdkMsSUFBSSxLQUFLLFVBQ2xCeUMsT0FBT0MsVUFBVSxDQUFDLE9BQU9ILE9BQU9wRCxNQUFNLEtBQUssV0FBV29ELE9BQU9wRCxNQUFNLEdBQUdvRCxPQUFPcEQsTUFBTSxJQUNuRnNELE9BQU9DLFVBQVUsQ0FBQ0gsT0FBT3BDLElBQUk7b0JBQ2pDSCxNQUFNdUMsT0FBT3ZDLElBQUk7Z0JBQ25CLENBQUE7WUFFQSxJQUFJLENBQUMyQyxRQUFRLENBQUM7Z0JBQUNMLFVBQVU7Z0JBQXNCbkQsUUFBUUMsS0FBS0MsU0FBUyxDQUFDOEMsUUFBUSxNQUFNO2dCQUFJbkMsTUFBTTtZQUFPO1FBQ3ZHO1FBQ0FsQyxNQUFNO0lBQ1IsQ0FBQTtBQUVBLE1BQU04RSxvQkFBb0IsQ0FBQ0M7SUFDekIsSUFBR0Esa0JBQWtCLGNBQWNBLGtCQUFrQixhQUFhLE9BQU87UUFBQztLQUFNO0lBQ2hGLElBQUdBLGtCQUFrQixTQUFTQSxrQkFBa0IsVUFBVSxPQUFPO1FBQUM7S0FBTztJQUN6RSxJQUFHQSxrQkFBa0IsT0FBTyxPQUFPO1FBQUM7S0FBTTtJQUMxQyxPQUFPO1FBQUM7S0FBSztBQUNmO0FBRUEsTUFBTTdELHdCQUF3QixDQUFDOEQ7SUFDN0IsTUFBTUMsaUJBQWlCM0YsUUFBUW1CLFFBQVF5RSxHQUFHLElBQUksZ0JBQWdCRjtJQUM5RCxPQUFPN0YsV0FBVzhGLGtCQUFrQkEsaUJBQWlCM0YsUUFBUUUsVUFBVTJGLFNBQVMsSUFBSSxnQkFBZ0JIO0FBQ3RHO0FBRUEsT0FBTyxNQUFNSSxzQkFBc0IsQ0FBQ0M7SUFDbEMsTUFBTXZDLFNBQVN0RCxVQUFVc0QsTUFBTTtJQUMvQixNQUFNckIsYUFBYXFCLE9BQU93QyxjQUFjLElBQUloRyxRQUFRbUIsUUFBUXlFLEdBQUcsSUFBSXBDLE9BQU9yQixVQUFVLElBQUk7SUFDeEYsTUFBTThELGFBQWF6QyxPQUFPMEMsY0FBYyxJQUFJbEcsUUFBUW1CLFFBQVF5RSxHQUFHLElBQUlwQyxPQUFPeUMsVUFBVSxJQUFJO0lBQ3hGLE1BQU1FLFlBQVluRyxRQUFRbUMsWUFBWTRELFFBQVFLLEtBQUssSUFBSTVDLE9BQU82QyxPQUFPLElBQUk7SUFDekUsTUFBTUMsV0FBV3RHLFFBQVFtQyxZQUFZcUIsT0FBTytDLFNBQVMsSUFBSTtJQUN6RCxNQUFNQyxlQUFlM0csV0FBV3lHLGFBQWEsQ0FBQ1AsUUFBUVUsR0FBRztJQUN6RCxNQUFNQyxhQUFhbEQsT0FBT2tELFVBQVUsSUFBSVgsUUFBUVksSUFBSSxLQUFLO0lBQ3pELE1BQU16QixXQUFXMUIsT0FBT29ELFVBQVUsSUFBS0YsQ0FBQUEsYUFBYSxxQkFBcUIsV0FBVTtJQUVuRixNQUFNRyxhQUEyQjtRQUMvQkMsU0FBU04sZUFBZSxRQUFRO1FBQ2hDTyxNQUFNO1FBQ05DLE9BQU87WUFDTEMsY0FBYztZQUNkQyxhQUFhO1lBQ2JDLFFBQVFwQixRQUFRWSxJQUFJLEtBQUs7WUFDekJTLFFBQVFuQjtZQUNSb0IsaUJBQWlCO2dCQUNmQyxPQUFPZCxlQUFlRixXQUFXSDtnQkFDakNoQixRQUFRO29CQUNOb0MsZ0JBQWdCYixhQUFhLGtDQUFrQztvQkFDL0RjLGdCQUFnQmQsYUFBYSwyQkFBMkI7b0JBQ3hEZSxnQkFBZ0J2QztvQkFDaEJ3QyxjQUFhakgsRUFBRTt3QkFDYixPQUFPQSxHQUFHeUMsUUFBUSxDQUFDLG9CQUFvQixZQUFZeUU7b0JBQ3JEO2dCQUNGO1lBQ0Y7WUFDQUMsV0FBV3BFLE9BQU9xRSxHQUFHLEVBQUVoRixhQUFhLE9BQU87WUFDM0M0RCxLQUFLVixRQUFRVSxHQUFHLEdBQUdOLFlBQVk7WUFDL0IyQixRQUFRdEUsT0FBT3FFLEdBQUcsRUFBRUUsS0FBS0QsUUFBUUUsY0FBYztRQUNqRDtRQUNBQyxhQUFhO1FBQ2JDLFlBQVk7UUFDWkMsS0FBSztZQUNIQyxTQUFTcEksUUFBUUUsVUFBVTJGLFNBQVMsSUFBSTtRQUMxQztRQUNBd0MsUUFBUTtZQUNOLHdCQUF3QnJHLEtBQUtDLFNBQVMsQ0FBQzhELFFBQVFZLElBQUksSUFBS1osQ0FBQUEsUUFBUXVDLE9BQU8sS0FBSyxVQUFVLGVBQWUsYUFBWTtRQUNuSDtRQUNBQyxRQUFRcEgsUUFBUXlFLEdBQUc7UUFDbkI0QyxVQUFVekMsUUFBUTBDLEtBQUssR0FBRyxXQUFXO1FBQ3JDOUIsTUFBTVosUUFBUVksSUFBSSxJQUFLWixDQUFBQSxRQUFRdUMsT0FBTyxLQUFLLFVBQVUsZUFBZSxhQUFZO1FBQ2hGSSxTQUFTO2VBQ0gzQyxRQUFRVSxHQUFHLEdBQUcsRUFBRSxHQUFHO2dCQUNyQmxHO2dCQUNBZ0I7Z0JBQ0FsQixtQkFBbUI7b0JBQ2pCZ0YsUUFBUTt3QkFBQ3pELHNCQUFzQjt3QkFBb0I7cUJBQVM7b0JBQzVEK0csUUFBUTt3QkFBQy9HLHNCQUFzQjt3QkFBcUI7cUJBQVU7b0JBQzlEVCxTQUFTO3dCQUFDUyxzQkFBc0I7d0JBQXVCO3FCQUFVO2dCQUNuRTthQUNEO1lBQ0RNLFVBQVVDO1lBQ1ZOO2VBQ0lrRSxRQUFRVSxHQUFHLEdBQUcsRUFBRSxHQUFHO2dCQUFDeEQsOEJBQThCZDtnQkFBYWlCO2dCQUFtQnNCLGVBQWVrRSxRQUFRN0MsUUFBUThDLE9BQU87YUFBRztTQUNoSTtRQUNEQyxXQUFXO1FBQ1g5SSxTQUFTO1lBQ1ArSSxPQUFPO2dCQUNMMUQsUUFBUXpELHNCQUFzQjtnQkFDOUIsV0FBV0Esc0JBQXNCO2dCQUNqQytHLFFBQVEvRyxzQkFBc0I7Z0JBQzlCLGVBQWVBLHNCQUFzQjtnQkFDckNvSCxhQUFhaEosUUFBUUUsVUFBVTJGLFNBQVMsSUFBSTtnQkFDNUNvRCxPQUFPckgsc0JBQXNCO2dCQUM3QixhQUFhQSxzQkFBc0I7Z0JBQ25DLHVCQUF1QkEsc0JBQXNCO1lBQy9DO1lBQ0FzSCxZQUFZO2dCQUFDO2dCQUFRO2dCQUFPO2dCQUFPO2dCQUFRO2dCQUFRO2dCQUFTO2dCQUFRO2FBQVc7WUFDL0VDLGtCQUFrQjtZQUNsQkMsZUFBZTtRQUNqQjtRQUNBQyxNQUFNbEg7UUFDTndCLFFBQVE7WUFDTjJGLEtBQUs7WUFDTEMsTUFBTXhELFFBQVF3RCxJQUFJO1lBQ2xCQyxNQUFNekQsUUFBUXlELElBQUk7WUFDbEJDLFlBQVk7UUFDZDtJQUNGO0lBRUEsSUFBRyxDQUFDakQsZ0JBQWdCaEQsT0FBT2tHLFdBQVcsSUFBSSxDQUFDM0QsUUFBUVUsR0FBRyxFQUFFO1FBQ3RESSxXQUFXRyxLQUFLLEdBQUc7WUFDakIsR0FBR0gsV0FBV0csS0FBSztZQUNuQjJDLEtBQUs7Z0JBQ0h2RCxPQUFPRDtnQkFDUGpCLFVBQVUsSUFBTTFCLE9BQU9vRCxVQUFVLElBQUk7Z0JBQ3JDZ0QsU0FBU3BFLGtCQUFrQmhDLE9BQU9pQyxhQUFhO2dCQUMvQy9FLE1BQU04QyxPQUFPa0csV0FBVztZQUMxQjtRQUNGO0lBQ0Y7SUFFQSxPQUFPekosWUFBWTRHLFlBQVlyRCxPQUFPcUcsSUFBSSxJQUFJLENBQUM7QUFDakQsRUFBRSJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nlabs/lex",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Lex",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
"openai": "^7.4.0",
|
|
133
133
|
"ora": "9.4.1",
|
|
134
134
|
"os-browserify": "^0.3.0",
|
|
135
|
-
"pacote": "^
|
|
135
|
+
"pacote": "^22.0.0",
|
|
136
136
|
"path-browserify": "^1.0.1",
|
|
137
137
|
"postcss": "^8.5.26",
|
|
138
138
|
"postcss-browser-reporter": "^0.7.0",
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"postcss-custom-properties": "^15.0.1",
|
|
141
141
|
"postcss-flexbugs-fixes": "^5.0.2",
|
|
142
142
|
"postcss-hash": "^3.0.0",
|
|
143
|
-
"postcss-import": "
|
|
143
|
+
"postcss-import": "17.0.0",
|
|
144
144
|
"postcss-nesting": "^14.0.1",
|
|
145
145
|
"postcss-preset-env": "^11.4.0",
|
|
146
146
|
"postcss-simple-vars": "^7.0.1",
|
|
@@ -165,7 +165,6 @@
|
|
|
165
165
|
"typescript": "^7.0.2",
|
|
166
166
|
"util": "^0.12.5",
|
|
167
167
|
"vite": "^8.2.1",
|
|
168
|
-
"vite-plugin-node-polyfills": "^0.28.0",
|
|
169
168
|
"vitest": "^4.1.10",
|
|
170
169
|
"vm-browserify": "^1.1.2",
|
|
171
170
|
"ws": "^8.21.3"
|
|
@@ -175,30 +174,7 @@
|
|
|
175
174
|
"@types/luxon": "^3.7.4",
|
|
176
175
|
"@types/node": "^26.2.0",
|
|
177
176
|
"@types/react": "^19.2.18",
|
|
178
|
-
"@types/semver": "^7.
|
|
179
|
-
},
|
|
180
|
-
"overrides": {
|
|
181
|
-
"@babel/core": "^7.29.7",
|
|
182
|
-
"@xhmikosr/decompress": "^11.1.3",
|
|
183
|
-
"body-parser": "^2.3.0",
|
|
184
|
-
"brace-expansion": "^5.0.9",
|
|
185
|
-
"cross-spawn": "^7.0.6",
|
|
186
|
-
"encoding-sniffer": "^1.0.2",
|
|
187
|
-
"fast-xml-parser": "^5.8.0",
|
|
188
|
-
"fast-uri": "^4.1.2",
|
|
189
|
-
"favicons": {
|
|
190
|
-
"sharp": "^0.35.3"
|
|
191
|
-
},
|
|
192
|
-
"glob": "^13.0.6",
|
|
193
|
-
"got": "^14.6.6",
|
|
194
|
-
"http-proxy-middleware": "^3.0.7",
|
|
195
|
-
"js-yaml": "^5.3.0",
|
|
196
|
-
"pacote": "^21.5.1",
|
|
197
|
-
"piscina": "^4.9.3",
|
|
198
|
-
"qs": "^6.15.3",
|
|
199
|
-
"rimraf": "^6.1.3",
|
|
200
|
-
"semver-regex": "^4.0.5",
|
|
201
|
-
"undici": "^8.10.0"
|
|
177
|
+
"@types/semver": "^7.8.0"
|
|
202
178
|
},
|
|
203
179
|
"gitHead": "0f5fb22fc0f0ab1abab5adf62afed24c7c87e4a8"
|
|
204
180
|
}
|