@cichol/logger 6.3.0 → 6.4.3

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 (2) hide show
  1. package/dists/index.js +1 -1
  2. package/package.json +46 -47
package/dists/index.js CHANGED
@@ -527,4 +527,4 @@ class Logger {
527
527
  var logger = Reflect.construct(Logger, [], Logger);
528
528
 
529
529
  export { logger as default };
530
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvaGVscGVycy9sb2dnaW5nLWxldmVsLnRzIiwiLi4vc291cmNlcy9oZWxwZXJzL2NvbG9yLXNjaGVtZS50cyIsIi4uL3NvdXJjZXMvaGVscGVycy9sYWJlbC1kZWNvcmF0b3IudHMiLCIuLi9zb3VyY2VzL2hhbmRsZXJzL2Vycm9yLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9mYXRhbC50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvd2FybmluZy50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvbm90aWNlLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9pbmZvLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9odHRwLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9xdWVyeS50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvdmVyYm9zZS50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvZGVidWcudHMiLCIuLi9zb3VyY2VzL2hhbmRsZXJzL2luZGV4LnRzIiwiLi4vc291cmNlcy9mb3JtYXR0ZXJzL2NvbW1hbmQtbGluZS50cyIsIi4uL3NvdXJjZXMvaGVscGVycy9jb25zdGFudHMudHMiLCIuLi9zb3VyY2VzL2Zvcm1hdHRlcnMvbW9yZ2FuLnRzIiwiLi4vc291cmNlcy9jbGFzc2VzL2xvZ2dlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBMb2dnaW5nTGV2ZWwgPSB7XG5cdC8vIENyaXRpY2FsIGxldmVscy4gKEl0IHdpbGwgY3Jhc2ggdGhlIHByb2Nlc3MpXG5cdEZhdGFsOiAwLFxuXHRFcnJvcjogMSxcblxuXHQvLyBXYXJuaW5nIGxldmVscy4gKEl0IGp1c3QgcmVwb3J0IHdhcm5pbmcgaW5mb3JtYXRpb24sIG5vdCBjcmFzaCB0aGUgcHJvY2Vzcylcblx0V2FybmluZzogMixcblxuXHQvLyBSZWd1bGFyIGxldmVsIGFuZCBhbGlhc2VzLlxuXHROb3RpY2U6IDMsXG5cdEluZm86IDMsXG5cblx0Ly8gTWF5YmUgc2Vuc2l0aXZlIGxldmVscy4gKEluIGdlbmVyYWwsIGRvZXMgbm90IHVzZWZ1bClcblx0SHR0cDogNCxcblx0UXVlcnk6IDQsXG5cblx0Ly8gTG91ZCBsZXZlbHMuXG5cdFZlcmJvc2U6IDUsXG5cdERlYnVnOiA1LFxufSBhcyBjb25zdFxuXG50eXBlIExvZ2dpbmdMZXZlbCA9IHR5cGVvZiBMb2dnaW5nTGV2ZWxba2V5b2YgdHlwZW9mIExvZ2dpbmdMZXZlbF1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2luZ0xldmVsXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYmdSZ2IyNCwgcmdiMjQgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG50eXBlIENvbG9yaXplciA9IChzdHJpbmc6IHN0cmluZykgPT4gc3RyaW5nXG5cbi8vIENvbnN0YW50cy5cbmNvbnN0IGNvbG9yaXplck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBDb2xvcml6ZXI+KClcblxuLy8gSGVscGVycy5cbmZ1bmN0aW9uIGNyZWF0ZVNjaGVtZShvcHRpb25zOiB7IGJhY2tncm91bmQ6IENvbG9yVmFsdWUsIGZvcmVncm91bmQ6IENvbG9yVmFsdWUgfSk6IG51bWJlciB7XG5cdGNvbnN0IG5leHRJbmRleCA9IGNvbG9yaXplck1hcC5zaXplXG5cdGNvbnN0IGNvbG9yaXplciA9IChzdHJpbmc6IHN0cmluZykgPT4gYmdSZ2IyNChyZ2IyNChzdHJpbmcsIG9wdGlvbnMuZm9yZWdyb3VuZCksIG9wdGlvbnMuYmFja2dyb3VuZClcblxuXHRjb2xvcml6ZXJNYXAuc2V0KG5leHRJbmRleCwgY29sb3JpemVyKVxuXG5cdHJldHVybiBuZXh0SW5kZXhcbn1cblxuLy8gQ29sb3IgZGVmaW5pdGlvbnMuXG5jb25zdCBDb2xvclZhbHVlID0ge1xuXHQvLyBCYXNpYyBjb2xvcnMuXG5cdFdoaXRlOiAweEZGRkZGRixcblx0R3JheTogMHg4MDgwODAsXG5cdEJsYWNrOiAweDAwMDAwMCxcblxuXHQvLyBTcGVjaWFsaXplZCBjb2xvcnMuXG5cdENyaXRpY2FsOiAweEQ2MzAzMSxcblx0V2FybmluZzogMHhGRENCNkUsXG5cdFJlZ3VsYXI6IDB4MDk4NEUzLFxuXHRIdHRwOiAweDZBQjA0Qyxcblx0UXVlcnk6IDB4Mzk5QUYzLFxufSBhcyBjb25zdFxuXG50eXBlIENvbG9yVmFsdWUgPSB0eXBlb2YgQ29sb3JWYWx1ZVtrZXlvZiB0eXBlb2YgQ29sb3JWYWx1ZV1cblxuY29uc3QgQ29sb3JTY2hlbWUgPSB7XG5cdENyaXRpY2FsOiBjcmVhdGVTY2hlbWUoe1xuXHRcdGJhY2tncm91bmQ6IENvbG9yVmFsdWUuQ3JpdGljYWwsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0V2FybmluZzogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLldhcm5pbmcsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0UmVndWxhcjogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLlJlZ3VsYXIsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5XaGl0ZSxcblx0fSksXG5cblx0SHR0cDogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLkh0dHAsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0UXVlcnk6IGNyZWF0ZVNjaGVtZSh7XG5cdFx0YmFja2dyb3VuZDogQ29sb3JWYWx1ZS5RdWVyeSxcblx0XHRmb3JlZ3JvdW5kOiBDb2xvclZhbHVlLkJsYWNrLFxuXHR9KSxcblxuXHRMb3VkOiBjcmVhdGVTY2hlbWUoe1xuXHRcdGJhY2tncm91bmQ6IENvbG9yVmFsdWUuQmxhY2ssXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5HcmF5LFxuXHR9KSxcbn0gYXMgY29uc3RcblxudHlwZSBDb2xvclNjaGVtZSA9IHR5cGVvZiBDb2xvclNjaGVtZVtrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWVdXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFsa09mKGNvbG9yU2V0OiBDb2xvclNjaGVtZSk6IENvbG9yaXplciB7XG5cdHJldHVybiBjb2xvcml6ZXJNYXAuZ2V0KGNvbG9yU2V0KSA/PyAoKHN0cmluZzogc3RyaW5nKSA9PiBzdHJpbmcpXG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yU2NoZW1lXG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdwcm9jZXNzJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYm9sZCB9IGZyb20gJ0BzdGQvZm10L2NvbG9ycydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBDb2xvclNjaGVtZSwgeyBnZXRDaGFsa09mIH0gZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuXG4vLyBDb25zdGFudHMuXG5jb25zdCB7IGlzVFRZIH0gPSBwcm9jZXNzLnN0ZG91dFxuY29uc3QgaXNOb3RPbkNMSSA9ICFpc1RUWVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWNvcmF0ZUxhYmVsPFQgZXh0ZW5kcyBzdHJpbmc+KGxhYmVsOiBULCBzY2hlbWU6IENvbG9yU2NoZW1lKTogVCB7XG5cdGlmIChpc05vdE9uQ0xJKSByZXR1cm4gbGFiZWxcblxuXHRjb25zdCBjb2xvcml6ZSA9IGdldENoYWxrT2Yoc2NoZW1lKVxuXHRjb25zdCBkZWNvcmF0ZWRMYWJlbCA9IGJvbGQoY29sb3JpemUoYCAke2xhYmVsfSBgKSlcblxuXHRyZXR1cm4gZGVjb3JhdGVkTGFiZWwgYXMgVFxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBwcm9jZXNzLCB7IHZlcnNpb24gfSBmcm9tICdwcm9jZXNzJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYmx1ZSwgZ3JheSwgYm9sZCwgdW5kZXJsaW5lIH0gZnJvbSAnQHN0ZC9mbXQvY29sb3JzJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbnR5cGUgTG9nZ2luZ0RhdGEgPSB7IGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ICYgUmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+XG50eXBlIEhhbmRsZWREYXRhID0geyBsYWJlbDogc3RyaW5nLCBwYXlsb2FkOiBzdHJpbmcgfVxuXG4vLyBDb25zdGFudHMuXG5jb25zdCByb290UGF0aCA9IHByb2Nlc3MuY3dkKClcbmNvbnN0IGNvbmp1bmN0aW9uID0gYCAke2JsdWUoJ+KUgOKUgCcpfSBgXG5jb25zdCBzcGxhdDogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbC5mb3IoJ3NwbGF0JylcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ2Vycm9yJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkVycm9yXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdFUlJPUicsIENvbG9yU2NoZW1lLkNyaXRpY2FsKVxuXG5mdW5jdGlvbiBzaW1wbGlmeURhdGFVUkkoZGF0YVVSSTogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3QgWyAsIGFjdHVhbENvbnRlbnQgXSA9IGRhdGFVUkkuc3BsaXQoJzonKVxuXHRjb25zdCBwaXZvdCA9IGFjdHVhbENvbnRlbnQuaW5kZXhPZignLCcpICsgMVxuXHRjb25zdCBtaW1lSW5kaWNhdG9yID0gYWN0dWFsQ29udGVudC5zbGljZSgwLCBwaXZvdClcblx0Y29uc3QgY29udGVudFByZWZpeCA9IGFjdHVhbENvbnRlbnQuc2xpY2UocGl2b3QsIHBpdm90ICsgNClcblx0Y29uc3QgY29udGVudFN1ZmZpeCA9IGFjdHVhbENvbnRlbnQuc2xpY2UoLTQpXG5cblx0cmV0dXJuIGBkYXRhOiR7bWltZUluZGljYXRvciArIGNvbnRlbnRQcmVmaXh9Li4uJHtjb250ZW50U3VmZml4fWBcbn1cblxuZnVuY3Rpb24gaXNEYXRhVVJJKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0cmV0dXJuIGZpbGVuYW1lLnN0YXJ0c1dpdGgoJ2RhdGE6Jylcbn1cblxuZnVuY3Rpb24gaXNBYnNvbHV0ZU9yRGF0YVVSSShmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdHJldHVybiBwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpIHx8IGlzRGF0YVVSSShmaWxlbmFtZSlcbn1cblxuZnVuY3Rpb24gbWFwTG9jYXRpb25PZkVycm9yVGhyb3duKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRsZXQgdGFyZ2V0ID0gcGF0aC5yZWxhdGl2ZShyb290UGF0aCwgZmlsZW5hbWUpXG5cblx0aWYgKGlzRGF0YVVSSShmaWxlbmFtZSkpIHtcblx0XHR0YXJnZXQgPSBncmF5KHNpbXBsaWZ5RGF0YVVSSShmaWxlbmFtZSkpXG5cdH0gZWxzZSBpZiAodGFyZ2V0LmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSkge1xuXHRcdHRhcmdldCA9IGdyYXkoXG5cdFx0XHR0YXJnZXQuc2xpY2UodGFyZ2V0Lmxhc3RJbmRleE9mKCdub2RlX21vZHVsZXMnKSksXG5cdFx0KS5yZXBsYWNlKFxuXHRcdFx0L25vZGVfbW9kdWxlc1tcXFxcL10oKD86QFteXFxcXC9dK1tcXFxcL10pP1teXFxcXC9dKykoLiopLyxcblx0XHRcdChfLCBtb2R1bGVOYW1lOiBzdHJpbmcsIHRyYWlsaW5nOiBzdHJpbmcpID0+IChcblx0XHRcdFx0YG5vZGVfbW9kdWxlcyR7cGF0aC5zZXB9JHtib2xkKHVuZGVybGluZShtb2R1bGVOYW1lKSl9JHtncmF5KHRyYWlsaW5nKX1gXG5cdFx0XHQpLFxuXHRcdClcblx0fSBlbHNlIHtcblx0XHR0YXJnZXQgPSBgJHtncmF5KHBhdGguZGlybmFtZSh0YXJnZXQpICsgcGF0aC5zZXApfSR7Ym9sZCh1bmRlcmxpbmUocGF0aC5iYXNlbmFtZSh0YXJnZXQpKSl9YFxuXHR9XG5cblx0cmV0dXJuIHRhcmdldFxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYW5kbGUoZGF0YTogTG9nZ2luZ0RhdGEpOiBIYW5kbGVkRGF0YSB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHsgW3NwbGF0XTogWyBlcnJvciBdID0gW10gfSA9IGRhdGEgYXMgYW55XG5cblx0aWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkXG5cdH1cblxuXHRjb25zdCB7IG5hbWU6IGVycm9yTmFtZSwgbWVzc2FnZSwgc3RhY2s6IHJhd1N0YWNrID0gJycgfSA9IGVycm9yXG5cblx0Y29uc3Qgc3RhY2sgPSByYXdTdGFja1xuXHRcdC5zbGljZShlcnJvck5hbWUubGVuZ3RoICsgbWVzc2FnZS5sZW5ndGggKyAzKVxuXHRcdC5zcGxpdCgnXFxuJylcblx0XHQubWFwKGxpbmUgPT4gbGluZS5yZXBsYWNlKC9eXFxzK2F0IC9nLCAnJykpXG5cdFx0Lm1hcChsaW5lID0+IChpc0Fic29sdXRlT3JEYXRhVVJJKGxpbmUpID8gYDxhbm9ueW1vdXM+JHtjb25qdW5jdGlvbn0ke21hcExvY2F0aW9uT2ZFcnJvclRocm93bihsaW5lKX1gIDogbGluZSkpXG5cdFx0Lm1hcChsaW5lID0+IGxpbmUucmVwbGFjZSgvXiguKykgXFwoKC4rKVxcKSQvLCAoXywgY29udGV4dE5hbWU6IHN0cmluZywgcmF3TG9jYXRpb246IHN0cmluZykgPT4ge1xuXHRcdFx0bGV0IGxvY2F0aW9uID0gJydcblxuXHRcdFx0c3dpdGNoICh0cnVlKSB7XG5cdFx0XHRjYXNlIChyYXdMb2NhdGlvbiA9PT0gJzxhbm9ueW1vdXM+Jyk6IHtcblx0XHRcdFx0bG9jYXRpb24gPSBncmF5KHJhd0xvY2F0aW9uKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGNhc2UgKGlzRGF0YVVSSShyYXdMb2NhdGlvbikpOiB7XG5cdFx0XHRcdGxvY2F0aW9uID0gZ3JheShzaW1wbGlmeURhdGFVUkkocmF3TG9jYXRpb24pKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGNhc2UgKHJhd0xvY2F0aW9uLnN0YXJ0c1dpdGgoJ25vZGU6JykpOiB7XG5cdFx0XHRcdGNvbnN0IFsgZmlsZW5hbWUsIG9jY3VycmVkTGluZSBdID0gcmF3TG9jYXRpb24uc2xpY2UoNSkuc3BsaXQoJzonKVxuXG5cdFx0XHRcdGxvY2F0aW9uID0gZ3JheShgaHR0cHM6Ly9naXRodWIuY29tLyR7Ym9sZCh1bmRlcmxpbmUoJ25vZGVqcycpKX0vbm9kZS9ibG9iLyR7dmVyc2lvbn0vbGliLyR7ZmlsZW5hbWV9LmpzI0wke29jY3VycmVkTGluZX1gKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGRlZmF1bHQ6IHtcblx0XHRcdFx0Y29uc3QgWyBmaWxlbmFtZSwgb2NjdXJyZWRMaW5lLCBvY2N1cnJlZENvbHVtbiBdID0gcmF3TG9jYXRpb24uc3BsaXQoJzonKVxuXG5cdFx0XHRcdGlmICghcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKSkgYnJlYWtcblxuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSBtYXBMb2NhdGlvbk9mRXJyb3JUaHJvd24ocGF0aC5yZWxhdGl2ZShyb290UGF0aCwgZmlsZW5hbWUpKVxuXHRcdFx0XHRjb25zdCB0cmFpbGluZyA9IGdyYXkoYDoke29jY3VycmVkTGluZX06JHtvY2N1cnJlZENvbHVtbn1gKVxuXG5cdFx0XHRcdGxvY2F0aW9uID0gdGFyZ2V0ICsgdHJhaWxpbmdcblx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGAke2NvbnRleHROYW1lfSR7Y29uanVuY3Rpb259JHtsb2NhdGlvbn1gXG5cdFx0fSkpXG5cdFx0LmpvaW4oJ1xcbicpXG5cblx0Y29uc3QgZGVjb3JhdGVkTGFiZWwgPSBkZWNvcmF0ZUxhYmVsKGVycm9yTmFtZSwgQ29sb3JTY2hlbWUuQ3JpdGljYWwpXG5cdGNvbnN0IHBheWxvYWQgPSBgJHttZXNzYWdlfVxcblxcbiR7c3RhY2t9XFxuYFxuXG5cdHJldHVybiB7IGxhYmVsOiBkZWNvcmF0ZWRMYWJlbCwgcGF5bG9hZCB9XG59XG4iLCIvLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ2ZhdGFsJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkZhdGFsXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdGQVRBTCcsIENvbG9yU2NoZW1lLkNyaXRpY2FsKVxuXG5leHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnI2hhbmRsZXJzL2Vycm9yJyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtZXhwb3J0c1xuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICd3YXJuaW5nJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLldhcm5pbmdcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ1dBUk5JTkcnLCBDb2xvclNjaGVtZS5XYXJuaW5nKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ25vdGljZSdcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5Ob3RpY2VcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ05PVElDRScsIENvbG9yU2NoZW1lLlJlZ3VsYXIpXG5cbmV4cG9ydCBkZWZhdWx0IG51bGxcbiIsIi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBIYW5kbGVyIG1ldGFkYXRhLlxuZXhwb3J0IGNvbnN0IG5hbWUgPSAnaW5mbydcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5JbmZvXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdJTkZPJywgQ29sb3JTY2hlbWUuUmVndWxhcilcblxuZXhwb3J0IGRlZmF1bHQgbnVsbFxuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdodHRwJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkh0dHBcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ0hUVFAnLCBDb2xvclNjaGVtZS5IdHRwKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBIaWdobGlnaHQuanNcbmltcG9ydCB7IGhpZ2hsaWdodCB9IGZyb20gJ2NsaS1oaWdobGlnaHQnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxudHlwZSBMb2dnaW5nRGF0YSA9IHsgbGV2ZWw6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gJiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT5cbnR5cGUgSGFuZGxlZERhdGEgPSB7IGxhYmVsOiBzdHJpbmcsIHBheWxvYWQ6IHN0cmluZyB9XG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdxdWVyeSdcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5RdWVyeVxuZXhwb3J0IGNvbnN0IGxhYmVsID0gZGVjb3JhdGVMYWJlbCgnUVVFUlknLCBDb2xvclNjaGVtZS5RdWVyeSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaGFuZGxlKGRhdGE6IExvZ2dpbmdEYXRhKTogSGFuZGxlZERhdGEgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4geyBsYWJlbCwgcGF5bG9hZDogaGlnaGxpZ2h0KGRhdGEubWVzc2FnZSwgeyBsYW5ndWFnZTogJ3NxbCcgfSkgfVxufVxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB7IGdyYXkgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxudHlwZSBMb2dnaW5nRGF0YSA9IHsgbGV2ZWw6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gJiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT5cbnR5cGUgSGFuZGxlZERhdGEgPSB7IGxhYmVsOiBzdHJpbmcsIHBheWxvYWQ6IHN0cmluZyB9XG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICd2ZXJib3NlJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLlZlcmJvc2VcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ1ZFUkJPU0UnLCBDb2xvclNjaGVtZS5Mb3VkKVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYW5kbGUoZGF0YTogTG9nZ2luZ0RhdGEpOiBIYW5kbGVkRGF0YSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiB7IGxhYmVsLCBwYXlsb2FkOiBncmF5KGRhdGEubWVzc2FnZSkgfVxufVxuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdkZWJ1ZydcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5EZWJ1Z1xuZXhwb3J0IGNvbnN0IGxhYmVsID0gZGVjb3JhdGVMYWJlbCgnREVCVUcnLCBDb2xvclNjaGVtZS5Mb3VkKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBIYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbmltcG9ydCAqIGFzIEZhdGFsSGFuZGxlciBmcm9tICcjaGFuZGxlcnMvZmF0YWwnXG5pbXBvcnQgKiBhcyBFcnJvckhhbmRsZXIgZnJvbSAnI2hhbmRsZXJzL2Vycm9yJ1xuaW1wb3J0ICogYXMgV2FybmluZ0hhbmRsZXIgZnJvbSAnI2hhbmRsZXJzL3dhcm5pbmcnXG5pbXBvcnQgKiBhcyBOb3RpY2VIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9ub3RpY2UnXG5pbXBvcnQgKiBhcyBJbmZvSGFuZGxlciBmcm9tICcjaGFuZGxlcnMvaW5mbydcbmltcG9ydCAqIGFzIEh0dHBIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9odHRwJ1xuaW1wb3J0ICogYXMgUXVlcnlIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9xdWVyeSdcbmltcG9ydCAqIGFzIFZlcmJvc2VIYW5kbGVyIGZyb20gJyNoYW5kbGVycy92ZXJib3NlJ1xuaW1wb3J0ICogYXMgRGVidWdIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9kZWJ1ZydcblxuY29uc3QgaGFuZGxlcnMgPSBbXG5cdEZhdGFsSGFuZGxlcixcblx0RXJyb3JIYW5kbGVyLFxuXHRXYXJuaW5nSGFuZGxlcixcblx0Tm90aWNlSGFuZGxlcixcblx0SW5mb0hhbmRsZXIsXG5cdEh0dHBIYW5kbGVyLFxuXHRRdWVyeUhhbmRsZXIsXG5cdFZlcmJvc2VIYW5kbGVyLFxuXHREZWJ1Z0hhbmRsZXIsXG5dXG5cbmV4cG9ydCB0eXBlIExvZ2dpbmdMZXZlbE5hbWUgPSAodHlwZW9mIGhhbmRsZXJzIGV4dGVuZHMgKGluZmVyIFQpW10gPyBUIDogbmV2ZXIpWyduYW1lJ11cbmV4cG9ydCBkZWZhdWx0IGhhbmRsZXJzXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgZ3JheSB9IGZyb20gJ0BzdGQvZm10L2NvbG9ycydcbmltcG9ydCByVHJhY2VyIGZyb20gJ2Nscy1ydHJhY2VyJ1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbidcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3dpbnN0b24nXG5cbi8vIEhhbmRsZXIgaW1wbGVtZW50YXRpb25zLlxuaW1wb3J0IGhhbmRsZXJzIGZyb20gJyNoYW5kbGVycy9pbmRleCdcblxuZXhwb3J0IGRlZmF1bHQgZm9ybWF0LnByaW50ZihkYXRhID0+IHtcblx0Y29uc3QgdGltZXN0YW1wID0gZ3JheShEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IHRydWUgfSkpXG5cdGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVycy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gZGF0YS5sZXZlbClcblx0Y29uc3QgZmFsbGJhY2sgPSB7IGxhYmVsOiBoYW5kbGVyPy5sYWJlbCwgcGF5bG9hZDogZGF0YS5tZXNzYWdlIH1cblx0Y29uc3QgcGVyZm9ybUhhbmRsZSA9IGhhbmRsZXI/LmRlZmF1bHQgPz8gKCgpOiB0eXBlb2YgZmFsbGJhY2sgPT4gZmFsbGJhY2spXG5cblx0Ly8gRXhlY3V0ZSBoYW5kbGVyIGFuZCB0aGVuLCBnZXQgZGVjb3JhdGVkIHBheWxvYWQuXG5cdGNvbnN0IHsgbGFiZWwsIHBheWxvYWQgfSA9IFJlZmxlY3QuYXBwbHkocGVyZm9ybUhhbmRsZSwgdW5kZWZpbmVkLCBbIGRhdGEgXSkgPz8gZmFsbGJhY2tcblxuXHRjb25zdCBleHRyYUZpbmdlcnByaW50ID0gW1xuXHRcdFsgJ1JlcXVlc3QtSUQnLCByVHJhY2VyLmlkKCkgXSxcblx0XHRbICdUcmFuc2FjdGlvbi1JRCcsIGRhdGEudHJhbnNhY3Rpb25JZCBdLFxuXHRdXG5cdFx0LmZpbHRlcigoWyAsIGlkVmFsdWUgXSkgPT4gaWRWYWx1ZSlcblx0XHQubWFwKChbIGtpbmQsIGlkVmFsdWUgXSkgPT4gYCR7a2luZH0gPSAke2lkVmFsdWV9YClcblx0XHQuam9pbignIHwgJylcblxuXHRyZXR1cm4gYCR7bGFiZWwgYXMgc3RyaW5nfSAke3RpbWVzdGFtcH0ke2V4dHJhRmluZ2VycHJpbnQgPyBgICgke2V4dHJhRmluZ2VycHJpbnR9KWAgOiAnJ31cXG4ke3BheWxvYWQgYXMgc3RyaW5nfWBcbn0pXG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgY2x1c3RlciBmcm9tICdjbHVzdGVyJ1xuaW1wb3J0IHsgZW52IGFzIGVudmlyb25tZW50cyB9IGZyb20gJ3Byb2Nlc3MnXG5pbXBvcnQgeyBpc01haW5UaHJlYWQgfSBmcm9tICd3b3JrZXJfdGhyZWFkcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCBjb25zdCBFeGVjdXRpb25Nb2RlID0ge1xuXHREZXZlbG9wbWVudE1vZGU6ICdkZXZlbG9wbWVudCcsXG5cdFByb2R1Y3Rpb25Nb2RlOiAncHJvZHVjdGlvbicsXG59IGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBDbHVzdGVyaW5nTW9kZSA9IHtcblx0TWFzdGVyUHJvY2VzczogMCxcblx0V29ya2VyUHJvY2VzczogMSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFRocmVhZGluZ01vZGUgPSB7XG5cdE1haW5UaHJlYWQ6IDAsXG5cdFdvcmtlclRocmVhZDogMSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IHR5cGUgRXhlY3V0aW9uTW9kZSA9IHR5cGVvZiBFeGVjdXRpb25Nb2RlW2tleW9mIHR5cGVvZiBFeGVjdXRpb25Nb2RlXVxuZXhwb3J0IHR5cGUgQ2x1c3RlcmluZ01vZGUgPSB0eXBlb2YgQ2x1c3RlcmluZ01vZGVba2V5b2YgdHlwZW9mIENsdXN0ZXJpbmdNb2RlXVxuZXhwb3J0IHR5cGUgVGhyZWFkaW5nTW9kZSA9IHR5cGVvZiBUaHJlYWRpbmdNb2RlW2tleW9mIHR5cGVvZiBUaHJlYWRpbmdNb2RlXVxuXG4vLyBFeHBvcnRpbmdzLlxuZXhwb3J0IGNvbnN0IGV4ZWN1dGlvbk1vZGUgPSBlbnZpcm9ubWVudHMuTk9ERV9FTlYgYXMgRXhlY3V0aW9uTW9kZSA/PyBFeGVjdXRpb25Nb2RlLkRldmVsb3BtZW50TW9kZVxuXG5leHBvcnQgY29uc3QgY2x1c3RlcmluZ01vZGU6IENsdXN0ZXJpbmdNb2RlID0gY2x1c3Rlci5pc1ByaW1hcnkgPz8gY2x1c3Rlci5pc01hc3RlclxuXHQ/IENsdXN0ZXJpbmdNb2RlLk1hc3RlclByb2Nlc3Ncblx0OiBDbHVzdGVyaW5nTW9kZS5Xb3JrZXJQcm9jZXNzXG5cbmV4cG9ydCBjb25zdCB0aHJlYWRpbmdNb2RlOiBUaHJlYWRpbmdNb2RlID0gaXNNYWluVGhyZWFkXG5cdD8gVGhyZWFkaW5nTW9kZS5NYWluVGhyZWFkXG5cdDogVGhyZWFkaW5nTW9kZS5Xb3JrZXJUaHJlYWRcbiIsIi8vIE5vZGUuanMgYnVpbHQtaW4gQVBJcy5cbmltcG9ydCB7XG5cdFNUQVRVU19DT0RFUyxcblx0SW5jb21pbmdNZXNzYWdlIGFzIEh0dHBSZXF1ZXN0LFxuXHRTZXJ2ZXJSZXNwb25zZSBhcyBIdHRwUmVzcG9uc2UsXG59IGZyb20gJ2h0dHAnXG5cbi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgbW9yZ2FuLCB7IHR5cGUgVG9rZW5JbmRleGVyIH0gZnJvbSAnbW9yZ2FuJ1xuaW1wb3J0IHsgZ3JlZW4sIG1hZ2VudGEsIHJlZCwgZ3JheSwgYm9sZCwgcmdiMjQgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5pbXBvcnQgeyBmb3JtYXQgYXMgcHJldHR5Qnl0ZXMgfSBmcm9tICdAc3RkL2ZtdC9ieXRlcydcbmltcG9ydCB7IGZvcm1hdCBhcyBwcmV0dHlNcyB9IGZyb20gJ0BzdGQvZm10L2R1cmF0aW9uJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHsgRXhlY3V0aW9uTW9kZSwgZXhlY3V0aW9uTW9kZSB9IGZyb20gJyNoZWxwZXJzL2NvbnN0YW50cydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmRlY2xhcmUgbW9kdWxlICdtb3JnYW4nIHtcblx0Y29uc3QgY29tYmluZWQ6IG1vcmdhbi5Gb3JtYXRGblxufVxuXG4vLyBIZWxwZXJzLlxuZnVuY3Rpb24gZGVjb3JhdGVTdGF0dXNDb2RlKHN0YXR1c0NvZGU6IGtleW9mIHR5cGVvZiBTVEFUVVNfQ09ERVMpOiBzdHJpbmcge1xuXHRjb25zdCBncm91cE9mQ29kZSA9IE1hdGguZmxvb3IoTnVtYmVyKHN0YXR1c0NvZGUpIC8gMTAwKSAqIDEwMFxuXHRjb25zdCBiYXNlTWVzc2FnZSA9IGAke3N0YXR1c0NvZGV9ICR7U1RBVFVTX0NPREVTW3N0YXR1c0NvZGVdIGFzIHN0cmluZ31gXG5cblx0c3dpdGNoIChncm91cE9mQ29kZSkge1xuXHRjYXNlIDIwMDoge1xuXHRcdHJldHVybiBncmVlbihiYXNlTWVzc2FnZSlcblx0fVxuXG5cdGNhc2UgMzAwOiB7XG5cdFx0cmV0dXJuIG1hZ2VudGEoYmFzZU1lc3NhZ2UpXG5cdH1cblx0Y2FzZSA0MDA6XG5cdGNhc2UgNTAwOiB7XG5cdFx0cmV0dXJuIHJlZChiYXNlTWVzc2FnZSlcblx0fVxuXG5cdGRlZmF1bHQ6IHtcblx0XHRyZXR1cm4gZ3JheShiYXNlTWVzc2FnZSlcblx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEZvck1vcmdhbih0b2tlbnM6IFRva2VuSW5kZXhlciwgcmVxdWVzdDogSHR0cFJlcXVlc3QsIHJlc3BvbnNlOiBIdHRwUmVzcG9uc2UpOiBzdHJpbmcge1xuXHRmdW5jdGlvbiBfKHRva2VuOiBzdHJpbmcsIC4uLnN1YkFyZ3M6IGFueVtdKTogc3RyaW5nIHwgdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcblx0XHRyZXR1cm4gdG9rZW5zW3Rva2VuXShyZXF1ZXN0LCByZXNwb25zZSwgLi4uc3ViQXJncylcblx0fVxuXG5cdC8vIFJhdyB2YWx1ZXMuXG5cdGNvbnN0IG1ldGhvZCA9IF8oJ21ldGhvZCcpXG5cdGNvbnN0IFVSTCA9IF8oJ3VybCcpXG5cdGNvbnN0IGh0dHBWZXJzaW9uID0gYEhUVFAvJHtfKCdodHRwLXZlcnNpb24nKSBhcyBzdHJpbmd9YFxuXHRjb25zdCBzdGF0dXNDb2RlID0gTnVtYmVyKF8oJ3N0YXR1cycpKVxuXHRjb25zdCBjb250ZW50TGVuZ3RoID0gTnVtYmVyKF8oJ3JlcycsICdjb250ZW50LWxlbmd0aCcpID8/IC0xKVxuXHRjb25zdCByZXNwb25zZVRpbWUgPSBOdW1iZXIoXygncmVzcG9uc2UtdGltZScpID8/IC0xKVxuXG5cdC8vIERlY29yYXRlZCB2YWx1ZXMuXG5cdGNvbnN0ICRtZXRob2QgPSBib2xkKG1ldGhvZCA/PyAnJylcblx0Y29uc3QgJHZlcnNpb24gPSByZ2IyNChodHRwVmVyc2lvbiwgMHg2MkIxRkYpXG5cdGNvbnN0ICRzdGF0dXNDb2RlID0gZGVjb3JhdGVTdGF0dXNDb2RlKHN0YXR1c0NvZGUpXG5cdGNvbnN0ICRjb250ZW50TGVuZ3RoID0gY29udGVudExlbmd0aCA+PSAwID8gcHJldHR5Qnl0ZXMoY29udGVudExlbmd0aCkgOiAnPyBCJ1xuXHRjb25zdCAkcmVzcG9uc2VUaW1lID0gcmVzcG9uc2VUaW1lID49IDAgPyBwcmV0dHlNcyhyZXNwb25zZVRpbWUsIHsgaWdub3JlWmVybzogdHJ1ZSB9KSA6ICcnXG5cblx0Ly8gQWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cblx0Y29uc3QgbWV0YWRhdGEgPSBgKCR7JGNvbnRlbnRMZW5ndGh9LCAkeyRyZXNwb25zZVRpbWV9KWBcblxuXHRyZXR1cm4gW1xuXHRcdGDihpIgJHskbWV0aG9kfSAke1VSTCBhcyBzdHJpbmd9ICR7JHZlcnNpb259YCxcblx0XHRg4oaQICR7JHZlcnNpb259ICR7JHN0YXR1c0NvZGV9ICR7bWV0YWRhdGF9YCxcblx0XS5qb2luKCdcXG4nKVxufVxuXG5leHBvcnQgZGVmYXVsdCBleGVjdXRpb25Nb2RlID09PSBFeGVjdXRpb25Nb2RlLkRldmVsb3BtZW50TW9kZSA/IGZvcm1hdEZvck1vcmdhbiA6IG1vcmdhbi5jb21iaW5lZFxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHsgSW5jb21pbmdNZXNzYWdlIGFzIEh0dHBSZXF1ZXN0LCBTZXJ2ZXJSZXNwb25zZSBhcyBIdHRwUmVzcG9uc2UgfSBmcm9tICdodHRwJ1xuaW1wb3J0IHsgUGFzc1Rocm91Z2ggfSBmcm9tICdzdHJlYW0nXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IG1vcmdhbiBmcm9tICdtb3JnYW4nXG5pbXBvcnQgKiBhcyB3aW5zdG9uIGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgdHlwZSB7IGxldmVsIGFzIExvZ2dpbmdMZXZlbCwgTG9nZ2VyIGFzIEJhc2VMb2dnZXIgfSBmcm9tICd3aW5zdG9uJ1xuXG4vLyBGb3JtYXR0ZXJzLlxuaW1wb3J0IGZvcm1hdEZvckNMSSBmcm9tICcjZm9ybWF0dGVycy9jb21tYW5kLWxpbmUnXG5pbXBvcnQgZm9ybWF0Rm9yTW9yZ2FuIGZyb20gJyNmb3JtYXR0ZXJzL21vcmdhbidcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7IEV4ZWN1dGlvbk1vZGUsIGV4ZWN1dGlvbk1vZGUgfSBmcm9tICcjaGVscGVycy9jb25zdGFudHMnXG5cbi8vIEhhbmRsZXIgaW1wbGVtZW50YXRpb25zLlxuaW1wb3J0IHR5cGUgeyBMb2dnaW5nTGV2ZWxOYW1lIH0gZnJvbSAnI2hhbmRsZXJzL2luZGV4J1xuaW1wb3J0IGhhbmRsZXJzIGZyb20gJyNoYW5kbGVycy9pbmRleCdcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbnR5cGUgTW9yZ2FuID0gKHJlcTogSHR0cFJlcXVlc3QsIHJlczogSHR0cFJlc3BvbnNlLCBuZXh0OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZCkgPT4gdm9pZFxuXG4vLyBUcmFuc3BvcnRzLlxuY29uc3QgeyBDb25zb2xlOiBDb25zb2xlVHJhbnNwb3J0IH0gPSB3aW5zdG9uLnRyYW5zcG9ydHNcblxuY2xhc3MgTG9nZ2VyIHtcblx0c3RhdGljICNpbnN0YW5jZT86IExvZ2dlclxuXG5cdCNsb2dnZXI6IEJhc2VMb2dnZXIgPSB3aW5zdG9uLmNyZWF0ZUxvZ2dlcih7XG5cdFx0bGV2ZWxzOiBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRoYW5kbGVyc1xuXHRcdFx0XHQubWFwKCh7IG5hbWUsIGxldmVsIH0pID0+IFsgbmFtZSwgbGV2ZWwgXSBhcyBjb25zdClcblx0XHRcdFx0LmZpbHRlcigoWyAsIGxldmVsIF0pID0+IHR5cGVvZiBsZXZlbCA9PT0gJ251bWJlcicpLFxuXHRcdCksXG5cblx0XHRsZXZlbDogKGV4ZWN1dGlvbk1vZGUgPT09IEV4ZWN1dGlvbk1vZGUuUHJvZHVjdGlvbk1vZGUgPyAnaHR0cCcgOiAndmVyYm9zZScpLFxuXG5cdFx0dHJhbnNwb3J0czogW1xuXHRcdFx0bmV3IENvbnNvbGVUcmFuc3BvcnQoeyBmb3JtYXQ6IGZvcm1hdEZvckNMSSB9KSxcblx0XHRdLFxuXG5cdFx0ZXhpdE9uRXJyb3I6IGZhbHNlLFxuXHR9KVxuXG5cdCNtb3JnYW46IE1vcmdhbiA9IG1vcmdhbihmb3JtYXRGb3JNb3JnYW4sIHtcblx0XHRzdHJlYW06IG5ldyBQYXNzVGhyb3VnaCh7IG9iamVjdE1vZGU6IHRydWUgfSkub24oJ2RhdGEnLCAoZGF0YTogc3RyaW5nKSA9PiB7XG5cdFx0XHR0aGlzLmxvZygnaHR0cCcsIGRhdGEudHJpbSgpKVxuXHRcdH0pLFxuXHR9KVxuXG5cdHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG5cdFx0aWYgKG5ldy50YXJnZXQgIT09IExvZ2dlcikge1xuXHRcdFx0dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCdMb2dnZXIgY2xhc3MgaXMgbm90IGluaGVyaXRhYmxlJylcblx0XHR9XG5cblx0XHRpZiAoTG9nZ2VyLiNpbnN0YW5jZSkge1xuXHRcdFx0dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCdMb2dnZXIgY2xhc3MgY2Fubm90IGJlIGNvbnN0cnVjdGVkIGluIGRpcmVjdGx5Jylcblx0XHR9XG5cblx0XHRMb2dnZXIuI2luc3RhbmNlID0gdGhpc1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ2dpbmcgbWVzc2FnZSB3aXRoIHNwZWNpZmljIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbGV2ZWxcblx0ICogQHBhcmFtIG1lc3NhZ2Vcblx0ICogQHBhcmFtIGFyZ3MgQWRkaXRpb25hbCBtZXRhZGF0YS5cblx0ICovXG5cdHB1YmxpYyBsb2cobGV2ZWw6IExvZ2dpbmdMZXZlbE5hbWUsIG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZFxuXG5cdC8qKlxuXHQgKiBMb2dnaW5nIEhUVFAgSS9PLlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVxdWVzdCBOb2RlLmpzIGJ1aWx0LWluIGBJbmNvbWluZ01lc3NhZ2VgIGluc3RhbmNlIGZyb20gYGh0dHBgIG1vZHVsZS5cblx0ICogQHBhcmFtIHJlc3BvbnNlIE5vZGUuanMgYnVpbHQtaW4gYFNlcnZlclJlc3BvbnNlYCBpbnN0YW5jZSBmcm9tIGBodHRwYCBtb2R1bGUuXG5cdCAqL1xuXHRwdWJsaWMgbG9nKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCByZXNwb25zZTogSHR0cFJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPlxuXG5cdC8qKlxuXHQgKiBMb2dnaW5nIGVycm9ycyBpbiBkZXRhaWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBlcnJvclxuXHQgKi9cblx0cHVibGljIGxvZyhlcnJvcjogRXJyb3IpOiB2b2lkXG5cblx0cHVibGljIGxvZyguLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgbG9nZ2VyID0gdGhpcy4jbG9nZ2VyXG5cdFx0Y29uc3QgZm9ybWF0ID0gdGhpcy4jbW9yZ2FuXG5cblx0XHRzd2l0Y2ggKHRydWUpIHtcblx0XHRjYXNlIChhcmdzLmxlbmd0aCA+PSAyICYmIGFyZ3NbMF0gaW5zdGFuY2VvZiBIdHRwUmVxdWVzdCAmJiBhcmdzWzFdIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKToge1xuXHRcdFx0Y29uc3QgWyByZXF1ZXN0LCByZXNwb25zZSBdID0gYXJncyBhcyBbIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgXVxuXG5cdFx0XHRyZXR1cm4gcHJvbWlzaWZ5KGZvcm1hdCkocmVxdWVzdCwgcmVzcG9uc2UpXG5cdFx0fVxuXG5cdFx0Y2FzZSAoYXJncy5sZW5ndGggPj0gMSAmJiBhcmdzWzBdIGluc3RhbmNlb2YgRXJyb3IpOiB7XG5cdFx0XHRjb25zdCBbIGVycm9yLCAuLi5kYXRhIF0gPSBhcmdzIGFzIFsgRXJyb3IsIC4uLnVua25vd25bXSBdXG5cblx0XHRcdGxvZ2dlci5sb2coJ2Vycm9yJywgZXJyb3IubWVzc2FnZSwgZXJyb3IsIC4uLmRhdGEpXG5cblx0XHRcdHJldHVybiB1bmRlZmluZWRcblx0XHR9XG5cblx0XHRkZWZhdWx0OiB7XG5cdFx0XHRjb25zdCBbIGxldmVsLCBtZXNzYWdlLCAuLi5kYXRhIF0gPSBhcmdzIGFzIFsgdHlwZW9mIExvZ2dpbmdMZXZlbCwgc3RyaW5nLCAuLi51bmtub3duW10gXVxuXG5cdFx0XHRsb2dnZXIubG9nKGxldmVsLCBtZXNzYWdlLCAuLi5kYXRhKVxuXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXG5cdFx0fVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZWZsZWN0LmNvbnN0cnVjdChMb2dnZXIsIFtdLCBMb2dnZXIpIGFzIExvZ2dlclxuIl0sIm5hbWVzIjpbIm5hbWUiLCJsZXZlbCIsImxhYmVsIiwiaGFuZGxlIiwiZW52aXJvbm1lbnRzIiwicHJldHR5Qnl0ZXMiLCJwcmV0dHlNcyIs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
530
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NvdXJjZXMvaGVscGVycy9sb2dnaW5nLWxldmVsLnRzIiwiLi4vc291cmNlcy9oZWxwZXJzL2NvbG9yLXNjaGVtZS50cyIsIi4uL3NvdXJjZXMvaGVscGVycy9sYWJlbC1kZWNvcmF0b3IudHMiLCIuLi9zb3VyY2VzL2hhbmRsZXJzL2Vycm9yLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9mYXRhbC50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvd2FybmluZy50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvbm90aWNlLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9pbmZvLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9odHRwLnRzIiwiLi4vc291cmNlcy9oYW5kbGVycy9xdWVyeS50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvdmVyYm9zZS50cyIsIi4uL3NvdXJjZXMvaGFuZGxlcnMvZGVidWcudHMiLCIuLi9zb3VyY2VzL2hhbmRsZXJzL2luZGV4LnRzIiwiLi4vc291cmNlcy9mb3JtYXR0ZXJzL2NvbW1hbmQtbGluZS50cyIsIi4uL3NvdXJjZXMvaGVscGVycy9jb25zdGFudHMudHMiLCIuLi9zb3VyY2VzL2Zvcm1hdHRlcnMvbW9yZ2FuLnRzIiwiLi4vc291cmNlcy9jbGFzc2VzL2xvZ2dlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBMb2dnaW5nTGV2ZWwgPSB7XG5cdC8vIENyaXRpY2FsIGxldmVscy4gKEl0IHdpbGwgY3Jhc2ggdGhlIHByb2Nlc3MpXG5cdEZhdGFsOiAwLFxuXHRFcnJvcjogMSxcblxuXHQvLyBXYXJuaW5nIGxldmVscy4gKEl0IGp1c3QgcmVwb3J0IHdhcm5pbmcgaW5mb3JtYXRpb24sIG5vdCBjcmFzaCB0aGUgcHJvY2Vzcylcblx0V2FybmluZzogMixcblxuXHQvLyBSZWd1bGFyIGxldmVsIGFuZCBhbGlhc2VzLlxuXHROb3RpY2U6IDMsXG5cdEluZm86IDMsXG5cblx0Ly8gTWF5YmUgc2Vuc2l0aXZlIGxldmVscy4gKEluIGdlbmVyYWwsIGRvZXMgbm90IHVzZWZ1bClcblx0SHR0cDogNCxcblx0UXVlcnk6IDQsXG5cblx0Ly8gTG91ZCBsZXZlbHMuXG5cdFZlcmJvc2U6IDUsXG5cdERlYnVnOiA1LFxufSBhcyBjb25zdFxuXG50eXBlIExvZ2dpbmdMZXZlbCA9IHR5cGVvZiBMb2dnaW5nTGV2ZWxba2V5b2YgdHlwZW9mIExvZ2dpbmdMZXZlbF1cblxuZXhwb3J0IGRlZmF1bHQgTG9nZ2luZ0xldmVsXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYmdSZ2IyNCwgcmdiMjQgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5cbi8vIFR5cGUgZGVmaW5pdGlvbnMuXG50eXBlIENvbG9yaXplciA9IChzdHJpbmc6IHN0cmluZykgPT4gc3RyaW5nXG5cbi8vIENvbnN0YW50cy5cbmNvbnN0IGNvbG9yaXplck1hcCA9IG5ldyBNYXA8bnVtYmVyLCBDb2xvcml6ZXI+KClcblxuLy8gSGVscGVycy5cbmZ1bmN0aW9uIGNyZWF0ZVNjaGVtZShvcHRpb25zOiB7IGJhY2tncm91bmQ6IENvbG9yVmFsdWUsIGZvcmVncm91bmQ6IENvbG9yVmFsdWUgfSk6IG51bWJlciB7XG5cdGNvbnN0IG5leHRJbmRleCA9IGNvbG9yaXplck1hcC5zaXplXG5cdGNvbnN0IGNvbG9yaXplciA9IChzdHJpbmc6IHN0cmluZykgPT4gYmdSZ2IyNChyZ2IyNChzdHJpbmcsIG9wdGlvbnMuZm9yZWdyb3VuZCksIG9wdGlvbnMuYmFja2dyb3VuZClcblxuXHRjb2xvcml6ZXJNYXAuc2V0KG5leHRJbmRleCwgY29sb3JpemVyKVxuXG5cdHJldHVybiBuZXh0SW5kZXhcbn1cblxuLy8gQ29sb3IgZGVmaW5pdGlvbnMuXG5jb25zdCBDb2xvclZhbHVlID0ge1xuXHQvLyBCYXNpYyBjb2xvcnMuXG5cdFdoaXRlOiAweEZGRkZGRixcblx0R3JheTogMHg4MDgwODAsXG5cdEJsYWNrOiAweDAwMDAwMCxcblxuXHQvLyBTcGVjaWFsaXplZCBjb2xvcnMuXG5cdENyaXRpY2FsOiAweEQ2MzAzMSxcblx0V2FybmluZzogMHhGRENCNkUsXG5cdFJlZ3VsYXI6IDB4MDk4NEUzLFxuXHRIdHRwOiAweDZBQjA0Qyxcblx0UXVlcnk6IDB4Mzk5QUYzLFxufSBhcyBjb25zdFxuXG50eXBlIENvbG9yVmFsdWUgPSB0eXBlb2YgQ29sb3JWYWx1ZVtrZXlvZiB0eXBlb2YgQ29sb3JWYWx1ZV1cblxuY29uc3QgQ29sb3JTY2hlbWUgPSB7XG5cdENyaXRpY2FsOiBjcmVhdGVTY2hlbWUoe1xuXHRcdGJhY2tncm91bmQ6IENvbG9yVmFsdWUuQ3JpdGljYWwsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0V2FybmluZzogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLldhcm5pbmcsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0UmVndWxhcjogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLlJlZ3VsYXIsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5XaGl0ZSxcblx0fSksXG5cblx0SHR0cDogY3JlYXRlU2NoZW1lKHtcblx0XHRiYWNrZ3JvdW5kOiBDb2xvclZhbHVlLkh0dHAsXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5CbGFjayxcblx0fSksXG5cblx0UXVlcnk6IGNyZWF0ZVNjaGVtZSh7XG5cdFx0YmFja2dyb3VuZDogQ29sb3JWYWx1ZS5RdWVyeSxcblx0XHRmb3JlZ3JvdW5kOiBDb2xvclZhbHVlLkJsYWNrLFxuXHR9KSxcblxuXHRMb3VkOiBjcmVhdGVTY2hlbWUoe1xuXHRcdGJhY2tncm91bmQ6IENvbG9yVmFsdWUuQmxhY2ssXG5cdFx0Zm9yZWdyb3VuZDogQ29sb3JWYWx1ZS5HcmF5LFxuXHR9KSxcbn0gYXMgY29uc3RcblxudHlwZSBDb2xvclNjaGVtZSA9IHR5cGVvZiBDb2xvclNjaGVtZVtrZXlvZiB0eXBlb2YgQ29sb3JTY2hlbWVdXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGFsa09mKGNvbG9yU2V0OiBDb2xvclNjaGVtZSk6IENvbG9yaXplciB7XG5cdHJldHVybiBjb2xvcml6ZXJNYXAuZ2V0KGNvbG9yU2V0KSA/PyAoKHN0cmluZzogc3RyaW5nKSA9PiBzdHJpbmcpXG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yU2NoZW1lXG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdwcm9jZXNzJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYm9sZCB9IGZyb20gJ0BzdGQvZm10L2NvbG9ycydcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBDb2xvclNjaGVtZSwgeyBnZXRDaGFsa09mIH0gZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuXG4vLyBDb25zdGFudHMuXG5jb25zdCB7IGlzVFRZIH0gPSBwcm9jZXNzLnN0ZG91dFxuY29uc3QgaXNOb3RPbkNMSSA9ICFpc1RUWVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWNvcmF0ZUxhYmVsPFQgZXh0ZW5kcyBzdHJpbmc+KGxhYmVsOiBULCBzY2hlbWU6IENvbG9yU2NoZW1lKTogVCB7XG5cdGlmIChpc05vdE9uQ0xJKSByZXR1cm4gbGFiZWxcblxuXHRjb25zdCBjb2xvcml6ZSA9IGdldENoYWxrT2Yoc2NoZW1lKVxuXHRjb25zdCBkZWNvcmF0ZWRMYWJlbCA9IGJvbGQoY29sb3JpemUoYCAke2xhYmVsfSBgKSlcblxuXHRyZXR1cm4gZGVjb3JhdGVkTGFiZWwgYXMgVFxufVxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBwcm9jZXNzLCB7IHZlcnNpb24gfSBmcm9tICdwcm9jZXNzJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgYmx1ZSwgZ3JheSwgYm9sZCwgdW5kZXJsaW5lIH0gZnJvbSAnQHN0ZC9mbXQvY29sb3JzJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbnR5cGUgTG9nZ2luZ0RhdGEgPSB7IGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9ICYgUmVjb3JkPFByb3BlcnR5S2V5LCBhbnk+XG50eXBlIEhhbmRsZWREYXRhID0geyBsYWJlbDogc3RyaW5nLCBwYXlsb2FkOiBzdHJpbmcgfVxuXG4vLyBDb25zdGFudHMuXG5jb25zdCByb290UGF0aCA9IHByb2Nlc3MuY3dkKClcbmNvbnN0IGNvbmp1bmN0aW9uID0gYCAke2JsdWUoJ+KUgOKUgCcpfSBgXG5jb25zdCBzcGxhdDogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbC5mb3IoJ3NwbGF0JylcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ2Vycm9yJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkVycm9yXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdFUlJPUicsIENvbG9yU2NoZW1lLkNyaXRpY2FsKVxuXG5mdW5jdGlvbiBzaW1wbGlmeURhdGFVUkkoZGF0YVVSSTogc3RyaW5nKTogc3RyaW5nIHtcblx0Y29uc3QgWyAsIGFjdHVhbENvbnRlbnQgXSA9IGRhdGFVUkkuc3BsaXQoJzonKVxuXHRjb25zdCBwaXZvdCA9IGFjdHVhbENvbnRlbnQuaW5kZXhPZignLCcpICsgMVxuXHRjb25zdCBtaW1lSW5kaWNhdG9yID0gYWN0dWFsQ29udGVudC5zbGljZSgwLCBwaXZvdClcblx0Y29uc3QgY29udGVudFByZWZpeCA9IGFjdHVhbENvbnRlbnQuc2xpY2UocGl2b3QsIHBpdm90ICsgNClcblx0Y29uc3QgY29udGVudFN1ZmZpeCA9IGFjdHVhbENvbnRlbnQuc2xpY2UoLTQpXG5cblx0cmV0dXJuIGBkYXRhOiR7bWltZUluZGljYXRvciArIGNvbnRlbnRQcmVmaXh9Li4uJHtjb250ZW50U3VmZml4fWBcbn1cblxuZnVuY3Rpb24gaXNEYXRhVVJJKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcblx0cmV0dXJuIGZpbGVuYW1lLnN0YXJ0c1dpdGgoJ2RhdGE6Jylcbn1cblxuZnVuY3Rpb24gaXNBYnNvbHV0ZU9yRGF0YVVSSShmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG5cdHJldHVybiBwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpIHx8IGlzRGF0YVVSSShmaWxlbmFtZSlcbn1cblxuZnVuY3Rpb24gbWFwTG9jYXRpb25PZkVycm9yVGhyb3duKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRsZXQgdGFyZ2V0ID0gcGF0aC5yZWxhdGl2ZShyb290UGF0aCwgZmlsZW5hbWUpXG5cblx0aWYgKGlzRGF0YVVSSShmaWxlbmFtZSkpIHtcblx0XHR0YXJnZXQgPSBncmF5KHNpbXBsaWZ5RGF0YVVSSShmaWxlbmFtZSkpXG5cdH0gZWxzZSBpZiAodGFyZ2V0LmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSkge1xuXHRcdHRhcmdldCA9IGdyYXkoXG5cdFx0XHR0YXJnZXQuc2xpY2UodGFyZ2V0Lmxhc3RJbmRleE9mKCdub2RlX21vZHVsZXMnKSksXG5cdFx0KS5yZXBsYWNlKFxuXHRcdFx0L25vZGVfbW9kdWxlc1tcXFxcL10oKD86QFteXFxcXC9dK1tcXFxcL10pP1teXFxcXC9dKykoLiopLyxcblx0XHRcdChfLCBtb2R1bGVOYW1lOiBzdHJpbmcsIHRyYWlsaW5nOiBzdHJpbmcpID0+IChcblx0XHRcdFx0YG5vZGVfbW9kdWxlcyR7cGF0aC5zZXB9JHtib2xkKHVuZGVybGluZShtb2R1bGVOYW1lKSl9JHtncmF5KHRyYWlsaW5nKX1gXG5cdFx0XHQpLFxuXHRcdClcblx0fSBlbHNlIHtcblx0XHR0YXJnZXQgPSBgJHtncmF5KHBhdGguZGlybmFtZSh0YXJnZXQpICsgcGF0aC5zZXApfSR7Ym9sZCh1bmRlcmxpbmUocGF0aC5iYXNlbmFtZSh0YXJnZXQpKSl9YFxuXHR9XG5cblx0cmV0dXJuIHRhcmdldFxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYW5kbGUoZGF0YTogTG9nZ2luZ0RhdGEpOiBIYW5kbGVkRGF0YSB8IHVuZGVmaW5lZCB7XG5cdGNvbnN0IHsgW3NwbGF0XTogWyBlcnJvciBdID0gW10gfSA9IGRhdGEgYXMgYW55XG5cblx0aWYgKCEoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikpIHtcblx0XHRyZXR1cm4gdW5kZWZpbmVkXG5cdH1cblxuXHRjb25zdCB7IG5hbWU6IGVycm9yTmFtZSwgbWVzc2FnZSwgc3RhY2s6IHJhd1N0YWNrID0gJycgfSA9IGVycm9yXG5cblx0Y29uc3Qgc3RhY2sgPSByYXdTdGFja1xuXHRcdC5zbGljZShlcnJvck5hbWUubGVuZ3RoICsgbWVzc2FnZS5sZW5ndGggKyAzKVxuXHRcdC5zcGxpdCgnXFxuJylcblx0XHQubWFwKGxpbmUgPT4gbGluZS5yZXBsYWNlKC9eXFxzK2F0IC9nLCAnJykpXG5cdFx0Lm1hcChsaW5lID0+IChpc0Fic29sdXRlT3JEYXRhVVJJKGxpbmUpID8gYDxhbm9ueW1vdXM+JHtjb25qdW5jdGlvbn0ke21hcExvY2F0aW9uT2ZFcnJvclRocm93bihsaW5lKX1gIDogbGluZSkpXG5cdFx0Lm1hcChsaW5lID0+IGxpbmUucmVwbGFjZSgvXiguKykgXFwoKC4rKVxcKSQvLCAoXywgY29udGV4dE5hbWU6IHN0cmluZywgcmF3TG9jYXRpb246IHN0cmluZykgPT4ge1xuXHRcdFx0bGV0IGxvY2F0aW9uID0gJydcblxuXHRcdFx0c3dpdGNoICh0cnVlKSB7XG5cdFx0XHRjYXNlIChyYXdMb2NhdGlvbiA9PT0gJzxhbm9ueW1vdXM+Jyk6IHtcblx0XHRcdFx0bG9jYXRpb24gPSBncmF5KHJhd0xvY2F0aW9uKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGNhc2UgKGlzRGF0YVVSSShyYXdMb2NhdGlvbikpOiB7XG5cdFx0XHRcdGxvY2F0aW9uID0gZ3JheShzaW1wbGlmeURhdGFVUkkocmF3TG9jYXRpb24pKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGNhc2UgKHJhd0xvY2F0aW9uLnN0YXJ0c1dpdGgoJ25vZGU6JykpOiB7XG5cdFx0XHRcdGNvbnN0IFsgZmlsZW5hbWUsIG9jY3VycmVkTGluZSBdID0gcmF3TG9jYXRpb24uc2xpY2UoNSkuc3BsaXQoJzonKVxuXG5cdFx0XHRcdGxvY2F0aW9uID0gZ3JheShgaHR0cHM6Ly9naXRodWIuY29tLyR7Ym9sZCh1bmRlcmxpbmUoJ25vZGVqcycpKX0vbm9kZS9ibG9iLyR7dmVyc2lvbn0vbGliLyR7ZmlsZW5hbWV9LmpzI0wke29jY3VycmVkTGluZX1gKVxuXG5cdFx0XHRcdGJyZWFrXG5cdFx0XHR9XG5cblx0XHRcdGRlZmF1bHQ6IHtcblx0XHRcdFx0Y29uc3QgWyBmaWxlbmFtZSwgb2NjdXJyZWRMaW5lLCBvY2N1cnJlZENvbHVtbiBdID0gcmF3TG9jYXRpb24uc3BsaXQoJzonKVxuXG5cdFx0XHRcdGlmICghcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKSkgYnJlYWtcblxuXHRcdFx0XHRjb25zdCB0YXJnZXQgPSBtYXBMb2NhdGlvbk9mRXJyb3JUaHJvd24ocGF0aC5yZWxhdGl2ZShyb290UGF0aCwgZmlsZW5hbWUpKVxuXHRcdFx0XHRjb25zdCB0cmFpbGluZyA9IGdyYXkoYDoke29jY3VycmVkTGluZX06JHtvY2N1cnJlZENvbHVtbn1gKVxuXG5cdFx0XHRcdGxvY2F0aW9uID0gdGFyZ2V0ICsgdHJhaWxpbmdcblx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGAke2NvbnRleHROYW1lfSR7Y29uanVuY3Rpb259JHtsb2NhdGlvbn1gXG5cdFx0fSkpXG5cdFx0LmpvaW4oJ1xcbicpXG5cblx0Y29uc3QgZGVjb3JhdGVkTGFiZWwgPSBkZWNvcmF0ZUxhYmVsKGVycm9yTmFtZSwgQ29sb3JTY2hlbWUuQ3JpdGljYWwpXG5cdGNvbnN0IHBheWxvYWQgPSBgJHttZXNzYWdlfVxcblxcbiR7c3RhY2t9XFxuYFxuXG5cdHJldHVybiB7IGxhYmVsOiBkZWNvcmF0ZWRMYWJlbCwgcGF5bG9hZCB9XG59XG4iLCIvLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ2ZhdGFsJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkZhdGFsXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdGQVRBTCcsIENvbG9yU2NoZW1lLkNyaXRpY2FsKVxuXG5leHBvcnQgeyBkZWZhdWx0IH0gZnJvbSAnI2hhbmRsZXJzL2Vycm9yJyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtZXhwb3J0c1xuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICd3YXJuaW5nJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLldhcm5pbmdcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ1dBUk5JTkcnLCBDb2xvclNjaGVtZS5XYXJuaW5nKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IExvZ2dpbmdMZXZlbCBmcm9tICcjaGVscGVycy9sb2dnaW5nLWxldmVsJ1xuaW1wb3J0IENvbG9yU2NoZW1lIGZyb20gJyNoZWxwZXJzL2NvbG9yLXNjaGVtZSdcbmltcG9ydCBkZWNvcmF0ZUxhYmVsIGZyb20gJyNoZWxwZXJzL2xhYmVsLWRlY29yYXRvcidcblxuLy8gSGFuZGxlciBtZXRhZGF0YS5cbmV4cG9ydCBjb25zdCBuYW1lID0gJ25vdGljZSdcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5Ob3RpY2VcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ05PVElDRScsIENvbG9yU2NoZW1lLlJlZ3VsYXIpXG5cbmV4cG9ydCBkZWZhdWx0IG51bGxcbiIsIi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBIYW5kbGVyIG1ldGFkYXRhLlxuZXhwb3J0IGNvbnN0IG5hbWUgPSAnaW5mbydcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5JbmZvXG5leHBvcnQgY29uc3QgbGFiZWwgPSBkZWNvcmF0ZUxhYmVsKCdJTkZPJywgQ29sb3JTY2hlbWUuUmVndWxhcilcblxuZXhwb3J0IGRlZmF1bHQgbnVsbFxuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdodHRwJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLkh0dHBcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ0hUVFAnLCBDb2xvclNjaGVtZS5IdHRwKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBIaWdobGlnaHQuanNcbmltcG9ydCB7IGhpZ2hsaWdodCB9IGZyb20gJ2NsaS1oaWdobGlnaHQnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxudHlwZSBMb2dnaW5nRGF0YSA9IHsgbGV2ZWw6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gJiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT5cbnR5cGUgSGFuZGxlZERhdGEgPSB7IGxhYmVsOiBzdHJpbmcsIHBheWxvYWQ6IHN0cmluZyB9XG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdxdWVyeSdcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5RdWVyeVxuZXhwb3J0IGNvbnN0IGxhYmVsID0gZGVjb3JhdGVMYWJlbCgnUVVFUlknLCBDb2xvclNjaGVtZS5RdWVyeSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaGFuZGxlKGRhdGE6IExvZ2dpbmdEYXRhKTogSGFuZGxlZERhdGEgfCB1bmRlZmluZWQge1xuXHRyZXR1cm4geyBsYWJlbCwgcGF5bG9hZDogaGlnaGxpZ2h0KGRhdGEubWVzc2FnZSwgeyBsYW5ndWFnZTogJ3NxbCcgfSkgfVxufVxuIiwiLy8gVGhpcmQtcGFydHkgbW9kdWxlcy5cbmltcG9ydCB7IGdyYXkgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5cbi8vIExvY2FsIGhlbHBlcnMuXG5pbXBvcnQgTG9nZ2luZ0xldmVsIGZyb20gJyNoZWxwZXJzL2xvZ2dpbmctbGV2ZWwnXG5pbXBvcnQgQ29sb3JTY2hlbWUgZnJvbSAnI2hlbHBlcnMvY29sb3Itc2NoZW1lJ1xuaW1wb3J0IGRlY29yYXRlTGFiZWwgZnJvbSAnI2hlbHBlcnMvbGFiZWwtZGVjb3JhdG9yJ1xuXG4vLyBUeXBlIGRlZmluaXRpb25zLlxudHlwZSBMb2dnaW5nRGF0YSA9IHsgbGV2ZWw6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nIH0gJiBSZWNvcmQ8UHJvcGVydHlLZXksIGFueT5cbnR5cGUgSGFuZGxlZERhdGEgPSB7IGxhYmVsOiBzdHJpbmcsIHBheWxvYWQ6IHN0cmluZyB9XG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICd2ZXJib3NlJ1xuZXhwb3J0IGNvbnN0IGxldmVsID0gTG9nZ2luZ0xldmVsLlZlcmJvc2VcbmV4cG9ydCBjb25zdCBsYWJlbCA9IGRlY29yYXRlTGFiZWwoJ1ZFUkJPU0UnLCBDb2xvclNjaGVtZS5Mb3VkKVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoYW5kbGUoZGF0YTogTG9nZ2luZ0RhdGEpOiBIYW5kbGVkRGF0YSB8IHVuZGVmaW5lZCB7XG5cdHJldHVybiB7IGxhYmVsLCBwYXlsb2FkOiBncmF5KGRhdGEubWVzc2FnZSkgfVxufVxuIiwiLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCBMb2dnaW5nTGV2ZWwgZnJvbSAnI2hlbHBlcnMvbG9nZ2luZy1sZXZlbCdcbmltcG9ydCBDb2xvclNjaGVtZSBmcm9tICcjaGVscGVycy9jb2xvci1zY2hlbWUnXG5pbXBvcnQgZGVjb3JhdGVMYWJlbCBmcm9tICcjaGVscGVycy9sYWJlbC1kZWNvcmF0b3InXG5cbi8vIEhhbmRsZXIgbWV0YWRhdGEuXG5leHBvcnQgY29uc3QgbmFtZSA9ICdkZWJ1ZydcbmV4cG9ydCBjb25zdCBsZXZlbCA9IExvZ2dpbmdMZXZlbC5EZWJ1Z1xuZXhwb3J0IGNvbnN0IGxhYmVsID0gZGVjb3JhdGVMYWJlbCgnREVCVUcnLCBDb2xvclNjaGVtZS5Mb3VkKVxuXG5leHBvcnQgZGVmYXVsdCBudWxsXG4iLCIvLyBIYW5kbGVyIGltcGxlbWVudGF0aW9ucy5cbmltcG9ydCAqIGFzIEZhdGFsSGFuZGxlciBmcm9tICcjaGFuZGxlcnMvZmF0YWwnXG5pbXBvcnQgKiBhcyBFcnJvckhhbmRsZXIgZnJvbSAnI2hhbmRsZXJzL2Vycm9yJ1xuaW1wb3J0ICogYXMgV2FybmluZ0hhbmRsZXIgZnJvbSAnI2hhbmRsZXJzL3dhcm5pbmcnXG5pbXBvcnQgKiBhcyBOb3RpY2VIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9ub3RpY2UnXG5pbXBvcnQgKiBhcyBJbmZvSGFuZGxlciBmcm9tICcjaGFuZGxlcnMvaW5mbydcbmltcG9ydCAqIGFzIEh0dHBIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9odHRwJ1xuaW1wb3J0ICogYXMgUXVlcnlIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9xdWVyeSdcbmltcG9ydCAqIGFzIFZlcmJvc2VIYW5kbGVyIGZyb20gJyNoYW5kbGVycy92ZXJib3NlJ1xuaW1wb3J0ICogYXMgRGVidWdIYW5kbGVyIGZyb20gJyNoYW5kbGVycy9kZWJ1ZydcblxuY29uc3QgaGFuZGxlcnMgPSBbXG5cdEZhdGFsSGFuZGxlcixcblx0RXJyb3JIYW5kbGVyLFxuXHRXYXJuaW5nSGFuZGxlcixcblx0Tm90aWNlSGFuZGxlcixcblx0SW5mb0hhbmRsZXIsXG5cdEh0dHBIYW5kbGVyLFxuXHRRdWVyeUhhbmRsZXIsXG5cdFZlcmJvc2VIYW5kbGVyLFxuXHREZWJ1Z0hhbmRsZXIsXG5dXG5cbmV4cG9ydCB0eXBlIExvZ2dpbmdMZXZlbE5hbWUgPSAodHlwZW9mIGhhbmRsZXJzIGV4dGVuZHMgKGluZmVyIFQpW10gPyBUIDogbmV2ZXIpWyduYW1lJ11cbmV4cG9ydCBkZWZhdWx0IGhhbmRsZXJzXG4iLCIvLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IHsgZ3JheSB9IGZyb20gJ0BzdGQvZm10L2NvbG9ycydcbmltcG9ydCByVHJhY2VyIGZyb20gJ2Nscy1ydHJhY2VyJ1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbidcbmltcG9ydCB7IGZvcm1hdCB9IGZyb20gJ3dpbnN0b24nXG5cbi8vIEhhbmRsZXIgaW1wbGVtZW50YXRpb25zLlxuaW1wb3J0IGhhbmRsZXJzIGZyb20gJyNoYW5kbGVycy9pbmRleCdcblxuZXhwb3J0IGRlZmF1bHQgZm9ybWF0LnByaW50ZihkYXRhID0+IHtcblx0Y29uc3QgdGltZXN0YW1wID0gZ3JheShEYXRlVGltZS5ub3coKS50b0lTTyh7IGluY2x1ZGVPZmZzZXQ6IHRydWUgfSkpXG5cdGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVycy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gZGF0YS5sZXZlbClcblx0Y29uc3QgZmFsbGJhY2sgPSB7IGxhYmVsOiBoYW5kbGVyPy5sYWJlbCwgcGF5bG9hZDogZGF0YS5tZXNzYWdlIH1cblx0Y29uc3QgcGVyZm9ybUhhbmRsZSA9IGhhbmRsZXI/LmRlZmF1bHQgPz8gKCgpOiB0eXBlb2YgZmFsbGJhY2sgPT4gZmFsbGJhY2spXG5cblx0Ly8gRXhlY3V0ZSBoYW5kbGVyIGFuZCB0aGVuLCBnZXQgZGVjb3JhdGVkIHBheWxvYWQuXG5cdGNvbnN0IHsgbGFiZWwsIHBheWxvYWQgfSA9IFJlZmxlY3QuYXBwbHkocGVyZm9ybUhhbmRsZSwgdW5kZWZpbmVkLCBbIGRhdGEgXSkgPz8gZmFsbGJhY2tcblxuXHRjb25zdCBleHRyYUZpbmdlcnByaW50ID0gW1xuXHRcdFsgJ1JlcXVlc3QtSUQnLCByVHJhY2VyLmlkKCkgXSxcblx0XHRbICdUcmFuc2FjdGlvbi1JRCcsIGRhdGEudHJhbnNhY3Rpb25JZCBdLFxuXHRdXG5cdFx0LmZpbHRlcigoWyAsIGlkVmFsdWUgXSkgPT4gaWRWYWx1ZSlcblx0XHQubWFwKChbIGtpbmQsIGlkVmFsdWUgXSkgPT4gYCR7a2luZH0gPSAke2lkVmFsdWV9YClcblx0XHQuam9pbignIHwgJylcblxuXHRyZXR1cm4gYCR7bGFiZWwgYXMgc3RyaW5nfSAke3RpbWVzdGFtcH0ke2V4dHJhRmluZ2VycHJpbnQgPyBgICgke2V4dHJhRmluZ2VycHJpbnR9KWAgOiAnJ31cXG4ke3BheWxvYWQgYXMgc3RyaW5nfWBcbn0pXG4iLCIvLyBOb2RlLmpzIGJ1aWx0LWluIEFQSXMuXG5pbXBvcnQgY2x1c3RlciBmcm9tICdjbHVzdGVyJ1xuaW1wb3J0IHsgZW52IGFzIGVudmlyb25tZW50cyB9IGZyb20gJ3Byb2Nlc3MnXG5pbXBvcnQgeyBpc01haW5UaHJlYWQgfSBmcm9tICd3b3JrZXJfdGhyZWFkcydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmV4cG9ydCBjb25zdCBFeGVjdXRpb25Nb2RlID0ge1xuXHREZXZlbG9wbWVudE1vZGU6ICdkZXZlbG9wbWVudCcsXG5cdFByb2R1Y3Rpb25Nb2RlOiAncHJvZHVjdGlvbicsXG59IGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBDbHVzdGVyaW5nTW9kZSA9IHtcblx0TWFzdGVyUHJvY2VzczogMCxcblx0V29ya2VyUHJvY2VzczogMSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IFRocmVhZGluZ01vZGUgPSB7XG5cdE1haW5UaHJlYWQ6IDAsXG5cdFdvcmtlclRocmVhZDogMSxcbn0gYXMgY29uc3RcblxuZXhwb3J0IHR5cGUgRXhlY3V0aW9uTW9kZSA9IHR5cGVvZiBFeGVjdXRpb25Nb2RlW2tleW9mIHR5cGVvZiBFeGVjdXRpb25Nb2RlXVxuZXhwb3J0IHR5cGUgQ2x1c3RlcmluZ01vZGUgPSB0eXBlb2YgQ2x1c3RlcmluZ01vZGVba2V5b2YgdHlwZW9mIENsdXN0ZXJpbmdNb2RlXVxuZXhwb3J0IHR5cGUgVGhyZWFkaW5nTW9kZSA9IHR5cGVvZiBUaHJlYWRpbmdNb2RlW2tleW9mIHR5cGVvZiBUaHJlYWRpbmdNb2RlXVxuXG4vLyBFeHBvcnRpbmdzLlxuZXhwb3J0IGNvbnN0IGV4ZWN1dGlvbk1vZGUgPSBlbnZpcm9ubWVudHMuTk9ERV9FTlYgYXMgRXhlY3V0aW9uTW9kZSA/PyBFeGVjdXRpb25Nb2RlLkRldmVsb3BtZW50TW9kZVxuXG5leHBvcnQgY29uc3QgY2x1c3RlcmluZ01vZGU6IENsdXN0ZXJpbmdNb2RlID0gY2x1c3Rlci5pc1ByaW1hcnkgPz8gY2x1c3Rlci5pc01hc3RlclxuXHQ/IENsdXN0ZXJpbmdNb2RlLk1hc3RlclByb2Nlc3Ncblx0OiBDbHVzdGVyaW5nTW9kZS5Xb3JrZXJQcm9jZXNzXG5cbmV4cG9ydCBjb25zdCB0aHJlYWRpbmdNb2RlOiBUaHJlYWRpbmdNb2RlID0gaXNNYWluVGhyZWFkXG5cdD8gVGhyZWFkaW5nTW9kZS5NYWluVGhyZWFkXG5cdDogVGhyZWFkaW5nTW9kZS5Xb3JrZXJUaHJlYWRcbiIsIi8vIE5vZGUuanMgYnVpbHQtaW4gQVBJcy5cbmltcG9ydCB7XG5cdFNUQVRVU19DT0RFUyxcblx0SW5jb21pbmdNZXNzYWdlIGFzIEh0dHBSZXF1ZXN0LFxuXHRTZXJ2ZXJSZXNwb25zZSBhcyBIdHRwUmVzcG9uc2UsXG59IGZyb20gJ2h0dHAnXG5cbi8vIFRoaXJkLXBhcnR5IG1vZHVsZXMuXG5pbXBvcnQgbW9yZ2FuLCB7IHR5cGUgVG9rZW5JbmRleGVyIH0gZnJvbSAnbW9yZ2FuJ1xuaW1wb3J0IHsgZ3JlZW4sIG1hZ2VudGEsIHJlZCwgZ3JheSwgYm9sZCwgcmdiMjQgfSBmcm9tICdAc3RkL2ZtdC9jb2xvcnMnXG5pbXBvcnQgeyBmb3JtYXQgYXMgcHJldHR5Qnl0ZXMgfSBmcm9tICdAc3RkL2ZtdC9ieXRlcydcbmltcG9ydCB7IGZvcm1hdCBhcyBwcmV0dHlNcyB9IGZyb20gJ0BzdGQvZm10L2R1cmF0aW9uJ1xuXG4vLyBMb2NhbCBoZWxwZXJzLlxuaW1wb3J0IHsgRXhlY3V0aW9uTW9kZSwgZXhlY3V0aW9uTW9kZSB9IGZyb20gJyNoZWxwZXJzL2NvbnN0YW50cydcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbmRlY2xhcmUgbW9kdWxlICdtb3JnYW4nIHtcblx0Y29uc3QgY29tYmluZWQ6IG1vcmdhbi5Gb3JtYXRGblxufVxuXG4vLyBIZWxwZXJzLlxuZnVuY3Rpb24gZGVjb3JhdGVTdGF0dXNDb2RlKHN0YXR1c0NvZGU6IGtleW9mIHR5cGVvZiBTVEFUVVNfQ09ERVMpOiBzdHJpbmcge1xuXHRjb25zdCBncm91cE9mQ29kZSA9IE1hdGguZmxvb3IoTnVtYmVyKHN0YXR1c0NvZGUpIC8gMTAwKSAqIDEwMFxuXHRjb25zdCBiYXNlTWVzc2FnZSA9IGAke3N0YXR1c0NvZGV9ICR7U1RBVFVTX0NPREVTW3N0YXR1c0NvZGVdIGFzIHN0cmluZ31gXG5cblx0c3dpdGNoIChncm91cE9mQ29kZSkge1xuXHRjYXNlIDIwMDoge1xuXHRcdHJldHVybiBncmVlbihiYXNlTWVzc2FnZSlcblx0fVxuXG5cdGNhc2UgMzAwOiB7XG5cdFx0cmV0dXJuIG1hZ2VudGEoYmFzZU1lc3NhZ2UpXG5cdH1cblx0Y2FzZSA0MDA6XG5cdGNhc2UgNTAwOiB7XG5cdFx0cmV0dXJuIHJlZChiYXNlTWVzc2FnZSlcblx0fVxuXG5cdGRlZmF1bHQ6IHtcblx0XHRyZXR1cm4gZ3JheShiYXNlTWVzc2FnZSlcblx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEZvck1vcmdhbih0b2tlbnM6IFRva2VuSW5kZXhlciwgcmVxdWVzdDogSHR0cFJlcXVlc3QsIHJlc3BvbnNlOiBIdHRwUmVzcG9uc2UpOiBzdHJpbmcge1xuXHRmdW5jdGlvbiBfKHRva2VuOiBzdHJpbmcsIC4uLnN1YkFyZ3M6IGFueVtdKTogc3RyaW5nIHwgdm9pZCB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcblx0XHRyZXR1cm4gdG9rZW5zW3Rva2VuXShyZXF1ZXN0LCByZXNwb25zZSwgLi4uc3ViQXJncylcblx0fVxuXG5cdC8vIFJhdyB2YWx1ZXMuXG5cdGNvbnN0IG1ldGhvZCA9IF8oJ21ldGhvZCcpXG5cdGNvbnN0IFVSTCA9IF8oJ3VybCcpXG5cdGNvbnN0IGh0dHBWZXJzaW9uID0gYEhUVFAvJHtfKCdodHRwLXZlcnNpb24nKSBhcyBzdHJpbmd9YFxuXHRjb25zdCBzdGF0dXNDb2RlID0gTnVtYmVyKF8oJ3N0YXR1cycpKVxuXHRjb25zdCBjb250ZW50TGVuZ3RoID0gTnVtYmVyKF8oJ3JlcycsICdjb250ZW50LWxlbmd0aCcpID8/IC0xKVxuXHRjb25zdCByZXNwb25zZVRpbWUgPSBOdW1iZXIoXygncmVzcG9uc2UtdGltZScpID8/IC0xKVxuXG5cdC8vIERlY29yYXRlZCB2YWx1ZXMuXG5cdGNvbnN0ICRtZXRob2QgPSBib2xkKG1ldGhvZCA/PyAnJylcblx0Y29uc3QgJHZlcnNpb24gPSByZ2IyNChodHRwVmVyc2lvbiwgMHg2MkIxRkYpXG5cdGNvbnN0ICRzdGF0dXNDb2RlID0gZGVjb3JhdGVTdGF0dXNDb2RlKHN0YXR1c0NvZGUpXG5cdGNvbnN0ICRjb250ZW50TGVuZ3RoID0gY29udGVudExlbmd0aCA+PSAwID8gcHJldHR5Qnl0ZXMoY29udGVudExlbmd0aCkgOiAnPyBCJ1xuXHRjb25zdCAkcmVzcG9uc2VUaW1lID0gcmVzcG9uc2VUaW1lID49IDAgPyBwcmV0dHlNcyhyZXNwb25zZVRpbWUsIHsgaWdub3JlWmVybzogdHJ1ZSB9KSA6ICcnXG5cblx0Ly8gQWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cblx0Y29uc3QgbWV0YWRhdGEgPSBgKCR7JGNvbnRlbnRMZW5ndGh9LCAkeyRyZXNwb25zZVRpbWV9KWBcblxuXHRyZXR1cm4gW1xuXHRcdGDihpIgJHskbWV0aG9kfSAke1VSTCBhcyBzdHJpbmd9ICR7JHZlcnNpb259YCxcblx0XHRg4oaQICR7JHZlcnNpb259ICR7JHN0YXR1c0NvZGV9ICR7bWV0YWRhdGF9YCxcblx0XS5qb2luKCdcXG4nKVxufVxuXG5leHBvcnQgZGVmYXVsdCBleGVjdXRpb25Nb2RlID09PSBFeGVjdXRpb25Nb2RlLkRldmVsb3BtZW50TW9kZSA/IGZvcm1hdEZvck1vcmdhbiA6IG1vcmdhbi5jb21iaW5lZFxuIiwiLy8gTm9kZS5qcyBidWlsdC1pbiBBUElzLlxuaW1wb3J0IHsgSW5jb21pbmdNZXNzYWdlIGFzIEh0dHBSZXF1ZXN0LCBTZXJ2ZXJSZXNwb25zZSBhcyBIdHRwUmVzcG9uc2UgfSBmcm9tICdodHRwJ1xuaW1wb3J0IHsgUGFzc1Rocm91Z2ggfSBmcm9tICdzdHJlYW0nXG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJ1xuXG4vLyBUaGlyZC1wYXJ0eSBtb2R1bGVzLlxuaW1wb3J0IG1vcmdhbiBmcm9tICdtb3JnYW4nXG5pbXBvcnQgKiBhcyB3aW5zdG9uIGZyb20gJ3dpbnN0b24nXG5pbXBvcnQgdHlwZSB7IGxldmVsIGFzIExvZ2dpbmdMZXZlbCwgTG9nZ2VyIGFzIEJhc2VMb2dnZXIgfSBmcm9tICd3aW5zdG9uJ1xuXG4vLyBGb3JtYXR0ZXJzLlxuaW1wb3J0IGZvcm1hdEZvckNMSSBmcm9tICcjZm9ybWF0dGVycy9jb21tYW5kLWxpbmUnXG5pbXBvcnQgZm9ybWF0Rm9yTW9yZ2FuIGZyb20gJyNmb3JtYXR0ZXJzL21vcmdhbidcblxuLy8gTG9jYWwgaGVscGVycy5cbmltcG9ydCB7IEV4ZWN1dGlvbk1vZGUsIGV4ZWN1dGlvbk1vZGUgfSBmcm9tICcjaGVscGVycy9jb25zdGFudHMnXG5cbi8vIEhhbmRsZXIgaW1wbGVtZW50YXRpb25zLlxuaW1wb3J0IHR5cGUgeyBMb2dnaW5nTGV2ZWxOYW1lIH0gZnJvbSAnI2hhbmRsZXJzL2luZGV4J1xuaW1wb3J0IGhhbmRsZXJzIGZyb20gJyNoYW5kbGVycy9pbmRleCdcblxuLy8gVHlwZSBkZWZpbml0aW9ucy5cbnR5cGUgTW9yZ2FuID0gKHJlcTogSHR0cFJlcXVlc3QsIHJlczogSHR0cFJlc3BvbnNlLCBuZXh0OiAoZXJyb3I/OiBFcnJvcikgPT4gdm9pZCkgPT4gdm9pZFxuXG4vLyBUcmFuc3BvcnRzLlxuY29uc3QgeyBDb25zb2xlOiBDb25zb2xlVHJhbnNwb3J0IH0gPSB3aW5zdG9uLnRyYW5zcG9ydHNcblxuY2xhc3MgTG9nZ2VyIHtcblx0c3RhdGljICNpbnN0YW5jZT86IExvZ2dlclxuXG5cdCNsb2dnZXI6IEJhc2VMb2dnZXIgPSB3aW5zdG9uLmNyZWF0ZUxvZ2dlcih7XG5cdFx0bGV2ZWxzOiBPYmplY3QuZnJvbUVudHJpZXMoXG5cdFx0XHRoYW5kbGVyc1xuXHRcdFx0XHQubWFwKCh7IG5hbWUsIGxldmVsIH0pID0+IFsgbmFtZSwgbGV2ZWwgXSBhcyBjb25zdClcblx0XHRcdFx0LmZpbHRlcigoWyAsIGxldmVsIF0pID0+IHR5cGVvZiBsZXZlbCA9PT0gJ251bWJlcicpLFxuXHRcdCksXG5cblx0XHRsZXZlbDogKGV4ZWN1dGlvbk1vZGUgPT09IEV4ZWN1dGlvbk1vZGUuUHJvZHVjdGlvbk1vZGUgPyAnaHR0cCcgOiAndmVyYm9zZScpLFxuXG5cdFx0dHJhbnNwb3J0czogW1xuXHRcdFx0bmV3IENvbnNvbGVUcmFuc3BvcnQoeyBmb3JtYXQ6IGZvcm1hdEZvckNMSSB9KSxcblx0XHRdLFxuXG5cdFx0ZXhpdE9uRXJyb3I6IGZhbHNlLFxuXHR9KVxuXG5cdCNtb3JnYW46IE1vcmdhbiA9IG1vcmdhbihmb3JtYXRGb3JNb3JnYW4sIHtcblx0XHRzdHJlYW06IG5ldyBQYXNzVGhyb3VnaCh7IG9iamVjdE1vZGU6IHRydWUgfSkub24oJ2RhdGEnLCAoZGF0YTogc3RyaW5nKSA9PiB7XG5cdFx0XHR0aGlzLmxvZygnaHR0cCcsIGRhdGEudHJpbSgpKVxuXHRcdH0pLFxuXHR9KVxuXG5cdHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG5cdFx0aWYgKG5ldy50YXJnZXQgIT09IExvZ2dlcikge1xuXHRcdFx0dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCdMb2dnZXIgY2xhc3MgaXMgbm90IGluaGVyaXRhYmxlJylcblx0XHR9XG5cblx0XHRpZiAoTG9nZ2VyLiNpbnN0YW5jZSkge1xuXHRcdFx0dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCdMb2dnZXIgY2xhc3MgY2Fubm90IGJlIGNvbnN0cnVjdGVkIGluIGRpcmVjdGx5Jylcblx0XHR9XG5cblx0XHRMb2dnZXIuI2luc3RhbmNlID0gdGhpc1xuXHR9XG5cblx0LyoqXG5cdCAqIExvZ2dpbmcgbWVzc2FnZSB3aXRoIHNwZWNpZmljIGxldmVsLlxuXHQgKlxuXHQgKiBAcGFyYW0gbGV2ZWxcblx0ICogQHBhcmFtIG1lc3NhZ2Vcblx0ICogQHBhcmFtIGFyZ3MgQWRkaXRpb25hbCBtZXRhZGF0YS5cblx0ICovXG5cdHB1YmxpYyBsb2cobGV2ZWw6IExvZ2dpbmdMZXZlbE5hbWUsIG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZFxuXG5cdC8qKlxuXHQgKiBMb2dnaW5nIEhUVFAgSS9PLlxuXHQgKlxuXHQgKiBAcGFyYW0gcmVxdWVzdCBOb2RlLmpzIGJ1aWx0LWluIGBJbmNvbWluZ01lc3NhZ2VgIGluc3RhbmNlIGZyb20gYGh0dHBgIG1vZHVsZS5cblx0ICogQHBhcmFtIHJlc3BvbnNlIE5vZGUuanMgYnVpbHQtaW4gYFNlcnZlclJlc3BvbnNlYCBpbnN0YW5jZSBmcm9tIGBodHRwYCBtb2R1bGUuXG5cdCAqL1xuXHRwdWJsaWMgbG9nKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCByZXNwb25zZTogSHR0cFJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPlxuXG5cdC8qKlxuXHQgKiBMb2dnaW5nIGVycm9ycyBpbiBkZXRhaWwuXG5cdCAqXG5cdCAqIEBwYXJhbSBlcnJvclxuXHQgKi9cblx0cHVibGljIGxvZyhlcnJvcjogRXJyb3IpOiB2b2lkXG5cblx0cHVibGljIGxvZyguLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgbG9nZ2VyID0gdGhpcy4jbG9nZ2VyXG5cdFx0Y29uc3QgZm9ybWF0ID0gdGhpcy4jbW9yZ2FuXG5cblx0XHRzd2l0Y2ggKHRydWUpIHtcblx0XHRjYXNlIChhcmdzLmxlbmd0aCA+PSAyICYmIGFyZ3NbMF0gaW5zdGFuY2VvZiBIdHRwUmVxdWVzdCAmJiBhcmdzWzFdIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKToge1xuXHRcdFx0Y29uc3QgWyByZXF1ZXN0LCByZXNwb25zZSBdID0gYXJncyBhcyBbIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgXVxuXG5cdFx0XHRyZXR1cm4gcHJvbWlzaWZ5KGZvcm1hdCkocmVxdWVzdCwgcmVzcG9uc2UpXG5cdFx0fVxuXG5cdFx0Y2FzZSAoYXJncy5sZW5ndGggPj0gMSAmJiBhcmdzWzBdIGluc3RhbmNlb2YgRXJyb3IpOiB7XG5cdFx0XHRjb25zdCBbIGVycm9yLCAuLi5kYXRhIF0gPSBhcmdzIGFzIFsgRXJyb3IsIC4uLnVua25vd25bXSBdXG5cblx0XHRcdGxvZ2dlci5sb2coJ2Vycm9yJywgZXJyb3IubWVzc2FnZSwgZXJyb3IsIC4uLmRhdGEpXG5cblx0XHRcdHJldHVybiB1bmRlZmluZWRcblx0XHR9XG5cblx0XHRkZWZhdWx0OiB7XG5cdFx0XHRjb25zdCBbIGxldmVsLCBtZXNzYWdlLCAuLi5kYXRhIF0gPSBhcmdzIGFzIFsgdHlwZW9mIExvZ2dpbmdMZXZlbCwgc3RyaW5nLCAuLi51bmtub3duW10gXVxuXG5cdFx0XHRsb2dnZXIubG9nKGxldmVsLCBtZXNzYWdlLCAuLi5kYXRhKVxuXG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkXG5cdFx0fVxuXHRcdH1cblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBSZWZsZWN0LmNvbnN0cnVjdChMb2dnZXIsIFtdLCBMb2dnZXIpIGFzIExvZ2dlclxuIl0sIm5hbWVzIjpbIm5hbWUiLCJsZXZlbCIsImxhYmVsIiwiaGFuZGxlIiwiZW52aXJvbm1lbnRzIiwicHJldHR5Qnl0ZXMiLCJwcmV0dHlNcyIs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
package/package.json CHANGED
@@ -1,49 +1,48 @@
1
1
  {
2
- "name": "@cichol/logger",
3
- "version": "6.3.0",
4
- "description": "A logger based on `winston` for personal projects.",
5
- "homepage": "https://github.com/morrighan/packages",
6
- "bugs": {
7
- "url": "https://github.com/morrighan/packages/issues"
2
+ "name": "@cichol/logger",
3
+ "version": "6.4.3",
4
+ "description": "A logger based on `winston` for personal projects.",
5
+ "homepage": "https://github.com/morrighan/packages",
6
+ "bugs": {
7
+ "url": "https://github.com/morrighan/packages/issues"
8
+ },
9
+ "license": "MIT",
10
+ "author": {
11
+ "name": "Yongbin Min",
12
+ "email": "contact@cichol.com",
13
+ "url": "https://www.cichol.com/"
14
+ },
15
+ "type": "module",
16
+ "exports": {
17
+ ".": {
18
+ "default": "./dists/index.js",
19
+ "types": "./dists/index.d.ts"
8
20
  },
9
- "license": "MIT",
10
- "author": {
11
- "name": "Yongbin Min",
12
- "email": "contact@cichol.com",
13
- "url": "https://www.cichol.com/"
14
- },
15
- "type": "module",
16
- "exports": {
17
- ".": {
18
- "default": "./dists/index.js",
19
- "types": "./dists/index.d.ts"
20
- },
21
- "./package.json": "./package.json"
22
- },
23
- "imports": {
24
- "#*": "./sources/*.ts"
25
- },
26
- "repository": {
27
- "type": "git",
28
- "url": "git+https://github.com/morrighan/packages.git",
29
- "directory": "packages/logger"
30
- },
31
- "dependencies": {
32
- "@babel/runtime-corejs3": "^8.0.0",
33
- "@std/fmt": "npm:@jsr/std__fmt@^1.0.10",
34
- "cli-highlight": "^2.1.11",
35
- "cls-rtracer": "^2.6.4",
36
- "core-js-pure": "^3.49.0",
37
- "luxon": "^3.7.2",
38
- "morgan": "^1.11.0",
39
- "winston": "^3.19.0"
40
- },
41
- "engines": {
42
- "node": "^24.18.0",
43
- "npm": "^12.0.0"
44
- },
45
- "publishConfig": {
46
- "registry": "https://registry.npmjs.org/",
47
- "access": "public"
48
- }
49
- }
21
+ "./package.json": "./package.json"
22
+ },
23
+ "imports": {
24
+ "#*": "./sources/*.ts"
25
+ },
26
+ "repository": {
27
+ "type": "git",
28
+ "url": "git+https://github.com/morrighan/packages.git",
29
+ "directory": "packages/logger"
30
+ },
31
+ "dependencies": {
32
+ "@babel/runtime-corejs3": "^8.0.7",
33
+ "@std/fmt": "npm:@jsr/std__fmt@^1.0.10",
34
+ "cli-highlight": "^2.1.11",
35
+ "cls-rtracer": "^2.6.4",
36
+ "core-js-pure": "^3.50.0",
37
+ "luxon": "^3.7.2",
38
+ "morgan": "^1.12.1",
39
+ "winston": "^3.19.0"
40
+ },
41
+ "engines": {
42
+ "node": "^24.21.0"
43
+ },
44
+ "publishConfig": {
45
+ "registry": "https://registry.npmjs.org/",
46
+ "access": "public"
47
+ }
48
+ }