New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@glimmer/program

Package Overview
Dependencies
Maintainers
12
Versions
254
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/program - npm Package Compare versions

Comparing version

to
0.75.0

4

dist/amd/es5/glimmer-program.js

@@ -10,4 +10,2 @@ define('@glimmer/program', ['exports', '@glimmer/util', '@glimmer/manager', '@glimmer/opcode-compiler'], function (exports, util, manager, opcodeCompiler) { 'use strict';

var DEFAULT_TEMPLATE = {
// random uuid
id: '1b32f5c2-7623-43d6-a0ad-9672898920a1',
moduleName: '__default__.hbs',

@@ -573,2 +571,2 @@ block: JSON.stringify(DEFAULT_TEMPLATE_BLOCK),

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xpbW1lci1wcm9ncmFtLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi91dGlsL2RlZmF1bHQtdGVtcGxhdGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9jb25zdGFudHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9vcGNvZGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9wcm9ncmFtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQGdsaW1tZXIvcHJvZ3JhbS9saWIvaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIC8vIHJhbmRvbSB1dWlkXG4gIGlkOiAnMWIzMmY1YzItNzYyMy00M2Q2LWEwYWQtOTY3Mjg5ODkyMGExJyxcbiAgbW9kdWxlTmFtZTogJ19fZGVmYXVsdF9fLmhicycsXG4gIGJsb2NrOiBKU09OLnN0cmluZ2lmeShERUZBVUxUX1RFTVBMQVRFX0JMT0NLKSxcbiAgc2NvcGU6IG51bGwsXG4gIGlzU3RyaWN0TW9kZTogdHJ1ZSxcbn07XG4iLCJpbXBvcnQge1xuICBDb21waWxlVGltZUNvbnN0YW50cyxcbiAgQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICBDb25zdGFudFBvb2wsXG4gIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0eSxcbiAgQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUmVzb2x1dGlvblRpbWVDb25zdGFudHMsXG4gIFJlc29sdmVkQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgUnVudGltZUNvbnN0YW50cyxcbiAgTW9kaWZpZXJEZWZpbml0aW9uU3RhdGUsXG4gIEhlbHBlckRlZmluaXRpb25TdGF0ZSxcbiAgVGVtcGxhdGUsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYXNzZXJ0LCBjb25zdGFudHMsIGV4cGVjdCwgdW53cmFwVGVtcGxhdGUgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7XG4gIGNhcGFiaWxpdHlGbGFnc0Zyb20sXG4gIGdldENvbXBvbmVudFRlbXBsYXRlLFxuICBnZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIsXG4gIGdldEludGVybmFsSGVscGVyTWFuYWdlcixcbiAgZ2V0SW50ZXJuYWxNb2RpZmllck1hbmFnZXIsXG4gIG1hbmFnZXJIYXNDYXBhYmlsaXR5LFxufSBmcm9tICdAZ2xpbW1lci9tYW5hZ2VyJztcbmltcG9ydCB7IHRlbXBsYXRlRmFjdG9yeSB9IGZyb20gJ0BnbGltbWVyL29wY29kZS1jb21waWxlcic7XG5pbXBvcnQgeyBERUZBVUxUX1RFTVBMQVRFIH0gZnJvbSAnLi91dGlsL2RlZmF1bHQtdGVtcGxhdGUnO1xuXG5jb25zdCBXRUxMX0tOT1dOX0VNUFRZX0FSUkFZOiB1bmtub3duID0gT2JqZWN0LmZyZWV6ZShbXSk7XG5jb25zdCBTVEFSVEVSX0NPTlNUQU5UUyA9IGNvbnN0YW50cyhXRUxMX0tOT1dOX0VNUFRZX0FSUkFZKTtcbmNvbnN0IFdFTExfS05PV05fRU1QVFlfQVJSQVlfUE9TSVRJT046IG51bWJlciA9IFNUQVJURVJfQ09OU1RBTlRTLmluZGV4T2YoV0VMTF9LTk9XTl9FTVBUWV9BUlJBWSk7XG5cbmV4cG9ydCBjbGFzcyBDb21waWxlVGltZUNvbnN0YW50SW1wbCBpbXBsZW1lbnRzIENvbXBpbGVUaW1lQ29uc3RhbnRzIHtcbiAgLy8gYDBgIG1lYW5zIE5VTExcblxuICBwcm90ZWN0ZWQgdmFsdWVzOiB1bmtub3duW10gPSBTVEFSVEVSX0NPTlNUQU5UUy5zbGljZSgpO1xuICBwcm90ZWN0ZWQgaW5kZXhNYXA6IE1hcDx1bmtub3duLCBudW1iZXI+ID0gbmV3IE1hcChcbiAgICB0aGlzLnZhbHVlcy5tYXAoKHZhbHVlLCBpbmRleCkgPT4gW3ZhbHVlLCBpbmRleF0pXG4gICk7XG5cbiAgdmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICBsZXQgaW5kZXhNYXAgPSB0aGlzLmluZGV4TWFwO1xuICAgIGxldCBpbmRleCA9IGluZGV4TWFwLmdldCh2YWx1ZSk7XG5cbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5kZXggPSB0aGlzLnZhbHVlcy5wdXNoKHZhbHVlKSAtIDE7XG4gICAgICBpbmRleE1hcC5zZXQodmFsdWUsIGluZGV4KTtcbiAgICB9XG5cbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBhcnJheSh2YWx1ZXM6IHVua25vd25bXSk6IG51bWJlciB7XG4gICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBXRUxMX0tOT1dOX0VNUFRZX0FSUkFZX1BPU0lUSU9OO1xuICAgIH1cblxuICAgIGxldCBoYW5kbGVzOiBudW1iZXJbXSA9IG5ldyBBcnJheSh2YWx1ZXMubGVuZ3RoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBoYW5kbGVzW2ldID0gdGhpcy52YWx1ZSh2YWx1ZXNbaV0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnZhbHVlKGhhbmRsZXMpO1xuICB9XG5cbiAgdG9Qb29sKCk6IENvbnN0YW50UG9vbCB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lQ29uc3RhbnRzSW1wbCBpbXBsZW1lbnRzIFJ1bnRpbWVDb25zdGFudHMge1xuICBwcm90ZWN0ZWQgdmFsdWVzOiB1bmtub3duW107XG5cbiAgY29uc3RydWN0b3IocG9vbDogQ29uc3RhbnRQb29sKSB7XG4gICAgdGhpcy52YWx1ZXMgPSBwb29sO1xuICB9XG5cbiAgZ2V0VmFsdWU8VD4oaGFuZGxlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbaGFuZGxlXSBhcyBUO1xuICB9XG5cbiAgZ2V0QXJyYXk8VD4odmFsdWU6IG51bWJlcik6IFRbXSB7XG4gICAgbGV0IGhhbmRsZXMgPSB0aGlzLmdldFZhbHVlKHZhbHVlKSBhcyBudW1iZXJbXTtcbiAgICBsZXQgcmVpZmllZDogVFtdID0gbmV3IEFycmF5KGhhbmRsZXMubGVuZ3RoKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGFuZGxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG4gPSBoYW5kbGVzW2ldO1xuICAgICAgcmVpZmllZFtpXSA9IHRoaXMuZ2V0VmFsdWUobik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlaWZpZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbnN0YW50c0ltcGxcbiAgZXh0ZW5kcyBDb21waWxlVGltZUNvbnN0YW50SW1wbFxuICBpbXBsZW1lbnRzIFJ1bnRpbWVDb25zdGFudHMsIFJlc29sdXRpb25UaW1lQ29uc3RhbnRzIHtcbiAgcHJvdGVjdGVkIHJlaWZpZWRBcnJzOiB7IFtrZXk6IG51bWJlcl06IHVua25vd25bXSB9ID0ge1xuICAgIFtXRUxMX0tOT1dOX0VNUFRZX0FSUkFZX1BPU0lUSU9OXTogV0VMTF9LTk9XTl9FTVBUWV9BUlJBWSBhcyB1bmtub3duW10sXG4gIH07XG5cbiAgZGVmYXVsdFRlbXBsYXRlOiBUZW1wbGF0ZSA9IHRlbXBsYXRlRmFjdG9yeShERUZBVUxUX1RFTVBMQVRFKSgpO1xuXG4gIC8vIFVzZWQgZm9yIHRlc3RzIGFuZCBkZWJ1Z2dpbmcgcHVycG9zZXMsIGFuZCB0byBiZSBhYmxlIHRvIGFuYWx5emUgbGFyZ2UgYXBwc1xuICAvLyBUaGlzIGlzIHdoeSBpdCdzIGVuYWJsZWQgZXZlbiBpbiBwcm9kdWN0aW9uXG4gIGhlbHBlckRlZmluaXRpb25Db3VudCA9IDA7XG4gIG1vZGlmaWVyRGVmaW5pdGlvbkNvdW50ID0gMDtcbiAgY29tcG9uZW50RGVmaW5pdGlvbkNvdW50ID0gMDtcblxuICBwcml2YXRlIGhlbHBlckRlZmluaXRpb25DYWNoZSA9IG5ldyBXZWFrTWFwPEhlbHBlckRlZmluaXRpb25TdGF0ZSwgbnVtYmVyIHwgbnVsbD4oKTtcblxuICBwcml2YXRlIG1vZGlmaWVyRGVmaW5pdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8TW9kaWZpZXJEZWZpbml0aW9uU3RhdGUsIG51bWJlciB8IG51bGw+KCk7XG5cbiAgcHJpdmF0ZSBjb21wb25lbnREZWZpbml0aW9uQ2FjaGUgPSBuZXcgV2Vha01hcDxcbiAgICBDb21wb25lbnREZWZpbml0aW9uU3RhdGUgfCBSZXNvbHZlZENvbXBvbmVudERlZmluaXRpb24sXG4gICAgQ29tcG9uZW50RGVmaW5pdGlvbiB8IG51bGxcbiAgPigpO1xuXG4gIGhlbHBlcihcbiAgICBkZWZpbml0aW9uU3RhdGU6IEhlbHBlckRlZmluaXRpb25TdGF0ZSxcblxuICAgIC8vIFRPRE86IEFkZCBhIHdheSB0byBleHBvc2UgcmVzb2x2ZWQgbmFtZSBmb3IgZGVidWdnaW5nXG4gICAgX3Jlc29sdmVkTmFtZTogc3RyaW5nIHwgbnVsbCxcbiAgICBpc09wdGlvbmFsOiB0cnVlXG4gICk6IG51bWJlciB8IG51bGw7XG4gIGhlbHBlcihcbiAgICBkZWZpbml0aW9uU3RhdGU6IEhlbHBlckRlZmluaXRpb25TdGF0ZSxcblxuICAgIC8vIFRPRE86IEFkZCBhIHdheSB0byBleHBvc2UgcmVzb2x2ZWQgbmFtZSBmb3IgZGVidWdnaW5nXG4gICAgX3Jlc29sdmVkTmFtZT86IHN0cmluZyB8IG51bGxcbiAgKTogbnVtYmVyO1xuICBoZWxwZXIoXG4gICAgZGVmaW5pdGlvblN0YXRlOiBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG5cbiAgICAvLyBUT0RPOiBBZGQgYSB3YXkgdG8gZXhwb3NlIHJlc29sdmVkIG5hbWUgZm9yIGRlYnVnZ2luZ1xuICAgIF9yZXNvbHZlZE5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIGlzT3B0aW9uYWw/OiB0cnVlXG4gICk6IG51bWJlciB8IG51bGwge1xuICAgIGxldCBoYW5kbGUgPSB0aGlzLmhlbHBlckRlZmluaXRpb25DYWNoZS5nZXQoZGVmaW5pdGlvblN0YXRlKTtcblxuICAgIGlmIChoYW5kbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG1hbmFnZXJPckhlbHBlciA9IGdldEludGVybmFsSGVscGVyTWFuYWdlcihkZWZpbml0aW9uU3RhdGUsIGlzT3B0aW9uYWwpO1xuXG4gICAgICBpZiAobWFuYWdlck9ySGVscGVyID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMuaGVscGVyRGVmaW5pdGlvbkNhY2hlLnNldChkZWZpbml0aW9uU3RhdGUsIG51bGwpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0KG1hbmFnZXJPckhlbHBlciwgJ0JVRzogZXhwZWN0ZWQgbWFuYWdlciBvciBoZWxwZXInKTtcblxuICAgICAgbGV0IGhlbHBlciA9XG4gICAgICAgIHR5cGVvZiBtYW5hZ2VyT3JIZWxwZXIgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICA/IG1hbmFnZXJPckhlbHBlclxuICAgICAgICAgIDogbWFuYWdlck9ySGVscGVyLmdldEhlbHBlcihkZWZpbml0aW9uU3RhdGUpO1xuXG4gICAgICBoYW5kbGUgPSB0aGlzLnZhbHVlKGhlbHBlcik7XG5cbiAgICAgIHRoaXMuaGVscGVyRGVmaW5pdGlvbkNhY2hlLnNldChkZWZpbml0aW9uU3RhdGUsIGhhbmRsZSk7XG4gICAgICB0aGlzLmhlbHBlckRlZmluaXRpb25Db3VudCsrO1xuICAgIH1cblxuICAgIHJldHVybiBoYW5kbGU7XG4gIH1cblxuICBtb2RpZmllcihcbiAgICBkZWZpbml0aW9uU3RhdGU6IE1vZGlmaWVyRGVmaW5pdGlvblN0YXRlLFxuICAgIHJlc29sdmVkTmFtZTogc3RyaW5nIHwgbnVsbCxcbiAgICBpc09wdGlvbmFsOiB0cnVlXG4gICk6IG51bWJlciB8IG51bGw7XG4gIG1vZGlmaWVyKGRlZmluaXRpb25TdGF0ZTogTW9kaWZpZXJEZWZpbml0aW9uU3RhdGUsIHJlc29sdmVkTmFtZT86IHN0cmluZyB8IG51bGwpOiBudW1iZXI7XG4gIG1vZGlmaWVyKFxuICAgIGRlZmluaXRpb25TdGF0ZTogTW9kaWZpZXJEZWZpbml0aW9uU3RhdGUsXG4gICAgcmVzb2x2ZWROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbiAgICBpc09wdGlvbmFsPzogdHJ1ZVxuICApOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgaGFuZGxlID0gdGhpcy5tb2RpZmllckRlZmluaXRpb25DYWNoZS5nZXQoZGVmaW5pdGlvblN0YXRlKTtcblxuICAgIGlmIChoYW5kbGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG1hbmFnZXIgPSBnZXRJbnRlcm5hbE1vZGlmaWVyTWFuYWdlcihkZWZpbml0aW9uU3RhdGUsIGlzT3B0aW9uYWwpO1xuXG4gICAgICBpZiAobWFuYWdlciA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLm1vZGlmaWVyRGVmaW5pdGlvbkNhY2hlLnNldChkZWZpbml0aW9uU3RhdGUsIG51bGwpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbGV0IGRlZmluaXRpb24gPSB7XG4gICAgICAgIHJlc29sdmVkTmFtZSxcbiAgICAgICAgbWFuYWdlcixcbiAgICAgICAgc3RhdGU6IGRlZmluaXRpb25TdGF0ZSxcbiAgICAgIH07XG5cbiAgICAgIGhhbmRsZSA9IHRoaXMudmFsdWUoZGVmaW5pdGlvbik7XG5cbiAgICAgIHRoaXMubW9kaWZpZXJEZWZpbml0aW9uQ2FjaGUuc2V0KGRlZmluaXRpb25TdGF0ZSwgaGFuZGxlKTtcbiAgICAgIHRoaXMubW9kaWZpZXJEZWZpbml0aW9uQ291bnQrKztcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlO1xuICB9XG5cbiAgY29tcG9uZW50KGRlZmluaXRpb25TdGF0ZTogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlKTogQ29tcG9uZW50RGVmaW5pdGlvbjtcbiAgY29tcG9uZW50KFxuICAgIGRlZmluaXRpb25TdGF0ZTogQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlLFxuICAgIGlzT3B0aW9uYWw6IHRydWVcbiAgKTogQ29tcG9uZW50RGVmaW5pdGlvbiB8IG51bGw7XG4gIGNvbXBvbmVudChcbiAgICBkZWZpbml0aW9uU3RhdGU6IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgICBpc09wdGlvbmFsPzogdHJ1ZSxcbiAgICBvd25lcj86IG9iamVjdFxuICApOiBDb21wb25lbnREZWZpbml0aW9uIHwgbnVsbCB7XG4gICAgbGV0IGRlZmluaXRpb24gPSB0aGlzLmNvbXBvbmVudERlZmluaXRpb25DYWNoZS5nZXQoZGVmaW5pdGlvblN0YXRlKTtcblxuICAgIGlmIChkZWZpbml0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBtYW5hZ2VyID0gZ2V0SW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyKGRlZmluaXRpb25TdGF0ZSwgaXNPcHRpb25hbCk7XG5cbiAgICAgIGlmIChtYW5hZ2VyID09PSBudWxsKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50RGVmaW5pdGlvbkNhY2hlLnNldChkZWZpbml0aW9uU3RhdGUsIG51bGwpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0KG1hbmFnZXIsICdCVUc6IGV4cGVjdGVkIG1hbmFnZXInKTtcblxuICAgICAgbGV0IGNhcGFiaWxpdGllcyA9IGNhcGFiaWxpdHlGbGFnc0Zyb20obWFuYWdlci5nZXRDYXBhYmlsaXRpZXMoZGVmaW5pdGlvblN0YXRlKSk7XG5cbiAgICAgIGxldCB0ZW1wbGF0ZUZhY3RvcnkgPSBnZXRDb21wb25lbnRUZW1wbGF0ZShkZWZpbml0aW9uU3RhdGUpO1xuXG4gICAgICBsZXQgY29tcGlsYWJsZSA9IG51bGw7XG4gICAgICBsZXQgdGVtcGxhdGU7XG5cbiAgICAgIGlmICghbWFuYWdlckhhc0NhcGFiaWxpdHkobWFuYWdlciwgY2FwYWJpbGl0aWVzLCBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdHkuRHluYW1pY0xheW91dCkpIHtcbiAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZUZhY3Rvcnk/Lihvd25lcikgPz8gdGhpcy5kZWZhdWx0VGVtcGxhdGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlRmFjdG9yeT8uKG93bmVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRlbXBsYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGVtcGxhdGUgPSB1bndyYXBUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG5cbiAgICAgICAgY29tcGlsYWJsZSA9IG1hbmFnZXJIYXNDYXBhYmlsaXR5KFxuICAgICAgICAgIG1hbmFnZXIsXG4gICAgICAgICAgY2FwYWJpbGl0aWVzLFxuICAgICAgICAgIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0eS5XcmFwcGVkXG4gICAgICAgIClcbiAgICAgICAgICA/IHRlbXBsYXRlLmFzV3JhcHBlZExheW91dCgpXG4gICAgICAgICAgOiB0ZW1wbGF0ZS5hc0xheW91dCgpO1xuICAgICAgfVxuXG4gICAgICBkZWZpbml0aW9uID0ge1xuICAgICAgICByZXNvbHZlZE5hbWU6IG51bGwsXG4gICAgICAgIGhhbmRsZTogLTEsIC8vIHJlcGxhY2VkIG1vbWVudGFyaWx5XG4gICAgICAgIG1hbmFnZXIsXG4gICAgICAgIGNhcGFiaWxpdGllcyxcbiAgICAgICAgc3RhdGU6IGRlZmluaXRpb25TdGF0ZSxcbiAgICAgICAgY29tcGlsYWJsZSxcbiAgICAgIH07XG5cbiAgICAgIGRlZmluaXRpb24hLmhhbmRsZSA9IHRoaXMudmFsdWUoZGVmaW5pdGlvbik7XG4gICAgICB0aGlzLmNvbXBvbmVudERlZmluaXRpb25DYWNoZS5zZXQoZGVmaW5pdGlvblN0YXRlLCBkZWZpbml0aW9uKTtcbiAgICAgIHRoaXMuY29tcG9uZW50RGVmaW5pdGlvbkNvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlZmluaXRpb247XG4gIH1cblxuICByZXNvbHZlZENvbXBvbmVudChcbiAgICByZXNvbHZlZERlZmluaXRpb246IFJlc29sdmVkQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgICByZXNvbHZlZE5hbWU6IHN0cmluZ1xuICApOiBDb21wb25lbnREZWZpbml0aW9uIHtcbiAgICBsZXQgZGVmaW5pdGlvbiA9IHRoaXMuY29tcG9uZW50RGVmaW5pdGlvbkNhY2hlLmdldChyZXNvbHZlZERlZmluaXRpb24pO1xuXG4gICAgaWYgKGRlZmluaXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHsgbWFuYWdlciwgc3RhdGUsIHRlbXBsYXRlIH0gPSByZXNvbHZlZERlZmluaXRpb247XG4gICAgICBsZXQgY2FwYWJpbGl0aWVzID0gY2FwYWJpbGl0eUZsYWdzRnJvbShtYW5hZ2VyLmdldENhcGFiaWxpdGllcyhyZXNvbHZlZERlZmluaXRpb24pKTtcblxuICAgICAgbGV0IGNvbXBpbGFibGUgPSBudWxsO1xuXG4gICAgICBpZiAoIW1hbmFnZXJIYXNDYXBhYmlsaXR5KG1hbmFnZXIsIGNhcGFiaWxpdGllcywgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXR5LkR5bmFtaWNMYXlvdXQpKSB7XG4gICAgICAgIHRlbXBsYXRlID0gdGVtcGxhdGUgPz8gdGhpcy5kZWZhdWx0VGVtcGxhdGU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0ZW1wbGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICB0ZW1wbGF0ZSA9IHVud3JhcFRlbXBsYXRlKHRlbXBsYXRlKTtcblxuICAgICAgICBjb21waWxhYmxlID0gbWFuYWdlckhhc0NhcGFiaWxpdHkoXG4gICAgICAgICAgbWFuYWdlcixcbiAgICAgICAgICBjYXBhYmlsaXRpZXMsXG4gICAgICAgICAgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXR5LldyYXBwZWRcbiAgICAgICAgKVxuICAgICAgICAgID8gdGVtcGxhdGUuYXNXcmFwcGVkTGF5b3V0KClcbiAgICAgICAgICA6IHRlbXBsYXRlLmFzTGF5b3V0KCk7XG4gICAgICB9XG5cbiAgICAgIGRlZmluaXRpb24gPSB7XG4gICAgICAgIHJlc29sdmVkTmFtZSxcbiAgICAgICAgaGFuZGxlOiAtMSwgLy8gcmVwbGFjZWQgbW9tZW50YXJpbHlcbiAgICAgICAgbWFuYWdlcixcbiAgICAgICAgY2FwYWJpbGl0aWVzLFxuICAgICAgICBzdGF0ZSxcbiAgICAgICAgY29tcGlsYWJsZSxcbiAgICAgIH07XG5cbiAgICAgIGRlZmluaXRpb24hLmhhbmRsZSA9IHRoaXMudmFsdWUoZGVmaW5pdGlvbik7XG4gICAgICB0aGlzLmNvbXBvbmVudERlZmluaXRpb25DYWNoZS5zZXQocmVzb2x2ZWREZWZpbml0aW9uLCBkZWZpbml0aW9uKTtcbiAgICAgIHRoaXMuY29tcG9uZW50RGVmaW5pdGlvbkNvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4cGVjdChkZWZpbml0aW9uLCAnQlVHOiByZXNvbHZlZCBjb21wb25lbnQgZGVmaW5pdGlvbnMgY2Fubm90IGJlIG51bGwnKTtcbiAgfVxuXG4gIGdldFZhbHVlPFQ+KGluZGV4OiBudW1iZXIpIHtcbiAgICBhc3NlcnQoaW5kZXggPj0gMCwgYGNhbm5vdCBnZXQgdmFsdWUgZm9yIGhhbmRsZTogJHtpbmRleH1gKTtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlc1tpbmRleF0gYXMgVDtcbiAgfVxuXG4gIGdldEFycmF5PFQ+KGluZGV4OiBudW1iZXIpOiBUW10ge1xuICAgIGxldCByZWlmaWVkQXJycyA9IHRoaXMucmVpZmllZEFycnM7XG4gICAgbGV0IHJlaWZpZWQgPSByZWlmaWVkQXJyc1tpbmRleF0gYXMgVFtdO1xuXG4gICAgaWYgKHJlaWZpZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG5hbWVzOiBudW1iZXJbXSA9IHRoaXMuZ2V0VmFsdWUoaW5kZXgpO1xuICAgICAgcmVpZmllZCA9IG5ldyBBcnJheShuYW1lcy5sZW5ndGgpO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHJlaWZpZWRbaV0gPSB0aGlzLmdldFZhbHVlKG5hbWVzW2ldKTtcbiAgICAgIH1cblxuICAgICAgcmVpZmllZEFycnNbaW5kZXhdID0gcmVpZmllZDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVpZmllZDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgT3Bjb2RlU2l6ZSwgUnVudGltZU9wLCBPcGNvZGVIZWFwIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lT3BJbXBsIGltcGxlbWVudHMgUnVudGltZU9wIHtcbiAgcHVibGljIG9mZnNldCA9IDA7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGhlYXA6IE9wY29kZUhlYXApIHt9XG5cbiAgZ2V0IHNpemUoKSB7XG4gICAgbGV0IHJhd1R5cGUgPSB0aGlzLmhlYXAuZ2V0YnlhZGRyKHRoaXMub2Zmc2V0KTtcbiAgICByZXR1cm4gKChyYXdUeXBlICYgT3Bjb2RlU2l6ZS5PUEVSQU5EX0xFTl9NQVNLKSA+PiBPcGNvZGVTaXplLkFSR19TSElGVCkgKyAxO1xuICB9XG5cbiAgZ2V0IGlzTWFjaGluZSgpOiAwIHwgMSB7XG4gICAgbGV0IHJhd1R5cGUgPSB0aGlzLmhlYXAuZ2V0YnlhZGRyKHRoaXMub2Zmc2V0KTtcbiAgICByZXR1cm4gcmF3VHlwZSAmIE9wY29kZVNpemUuTUFDSElORV9NQVNLID8gMSA6IDA7XG4gIH1cblxuICBnZXQgdHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5oZWFwLmdldGJ5YWRkcih0aGlzLm9mZnNldCkgJiBPcGNvZGVTaXplLlRZUEVfTUFTSztcbiAgfVxuXG4gIGdldCBvcDEoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhcC5nZXRieWFkZHIodGhpcy5vZmZzZXQgKyAxKTtcbiAgfVxuXG4gIGdldCBvcDIoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhcC5nZXRieWFkZHIodGhpcy5vZmZzZXQgKyAyKTtcbiAgfVxuXG4gIGdldCBvcDMoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhcC5nZXRieWFkZHIodGhpcy5vZmZzZXQgKyAzKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgQ29tcGlsZVRpbWVIZWFwLFxuICBTZXJpYWxpemVkSGVhcCxcbiAgUnVudGltZUhlYXAsXG4gIFN0ZExpYk9wZXJhbmQsXG4gIFJ1bnRpbWVDb25zdGFudHMsXG4gIFJ1bnRpbWVQcm9ncmFtLFxuICBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMT0NBTF9ERUJVRyB9IGZyb20gJ0BnbGltbWVyL2xvY2FsLWRlYnVnLWZsYWdzJztcbmltcG9ydCB7IFJ1bnRpbWVPcEltcGwgfSBmcm9tICcuL29wY29kZSc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcblxuY29uc3QgZW51bSBUYWJsZVNsb3RTdGF0ZSB7XG4gIEFsbG9jYXRlZCxcbiAgRnJlZWQsXG4gIFB1cmdlZCxcbiAgUG9pbnRlcixcbn1cblxuZXhwb3J0IHR5cGUgUGxhY2Vob2xkZXIgPSBbbnVtYmVyLCAoKSA9PiBudW1iZXJdO1xuZXhwb3J0IHR5cGUgU3RkbGliUGxhY2Vob2xkZXIgPSBbbnVtYmVyLCBTdGRMaWJPcGVyYW5kXTtcblxuY29uc3QgUEFHRV9TSVpFID0gMHgxMDAwMDA7XG5cbmV4cG9ydCBjbGFzcyBSdW50aW1lSGVhcEltcGwgaW1wbGVtZW50cyBSdW50aW1lSGVhcCB7XG4gIHByaXZhdGUgaGVhcDogSW50MzJBcnJheTtcbiAgcHJpdmF0ZSB0YWJsZTogbnVtYmVyW107XG5cbiAgY29uc3RydWN0b3Ioc2VyaWFsaXplZEhlYXA6IFNlcmlhbGl6ZWRIZWFwKSB7XG4gICAgbGV0IHsgYnVmZmVyLCB0YWJsZSB9ID0gc2VyaWFsaXplZEhlYXA7XG4gICAgdGhpcy5oZWFwID0gbmV3IEludDMyQXJyYXkoYnVmZmVyKTtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gIH1cblxuICAvLyBJdCBpcyBpbGxlZ2FsIHRvIGNsb3NlIG92ZXIgdGhpcyBhZGRyZXNzLCBhcyBjb21wYWN0aW9uXG4gIC8vIG1heSBtb3ZlIGl0LiBIb3dldmVyLCBpdCBpcyBsZWdhbCB0byB1c2UgdGhpcyBhZGRyZXNzXG4gIC8vIG11bHRpcGxlIHRpbWVzIGJldHdlZW4gY29tcGFjdGlvbnMuXG4gIGdldGFkZHIoaGFuZGxlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRhYmxlW2hhbmRsZV07XG4gIH1cblxuICBnZXRieWFkZHIoYWRkcmVzczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBhc3NlcnQodGhpcy5oZWFwW2FkZHJlc3NdICE9PSB1bmRlZmluZWQsICdBY2Nlc3MgbWVtb3J5IG91dCBvZiBib3VuZHMgb2YgdGhlIGhlYXAnKTtcbiAgICByZXR1cm4gdGhpcy5oZWFwW2FkZHJlc3NdO1xuICB9XG5cbiAgc2l6ZW9mKGhhbmRsZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2l6ZW9mKHRoaXMudGFibGUsIGhhbmRsZSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh5ZHJhdGVIZWFwKHNlcmlhbGl6ZWRIZWFwOiBTZXJpYWxpemVkSGVhcCk6IFJ1bnRpbWVIZWFwIHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lSGVhcEltcGwoc2VyaWFsaXplZEhlYXApO1xufVxuXG4vKipcbiAqIFRoZSBIZWFwIGlzIHJlc3BvbnNpYmxlIGZvciBkeW5hbWljYWxseSBhbGxvY2F0aW5nXG4gKiBtZW1vcnkgaW4gd2hpY2ggd2UgcmVhZC93cml0ZSB0aGUgVk0ncyBpbnN0cnVjdGlvbnNcbiAqIGZyb20vdG8uIFdoZW4gd2UgbWFsbG9jIHdlIHBhc3Mgb3V0IGEgVk1IYW5kbGUsIHdoaWNoXG4gKiBpcyB1c2VkIGFzIGFuIGluZGlyZWN0IHdheSBvZiBhY2Nlc3NpbmcgdGhlIG1lbW9yeSBkdXJpbmdcbiAqIGV4ZWN1dGlvbiBvZiB0aGUgVk0uIEludGVybmFsbHkgd2UgdHJhY2sgdGhlIGRpZmZlcmVudFxuICogcmVnaW9ucyBvZiB0aGUgbWVtb3J5IGluIGFuIGludCBhcnJheSBrbm93biBhcyB0aGUgdGFibGUuXG4gKlxuICogVGhlIHRhYmxlIDMyLWJpdCBhbGlnbmVkIGFuZCBoYXMgdGhlIGZvbGxvd2luZyBsYXlvdXQ6XG4gKlxuICogfCAuLi4gfCBocCAodTMyKSB8ICAgICAgIGluZm8gKHUzMikgICB8IHNpemUgKHUzMikgfFxuICogfCAuLi4gfCAgSGFuZGxlICB8IFNjb3BlIFNpemUgfCBTdGF0ZSB8IFNpemUgICAgICAgfFxuICogfCAuLi4gfCAzMmJpdHMgICB8IDMwYml0cyAgICAgfCAyYml0cyB8IDMyYml0ICAgICAgfFxuICpcbiAqIFdpdGggdGhpcyBpbmZvcm1hdGlvbiB3ZSBlZmZlY3RpdmVseSBoYXZlIHRoZSBhYmlsaXR5IHRvXG4gKiBjb250cm9sIHdoZW4gd2Ugd2FudCB0byBmcmVlIG1lbW9yeS4gVGhhdCBiZWluZyBzYWlkIHlvdVxuICogY2FuIG5vdCBmcmVlIGR1cmluZyBleGVjdXRpb24gYXMgcmF3IGFkZHJlc3MgYXJlIG9ubHlcbiAqIHZhbGlkIGR1cmluZyB0aGUgZXhlY3V0aW9uLiBUaGlzIG1lYW5zIHlvdSBjYW5ub3QgY2xvc2VcbiAqIG92ZXIgdGhlbSBhcyB5b3Ugd2lsbCBoYXZlIGEgYmFkIG1lbW9yeSBhY2Nlc3MgZXhjZXB0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSGVhcEltcGwgaW1wbGVtZW50cyBDb21waWxlVGltZUhlYXAsIFJ1bnRpbWVIZWFwIHtcbiAgb2Zmc2V0ID0gMDtcblxuICBwcml2YXRlIGhlYXA6IEludDMyQXJyYXk7XG4gIHByaXZhdGUgaGFuZGxlVGFibGU6IG51bWJlcltdO1xuICBwcml2YXRlIGhhbmRsZVN0YXRlOiBUYWJsZVNsb3RTdGF0ZVtdO1xuICBwcml2YXRlIGhhbmRsZSA9IDA7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5oZWFwID0gbmV3IEludDMyQXJyYXkoUEFHRV9TSVpFKTtcbiAgICB0aGlzLmhhbmRsZVRhYmxlID0gW107XG4gICAgdGhpcy5oYW5kbGVTdGF0ZSA9IFtdO1xuICB9XG5cbiAgcHVzaChpdGVtOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNpemVDaGVjaygpO1xuICAgIHRoaXMuaGVhcFt0aGlzLm9mZnNldCsrXSA9IGl0ZW07XG4gIH1cblxuICBwcml2YXRlIHNpemVDaGVjaygpIHtcbiAgICBsZXQgeyBoZWFwIH0gPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMub2Zmc2V0ID09PSB0aGlzLmhlYXAubGVuZ3RoKSB7XG4gICAgICBsZXQgbmV3SGVhcCA9IG5ldyBJbnQzMkFycmF5KGhlYXAubGVuZ3RoICsgUEFHRV9TSVpFKTtcbiAgICAgIG5ld0hlYXAuc2V0KGhlYXAsIDApO1xuICAgICAgdGhpcy5oZWFwID0gbmV3SGVhcDtcbiAgICB9XG4gIH1cblxuICBnZXRieWFkZHIoYWRkcmVzczogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5oZWFwW2FkZHJlc3NdO1xuICB9XG5cbiAgc2V0YnlhZGRyKGFkZHJlc3M6IG51bWJlciwgdmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuaGVhcFthZGRyZXNzXSA9IHZhbHVlO1xuICB9XG5cbiAgbWFsbG9jKCk6IG51bWJlciB7XG4gICAgLy8gcHVzaCBvZmZzZXQsIGluZm8sIHNpemVcbiAgICB0aGlzLmhhbmRsZVRhYmxlLnB1c2godGhpcy5vZmZzZXQpO1xuICAgIHJldHVybiB0aGlzLmhhbmRsZVRhYmxlLmxlbmd0aCAtIDE7XG4gIH1cblxuICBmaW5pc2hNYWxsb2MoaGFuZGxlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyBAVE9ETzogQXQgdGhlIG1vbWVudCwgZ2FyYmFnZSBjb2xsZWN0aW9uIGlzbid0IGFjdHVhbGx5IHVzZWQsIHNvIHRoaXMgaXNcbiAgICAvLyB3cmFwcGVkIHRvIHByZXZlbnQgdXMgZnJvbSBhbGxvY2F0aW5nIGV4dHJhIHNwYWNlIGluIHByb2QuIEluIHRoZSBmdXR1cmUsXG4gICAgLy8gaWYgd2Ugc3RhcnQgdXNpbmcgdGhlIGNvbXBhY3QgQVBJLCB3ZSBzaG91bGQgY2hhbmdlIHRoaXMuXG4gICAgaWYgKExPQ0FMX0RFQlVHKSB7XG4gICAgICB0aGlzLmhhbmRsZVN0YXRlW2hhbmRsZV0gPSBUYWJsZVNsb3RTdGF0ZS5BbGxvY2F0ZWQ7XG4gICAgfVxuICB9XG5cbiAgc2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm9mZnNldDtcbiAgfVxuXG4gIC8vIEl0IGlzIGlsbGVnYWwgdG8gY2xvc2Ugb3ZlciB0aGlzIGFkZHJlc3MsIGFzIGNvbXBhY3Rpb25cbiAgLy8gbWF5IG1vdmUgaXQuIEhvd2V2ZXIsIGl0IGlzIGxlZ2FsIHRvIHVzZSB0aGlzIGFkZHJlc3NcbiAgLy8gbXVsdGlwbGUgdGltZXMgYmV0d2VlbiBjb21wYWN0aW9ucy5cbiAgZ2V0YWRkcihoYW5kbGU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlVGFibGVbaGFuZGxlXTtcbiAgfVxuXG4gIHNpemVvZihoYW5kbGU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHNpemVvZih0aGlzLmhhbmRsZVRhYmxlLCBoYW5kbGUpO1xuICB9XG5cbiAgZnJlZShoYW5kbGU6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlU3RhdGVbaGFuZGxlXSA9IFRhYmxlU2xvdFN0YXRlLkZyZWVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoZWFwIHVzZXMgdGhlIFtNYXJrLUNvbXBhY3QgQWxnb3JpdGhtXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYXJrLWNvbXBhY3RfYWxnb3JpdGhtKSB0byBzaGlmdFxuICAgKiByZWFjaGFibGUgbWVtb3J5IHRvIHRoZSBib3R0b20gb2YgdGhlIGhlYXAgYW5kIGZyZWVhYmxlXG4gICAqIG1lbW9yeSB0byB0aGUgdG9wIG9mIHRoZSBoZWFwLiBXaGVuIHdlIGhhdmUgc2hpZnRlZCBhbGxcbiAgICogdGhlIHJlYWNoYWJsZSBtZW1vcnkgdG8gdGhlIHRvcCBvZiB0aGUgaGVhcCwgd2UgbW92ZSB0aGVcbiAgICogb2Zmc2V0IHRvIHRoZSBuZXh0IGZyZWUgcG9zaXRpb24uXG4gICAqL1xuICBjb21wYWN0KCk6IHZvaWQge1xuICAgIGxldCBjb21wYWN0ZWRTaXplID0gMDtcbiAgICBsZXQgeyBoYW5kbGVUYWJsZSwgaGFuZGxlU3RhdGUsIGhlYXAgfSA9IHRoaXM7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBsZXQgb2Zmc2V0ID0gaGFuZGxlVGFibGVbaV07XG4gICAgICBsZXQgc2l6ZSA9IGhhbmRsZVRhYmxlW2kgKyAxXSAtIG9mZnNldDtcbiAgICAgIGxldCBzdGF0ZSA9IGhhbmRsZVN0YXRlW2ldO1xuXG4gICAgICBpZiAoc3RhdGUgPT09IFRhYmxlU2xvdFN0YXRlLlB1cmdlZCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IFRhYmxlU2xvdFN0YXRlLkZyZWVkKSB7XG4gICAgICAgIC8vIHRyYW5zaXRpb24gdG8gXCJhbHJlYWR5IGZyZWVkXCIgYWthIFwicHVyZ2VkXCJcbiAgICAgICAgLy8gYSBnb29kIGltcHJvdmVtZW50IHdvdWxkIGJlIHRvIHJldXNlXG4gICAgICAgIC8vIHRoZXNlIHNsb3RzXG4gICAgICAgIGhhbmRsZVN0YXRlW2ldID0gVGFibGVTbG90U3RhdGUuUHVyZ2VkO1xuICAgICAgICBjb21wYWN0ZWRTaXplICs9IHNpemU7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBUYWJsZVNsb3RTdGF0ZS5BbGxvY2F0ZWQpIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IG9mZnNldDsgaiA8PSBpICsgc2l6ZTsgaisrKSB7XG4gICAgICAgICAgaGVhcFtqIC0gY29tcGFjdGVkU2l6ZV0gPSBoZWFwW2pdO1xuICAgICAgICB9XG5cbiAgICAgICAgaGFuZGxlVGFibGVbaV0gPSBvZmZzZXQgLSBjb21wYWN0ZWRTaXplO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gVGFibGVTbG90U3RhdGUuUG9pbnRlcikge1xuICAgICAgICBoYW5kbGVUYWJsZVtpXSA9IG9mZnNldCAtIGNvbXBhY3RlZFNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5vZmZzZXQgPSB0aGlzLm9mZnNldCAtIGNvbXBhY3RlZFNpemU7XG4gIH1cblxuICBjYXB0dXJlKG9mZnNldCA9IHRoaXMub2Zmc2V0KTogU2VyaWFsaXplZEhlYXAge1xuICAgIC8vIE9ubHkgY2FsbGVkIGluIGVhZ2VyIG1vZGVcbiAgICBsZXQgYnVmZmVyID0gc2xpY2UodGhpcy5oZWFwLCAwLCBvZmZzZXQpLmJ1ZmZlcjtcbiAgICByZXR1cm4ge1xuICAgICAgaGFuZGxlOiB0aGlzLmhhbmRsZSxcbiAgICAgIHRhYmxlOiB0aGlzLmhhbmRsZVRhYmxlLFxuICAgICAgYnVmZmVyOiBidWZmZXIgYXMgQXJyYXlCdWZmZXIsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUnVudGltZVByb2dyYW1JbXBsIGltcGxlbWVudHMgUnVudGltZVByb2dyYW0ge1xuICBba2V5OiBudW1iZXJdOiBuZXZlcjtcblxuICBwcml2YXRlIF9vcGNvZGU6IFJ1bnRpbWVPcEltcGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnN0YW50czogUnVudGltZUNvbnN0YW50cyAmIFJlc29sdXRpb25UaW1lQ29uc3RhbnRzLFxuICAgIHB1YmxpYyBoZWFwOiBSdW50aW1lSGVhcFxuICApIHtcbiAgICB0aGlzLl9vcGNvZGUgPSBuZXcgUnVudGltZU9wSW1wbCh0aGlzLmhlYXApO1xuICB9XG5cbiAgb3Bjb2RlKG9mZnNldDogbnVtYmVyKTogUnVudGltZU9wSW1wbCB7XG4gICAgdGhpcy5fb3Bjb2RlLm9mZnNldCA9IG9mZnNldDtcbiAgICByZXR1cm4gdGhpcy5fb3Bjb2RlO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNsaWNlKGFycjogSW50MzJBcnJheSwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBJbnQzMkFycmF5IHtcbiAgaWYgKGFyci5zbGljZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGFyci5zbGljZShzdGFydCwgZW5kKTtcbiAgfVxuXG4gIGxldCByZXQgPSBuZXcgSW50MzJBcnJheShlbmQpO1xuXG4gIGZvciAoOyBzdGFydCA8IGVuZDsgc3RhcnQrKykge1xuICAgIHJldFtzdGFydF0gPSBhcnJbc3RhcnRdO1xuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gc2l6ZW9mKHRhYmxlOiBudW1iZXJbXSwgaGFuZGxlOiBudW1iZXIpIHtcbiAgaWYgKExPQ0FMX0RFQlVHKSB7XG4gICAgcmV0dXJuIHRhYmxlW2hhbmRsZSArIDFdIC0gdGFibGVbaGFuZGxlXTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cbn1cbiIsImltcG9ydCB7IENvbXBpbGVUaW1lQXJ0aWZhY3RzLCBSdW50aW1lQXJ0aWZhY3RzIH0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb25zdGFudHNJbXBsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgSGVhcEltcGwgfSBmcm9tICcuL3Byb2dyYW0nO1xuXG5leHBvcnQgZnVuY3Rpb24gYXJ0aWZhY3RzKCk6IENvbXBpbGVUaW1lQXJ0aWZhY3RzICYgUnVudGltZUFydGlmYWN0cyB7XG4gIHJldHVybiB7XG4gICAgY29uc3RhbnRzOiBuZXcgQ29uc3RhbnRzSW1wbCgpLFxuICAgIGhlYXA6IG5ldyBIZWFwSW1wbCgpLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbImNvbnN0YW50cyIsInRlbXBsYXRlRmFjdG9yeSIsImdldEludGVybmFsSGVscGVyTWFuYWdlciIsIm1hbmFnZXIiLCJnZXRJbnRlcm5hbE1vZGlmaWVyTWFuYWdlciIsImdldEludGVybmFsQ29tcG9uZW50TWFuYWdlciIsImNhcGFiaWxpdHlGbGFnc0Zyb20iLCJnZXRDb21wb25lbnRUZW1wbGF0ZSIsIm1hbmFnZXJIYXNDYXBhYmlsaXR5IiwidW53cmFwVGVtcGxhdGUiXSwibWFwcGluZ3MiOiI7O0VBTUE7OztFQUdBLElBQU0sc0JBQXNCLEdBQTRCLENBQ3RELENBQUMsQ0FBQTtFQUFBO0VBQUEsRUFBQSxDQUFBLEVBRHFELElBQ3JELENBQUQsQ0FEc0QsRUFFdEQsQ0FGc0QsVUFFdEQsQ0FGc0QsRUFBQSxLQUFBLEVBQXhELEVBQXdELENBQXhEO0VBT08sSUFBTSxnQkFBZ0IsR0FBb0M7RUFDL0Q7RUFDQSxFQUFBLEVBQUUsRUFGNkQsc0NBQUE7RUFHL0QsRUFBQSxVQUFVLEVBSHFELGlCQUFBO0VBSS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBSixTQUFBLENBSndELHNCQUl4RCxDQUp3RDtFQUsvRCxFQUFBLEtBQUssRUFMMEQsSUFBQTtFQU0vRCxFQUFBLFlBQVksRUFBRTtFQU5pRCxDQUExRDs7O0VDU1AsSUFBTSxzQkFBc0IsR0FBWSxNQUFNLENBQU4sTUFBQSxDQUF4QyxFQUF3QyxDQUF4QztFQUNBLElBQU0saUJBQWlCLEdBQUdBLGNBQVMsQ0FBbkMsc0JBQW1DLENBQW5DO0VBQ0EsSUFBTSwrQkFBK0IsR0FBVyxpQkFBaUIsQ0FBakIsT0FBQSxDQUFoRCxz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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xpbW1lci1wcm9ncmFtLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi91dGlsL2RlZmF1bHQtdGVtcGxhdGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9jb25zdGFudHMudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9vcGNvZGUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AZ2xpbW1lci9wcm9ncmFtL2xpYi9wcm9ncmFtLnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQGdsaW1tZXIvcHJvZ3JhbS9saWIvaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIG1vZHVsZU5hbWU6ICdfX2RlZmF1bHRfXy5oYnMnLFxuICBibG9jazogSlNPTi5zdHJpbmdpZnkoREVGQVVMVF9URU1QTEFURV9CTE9DSyksXG4gIHNjb3BlOiBudWxsLFxuICBpc1N0cmljdE1vZGU6IHRydWUsXG59O1xuIiwiaW1wb3J0IHtcbiAgQ29tcGlsZVRpbWVDb25zdGFudHMsXG4gIENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgQ29uc3RhbnRQb29sLFxuICBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdHksXG4gIENvbXBvbmVudERlZmluaXRpb24sXG4gIFJlc29sdXRpb25UaW1lQ29uc3RhbnRzLFxuICBSZXNvbHZlZENvbXBvbmVudERlZmluaXRpb24sXG4gIFJ1bnRpbWVDb25zdGFudHMsXG4gIE1vZGlmaWVyRGVmaW5pdGlvblN0YXRlLFxuICBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG4gIFRlbXBsYXRlLFxufSBmcm9tICdAZ2xpbW1lci9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGFzc2VydCwgY29uc3RhbnRzLCBleHBlY3QsIHVud3JhcFRlbXBsYXRlIH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQge1xuICBjYXBhYmlsaXR5RmxhZ3NGcm9tLFxuICBnZXRDb21wb25lbnRUZW1wbGF0ZSxcbiAgZ2V0SW50ZXJuYWxDb21wb25lbnRNYW5hZ2VyLFxuICBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIsXG4gIGdldEludGVybmFsTW9kaWZpZXJNYW5hZ2VyLFxuICBtYW5hZ2VySGFzQ2FwYWJpbGl0eSxcbn0gZnJvbSAnQGdsaW1tZXIvbWFuYWdlcic7XG5pbXBvcnQgeyB0ZW1wbGF0ZUZhY3RvcnkgfSBmcm9tICdAZ2xpbW1lci9vcGNvZGUtY29tcGlsZXInO1xuaW1wb3J0IHsgREVGQVVMVF9URU1QTEFURSB9IGZyb20gJy4vdXRpbC9kZWZhdWx0LXRlbXBsYXRlJztcblxuY29uc3QgV0VMTF9LTk9XTl9FTVBUWV9BUlJBWTogdW5rbm93biA9IE9iamVjdC5mcmVlemUoW10pO1xuY29uc3QgU1RBUlRFUl9DT05TVEFOVFMgPSBjb25zdGFudHMoV0VMTF9LTk9XTl9FTVBUWV9BUlJBWSk7XG5jb25zdCBXRUxMX0tOT1dOX0VNUFRZX0FSUkFZX1BPU0lUSU9OOiBudW1iZXIgPSBTVEFSVEVSX0NPTlNUQU5UUy5pbmRleE9mKFdFTExfS05PV05fRU1QVFlfQVJSQVkpO1xuXG5leHBvcnQgY2xhc3MgQ29tcGlsZVRpbWVDb25zdGFudEltcGwgaW1wbGVtZW50cyBDb21waWxlVGltZUNvbnN0YW50cyB7XG4gIC8vIGAwYCBtZWFucyBOVUxMXG5cbiAgcHJvdGVjdGVkIHZhbHVlczogdW5rbm93bltdID0gU1RBUlRFUl9DT05TVEFOVFMuc2xpY2UoKTtcbiAgcHJvdGVjdGVkIGluZGV4TWFwOiBNYXA8dW5rbm93biwgbnVtYmVyPiA9IG5ldyBNYXAoXG4gICAgdGhpcy52YWx1ZXMubWFwKCh2YWx1ZSwgaW5kZXgpID0+IFt2YWx1ZSwgaW5kZXhdKVxuICApO1xuXG4gIHZhbHVlKHZhbHVlOiB1bmtub3duKSB7XG4gICAgbGV0IGluZGV4TWFwID0gdGhpcy5pbmRleE1hcDtcbiAgICBsZXQgaW5kZXggPSBpbmRleE1hcC5nZXQodmFsdWUpO1xuXG4gICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGluZGV4ID0gdGhpcy52YWx1ZXMucHVzaCh2YWx1ZSkgLSAxO1xuICAgICAgaW5kZXhNYXAuc2V0KHZhbHVlLCBpbmRleCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgYXJyYXkodmFsdWVzOiB1bmtub3duW10pOiBudW1iZXIge1xuICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gV0VMTF9LTk9XTl9FTVBUWV9BUlJBWV9QT1NJVElPTjtcbiAgICB9XG5cbiAgICBsZXQgaGFuZGxlczogbnVtYmVyW10gPSBuZXcgQXJyYXkodmFsdWVzLmxlbmd0aCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaGFuZGxlc1tpXSA9IHRoaXMudmFsdWUodmFsdWVzW2ldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZShoYW5kbGVzKTtcbiAgfVxuXG4gIHRvUG9vbCgpOiBDb25zdGFudFBvb2wge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUnVudGltZUNvbnN0YW50c0ltcGwgaW1wbGVtZW50cyBSdW50aW1lQ29uc3RhbnRzIHtcbiAgcHJvdGVjdGVkIHZhbHVlczogdW5rbm93bltdO1xuXG4gIGNvbnN0cnVjdG9yKHBvb2w6IENvbnN0YW50UG9vbCkge1xuICAgIHRoaXMudmFsdWVzID0gcG9vbDtcbiAgfVxuXG4gIGdldFZhbHVlPFQ+KGhhbmRsZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzW2hhbmRsZV0gYXMgVDtcbiAgfVxuXG4gIGdldEFycmF5PFQ+KHZhbHVlOiBudW1iZXIpOiBUW10ge1xuICAgIGxldCBoYW5kbGVzID0gdGhpcy5nZXRWYWx1ZSh2YWx1ZSkgYXMgbnVtYmVyW107XG4gICAgbGV0IHJlaWZpZWQ6IFRbXSA9IG5ldyBBcnJheShoYW5kbGVzLmxlbmd0aCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGhhbmRsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBuID0gaGFuZGxlc1tpXTtcbiAgICAgIHJlaWZpZWRbaV0gPSB0aGlzLmdldFZhbHVlKG4pO1xuICAgIH1cblxuICAgIHJldHVybiByZWlmaWVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25zdGFudHNJbXBsXG4gIGV4dGVuZHMgQ29tcGlsZVRpbWVDb25zdGFudEltcGxcbiAgaW1wbGVtZW50cyBSdW50aW1lQ29uc3RhbnRzLCBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyB7XG4gIHByb3RlY3RlZCByZWlmaWVkQXJyczogeyBba2V5OiBudW1iZXJdOiB1bmtub3duW10gfSA9IHtcbiAgICBbV0VMTF9LTk9XTl9FTVBUWV9BUlJBWV9QT1NJVElPTl06IFdFTExfS05PV05fRU1QVFlfQVJSQVkgYXMgdW5rbm93bltdLFxuICB9O1xuXG4gIGRlZmF1bHRUZW1wbGF0ZTogVGVtcGxhdGUgPSB0ZW1wbGF0ZUZhY3RvcnkoREVGQVVMVF9URU1QTEFURSkoKTtcblxuICAvLyBVc2VkIGZvciB0ZXN0cyBhbmQgZGVidWdnaW5nIHB1cnBvc2VzLCBhbmQgdG8gYmUgYWJsZSB0byBhbmFseXplIGxhcmdlIGFwcHNcbiAgLy8gVGhpcyBpcyB3aHkgaXQncyBlbmFibGVkIGV2ZW4gaW4gcHJvZHVjdGlvblxuICBoZWxwZXJEZWZpbml0aW9uQ291bnQgPSAwO1xuICBtb2RpZmllckRlZmluaXRpb25Db3VudCA9IDA7XG4gIGNvbXBvbmVudERlZmluaXRpb25Db3VudCA9IDA7XG5cbiAgcHJpdmF0ZSBoZWxwZXJEZWZpbml0aW9uQ2FjaGUgPSBuZXcgV2Vha01hcDxIZWxwZXJEZWZpbml0aW9uU3RhdGUsIG51bWJlciB8IG51bGw+KCk7XG5cbiAgcHJpdmF0ZSBtb2RpZmllckRlZmluaXRpb25DYWNoZSA9IG5ldyBXZWFrTWFwPE1vZGlmaWVyRGVmaW5pdGlvblN0YXRlLCBudW1iZXIgfCBudWxsPigpO1xuXG4gIHByaXZhdGUgY29tcG9uZW50RGVmaW5pdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8XG4gICAgQ29tcG9uZW50RGVmaW5pdGlvblN0YXRlIHwgUmVzb2x2ZWRDb21wb25lbnREZWZpbml0aW9uLFxuICAgIENvbXBvbmVudERlZmluaXRpb24gfCBudWxsXG4gID4oKTtcblxuICBoZWxwZXIoXG4gICAgZGVmaW5pdGlvblN0YXRlOiBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG5cbiAgICAvLyBUT0RPOiBBZGQgYSB3YXkgdG8gZXhwb3NlIHJlc29sdmVkIG5hbWUgZm9yIGRlYnVnZ2luZ1xuICAgIF9yZXNvbHZlZE5hbWU6IHN0cmluZyB8IG51bGwsXG4gICAgaXNPcHRpb25hbDogdHJ1ZVxuICApOiBudW1iZXIgfCBudWxsO1xuICBoZWxwZXIoXG4gICAgZGVmaW5pdGlvblN0YXRlOiBIZWxwZXJEZWZpbml0aW9uU3RhdGUsXG5cbiAgICAvLyBUT0RPOiBBZGQgYSB3YXkgdG8gZXhwb3NlIHJlc29sdmVkIG5hbWUgZm9yIGRlYnVnZ2luZ1xuICAgIF9yZXNvbHZlZE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICk6IG51bWJlcjtcbiAgaGVscGVyKFxuICAgIGRlZmluaXRpb25TdGF0ZTogSGVscGVyRGVmaW5pdGlvblN0YXRlLFxuXG4gICAgLy8gVE9ETzogQWRkIGEgd2F5IHRvIGV4cG9zZSByZXNvbHZlZCBuYW1lIGZvciBkZWJ1Z2dpbmdcbiAgICBfcmVzb2x2ZWROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbiAgICBpc09wdGlvbmFsPzogdHJ1ZVxuICApOiBudW1iZXIgfCBudWxsIHtcbiAgICBsZXQgaGFuZGxlID0gdGhpcy5oZWxwZXJEZWZpbml0aW9uQ2FjaGUuZ2V0KGRlZmluaXRpb25TdGF0ZSk7XG5cbiAgICBpZiAoaGFuZGxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBtYW5hZ2VyT3JIZWxwZXIgPSBnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIoZGVmaW5pdGlvblN0YXRlLCBpc09wdGlvbmFsKTtcblxuICAgICAgaWYgKG1hbmFnZXJPckhlbHBlciA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmhlbHBlckRlZmluaXRpb25DYWNoZS5zZXQoZGVmaW5pdGlvblN0YXRlLCBudWxsKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGFzc2VydChtYW5hZ2VyT3JIZWxwZXIsICdCVUc6IGV4cGVjdGVkIG1hbmFnZXIgb3IgaGVscGVyJyk7XG5cbiAgICAgIGxldCBoZWxwZXIgPVxuICAgICAgICB0eXBlb2YgbWFuYWdlck9ySGVscGVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgPyBtYW5hZ2VyT3JIZWxwZXJcbiAgICAgICAgICA6IG1hbmFnZXJPckhlbHBlci5nZXRIZWxwZXIoZGVmaW5pdGlvblN0YXRlKTtcblxuICAgICAgaGFuZGxlID0gdGhpcy52YWx1ZShoZWxwZXIpO1xuXG4gICAgICB0aGlzLmhlbHBlckRlZmluaXRpb25DYWNoZS5zZXQoZGVmaW5pdGlvblN0YXRlLCBoYW5kbGUpO1xuICAgICAgdGhpcy5oZWxwZXJEZWZpbml0aW9uQ291bnQrKztcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlO1xuICB9XG5cbiAgbW9kaWZpZXIoXG4gICAgZGVmaW5pdGlvblN0YXRlOiBNb2RpZmllckRlZmluaXRpb25TdGF0ZSxcbiAgICByZXNvbHZlZE5hbWU6IHN0cmluZyB8IG51bGwsXG4gICAgaXNPcHRpb25hbDogdHJ1ZVxuICApOiBudW1iZXIgfCBudWxsO1xuICBtb2RpZmllcihkZWZpbml0aW9uU3RhdGU6IE1vZGlmaWVyRGVmaW5pdGlvblN0YXRlLCByZXNvbHZlZE5hbWU/OiBzdHJpbmcgfCBudWxsKTogbnVtYmVyO1xuICBtb2RpZmllcihcbiAgICBkZWZpbml0aW9uU3RhdGU6IE1vZGlmaWVyRGVmaW5pdGlvblN0YXRlLFxuICAgIHJlc29sdmVkTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgaXNPcHRpb25hbD86IHRydWVcbiAgKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgbGV0IGhhbmRsZSA9IHRoaXMubW9kaWZpZXJEZWZpbml0aW9uQ2FjaGUuZ2V0KGRlZmluaXRpb25TdGF0ZSk7XG5cbiAgICBpZiAoaGFuZGxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBtYW5hZ2VyID0gZ2V0SW50ZXJuYWxNb2RpZmllck1hbmFnZXIoZGVmaW5pdGlvblN0YXRlLCBpc09wdGlvbmFsKTtcblxuICAgICAgaWYgKG1hbmFnZXIgPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5tb2RpZmllckRlZmluaXRpb25DYWNoZS5zZXQoZGVmaW5pdGlvblN0YXRlLCBudWxsKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGxldCBkZWZpbml0aW9uID0ge1xuICAgICAgICByZXNvbHZlZE5hbWUsXG4gICAgICAgIG1hbmFnZXIsXG4gICAgICAgIHN0YXRlOiBkZWZpbml0aW9uU3RhdGUsXG4gICAgICB9O1xuXG4gICAgICBoYW5kbGUgPSB0aGlzLnZhbHVlKGRlZmluaXRpb24pO1xuXG4gICAgICB0aGlzLm1vZGlmaWVyRGVmaW5pdGlvbkNhY2hlLnNldChkZWZpbml0aW9uU3RhdGUsIGhhbmRsZSk7XG4gICAgICB0aGlzLm1vZGlmaWVyRGVmaW5pdGlvbkNvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZTtcbiAgfVxuXG4gIGNvbXBvbmVudChkZWZpbml0aW9uU3RhdGU6IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSk6IENvbXBvbmVudERlZmluaXRpb247XG4gIGNvbXBvbmVudChcbiAgICBkZWZpbml0aW9uU3RhdGU6IENvbXBvbmVudERlZmluaXRpb25TdGF0ZSxcbiAgICBpc09wdGlvbmFsOiB0cnVlXG4gICk6IENvbXBvbmVudERlZmluaXRpb24gfCBudWxsO1xuICBjb21wb25lbnQoXG4gICAgZGVmaW5pdGlvblN0YXRlOiBDb21wb25lbnREZWZpbml0aW9uU3RhdGUsXG4gICAgaXNPcHRpb25hbD86IHRydWUsXG4gICAgb3duZXI/OiBvYmplY3RcbiAgKTogQ29tcG9uZW50RGVmaW5pdGlvbiB8IG51bGwge1xuICAgIGxldCBkZWZpbml0aW9uID0gdGhpcy5jb21wb25lbnREZWZpbml0aW9uQ2FjaGUuZ2V0KGRlZmluaXRpb25TdGF0ZSk7XG5cbiAgICBpZiAoZGVmaW5pdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgbWFuYWdlciA9IGdldEludGVybmFsQ29tcG9uZW50TWFuYWdlcihkZWZpbml0aW9uU3RhdGUsIGlzT3B0aW9uYWwpO1xuXG4gICAgICBpZiAobWFuYWdlciA9PT0gbnVsbCkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudERlZmluaXRpb25DYWNoZS5zZXQoZGVmaW5pdGlvblN0YXRlLCBudWxsKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGFzc2VydChtYW5hZ2VyLCAnQlVHOiBleHBlY3RlZCBtYW5hZ2VyJyk7XG5cbiAgICAgIGxldCBjYXBhYmlsaXRpZXMgPSBjYXBhYmlsaXR5RmxhZ3NGcm9tKG1hbmFnZXIuZ2V0Q2FwYWJpbGl0aWVzKGRlZmluaXRpb25TdGF0ZSkpO1xuXG4gICAgICBsZXQgdGVtcGxhdGVGYWN0b3J5ID0gZ2V0Q29tcG9uZW50VGVtcGxhdGUoZGVmaW5pdGlvblN0YXRlKTtcblxuICAgICAgbGV0IGNvbXBpbGFibGUgPSBudWxsO1xuICAgICAgbGV0IHRlbXBsYXRlO1xuXG4gICAgICBpZiAoIW1hbmFnZXJIYXNDYXBhYmlsaXR5KG1hbmFnZXIsIGNhcGFiaWxpdGllcywgSW50ZXJuYWxDb21wb25lbnRDYXBhYmlsaXR5LkR5bmFtaWNMYXlvdXQpKSB7XG4gICAgICAgIHRlbXBsYXRlID0gdGVtcGxhdGVGYWN0b3J5Py4ob3duZXIpID8/IHRoaXMuZGVmYXVsdFRlbXBsYXRlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGVtcGxhdGUgPSB0ZW1wbGF0ZUZhY3Rvcnk/Lihvd25lcik7XG4gICAgICB9XG5cbiAgICAgIGlmICh0ZW1wbGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRlbXBsYXRlID0gdW53cmFwVGVtcGxhdGUodGVtcGxhdGUpO1xuXG4gICAgICAgIGNvbXBpbGFibGUgPSBtYW5hZ2VySGFzQ2FwYWJpbGl0eShcbiAgICAgICAgICBtYW5hZ2VyLFxuICAgICAgICAgIGNhcGFiaWxpdGllcyxcbiAgICAgICAgICBJbnRlcm5hbENvbXBvbmVudENhcGFiaWxpdHkuV3JhcHBlZFxuICAgICAgICApXG4gICAgICAgICAgPyB0ZW1wbGF0ZS5hc1dyYXBwZWRMYXlvdXQoKVxuICAgICAgICAgIDogdGVtcGxhdGUuYXNMYXlvdXQoKTtcbiAgICAgIH1cblxuICAgICAgZGVmaW5pdGlvbiA9IHtcbiAgICAgICAgcmVzb2x2ZWROYW1lOiBudWxsLFxuICAgICAgICBoYW5kbGU6IC0xLCAvLyByZXBsYWNlZCBtb21lbnRhcmlseVxuICAgICAgICBtYW5hZ2VyLFxuICAgICAgICBjYXBhYmlsaXRpZXMsXG4gICAgICAgIHN0YXRlOiBkZWZpbml0aW9uU3RhdGUsXG4gICAgICAgIGNvbXBpbGFibGUsXG4gICAgICB9O1xuXG4gICAgICBkZWZpbml0aW9uIS5oYW5kbGUgPSB0aGlzLnZhbHVlKGRlZmluaXRpb24pO1xuICAgICAgdGhpcy5jb21wb25lbnREZWZpbml0aW9uQ2FjaGUuc2V0KGRlZmluaXRpb25TdGF0ZSwgZGVmaW5pdGlvbik7XG4gICAgICB0aGlzLmNvbXBvbmVudERlZmluaXRpb25Db3VudCsrO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZpbml0aW9uO1xuICB9XG5cbiAgcmVzb2x2ZWRDb21wb25lbnQoXG4gICAgcmVzb2x2ZWREZWZpbml0aW9uOiBSZXNvbHZlZENvbXBvbmVudERlZmluaXRpb24sXG4gICAgcmVzb2x2ZWROYW1lOiBzdHJpbmdcbiAgKTogQ29tcG9uZW50RGVmaW5pdGlvbiB7XG4gICAgbGV0IGRlZmluaXRpb24gPSB0aGlzLmNvbXBvbmVudERlZmluaXRpb25DYWNoZS5nZXQocmVzb2x2ZWREZWZpbml0aW9uKTtcblxuICAgIGlmIChkZWZpbml0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCB7IG1hbmFnZXIsIHN0YXRlLCB0ZW1wbGF0ZSB9ID0gcmVzb2x2ZWREZWZpbml0aW9uO1xuICAgICAgbGV0IGNhcGFiaWxpdGllcyA9IGNhcGFiaWxpdHlGbGFnc0Zyb20obWFuYWdlci5nZXRDYXBhYmlsaXRpZXMocmVzb2x2ZWREZWZpbml0aW9uKSk7XG5cbiAgICAgIGxldCBjb21waWxhYmxlID0gbnVsbDtcblxuICAgICAgaWYgKCFtYW5hZ2VySGFzQ2FwYWJpbGl0eShtYW5hZ2VyLCBjYXBhYmlsaXRpZXMsIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0eS5EeW5hbWljTGF5b3V0KSkge1xuICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlID8/IHRoaXMuZGVmYXVsdFRlbXBsYXRlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGVtcGxhdGUgIT09IG51bGwpIHtcbiAgICAgICAgdGVtcGxhdGUgPSB1bndyYXBUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG5cbiAgICAgICAgY29tcGlsYWJsZSA9IG1hbmFnZXJIYXNDYXBhYmlsaXR5KFxuICAgICAgICAgIG1hbmFnZXIsXG4gICAgICAgICAgY2FwYWJpbGl0aWVzLFxuICAgICAgICAgIEludGVybmFsQ29tcG9uZW50Q2FwYWJpbGl0eS5XcmFwcGVkXG4gICAgICAgIClcbiAgICAgICAgICA/IHRlbXBsYXRlLmFzV3JhcHBlZExheW91dCgpXG4gICAgICAgICAgOiB0ZW1wbGF0ZS5hc0xheW91dCgpO1xuICAgICAgfVxuXG4gICAgICBkZWZpbml0aW9uID0ge1xuICAgICAgICByZXNvbHZlZE5hbWUsXG4gICAgICAgIGhhbmRsZTogLTEsIC8vIHJlcGxhY2VkIG1vbWVudGFyaWx5XG4gICAgICAgIG1hbmFnZXIsXG4gICAgICAgIGNhcGFiaWxpdGllcyxcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIGNvbXBpbGFibGUsXG4gICAgICB9O1xuXG4gICAgICBkZWZpbml0aW9uIS5oYW5kbGUgPSB0aGlzLnZhbHVlKGRlZmluaXRpb24pO1xuICAgICAgdGhpcy5jb21wb25lbnREZWZpbml0aW9uQ2FjaGUuc2V0KHJlc29sdmVkRGVmaW5pdGlvbiwgZGVmaW5pdGlvbik7XG4gICAgICB0aGlzLmNvbXBvbmVudERlZmluaXRpb25Db3VudCsrO1xuICAgIH1cblxuICAgIHJldHVybiBleHBlY3QoZGVmaW5pdGlvbiwgJ0JVRzogcmVzb2x2ZWQgY29tcG9uZW50IGRlZmluaXRpb25zIGNhbm5vdCBiZSBudWxsJyk7XG4gIH1cblxuICBnZXRWYWx1ZTxUPihpbmRleDogbnVtYmVyKSB7XG4gICAgYXNzZXJ0KGluZGV4ID49IDAsIGBjYW5ub3QgZ2V0IHZhbHVlIGZvciBoYW5kbGU6ICR7aW5kZXh9YCk7XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZXNbaW5kZXhdIGFzIFQ7XG4gIH1cblxuICBnZXRBcnJheTxUPihpbmRleDogbnVtYmVyKTogVFtdIHtcbiAgICBsZXQgcmVpZmllZEFycnMgPSB0aGlzLnJlaWZpZWRBcnJzO1xuICAgIGxldCByZWlmaWVkID0gcmVpZmllZEFycnNbaW5kZXhdIGFzIFRbXTtcblxuICAgIGlmIChyZWlmaWVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBuYW1lczogbnVtYmVyW10gPSB0aGlzLmdldFZhbHVlKGluZGV4KTtcbiAgICAgIHJlaWZpZWQgPSBuZXcgQXJyYXkobmFtZXMubGVuZ3RoKTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICByZWlmaWVkW2ldID0gdGhpcy5nZXRWYWx1ZShuYW1lc1tpXSk7XG4gICAgICB9XG5cbiAgICAgIHJlaWZpZWRBcnJzW2luZGV4XSA9IHJlaWZpZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlaWZpZWQ7XG4gIH1cbn1cbiIsImltcG9ydCB7IE9wY29kZVNpemUsIFJ1bnRpbWVPcCwgT3Bjb2RlSGVhcCB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgUnVudGltZU9wSW1wbCBpbXBsZW1lbnRzIFJ1bnRpbWVPcCB7XG4gIHB1YmxpYyBvZmZzZXQgPSAwO1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBoZWFwOiBPcGNvZGVIZWFwKSB7fVxuXG4gIGdldCBzaXplKCkge1xuICAgIGxldCByYXdUeXBlID0gdGhpcy5oZWFwLmdldGJ5YWRkcih0aGlzLm9mZnNldCk7XG4gICAgcmV0dXJuICgocmF3VHlwZSAmIE9wY29kZVNpemUuT1BFUkFORF9MRU5fTUFTSykgPj4gT3Bjb2RlU2l6ZS5BUkdfU0hJRlQpICsgMTtcbiAgfVxuXG4gIGdldCBpc01hY2hpbmUoKTogMCB8IDEge1xuICAgIGxldCByYXdUeXBlID0gdGhpcy5oZWFwLmdldGJ5YWRkcih0aGlzLm9mZnNldCk7XG4gICAgcmV0dXJuIHJhd1R5cGUgJiBPcGNvZGVTaXplLk1BQ0hJTkVfTUFTSyA/IDEgOiAwO1xuICB9XG5cbiAgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVhcC5nZXRieWFkZHIodGhpcy5vZmZzZXQpICYgT3Bjb2RlU2l6ZS5UWVBFX01BU0s7XG4gIH1cblxuICBnZXQgb3AxKCkge1xuICAgIHJldHVybiB0aGlzLmhlYXAuZ2V0YnlhZGRyKHRoaXMub2Zmc2V0ICsgMSk7XG4gIH1cblxuICBnZXQgb3AyKCkge1xuICAgIHJldHVybiB0aGlzLmhlYXAuZ2V0YnlhZGRyKHRoaXMub2Zmc2V0ICsgMik7XG4gIH1cblxuICBnZXQgb3AzKCkge1xuICAgIHJldHVybiB0aGlzLmhlYXAuZ2V0YnlhZGRyKHRoaXMub2Zmc2V0ICsgMyk7XG4gIH1cbn1cbiIsImltcG9ydCB7XG4gIENvbXBpbGVUaW1lSGVhcCxcbiAgU2VyaWFsaXplZEhlYXAsXG4gIFJ1bnRpbWVIZWFwLFxuICBTdGRMaWJPcGVyYW5kLFxuICBSdW50aW1lQ29uc3RhbnRzLFxuICBSdW50aW1lUHJvZ3JhbSxcbiAgUmVzb2x1dGlvblRpbWVDb25zdGFudHMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTE9DQUxfREVCVUcgfSBmcm9tICdAZ2xpbW1lci9sb2NhbC1kZWJ1Zy1mbGFncyc7XG5pbXBvcnQgeyBSdW50aW1lT3BJbXBsIH0gZnJvbSAnLi9vcGNvZGUnO1xuaW1wb3J0IHsgYXNzZXJ0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5cbmNvbnN0IGVudW0gVGFibGVTbG90U3RhdGUge1xuICBBbGxvY2F0ZWQsXG4gIEZyZWVkLFxuICBQdXJnZWQsXG4gIFBvaW50ZXIsXG59XG5cbmV4cG9ydCB0eXBlIFBsYWNlaG9sZGVyID0gW251bWJlciwgKCkgPT4gbnVtYmVyXTtcbmV4cG9ydCB0eXBlIFN0ZGxpYlBsYWNlaG9sZGVyID0gW251bWJlciwgU3RkTGliT3BlcmFuZF07XG5cbmNvbnN0IFBBR0VfU0laRSA9IDB4MTAwMDAwO1xuXG5leHBvcnQgY2xhc3MgUnVudGltZUhlYXBJbXBsIGltcGxlbWVudHMgUnVudGltZUhlYXAge1xuICBwcml2YXRlIGhlYXA6IEludDMyQXJyYXk7XG4gIHByaXZhdGUgdGFibGU6IG51bWJlcltdO1xuXG4gIGNvbnN0cnVjdG9yKHNlcmlhbGl6ZWRIZWFwOiBTZXJpYWxpemVkSGVhcCkge1xuICAgIGxldCB7IGJ1ZmZlciwgdGFibGUgfSA9IHNlcmlhbGl6ZWRIZWFwO1xuICAgIHRoaXMuaGVhcCA9IG5ldyBJbnQzMkFycmF5KGJ1ZmZlcik7XG4gICAgdGhpcy50YWJsZSA9IHRhYmxlO1xuICB9XG5cbiAgLy8gSXQgaXMgaWxsZWdhbCB0byBjbG9zZSBvdmVyIHRoaXMgYWRkcmVzcywgYXMgY29tcGFjdGlvblxuICAvLyBtYXkgbW92ZSBpdC4gSG93ZXZlciwgaXQgaXMgbGVnYWwgdG8gdXNlIHRoaXMgYWRkcmVzc1xuICAvLyBtdWx0aXBsZSB0aW1lcyBiZXR3ZWVuIGNvbXBhY3Rpb25zLlxuICBnZXRhZGRyKGhhbmRsZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50YWJsZVtoYW5kbGVdO1xuICB9XG5cbiAgZ2V0YnlhZGRyKGFkZHJlc3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgYXNzZXJ0KHRoaXMuaGVhcFthZGRyZXNzXSAhPT0gdW5kZWZpbmVkLCAnQWNjZXNzIG1lbW9yeSBvdXQgb2YgYm91bmRzIG9mIHRoZSBoZWFwJyk7XG4gICAgcmV0dXJuIHRoaXMuaGVhcFthZGRyZXNzXTtcbiAgfVxuXG4gIHNpemVvZihoYW5kbGU6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHNpemVvZih0aGlzLnRhYmxlLCBoYW5kbGUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlSGVhcChzZXJpYWxpemVkSGVhcDogU2VyaWFsaXplZEhlYXApOiBSdW50aW1lSGVhcCB7XG4gIHJldHVybiBuZXcgUnVudGltZUhlYXBJbXBsKHNlcmlhbGl6ZWRIZWFwKTtcbn1cblxuLyoqXG4gKiBUaGUgSGVhcCBpcyByZXNwb25zaWJsZSBmb3IgZHluYW1pY2FsbHkgYWxsb2NhdGluZ1xuICogbWVtb3J5IGluIHdoaWNoIHdlIHJlYWQvd3JpdGUgdGhlIFZNJ3MgaW5zdHJ1Y3Rpb25zXG4gKiBmcm9tL3RvLiBXaGVuIHdlIG1hbGxvYyB3ZSBwYXNzIG91dCBhIFZNSGFuZGxlLCB3aGljaFxuICogaXMgdXNlZCBhcyBhbiBpbmRpcmVjdCB3YXkgb2YgYWNjZXNzaW5nIHRoZSBtZW1vcnkgZHVyaW5nXG4gKiBleGVjdXRpb24gb2YgdGhlIFZNLiBJbnRlcm5hbGx5IHdlIHRyYWNrIHRoZSBkaWZmZXJlbnRcbiAqIHJlZ2lvbnMgb2YgdGhlIG1lbW9yeSBpbiBhbiBpbnQgYXJyYXkga25vd24gYXMgdGhlIHRhYmxlLlxuICpcbiAqIFRoZSB0YWJsZSAzMi1iaXQgYWxpZ25lZCBhbmQgaGFzIHRoZSBmb2xsb3dpbmcgbGF5b3V0OlxuICpcbiAqIHwgLi4uIHwgaHAgKHUzMikgfCAgICAgICBpbmZvICh1MzIpICAgfCBzaXplICh1MzIpIHxcbiAqIHwgLi4uIHwgIEhhbmRsZSAgfCBTY29wZSBTaXplIHwgU3RhdGUgfCBTaXplICAgICAgIHxcbiAqIHwgLi4uIHwgMzJiaXRzICAgfCAzMGJpdHMgICAgIHwgMmJpdHMgfCAzMmJpdCAgICAgIHxcbiAqXG4gKiBXaXRoIHRoaXMgaW5mb3JtYXRpb24gd2UgZWZmZWN0aXZlbHkgaGF2ZSB0aGUgYWJpbGl0eSB0b1xuICogY29udHJvbCB3aGVuIHdlIHdhbnQgdG8gZnJlZSBtZW1vcnkuIFRoYXQgYmVpbmcgc2FpZCB5b3VcbiAqIGNhbiBub3QgZnJlZSBkdXJpbmcgZXhlY3V0aW9uIGFzIHJhdyBhZGRyZXNzIGFyZSBvbmx5XG4gKiB2YWxpZCBkdXJpbmcgdGhlIGV4ZWN1dGlvbi4gVGhpcyBtZWFucyB5b3UgY2Fubm90IGNsb3NlXG4gKiBvdmVyIHRoZW0gYXMgeW91IHdpbGwgaGF2ZSBhIGJhZCBtZW1vcnkgYWNjZXNzIGV4Y2VwdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYXBJbXBsIGltcGxlbWVudHMgQ29tcGlsZVRpbWVIZWFwLCBSdW50aW1lSGVhcCB7XG4gIG9mZnNldCA9IDA7XG5cbiAgcHJpdmF0ZSBoZWFwOiBJbnQzMkFycmF5O1xuICBwcml2YXRlIGhhbmRsZVRhYmxlOiBudW1iZXJbXTtcbiAgcHJpdmF0ZSBoYW5kbGVTdGF0ZTogVGFibGVTbG90U3RhdGVbXTtcbiAgcHJpdmF0ZSBoYW5kbGUgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaGVhcCA9IG5ldyBJbnQzMkFycmF5KFBBR0VfU0laRSk7XG4gICAgdGhpcy5oYW5kbGVUYWJsZSA9IFtdO1xuICAgIHRoaXMuaGFuZGxlU3RhdGUgPSBbXTtcbiAgfVxuXG4gIHB1c2goaXRlbTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zaXplQ2hlY2soKTtcbiAgICB0aGlzLmhlYXBbdGhpcy5vZmZzZXQrK10gPSBpdGVtO1xuICB9XG5cbiAgcHJpdmF0ZSBzaXplQ2hlY2soKSB7XG4gICAgbGV0IHsgaGVhcCB9ID0gdGhpcztcblxuICAgIGlmICh0aGlzLm9mZnNldCA9PT0gdGhpcy5oZWFwLmxlbmd0aCkge1xuICAgICAgbGV0IG5ld0hlYXAgPSBuZXcgSW50MzJBcnJheShoZWFwLmxlbmd0aCArIFBBR0VfU0laRSk7XG4gICAgICBuZXdIZWFwLnNldChoZWFwLCAwKTtcbiAgICAgIHRoaXMuaGVhcCA9IG5ld0hlYXA7XG4gICAgfVxuICB9XG5cbiAgZ2V0YnlhZGRyKGFkZHJlc3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaGVhcFthZGRyZXNzXTtcbiAgfVxuXG4gIHNldGJ5YWRkcihhZGRyZXNzOiBudW1iZXIsIHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmhlYXBbYWRkcmVzc10gPSB2YWx1ZTtcbiAgfVxuXG4gIG1hbGxvYygpOiBudW1iZXIge1xuICAgIC8vIHB1c2ggb2Zmc2V0LCBpbmZvLCBzaXplXG4gICAgdGhpcy5oYW5kbGVUYWJsZS5wdXNoKHRoaXMub2Zmc2V0KTtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVUYWJsZS5sZW5ndGggLSAxO1xuICB9XG5cbiAgZmluaXNoTWFsbG9jKGhhbmRsZTogbnVtYmVyKTogdm9pZCB7XG4gICAgLy8gQFRPRE86IEF0IHRoZSBtb21lbnQsIGdhcmJhZ2UgY29sbGVjdGlvbiBpc24ndCBhY3R1YWxseSB1c2VkLCBzbyB0aGlzIGlzXG4gICAgLy8gd3JhcHBlZCB0byBwcmV2ZW50IHVzIGZyb20gYWxsb2NhdGluZyBleHRyYSBzcGFjZSBpbiBwcm9kLiBJbiB0aGUgZnV0dXJlLFxuICAgIC8vIGlmIHdlIHN0YXJ0IHVzaW5nIHRoZSBjb21wYWN0IEFQSSwgd2Ugc2hvdWxkIGNoYW5nZSB0aGlzLlxuICAgIGlmIChMT0NBTF9ERUJVRykge1xuICAgICAgdGhpcy5oYW5kbGVTdGF0ZVtoYW5kbGVdID0gVGFibGVTbG90U3RhdGUuQWxsb2NhdGVkO1xuICAgIH1cbiAgfVxuXG4gIHNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vZmZzZXQ7XG4gIH1cblxuICAvLyBJdCBpcyBpbGxlZ2FsIHRvIGNsb3NlIG92ZXIgdGhpcyBhZGRyZXNzLCBhcyBjb21wYWN0aW9uXG4gIC8vIG1heSBtb3ZlIGl0LiBIb3dldmVyLCBpdCBpcyBsZWdhbCB0byB1c2UgdGhpcyBhZGRyZXNzXG4gIC8vIG11bHRpcGxlIHRpbWVzIGJldHdlZW4gY29tcGFjdGlvbnMuXG4gIGdldGFkZHIoaGFuZGxlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmhhbmRsZVRhYmxlW2hhbmRsZV07XG4gIH1cblxuICBzaXplb2YoaGFuZGxlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIHJldHVybiBzaXplb2YodGhpcy5oYW5kbGVUYWJsZSwgaGFuZGxlKTtcbiAgfVxuXG4gIGZyZWUoaGFuZGxlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVN0YXRlW2hhbmRsZV0gPSBUYWJsZVNsb3RTdGF0ZS5GcmVlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaGVhcCB1c2VzIHRoZSBbTWFyay1Db21wYWN0IEFsZ29yaXRobV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTWFyay1jb21wYWN0X2FsZ29yaXRobSkgdG8gc2hpZnRcbiAgICogcmVhY2hhYmxlIG1lbW9yeSB0byB0aGUgYm90dG9tIG9mIHRoZSBoZWFwIGFuZCBmcmVlYWJsZVxuICAgKiBtZW1vcnkgdG8gdGhlIHRvcCBvZiB0aGUgaGVhcC4gV2hlbiB3ZSBoYXZlIHNoaWZ0ZWQgYWxsXG4gICAqIHRoZSByZWFjaGFibGUgbWVtb3J5IHRvIHRoZSB0b3Agb2YgdGhlIGhlYXAsIHdlIG1vdmUgdGhlXG4gICAqIG9mZnNldCB0byB0aGUgbmV4dCBmcmVlIHBvc2l0aW9uLlxuICAgKi9cbiAgY29tcGFjdCgpOiB2b2lkIHtcbiAgICBsZXQgY29tcGFjdGVkU2l6ZSA9IDA7XG4gICAgbGV0IHsgaGFuZGxlVGFibGUsIGhhbmRsZVN0YXRlLCBoZWFwIH0gPSB0aGlzO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgbGV0IG9mZnNldCA9IGhhbmRsZVRhYmxlW2ldO1xuICAgICAgbGV0IHNpemUgPSBoYW5kbGVUYWJsZVtpICsgMV0gLSBvZmZzZXQ7XG4gICAgICBsZXQgc3RhdGUgPSBoYW5kbGVTdGF0ZVtpXTtcblxuICAgICAgaWYgKHN0YXRlID09PSBUYWJsZVNsb3RTdGF0ZS5QdXJnZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlID09PSBUYWJsZVNsb3RTdGF0ZS5GcmVlZCkge1xuICAgICAgICAvLyB0cmFuc2l0aW9uIHRvIFwiYWxyZWFkeSBmcmVlZFwiIGFrYSBcInB1cmdlZFwiXG4gICAgICAgIC8vIGEgZ29vZCBpbXByb3ZlbWVudCB3b3VsZCBiZSB0byByZXVzZVxuICAgICAgICAvLyB0aGVzZSBzbG90c1xuICAgICAgICBoYW5kbGVTdGF0ZVtpXSA9IFRhYmxlU2xvdFN0YXRlLlB1cmdlZDtcbiAgICAgICAgY29tcGFjdGVkU2l6ZSArPSBzaXplO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gVGFibGVTbG90U3RhdGUuQWxsb2NhdGVkKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBvZmZzZXQ7IGogPD0gaSArIHNpemU7IGorKykge1xuICAgICAgICAgIGhlYXBbaiAtIGNvbXBhY3RlZFNpemVdID0gaGVhcFtqXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGhhbmRsZVRhYmxlW2ldID0gb2Zmc2V0IC0gY29tcGFjdGVkU2l6ZTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09IFRhYmxlU2xvdFN0YXRlLlBvaW50ZXIpIHtcbiAgICAgICAgaGFuZGxlVGFibGVbaV0gPSBvZmZzZXQgLSBjb21wYWN0ZWRTaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMub2Zmc2V0ID0gdGhpcy5vZmZzZXQgLSBjb21wYWN0ZWRTaXplO1xuICB9XG5cbiAgY2FwdHVyZShvZmZzZXQgPSB0aGlzLm9mZnNldCk6IFNlcmlhbGl6ZWRIZWFwIHtcbiAgICAvLyBPbmx5IGNhbGxlZCBpbiBlYWdlciBtb2RlXG4gICAgbGV0IGJ1ZmZlciA9IHNsaWNlKHRoaXMuaGVhcCwgMCwgb2Zmc2V0KS5idWZmZXI7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhhbmRsZTogdGhpcy5oYW5kbGUsXG4gICAgICB0YWJsZTogdGhpcy5oYW5kbGVUYWJsZSxcbiAgICAgIGJ1ZmZlcjogYnVmZmVyIGFzIEFycmF5QnVmZmVyLFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFJ1bnRpbWVQcm9ncmFtSW1wbCBpbXBsZW1lbnRzIFJ1bnRpbWVQcm9ncmFtIHtcbiAgW2tleTogbnVtYmVyXTogbmV2ZXI7XG5cbiAgcHJpdmF0ZSBfb3Bjb2RlOiBSdW50aW1lT3BJbXBsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBjb25zdGFudHM6IFJ1bnRpbWVDb25zdGFudHMgJiBSZXNvbHV0aW9uVGltZUNvbnN0YW50cyxcbiAgICBwdWJsaWMgaGVhcDogUnVudGltZUhlYXBcbiAgKSB7XG4gICAgdGhpcy5fb3Bjb2RlID0gbmV3IFJ1bnRpbWVPcEltcGwodGhpcy5oZWFwKTtcbiAgfVxuXG4gIG9wY29kZShvZmZzZXQ6IG51bWJlcik6IFJ1bnRpbWVPcEltcGwge1xuICAgIHRoaXMuX29wY29kZS5vZmZzZXQgPSBvZmZzZXQ7XG4gICAgcmV0dXJuIHRoaXMuX29wY29kZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzbGljZShhcnI6IEludDMyQXJyYXksIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKTogSW50MzJBcnJheSB7XG4gIGlmIChhcnIuc2xpY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBhcnIuc2xpY2Uoc3RhcnQsIGVuZCk7XG4gIH1cblxuICBsZXQgcmV0ID0gbmV3IEludDMyQXJyYXkoZW5kKTtcblxuICBmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0YXJ0KyspIHtcbiAgICByZXRbc3RhcnRdID0gYXJyW3N0YXJ0XTtcbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIHNpemVvZih0YWJsZTogbnVtYmVyW10sIGhhbmRsZTogbnVtYmVyKSB7XG4gIGlmIChMT0NBTF9ERUJVRykge1xuICAgIHJldHVybiB0YWJsZVtoYW5kbGUgKyAxXSAtIHRhYmxlW2hhbmRsZV07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG59XG4iLCJpbXBvcnQgeyBDb21waWxlVGltZUFydGlmYWN0cywgUnVudGltZUFydGlmYWN0cyB9IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzSW1wbCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IEhlYXBJbXBsIH0gZnJvbSAnLi9wcm9ncmFtJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFydGlmYWN0cygpOiBDb21waWxlVGltZUFydGlmYWN0cyAmIFJ1bnRpbWVBcnRpZmFjdHMge1xuICByZXR1cm4ge1xuICAgIGNvbnN0YW50czogbmV3IENvbnN0YW50c0ltcGwoKSxcbiAgICBoZWFwOiBuZXcgSGVhcEltcGwoKSxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdGFudHMiLCJ0ZW1wbGF0ZUZhY3RvcnkiLCJnZXRJbnRlcm5hbEhlbHBlck1hbmFnZXIiLCJtYW5hZ2VyIiwiZ2V0SW50ZXJuYWxNb2RpZmllck1hbmFnZXIiLCJnZXRJbnRlcm5hbENvbXBvbmVudE1hbmFnZXIiLCJjYXBhYmlsaXR5RmxhZ3NGcm9tIiwiZ2V0Q29tcG9uZW50VGVtcGxhdGUiLCJtYW5hZ2VySGFzQ2FwYWJpbGl0eSIsInVud3JhcFRlbXBsYXRlIl0sIm1hcHBpbmdzIjoiOztFQU1BOzs7RUFHQSxJQUFNLHNCQUFzQixHQUE0QixDQUN0RCxDQUFDLENBQUE7RUFBQTtFQUFBLEVBQUEsQ0FBQSxFQURxRCxJQUNyRCxDQUFELENBRHNELEVBRXRELENBRnNELFVBRXRELENBRnNELEVBQUEsS0FBQSxFQUF4RCxFQUF3RCxDQUF4RDtFQU9PLElBQU0sZ0JBQWdCLEdBQW9DO0VBQy9ELEVBQUEsVUFBVSxFQURxRCxpQkFBQTtFQUUvRCxFQUFBLEtBQUssRUFBRSxJQUFJLENBQUosU0FBQSxDQUZ3RCxzQkFFeEQsQ0FGd0Q7RUFHL0QsRUFBQSxLQUFLLEVBSDBELElBQUE7RUFJL0QsRUFBQSxZQUFZLEVBQUU7RUFKaUQsQ0FBMUQ7OztFQ1NQLElBQU0sc0JBQXNCLEdBQVksTUFBTSxDQUFOLE1BQUEsQ0FBeEMsRUFBd0MsQ0FBeEM7RUFDQSxJQUFNLGlCQUFpQixHQUFHQSxjQUFTLENBQW5DLHNCQUFtQyxDQUFuQztFQUNBLElBQU0sK0JBQStCLEdBQVcsaUJBQWlCLENBQWpCLE9BQUEsQ0FBaEQsc0JBQWdELENBQWhEO0FBRUEsTUFBTSx1QkFBTjtFQUFBLHFDQUFBO0VBQ0U7RUFFVSxTQUFBLE1BQUEsR0FBb0IsaUJBQWlCLENBQXJDLEtBQW9CLEVBQXBCO0VBQ0EsU0FBQSxRQUFBLEdBQWlDLElBQUEsR0FBQSxDQUN6QyxLQUFBLE1BQUEsQ0FBQSxHQUFBLENBQWdCLFVBQUEsS0FBQSxFQUFBLEtBQUE7RUFBQSxhQUFrQixDQUFBLEtBQUEsRUFEMUIsS0FDMEIsQ0FBbEI7RUFBQSxLQUFoQixDQUR5QyxDQUFqQztFQWlDWDs7RUFyQ0Q7O0VBQUEsU0FRRSxLQVJGLEdBUUUsZUFBSyxNQUFMLEVBQW9CO0VBQ2xCLFFBQUksUUFBUSxHQUFHLEtBQWYsUUFBQTtFQUNBLFFBQUksS0FBSyxHQUFHLFFBQVEsQ0FBUixHQUFBLENBQVosTUFBWSxDQUFaOztFQUVBLFFBQUksS0FBSyxLQUFULFNBQUEsRUFBeUI7RUFDdkIsTUFBQSxLQUFLLEdBQUcsS0FBQSxNQUFBLENBQUEsSUFBQSxDQUFBLE1BQUEsSUFBUixDQUFBO0VBQ0EsTUFBQSxRQUFRLENBQVIsR0FBQSxDQUFBLE1BQUEsRUFBQSxLQUFBO0VBQ0Q7O0VBRUQsV0FBQSxLQUFBO0VBQ0QsR0FsQkg7O0VBQUEsU0FvQkUsS0FwQkYsR0FvQkUsZUFBSyxNQUFMLEVBQXVCO0VBQ3JCLFFBQUksTUFBTSxDQUFOLE1BQUEsS0FBSixDQUFBLEVBQXlCO0VBQ3ZCLGFBQUEsK0JBQUE7RUFDRDs7RUFFRCxRQUFJLE9BQU8sR0FBYSxJQUFBLEtBQUEsQ0FBVSxNQUFNLENBQXhDLE1BQXdCLENBQXhCOztFQUVBLFNBQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQUcsTUFBTSxDQUExQixNQUFBLEVBQW1DLENBQW5DLEVBQUEsRUFBd0M7RUFDdEMsTUFBQSxPQUFPLENBQVAsQ0FBTyxDQUFQLEdBQWEsS0FBQSxLQUFBLENBQVcsTUFBTSxDQUE5QixDQUE4QixDQUFqQixDQUFiO0VBQ0Q7O0VBRUQsV0FBTyxLQUFBLEtBQUEsQ0FBUCxPQUFPLENBQVA7RUFDRCxHQWhDSDs7RUFBQSxTQWtDRSxNQWxDRixHQWtDRSxrQkFBTTtFQUNKLFdBQU8sS0FBUCxNQUFBO0VBQ0QsR0FwQ0g7O0VBQUE7RUFBQTtBQXVDQSxNQUFNLG9CQUFOO0VBR0UsZ0NBQUEsSUFBQSxFQUE4QjtFQUM1QixTQUFBLE1BQUEsR0FBQSxJQUFBO0VBQ0Q7O0VBTEg7O0VBQUEsVUFPRSxRQVBGLEdBT0Usa0JBQVEsTUFBUixFQUEwQjtFQUN4QixXQUFPLEtBQUEsTUFBQSxDQUFQLE1BQU8sQ0FBUDtFQUNELEdBVEg7O0VBQUEsVUFXRSxRQVhGLEdBV0Usa0JBQVEsS0FBUixFQUF5QjtFQUN2QixRQUFJLE9BQU8sR0FBRyxLQUFBLFFBQUEsQ0FBZCxLQUFjLENBQWQ7RUFDQSxRQUFJLE9BQU8sR0FBUSxJQUFBLEtBQUEsQ0FBVSxPQUFPLENBQXBDLE1BQW1CLENBQW5COztFQUVBLFNBQUssSUFBSSxDQUFDLEdBQVYsQ0FBQSxFQUFnQixDQUFDLEdBQUcsT0FBTyxDQUEzQixNQUFBLEVBQW9DLENBQXBDLEVBQUEsRUFBeUM7RUFDdkMsVUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFmLENBQWUsQ0FBZjtFQUNBLE1BQUEsT0FBTyxDQUFQLENBQU8sQ0FBUCxHQUFhLEtBQUEsUUFBQSxDQUFiLENBQWEsQ0FBYjtFQUNEOztFQUVELFdBQUEsT0FBQTtFQUNELEdBckJIOztFQUFBO0VBQUE7QUF3QkEsTUFBTSxhQUFOO0VBQUE7O0VBQUEsMkJBQUE7RUFBQTs7RUFBQTs7O0VBR1ksVUFBQSxXQUFBLDhDQUNSLCtCQURRLElBQzJCLHNCQUQzQjtFQUlWLFVBQUEsZUFBQSxHQUE0QkMsOEJBQWUsQ0FQN0MsZ0JBTzZDLENBQWYsRUFBNUIsQ0FQRjtFQVVFOztFQUNBLFVBQUEscUJBQUEsR0FBQSxDQUFBO0VBQ0EsVUFBQSx1QkFBQSxHQUFBLENBQUE7RUFDQSxVQUFBLHdCQUFBLEdBQUEsQ0FBQTtFQUVRLFVBQUEscUJBQUEsR0FBd0IsSUFBeEIsT0FBd0IsRUFBeEI7RUFFQSxVQUFBLHVCQUFBLEdBQTBCLElBQTFCLE9BQTBCLEVBQTFCO0VBRUEsVUFBQSx3QkFBQSxHQUEyQixJQUEzQixPQUEyQixFQUEzQjtFQW5CVjtFQThPQzs7RUE5T0Q7O0VBQUEsVUFxQ0UsTUFyQ0YsR0FxQ0UsZ0JBQU0sZUFBTjtFQUlFLEVBQUEsYUFKRixFQUFNLFVBQU4sRUFLbUI7QUFBQTtFQUVqQixRQUFJLE1BQU0sR0FBRyxLQUFBLHFCQUFBLENBQUEsR0FBQSxDQUFiLGVBQWEsQ0FBYjs7RUFFQSxRQUFJLE1BQU0sS0FBVixTQUFBLEVBQTBCO0VBQ3hCLFVBQUksZUFBZSxHQUFHQyxnQ0FBd0IsQ0FBQSxlQUFBLEVBQTlDLFVBQThDLENBQTlDOztFQUVBLFVBQUksZUFBZSxLQUFuQixJQUFBLEVBQThCO0VBQzVCLGFBQUEscUJBQUEsQ0FBQSxHQUFBLENBQUEsZUFBQSxFQUFBLElBQUE7RUFDQSxlQUFBLElBQUE7RUFDRDtFQUlELFVBQUksTUFBTSxHQUNSLE9BQUEsZUFBQSxLQUFBLFVBQUEsR0FBQSxlQUFBLEdBRUksZUFBZSxDQUFmLFNBQUEsQ0FITixlQUdNLENBSE47RUFLQSxNQUFBLE1BQU0sR0FBRyxLQUFBLEtBQUEsQ0FBVCxNQUFTLENBQVQ7RUFFQSxXQUFBLHFCQUFBLENBQUEsR0FBQSxDQUFBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsV0FBQSxxQkFBQTtFQUNEOztFQUVELFdBQUEsTUFBQTtFQUNELEdBcEVIOztFQUFBLFVBNEVFLFFBNUVGLEdBNEVFLGtCQUFRLGVBQVIsRUFFRSxZQUZGLEVBQVEsVUFBUixFQUdtQjtFQUFBLFFBRGpCLFlBQ2lCO0VBRGpCLE1BQUEsWUFDaUIsR0FIWCxJQUdXO0VBQUE7O0VBRWpCLFFBQUksTUFBTSxHQUFHLEtBQUEsdUJBQUEsQ0FBQSxHQUFBLENBQWIsZUFBYSxDQUFiOztFQUVBLFFBQUksTUFBTSxLQUFWLFNBQUEsRUFBMEI7RUFDeEIsVUFBSUMsU0FBTyxHQUFHQyxrQ0FBMEIsQ0FBQSxlQUFBLEVBQXhDLFVBQXdDLENBQXhDOztFQUVBLFVBQUlELFNBQU8sS0FBWCxJQUFBLEVBQXNCO0VBQ3BCLGFBQUEsdUJBQUEsQ0FBQSxHQUFBLENBQUEsZUFBQSxFQUFBLElBQUE7RUFDQSxlQUFBLElBQUE7RUFDRDs7RUFFRCxVQUFJLFVBQVUsR0FBRztFQUNmLFFBQUEsWUFEZSxFQUNmLFlBRGU7RUFFZixRQUFBLE9BRmUsRUFFZkEsU0FGZTtFQUdmLFFBQUEsS0FBSyxFQUFFO0VBSFEsT0FBakI7RUFNQSxNQUFBLE1BQU0sR0FBRyxLQUFBLEtBQUEsQ0FBVCxVQUFTLENBQVQ7RUFFQSxXQUFBLHVCQUFBLENBQUEsR0FBQSxDQUFBLGVBQUEsRUFBQSxNQUFBO0VBQ0EsV0FBQSx1QkFBQTtFQUNEOztFQUVELFdBQUEsTUFBQTtFQUNELEdBeEdIOztFQUFBLFVBK0dFLFNBL0dGLEdBK0dFLG1CQUFTLGVBQVQsRUFBUyxVQUFULEVBQVMsS0FBVCxFQUdnQjs7O0VBRWQsUUFBSSxVQUFVLEdBQUcsS0FBQSx3QkFBQSxDQUFBLEdBQUEsQ0FBakIsZUFBaUIsQ0FBakI7O0VBRUEsUUFBSSxVQUFVLEtBQWQsU0FBQSxFQUE4QjtFQUM1QixVQUFJQSxTQUFPLEdBQUdFLG1DQUEyQixDQUFBLGVBQUEsRUFBekMsVUFBeUMsQ0FBekM7O0VBRUEsVUFBSUYsU0FBTyxLQUFYLElBQUEsRUFBc0I7RUFDcEIsYUFBQSx3QkFBQSxDQUFBLEdBQUEsQ0FBQSxlQUFBLEVBQUEsSUFBQTtFQUNBLGVBQUEsSUFBQTtFQUNEO0VBSUQsVUFBSSxZQUFZLEdBQUdHLDJCQUFtQixDQUFDSCxTQUFPLENBQVAsZUFBQSxDQUF2QyxlQUF1QyxDQUFELENBQXRDOztFQUVBLFVBQUksZ0JBQWUsR0FBR0ksNEJBQW9CLENBQTFDLGVBQTBDLENBQTFDOztFQUVBLFVBQUksVUFBVSxHQUFkLElBQUE7RUFDQSxVQUFBLFFBQUE7O0VBRUEsVUFBSSxDQUFDQyw0QkFBb0IsQ0FBQUwsU0FBQSxFQUFBLFlBQUEsRUFBc0I7RUFBQTtFQUF0QixPQUF6QixFQUE2RjtFQUMzRixRQUFBLFFBQVEsR0FBQSxDQUFBLEVBQUEsR0FBRyxnQkFBZSxLQUFmLElBQUEsSUFBQSxnQkFBZSxLQUFBLEtBQWYsQ0FBQSxHQUFlLEtBQWYsQ0FBQSxHQUFBLGdCQUFlLENBQWxCLEtBQWtCLENBQWxCLE1BQUEsSUFBQSxJQUEwQixFQUFBLEtBQUEsS0FBMUIsQ0FBQSxHQUFBLEVBQUEsR0FBK0IsS0FBdkMsZUFBQTtFQURGLE9BQUEsTUFFTztFQUNMLFFBQUEsUUFBUSxHQUFHLGdCQUFlLEtBQWYsSUFBQSxJQUFBLGdCQUFlLEtBQUEsS0FBZixDQUFBLEdBQWUsS0FBZixDQUFBLEdBQUEsZ0JBQWUsQ0FBMUIsS0FBMEIsQ0FBMUI7RUFDRDs7RUFFRCxVQUFJLFFBQVEsS0FBWixTQUFBLEVBQTRCO0VBQzFCLFFBQUEsUUFBUSxHQUFHTSxtQkFBYyxDQUF6QixRQUF5QixDQUF6QjtFQUVBLFFBQUEsVUFBVSxHQUFHRCw0QkFBb0IsQ0FBQUwsU0FBQSxFQUFBLFlBQUEsRUFFbkI7RUFBQTtFQUZtQixTQUFwQixHQUtULFFBQVEsQ0FMQyxlQUtULEVBTFMsR0FNVCxRQUFRLENBTlosUUFNSSxFQU5KO0VBT0Q7O0VBRUQsTUFBQSxVQUFVLEdBQUc7RUFDWCxRQUFBLFlBQVksRUFERCxJQUFBO0VBRVgsUUFBQSxNQUFNLEVBQUUsQ0FGRyxDQUFBO0VBR1gsUUFBQSxPQUhXLEVBR1hBLFNBSFc7RUFJWCxRQUFBLFlBSlcsRUFJWCxZQUpXO0VBS1gsUUFBQSxLQUFLLEVBTE0sZUFBQTtFQU1YLFFBQUEsVUFBQSxFQUFBO0VBTlcsT0FBYjtFQVNBLE1BQUEsVUFBVyxDQUFYLE1BQUEsR0FBcUIsS0FBQSxLQUFBLENBQXJCLFVBQXFCLENBQXJCO0VBQ0EsV0FBQSx3QkFBQSxDQUFBLEdBQUEsQ0FBQSxlQUFBLEVBQUEsVUFBQTtFQUNBLFdBQUEsd0JBQUE7RUFDRDs7RUFFRCxXQUFBLFVBQUE7RUFDRCxHQXhLSDs7RUFBQSxVQTBLRSxpQkExS0YsR0EwS0UsMkJBQWlCLGtCQUFqQixFQUFpQixZQUFqQixFQUVzQjtFQUVwQixRQUFJLFVBQVUsR0FBRyxLQUFBLHdCQUFBLENBQUEsR0FBQSxDQUFqQixrQkFBaUIsQ0FBakI7O0VBRUEsUUFBSSxVQUFVLEtBQWQsU0FBQSxFQUE4QjtFQUFBLFVBQ3hCQSxTQUR3QixHQUM1QixrQkFENEIsQ0FDeEIsT0FEd0I7RUFBQSxVQUN4QixLQUR3QixHQUM1QixrQkFENEIsQ0FDeEIsS0FEd0I7RUFBQSxVQUNOLFFBRE0sR0FDNUIsa0JBRDRCLENBQ04sUUFETTtFQUU1QixVQUFJLFlBQVksR0FBR0csMkJBQW1CLENBQUNILFNBQU8sQ0FBUCxlQUFBLENBQXZDLGtCQUF1QyxDQUFELENBQXRDO0VBRUEsVUFBSSxVQUFVLEdBQWQsSUFBQTs7RUFFQSxVQUFJLENBQUNLLDRCQUFvQixDQUFBTCxTQUFBLEVBQUEsWUFBQSxFQUFzQjtFQUFBO0VBQXRCLE9BQXpCLEVBQTZGO0VBQzNGLFFBQUEsUUFBUSxHQUFHLFFBQVEsS0FBUixJQUFBLElBQUEsUUFBUSxLQUFBLEtBQVIsQ0FBQSxHQUFBLFFBQUEsR0FBWSxLQUF2QixlQUFBO0VBQ0Q7O0VBRUQsVUFBSSxRQUFRLEtBQVosSUFBQSxFQUF1QjtFQUNyQixRQUFBLFFBQVEsR0FBR00sbUJBQWMsQ0FBekIsUUFBeUIsQ0FBekI7RUFFQSxRQUFBLFVBQVUsR0FBR0QsNEJBQW9CLENBQUFMLFNBQUEsRUFBQSxZQUFBLEVBRW5CO0VBQUE7RUFGbUIsU0FBcEIsR0FLVCxRQUFRLENBTEMsZUFLVCxFQUxTLEdBTVQsUUFBUSxDQU5aLFFBTUksRUFOSjtFQU9EOztFQUVELE1BQUEsVUFBVSxHQUFHO0VBQ1gsUUFBQSxZQURXLEVBQ1gsWUFEVztFQUVYLFFBQUEsTUFBTSxFQUFFLENBRkcsQ0FBQTtFQUdYLFFBQUEsT0FIVyxFQUdYQSxTQUhXO0VBSVgsUUFBQSxZQUpXLEVBSVgsWUFKVztFQUtYLFFBQUEsS0FMVyxFQUtYLEtBTFc7RUFNWCxRQUFBLFVBQUEsRUFBQTtFQU5XLE9BQWI7RUFTQSxNQUFBLFVBQVcsQ0FBWCxNQUFBLEdBQXFCLEtBQUEsS0FBQSxDQUFyQixVQUFxQixDQUFyQjtFQUNBLFdBQUEsd0JBQUEsQ0FBQSxHQUFBLENBQUEsa0JBQUEsRUFBQSxVQUFBO0VBQ0EsV0FBQSx3QkFBQTtFQUNEOztFQUVELFdBQUEsVUFBQTtFQUNELEdBck5IOztFQUFBLFVBdU5FLFFBdk5GLEdBdU5FLGtCQUFRLEtBQVIsRUFBeUI7QUFBQSxFQUd2QixXQUFPLEtBQUEsTUFBQSxDQUFQLEtBQU8sQ0FBUDtFQUNELEdBM05IOztFQUFBLFVBNk5FLFFBN05GLEdBNk5FLGtCQUFRLEtBQVIsRUFBeUI7RUFDdkIsUUFBSSxXQUFXLEdBQUcsS0FBbEIsV0FBQTtFQUNBLFFBQUksT0FBTyxHQUFHLFdBQVcsQ0FBekIsS0FBeUIsQ0FBekI7O0VBRUEsUUFBSSxPQUFPLEtBQVgsU0FBQSxFQUEyQjtFQUN6QixVQUFJLEtBQUssR0FBYSxLQUFBLFFBQUEsQ0FBdEIsS0FBc0IsQ0FBdEI7RUFDQSxNQUFBLE9BQU8sR0FBRyxJQUFBLEtBQUEsQ0FBVSxLQUFLLENBQXpCLE1BQVUsQ0FBVjs7RUFFQSxXQUFLLElBQUksQ0FBQyxHQUFWLENBQUEsRUFBZ0IsQ0FBQyxHQUFHLEtBQUssQ0FBekIsTUFBQSxFQUFrQyxDQUFsQyxFQUFBLEVBQXVDO0VBQ3JDLFFBQUEsT0FBTyxDQUFQLENBQU8sQ0FBUCxHQUFhLEtBQUEsUUFBQSxDQUFjLEtBQUssQ0FBaEMsQ0FBZ0MsQ0FBbkIsQ0FBYjtFQUNEOztFQUVELE1BQUEsV0FBVyxDQUFYLEtBQVcsQ0FBWCxHQUFBLE9BQUE7RUFDRDs7RUFFRCxXQUFBLE9BQUE7RUFDRCxHQTdPSDs7RUFBQTtFQUFBLEVBQU0sdUJBQU47Ozs7OztBQzFGQSxNQUFNLGFBQU47RUFFRSx5QkFBQSxJQUFBLEVBQXFDO0VBQWhCLFNBQUEsSUFBQSxHQUFBLElBQUE7RUFEZCxTQUFBLE1BQUEsR0FBQSxDQUFBO0VBQ2tDOztFQUYzQztFQUFBO0VBQUEsd0JBSVU7RUFDTixVQUFJLE9BQU8sR0FBRyxLQUFBLElBQUEsQ0FBQSxTQUFBLENBQW9CLEtBQWxDLE1BQWMsQ0FBZDtFQUNBLGFBQU8sQ0FBQyxDQUFDLE9BQU8sR0FBQTtFQUFBO0VBQVIsV0FBdUM7RUFBQTtFQUF4QyxVQUFQLENBQUE7RUFDRDtFQVBIO0VBQUE7RUFBQSx3QkFTZTtFQUNYLFVBQUksT0FBTyxHQUFHLEtBQUEsSUFBQSxDQUFBLFNBQUEsQ0FBb0IsS0FBbEMsTUFBYyxDQUFkO0VBQ0EsYUFBTyxPQUFPLEdBQUE7RUFBQTtFQUFQLFFBQUEsQ0FBQSxHQUFQLENBQUE7RUFDRDtFQVpIO0VBQUE7RUFBQSx3QkFjVTtFQUNOLGFBQU8sS0FBQSxJQUFBLENBQUEsU0FBQSxDQUFvQixLQUFwQixNQUFBLElBQWdDO0VBQUE7RUFBdkM7RUFDRDtFQWhCSDtFQUFBO0VBQUEsd0JBa0JTO0VBQ0wsYUFBTyxLQUFBLElBQUEsQ0FBQSxTQUFBLENBQW9CLEtBQUEsTUFBQSxHQUEzQixDQUFPLENBQVA7RUFDRDtFQXBCSDtFQUFBO0VBQUEsd0JBc0JTO0VBQ0wsYUFBTyxLQUFBLElBQUEsQ0FBQSxTQUFBLENBQW9CLEtBQUEsTUFBQSxHQUEzQixDQUFPLENBQVA7RUFDRDtFQXhCSDtFQUFBO0VBQUEsd0JBMEJTO0VBQ0wsYUFBTyxLQUFBLElBQUEsQ0FBQSxTQUFBLENBQW9CLEtBQUEsTUFBQSxHQUEzQixDQUFPLENBQVA7RUFDRDtFQTVCSDs7RUFBQTtFQUFBOztFQ3FCQSxJQUFNLFNBQVMsR0FBZixRQUFBO0FBRUEsTUFBTSxlQUFOO0VBSUUsMkJBQUEsY0FBQSxFQUEwQztFQUFBLFFBQ3BDLE1BRG9DLEdBQ3hDLGNBRHdDLENBQ3BDLE1BRG9DO0VBQUEsUUFDMUIsS0FEMEIsR0FDeEMsY0FEd0MsQ0FDMUIsS0FEMEI7RUFFeEMsU0FBQSxJQUFBLEdBQVksSUFBQSxVQUFBLENBQVosTUFBWSxDQUFaO0VBQ0EsU0FBQSxLQUFBLEdBQUEsS0FBQTtFQVB3QixHQUE1QjtFQVdFO0VBQ0E7OztFQVpGOztFQUFBLFNBYUUsT0FiRixHQWFFLGlCQUFPLE1BQVAsRUFBc0I7RUFDcEIsV0FBTyxLQUFBLEtBQUEsQ0FBUCxNQUFPLENBQVA7RUFDRCxHQWZIOztFQUFBLFNBaUJFLFNBakJGLEdBaUJFLG1CQUFTLE9BQVQsRUFBeUI7QUFBQSxFQUV2QixXQUFPLEtBQUEsSUFBQSxDQUFQLE9BQU8sQ0FBUDtFQUNELEdBcEJIOztFQUFBLFNBc0JFLE1BdEJGLEdBc0JFLGdCQUFNLE1BQU4sRUFBcUI7RUFDbkIsV0FBTyxPQUFNLENBQUMsS0FBRCxLQUFBLEFBQUEsQ0FBYjtFQUNELEdBeEJIOztFQUFBO0VBQUE7QUEyQkEsRUFBTSxTQUFBLFdBQUEsQ0FBQSxjQUFBLEVBQW9EO0VBQ3hELFNBQU8sSUFBQSxlQUFBLENBQVAsY0FBTyxDQUFQO0VBQ0Q7RUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLE1BQU0sUUFBTjtFQVFFLHNCQUFBO0VBUEEsU0FBQSxNQUFBLEdBQUEsQ0FBQTtFQUtRLFNBQUEsTUFBQSxHQUFBLENBQUE7RUFHTixTQUFBLElBQUEsR0FBWSxJQUFBLFVBQUEsQ0FBWixTQUFZLENBQVo7RUFDQSxTQUFBLFdBQUEsR0FBQSxFQUFBO0VBQ0EsU0FBQSxXQUFBLEdBQUEsRUFBQTtFQUNEOztFQVpIOztFQUFBLFVBY0UsSUFkRixHQWNFLGNBQUksSUFBSixFQUFpQjtFQUNmLFNBQUEsU0FBQTtFQUNBLFNBQUEsSUFBQSxDQUFVLEtBQVYsTUFBVSxFQUFWLElBQUEsSUFBQTtFQUNELEdBakJIOztFQUFBLFVBbUJVLFNBbkJWLEdBbUJVLHFCQUFTO0VBQUEsUUFDVCxJQURTLEdBQ2YsSUFEZSxDQUNULElBRFM7O0VBR2YsUUFBSSxLQUFBLE1BQUEsS0FBZ0IsS0FBQSxJQUFBLENBQXBCLE1BQUEsRUFBc0M7RUFDcEMsVUFBSSxPQUFPLEdBQUcsSUFBQSxVQUFBLENBQWUsSUFBSSxDQUFKLE1BQUEsR0FBN0IsU0FBYyxDQUFkO0VBQ0EsTUFBQSxPQUFPLENBQVAsR0FBQSxDQUFBLElBQUEsRUFBQSxDQUFBO0VBQ0EsV0FBQSxJQUFBLEdBQUEsT0FBQTtFQUNEO0VBQ0YsR0EzQkg7O0VBQUEsVUE2QkUsU0E3QkYsR0E2QkUsbUJBQVMsT0FBVCxFQUF5QjtFQUN2QixXQUFPLEtBQUEsSUFBQSxDQUFQLE9BQU8sQ0FBUDtFQUNELEdBL0JIOztFQUFBLFVBaUNFLFNBakNGLEdBaUNFLG1CQUFTLE9BQVQsRUFBUyxLQUFULEVBQXdDO0VBQ3RDLFNBQUEsSUFBQSxDQUFBLE9BQUEsSUFBQSxLQUFBO0VBQ0QsR0FuQ0g7O0VBQUEsVUFxQ0UsTUFyQ0YsR0FxQ0Usa0JBQU07RUFDSjtFQUNBLFNBQUEsV0FBQSxDQUFBLElBQUEsQ0FBc0IsS0FBdEIsTUFBQTtFQUNBLFdBQU8sS0FBQSxXQUFBLENBQUEsTUFBQSxHQUFQLENBQUE7RUFDRCxHQXpDSDs7RUFBQSxVQTJDRSxZQTNDRixHQTJDRSxzQkFBWSxNQUFaLEVBQTJCO0FBQ3pCLEVBTUQsR0FsREg7O0VBQUEsVUFvREUsSUFwREYsR0FvREUsZ0JBQUk7RUFDRixXQUFPLEtBQVAsTUFBQTtFQXJEaUIsR0FBckI7RUF5REU7RUFDQTtFQTFERjs7RUFBQSxVQTJERSxPQTNERixHQTJERSxpQkFBTyxNQUFQLEVBQXNCO0VBQ3BCLFdBQU8sS0FBQSxXQUFBLENBQVAsTUFBTyxDQUFQO0VBQ0QsR0E3REg7O0VBQUEsVUErREUsTUEvREYsR0ErREUsZ0JBQU0sTUFBTixFQUFxQjtFQUNuQixXQUFPLE9BQU0sQ0FBQyxLQUFELFdBQUEsQUFBQSxDQUFiO0VBQ0QsR0FqRUg7O0VBQUEsVUFtRUUsSUFuRUYsR0FtRUUsY0FBSSxNQUFKLEVBQW1CO0VBQ2pCLFNBQUEsV0FBQSxDQUFBLE1BQUEsSUFBd0I7RUFBQTtFQUF4QjtFQUNEO0VBRUQ7Ozs7Ozs7RUF2RUY7O0VBQUEsVUE4RUUsT0E5RUYsR0E4RUUsbUJBQU87RUFDTCxRQUFJLGFBQWEsR0FBakIsQ0FBQTtFQURLLFFBRUQsV0FGQyxHQUVMLElBRkssQ0FFRCxXQUZDO0VBQUEsUUFFRCxXQUZDLEdBRUwsSUFGSyxDQUVELFdBRkM7RUFBQSxRQUUyQixJQUYzQixHQUVMLElBRkssQ0FFMkIsSUFGM0I7O0VBSUwsU0FBSyxJQUFJLENBQUMsR0FBVixDQUFBLEVBQWdCLENBQUMsR0FBakIsTUFBQSxFQUE0QixDQUE1QixFQUFBLEVBQWlDO0VBQy9CLFVBQUksTUFBTSxHQUFHLFdBQVcsQ0FBeEIsQ0FBd0IsQ0FBeEI7RUFDQSxVQUFJLElBQUksR0FBRyxXQUFXLENBQUMsQ0FBQyxHQUFiLENBQVcsQ0FBWCxHQUFYLE1BQUE7RUFDQSxVQUFJLEtBQUssR0FBRyxXQUFXLENBQXZCLENBQXVCLENBQXZCOztFQUVBLFVBQUksS0FBSyxLQUFBO0VBQUE7RUFBVCxRQUFxQztFQUNuQztFQURGLFNBQUEsTUFFTyxJQUFJLEtBQUssS0FBQTtFQUFBO0VBQVQsUUFBb0M7RUFDekM7RUFDQTtFQUNBO0VBQ0EsVUFBQSxXQUFXLENBQVgsQ0FBVyxDQUFYLEdBQWM7RUFBQTtFQUFkO0VBQ0EsVUFBQSxhQUFhLElBQWIsSUFBQTtFQUxLLFNBQUEsTUFNQSxJQUFJLEtBQUssS0FBQTtFQUFBO0VBQVQsUUFBd0M7RUFDN0MsZUFBSyxJQUFJLENBQUMsR0FBVixNQUFBLEVBQXFCLENBQUMsSUFBSSxDQUFDLEdBQTNCLElBQUEsRUFBb0MsQ0FBcEMsRUFBQSxFQUF5QztFQUN2QyxZQUFBLElBQUksQ0FBQyxDQUFDLEdBQU4sYUFBSSxDQUFKLEdBQTBCLElBQUksQ0FBOUIsQ0FBOEIsQ0FBOUI7RUFDRDs7RUFFRCxVQUFBLFdBQVcsQ0FBWCxDQUFXLENBQVgsR0FBaUIsTUFBTSxHQUF2QixhQUFBO0VBTEssU0FBQSxNQU1BLElBQUksS0FBSyxLQUFBO0VBQUE7RUFBVCxRQUFzQztFQUMzQyxVQUFBLFdBQVcsQ0FBWCxDQUFXLENBQVgsR0FBaUIsTUFBTSxHQUF2QixhQUFBO0VBQ0Q7RUFDRjs7RUFFRCxTQUFBLE1BQUEsR0FBYyxLQUFBLE1BQUEsR0FBZCxhQUFBO0VBQ0QsR0EzR0g7O0VBQUEsVUE2R0UsT0E3R0YsR0E2R0UsaUJBQVEsTUFBUixFQUE0QjtFQUFBLFFBQXBCLE1BQW9CO0VBQXBCLE1BQUEsTUFBb0IsR0FBWCxLQUFWLE1BQXFCO0VBQUE7O0VBQzFCO0VBQ0EsUUFBSSxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUQsSUFBQSxFQUFBLENBQUEsRUFBTCxNQUFLLENBQUwsQ0FBYixNQUFBO0VBQ0EsV0FBTztFQUNMLE1BQUEsTUFBTSxFQUFFLEtBREgsTUFBQTtFQUVMLE1BQUEsS0FBSyxFQUFFLEtBRkYsV0FBQTtFQUdMLE1BQUEsTUFBTSxFQUFFO0VBSEgsS0FBUDtFQUtELEdBckhIOztFQUFBO0VBQUE7QUF3SEEsTUFBTSxrQkFBTjtFQUtFLDhCQUFBLFNBQUEsRUFBQSxJQUFBLEVBRTBCO0VBRGpCLFNBQUEsU0FBQSxHQUFBLFNBQUE7RUFDQSxTQUFBLElBQUEsR0FBQSxJQUFBO0VBRVAsU0FBQSxPQUFBLEdBQWUsSUFBQSxhQUFBLENBQWtCLEtBQWpDLElBQWUsQ0FBZjtFQUNEOztFQVZIOztFQUFBLFVBWUUsTUFaRixHQVlFLGdCQUFNLE1BQU4sRUFBcUI7RUFDbkIsU0FBQSxPQUFBLENBQUEsTUFBQSxHQUFBLE1BQUE7RUFDQSxXQUFPLEtBQVAsT0FBQTtFQUNELEdBZkg7O0VBQUE7RUFBQTs7RUFrQkEsU0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLEtBQUEsRUFBQSxHQUFBLEVBQTBEO0VBQ3hELE1BQUksR0FBRyxDQUFILEtBQUEsS0FBSixTQUFBLEVBQTZCO0VBQzNCLFdBQU8sR0FBRyxDQUFILEtBQUEsQ0FBQSxLQUFBLEVBQVAsR0FBTyxDQUFQO0VBQ0Q7O0VBRUQsTUFBSSxHQUFHLEdBQUcsSUFBQSxVQUFBLENBQVYsR0FBVSxDQUFWOztFQUVBLFNBQU8sS0FBSyxHQUFaLEdBQUEsRUFBb0IsS0FBcEIsRUFBQSxFQUE2QjtFQUMzQixJQUFBLEdBQUcsQ0FBSCxLQUFHLENBQUgsR0FBYSxHQUFHLENBQWhCLEtBQWdCLENBQWhCO0VBQ0Q7O0VBRUQsU0FBQSxHQUFBO0VBQ0Q7O0VBRUQsU0FBQSxPQUFBLENBQUEsS0FBQSxFQUFBLE1BQUEsRUFBK0M7RUFDN0MsRUFFTztFQUNMLFdBQU8sQ0FBUCxDQUFBO0VBQ0Q7RUFDRjs7RUN0T0ssU0FBQSxTQUFBLEdBQW1CO0VBQ3ZCLFNBQU87RUFDTCxJQUFBLFNBQVMsRUFBRSxJQUROLGFBQ00sRUFETjtFQUVMLElBQUEsSUFBSSxFQUFFLElBQUEsUUFBQTtFQUZELEdBQVA7RUFJRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7In0=

@@ -15,4 +15,2 @@ "use strict";

const DEFAULT_TEMPLATE = {
// random uuid
id: '1b32f5c2-7623-43d6-a0ad-9672898920a1',
moduleName: '__default__.hbs',

@@ -24,2 +22,2 @@ block: JSON.stringify(DEFAULT_TEMPLATE_BLOCK),

exports.DEFAULT_TEMPLATE = DEFAULT_TEMPLATE;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUE7OztBQUdBLE1BQU0sc0JBQXNCLEdBQTRCLENBQ3RELENBQUMsQ0FBQTtBQUFBO0FBQUEsRUFBQSxDQUFBLEVBRHFELElBQ3JELENBQUQsQ0FEc0QsRUFFdEQsQ0FGc0QsVUFFdEQsQ0FGc0QsRUFBQSxLQUFBLEVBQXhELEVBQXdELENBQXhEO0FBT08sTUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0Q7QUFDQSxFQUFBLEVBQUUsRUFGNkQsc0NBQUE7QUFHL0QsRUFBQSxVQUFVLEVBSHFELGlCQUFBO0FBSS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBSixTQUFBLENBSndELHNCQUl4RCxDQUp3RDtBQUsvRCxFQUFBLEtBQUssRUFMMEQsSUFBQTtBQU0vRCxFQUFBLFlBQVksRUFBRTtBQU5pRCxDQUExRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrLFxuICBTZXJpYWxpemVkVGVtcGxhdGVXaXRoTGF6eUJsb2NrLFxuICBTZXhwT3Bjb2Rlcyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRGVmYXVsdCBjb21wb25lbnQgdGVtcGxhdGUsIHdoaWNoIGlzIGEgcGxhaW4geWllbGRcbiAqL1xuY29uc3QgREVGQVVMVF9URU1QTEFURV9CTE9DSzogU2VyaWFsaXplZFRlbXBsYXRlQmxvY2sgPSBbXG4gIFtbU2V4cE9wY29kZXMuWWllbGQsIDEsIG51bGxdXSxcbiAgWycmZGVmYXVsdCddLFxuICBmYWxzZSxcbiAgW10sXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9URU1QTEFURTogU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayA9IHtcbiAgLy8gcmFuZG9tIHV1aWRcbiAgaWQ6ICcxYjMyZjVjMi03NjIzLTQzZDYtYTBhZC05NjcyODk4OTIwYTEnLFxuICBtb2R1bGVOYW1lOiAnX19kZWZhdWx0X18uaGJzJyxcbiAgYmxvY2s6IEpTT04uc3RyaW5naWZ5KERFRkFVTFRfVEVNUExBVEVfQkxPQ0spLFxuICBzY29wZTogbnVsbCxcbiAgaXNTdHJpY3RNb2RlOiB0cnVlLFxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUE7OztBQUdBLE1BQU0sc0JBQXNCLEdBQTRCLENBQ3RELENBQUMsQ0FBQTtBQUFBO0FBQUEsRUFBQSxDQUFBLEVBRHFELElBQ3JELENBQUQsQ0FEc0QsRUFFdEQsQ0FGc0QsVUFFdEQsQ0FGc0QsRUFBQSxLQUFBLEVBQXhELEVBQXdELENBQXhEO0FBT08sTUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0QsRUFBQSxVQUFVLEVBRHFELGlCQUFBO0FBRS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBSixTQUFBLENBRndELHNCQUV4RCxDQUZ3RDtBQUcvRCxFQUFBLEtBQUssRUFIMEQsSUFBQTtBQUkvRCxFQUFBLFlBQVksRUFBRTtBQUppRCxDQUExRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrLFxuICBTZXJpYWxpemVkVGVtcGxhdGVXaXRoTGF6eUJsb2NrLFxuICBTZXhwT3Bjb2Rlcyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRGVmYXVsdCBjb21wb25lbnQgdGVtcGxhdGUsIHdoaWNoIGlzIGEgcGxhaW4geWllbGRcbiAqL1xuY29uc3QgREVGQVVMVF9URU1QTEFURV9CTE9DSzogU2VyaWFsaXplZFRlbXBsYXRlQmxvY2sgPSBbXG4gIFtbU2V4cE9wY29kZXMuWWllbGQsIDEsIG51bGxdXSxcbiAgWycmZGVmYXVsdCddLFxuICBmYWxzZSxcbiAgW10sXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9URU1QTEFURTogU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayA9IHtcbiAgbW9kdWxlTmFtZTogJ19fZGVmYXVsdF9fLmhicycsXG4gIGJsb2NrOiBKU09OLnN0cmluZ2lmeShERUZBVUxUX1RFTVBMQVRFX0JMT0NLKSxcbiAgc2NvcGU6IG51bGwsXG4gIGlzU3RyaWN0TW9kZTogdHJ1ZSxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -15,4 +15,2 @@ "use strict";

var DEFAULT_TEMPLATE = {
// random uuid
id: '1b32f5c2-7623-43d6-a0ad-9672898920a1',
moduleName: '__default__.hbs',

@@ -24,2 +22,2 @@ block: JSON.stringify(DEFAULT_TEMPLATE_BLOCK),

exports.DEFAULT_TEMPLATE = DEFAULT_TEMPLATE;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUE7OztBQUdBLElBQU0sc0JBQXNCLEdBQTRCLENBQ3RELENBQUMsQ0FBQTtBQUFBO0FBQUEsRUFBQSxDQUFBLEVBRHFELElBQ3JELENBQUQsQ0FEc0QsRUFFdEQsQ0FGc0QsVUFFdEQsQ0FGc0QsRUFBQSxLQUFBLEVBQXhELEVBQXdELENBQXhEO0FBT08sSUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0Q7QUFDQSxFQUFBLEVBQUUsRUFGNkQsc0NBQUE7QUFHL0QsRUFBQSxVQUFVLEVBSHFELGlCQUFBO0FBSS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBSixTQUFBLENBSndELHNCQUl4RCxDQUp3RDtBQUsvRCxFQUFBLEtBQUssRUFMMEQsSUFBQTtBQU0vRCxFQUFBLFlBQVksRUFBRTtBQU5pRCxDQUExRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrLFxuICBTZXJpYWxpemVkVGVtcGxhdGVXaXRoTGF6eUJsb2NrLFxuICBTZXhwT3Bjb2Rlcyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRGVmYXVsdCBjb21wb25lbnQgdGVtcGxhdGUsIHdoaWNoIGlzIGEgcGxhaW4geWllbGRcbiAqL1xuY29uc3QgREVGQVVMVF9URU1QTEFURV9CTE9DSzogU2VyaWFsaXplZFRlbXBsYXRlQmxvY2sgPSBbXG4gIFtbU2V4cE9wY29kZXMuWWllbGQsIDEsIG51bGxdXSxcbiAgWycmZGVmYXVsdCddLFxuICBmYWxzZSxcbiAgW10sXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9URU1QTEFURTogU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayA9IHtcbiAgLy8gcmFuZG9tIHV1aWRcbiAgaWQ6ICcxYjMyZjVjMi03NjIzLTQzZDYtYTBhZC05NjcyODk4OTIwYTEnLFxuICBtb2R1bGVOYW1lOiAnX19kZWZhdWx0X18uaGJzJyxcbiAgYmxvY2s6IEpTT04uc3RyaW5naWZ5KERFRkFVTFRfVEVNUExBVEVfQkxPQ0spLFxuICBzY29wZTogbnVsbCxcbiAgaXNTdHJpY3RNb2RlOiB0cnVlLFxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUE7OztBQUdBLElBQU0sc0JBQXNCLEdBQTRCLENBQ3RELENBQUMsQ0FBQTtBQUFBO0FBQUEsRUFBQSxDQUFBLEVBRHFELElBQ3JELENBQUQsQ0FEc0QsRUFFdEQsQ0FGc0QsVUFFdEQsQ0FGc0QsRUFBQSxLQUFBLEVBQXhELEVBQXdELENBQXhEO0FBT08sSUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0QsRUFBQSxVQUFVLEVBRHFELGlCQUFBO0FBRS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBSixTQUFBLENBRndELHNCQUV4RCxDQUZ3RDtBQUcvRCxFQUFBLEtBQUssRUFIMEQsSUFBQTtBQUkvRCxFQUFBLFlBQVksRUFBRTtBQUppRCxDQUExRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrLFxuICBTZXJpYWxpemVkVGVtcGxhdGVXaXRoTGF6eUJsb2NrLFxuICBTZXhwT3Bjb2Rlcyxcbn0gZnJvbSAnQGdsaW1tZXIvaW50ZXJmYWNlcyc7XG5cbi8qKlxuICogRGVmYXVsdCBjb21wb25lbnQgdGVtcGxhdGUsIHdoaWNoIGlzIGEgcGxhaW4geWllbGRcbiAqL1xuY29uc3QgREVGQVVMVF9URU1QTEFURV9CTE9DSzogU2VyaWFsaXplZFRlbXBsYXRlQmxvY2sgPSBbXG4gIFtbU2V4cE9wY29kZXMuWWllbGQsIDEsIG51bGxdXSxcbiAgWycmZGVmYXVsdCddLFxuICBmYWxzZSxcbiAgW10sXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9URU1QTEFURTogU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayA9IHtcbiAgbW9kdWxlTmFtZTogJ19fZGVmYXVsdF9fLmhicycsXG4gIGJsb2NrOiBKU09OLnN0cmluZ2lmeShERUZBVUxUX1RFTVBMQVRFX0JMT0NLKSxcbiAgc2NvcGU6IG51bGwsXG4gIGlzU3RyaWN0TW9kZTogdHJ1ZSxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9

@@ -8,4 +8,2 @@ /**

export const DEFAULT_TEMPLATE = {
// random uuid
id: '1b32f5c2-7623-43d6-a0ad-9672898920a1',
moduleName: '__default__.hbs',

@@ -16,2 +14,2 @@ block: JSON.stringify(DEFAULT_TEMPLATE_BLOCK),

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7O0FBR0EsTUFBTSxzQkFBc0IsR0FBNEIsQ0FDdEQsQ0FBQyxDQUFBO0FBQUE7QUFBQSxFQUFvQixDQUFwQixFQUF1QixJQUF2QixDQUFELENBRHNELEVBRXRELENBQUMsVUFBRCxDQUZzRCxFQUd0RCxLQUhzRCxFQUl0RCxFQUpzRCxDQUF4RDtBQU9BLE9BQU8sTUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0Q7QUFDQSxFQUFBLEVBQUUsRUFBRSxzQ0FGMkQ7QUFHL0QsRUFBQSxVQUFVLEVBQUUsaUJBSG1EO0FBSS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFMLENBQWUsc0JBQWYsQ0FKd0Q7QUFLL0QsRUFBQSxLQUFLLEVBQUUsSUFMd0Q7QUFNL0QsRUFBQSxZQUFZLEVBQUU7QUFOaUQsQ0FBMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIC8vIHJhbmRvbSB1dWlkXG4gIGlkOiAnMWIzMmY1YzItNzYyMy00M2Q2LWEwYWQtOTY3Mjg5ODkyMGExJyxcbiAgbW9kdWxlTmFtZTogJ19fZGVmYXVsdF9fLmhicycsXG4gIGJsb2NrOiBKU09OLnN0cmluZ2lmeShERUZBVUxUX1RFTVBMQVRFX0JMT0NLKSxcbiAgc2NvcGU6IG51bGwsXG4gIGlzU3RyaWN0TW9kZTogdHJ1ZSxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7O0FBR0EsTUFBTSxzQkFBc0IsR0FBNEIsQ0FDdEQsQ0FBQyxDQUFBO0FBQUE7QUFBQSxFQUFvQixDQUFwQixFQUF1QixJQUF2QixDQUFELENBRHNELEVBRXRELENBQUMsVUFBRCxDQUZzRCxFQUd0RCxLQUhzRCxFQUl0RCxFQUpzRCxDQUF4RDtBQU9BLE9BQU8sTUFBTSxnQkFBZ0IsR0FBb0M7QUFDL0QsRUFBQSxVQUFVLEVBQUUsaUJBRG1EO0FBRS9ELEVBQUEsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFMLENBQWUsc0JBQWYsQ0FGd0Q7QUFHL0QsRUFBQSxLQUFLLEVBQUUsSUFId0Q7QUFJL0QsRUFBQSxZQUFZLEVBQUU7QUFKaUQsQ0FBMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIG1vZHVsZU5hbWU6ICdfX2RlZmF1bHRfXy5oYnMnLFxuICBibG9jazogSlNPTi5zdHJpbmdpZnkoREVGQVVMVF9URU1QTEFURV9CTE9DSyksXG4gIHNjb3BlOiBudWxsLFxuICBpc1N0cmljdE1vZGU6IHRydWUsXG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==

@@ -8,4 +8,2 @@ /**

export var DEFAULT_TEMPLATE = {
// random uuid
id: '1b32f5c2-7623-43d6-a0ad-9672898920a1',
moduleName: '__default__.hbs',

@@ -16,2 +14,2 @@ block: JSON.stringify(DEFAULT_TEMPLATE_BLOCK),

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7O0FBR0EsSUFBTSxzQkFBc0IsR0FBNEIsQ0FDdEQsQ0FBQyxDQUFBO0FBQUE7QUFBQSxFQUFBLENBQUEsRUFEcUQsSUFDckQsQ0FBRCxDQURzRCxFQUV0RCxDQUZzRCxVQUV0RCxDQUZzRCxFQUFBLEtBQUEsRUFBeEQsRUFBd0QsQ0FBeEQ7QUFPQSxPQUFPLElBQU0sZ0JBQWdCLEdBQW9DO0FBQy9EO0FBQ0EsRUFBQSxFQUFFLEVBRjZELHNDQUFBO0FBRy9ELEVBQUEsVUFBVSxFQUhxRCxpQkFBQTtBQUkvRCxFQUFBLEtBQUssRUFBRSxJQUFJLENBQUosU0FBQSxDQUp3RCxzQkFJeEQsQ0FKd0Q7QUFLL0QsRUFBQSxLQUFLLEVBTDBELElBQUE7QUFNL0QsRUFBQSxZQUFZLEVBQUU7QUFOaUQsQ0FBMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIC8vIHJhbmRvbSB1dWlkXG4gIGlkOiAnMWIzMmY1YzItNzYyMy00M2Q2LWEwYWQtOTY3Mjg5ODkyMGExJyxcbiAgbW9kdWxlTmFtZTogJ19fZGVmYXVsdF9fLmhicycsXG4gIGJsb2NrOiBKU09OLnN0cmluZ2lmeShERUZBVUxUX1RFTVBMQVRFX0JMT0NLKSxcbiAgc2NvcGU6IG51bGwsXG4gIGlzU3RyaWN0TW9kZTogdHJ1ZSxcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BnbGltbWVyL3Byb2dyYW0vbGliL3V0aWwvZGVmYXVsdC10ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7O0FBR0EsSUFBTSxzQkFBc0IsR0FBNEIsQ0FDdEQsQ0FBQyxDQUFBO0FBQUE7QUFBQSxFQUFBLENBQUEsRUFEcUQsSUFDckQsQ0FBRCxDQURzRCxFQUV0RCxDQUZzRCxVQUV0RCxDQUZzRCxFQUFBLEtBQUEsRUFBeEQsRUFBd0QsQ0FBeEQ7QUFPQSxPQUFPLElBQU0sZ0JBQWdCLEdBQW9DO0FBQy9ELEVBQUEsVUFBVSxFQURxRCxpQkFBQTtBQUUvRCxFQUFBLEtBQUssRUFBRSxJQUFJLENBQUosU0FBQSxDQUZ3RCxzQkFFeEQsQ0FGd0Q7QUFHL0QsRUFBQSxLQUFLLEVBSDBELElBQUE7QUFJL0QsRUFBQSxZQUFZLEVBQUU7QUFKaUQsQ0FBMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZXJpYWxpemVkVGVtcGxhdGVCbG9jayxcbiAgU2VyaWFsaXplZFRlbXBsYXRlV2l0aExhenlCbG9jayxcbiAgU2V4cE9wY29kZXMsXG59IGZyb20gJ0BnbGltbWVyL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgY29tcG9uZW50IHRlbXBsYXRlLCB3aGljaCBpcyBhIHBsYWluIHlpZWxkXG4gKi9cbmNvbnN0IERFRkFVTFRfVEVNUExBVEVfQkxPQ0s6IFNlcmlhbGl6ZWRUZW1wbGF0ZUJsb2NrID0gW1xuICBbW1NleHBPcGNvZGVzLllpZWxkLCAxLCBudWxsXV0sXG4gIFsnJmRlZmF1bHQnXSxcbiAgZmFsc2UsXG4gIFtdLFxuXTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVNUExBVEU6IFNlcmlhbGl6ZWRUZW1wbGF0ZVdpdGhMYXp5QmxvY2sgPSB7XG4gIG1vZHVsZU5hbWU6ICdfX2RlZmF1bHRfXy5oYnMnLFxuICBibG9jazogSlNPTi5zdHJpbmdpZnkoREVGQVVMVF9URU1QTEFURV9CTE9DSyksXG4gIHNjb3BlOiBudWxsLFxuICBpc1N0cmljdE1vZGU6IHRydWUsXG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==
{
"name": "@glimmer/program",
"version": "0.74.2",
"version": "0.75.0",
"repository": "https://github.com/glimmerjs/glimmer-vm/tree/master/packages/@glimmer/program",
"dependencies": {
"@glimmer/env": "0.1.7",
"@glimmer/util": "0.74.2",
"@glimmer/opcode-compiler": "0.74.2",
"@glimmer/manager": "0.74.2",
"@glimmer/interfaces": "0.74.2",
"@glimmer/encoder": "0.74.2"
"@glimmer/util": "0.75.0",
"@glimmer/opcode-compiler": "0.75.0",
"@glimmer/manager": "0.75.0",
"@glimmer/interfaces": "0.75.0",
"@glimmer/encoder": "0.75.0"
},
"devDependencies": {
"@glimmer/local-debug-flags": "0.74.2"
"@glimmer/local-debug-flags": "0.75.0"
},

@@ -16,0 +16,0 @@ "main": "dist/commonjs/es2017/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet