Socket
Socket
Sign inDemoInstall

@glimmer/di

Package Overview
Dependencies
Maintainers
10
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@glimmer/di - npm Package Compare versions

Comparing version 0.1.8 to 0.1.9

dist/amd/es5/dict.js

6

Brocfile.js

@@ -8,8 +8,2 @@ "use strict";

if (process.env.BROCCOLI_ENV === 'tests') {
buildOptions.vendorTrees = [
buildVendorPackage('@glimmer/util', { external: ['babel-helpers'] }),
];
}
module.exports = build(buildOptions);

40

dist/amd/es5/container.js

@@ -1,2 +0,2 @@

define('@glimmer/di/container', ['exports', 'babel-helpers', '@glimmer/util'], function (exports, _babelHelpers, _util) {
define('@glimmer/di/container', ['exports', 'babel-helpers'], function (exports, _babelHelpers) {
'use strict';

@@ -17,20 +17,20 @@

this._resolver = resolver;
this._lookups = (0, _util.dict)();
this._factoryLookups = (0, _util.dict)();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
Container.prototype.factoryFor = function factoryFor(specifier) {
var factory = this._factoryLookups[specifier];
if (!factory) {
var factoryDefinition = this._factoryDefinitionLookups[specifier];
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
};

@@ -48,6 +48,5 @@

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
var injections = this.buildInjections(specifier);
var object = factory.create(injections);
var object = factory.create();
if (singleton && object) {

@@ -74,2 +73,13 @@ this._lookups[specifier] = object;

Container.prototype.buildFactory = function buildFactory(specifier, factoryDefinition) {
var injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create: function (options) {
var mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
};
};
return Container;

@@ -80,2 +90,2 @@ }();

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztnQ0FXRTsyQkFBWSxBQUF3QjtnQkFBRSwrRUFBcUIsQUFBSTs7b0RBQzdELEFBQUk7O2lCQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUMsQUFDMUIsQUFBSTtpQkFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDLEFBQzFCLEFBQUk7aUJBQUMsQUFBUSxXQUFHLEFBQUksQUFBTyxBQUFDLEFBQzVCLEFBQUk7aUJBQUMsQUFBZSxrQkFBRyxBQUFJLEFBQU8sQUFBQyxBQUNyQyxBQUFDOzs7NEJBRUQsQUFBVSxpQ0FBQyxBQUFpQixXQUMxQjtnQkFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFFOUMsQUFBRSxBQUFDO2dCQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNiLEFBQUUsQUFBQztvQkFBQyxBQUFJLEtBQUMsQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUNuQixBQUFPOzhCQUFHLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLEFBQy9DLEFBQUM7QUFFRCxBQUFFLEFBQUM7b0JBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDLEFBQ2IsQUFBTzs4QkFBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVksYUFBQyxBQUFTLEFBQUMsQUFBQyxBQUNuRCxBQUFDO0FBRUQsQUFBRSxBQUFDO29CQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWixBQUFJO3lCQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDLEFBQzVDLEFBQUMsQUFDSDtBQUFDO0FBRUQsQUFBTTttQkFBQyxBQUFPLEFBQUMsQUFDakIsQUFBQzs7OzRCQUVELEFBQU0seUJBQUMsQUFBaUIsV0FDdEI7Z0JBQUksQUFBUyxBQUFHLFlBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFnQixpQkFBQyxBQUFTLFdBQUUsQUFBVyxBQUFDLGlCQUFLLEFBQUssQUFBQyxBQUFDLEFBRXBGLEFBQUUsQUFBQztnQkFBQyxBQUFTLGFBQUksQUFBSSxLQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxZQUFDLEFBQUMsQUFDMUMsQUFBTTt1QkFBQyxBQUFJLEtBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2xDLEFBQUM7QUFFRDtnQkFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN6QyxBQUFFLEFBQUM7Z0JBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDLEFBQUMsQUFBTSxBQUFDLEFBQUM7QUFBQztBQUV6QixBQUFFLEFBQUM7Z0JBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFnQixpQkFBQyxBQUFTLFdBQUUsQUFBYSxBQUFDLG1CQUFLLEFBQUssQUFBQyxPQUFDLEFBQUMsQUFDeEUsQUFBTTt1QkFBQyxBQUFPLEFBQUMsQUFDakIsQUFBQztBQUVEO2dCQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVqRDtnQkFBSSxBQUFNLFNBQUcsQUFBTyxRQUFDLEFBQU0sT0FBQyxBQUFVLEFBQUMsQUFBQyxBQUV4QyxBQUFFLEFBQUM7Z0JBQUMsQUFBUyxhQUFJLEFBQU0sQUFBQyxRQUFDLEFBQUMsQUFDeEIsQUFBSTtxQkFBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTSxBQUFDLEFBQ3BDLEFBQUM7QUFFRCxBQUFNO21CQUFDLEFBQU0sQUFBQyxBQUNoQixBQUFDOzs7NEJBRUQsQUFBaUIsK0NBQUMsQUFBaUIsV0FDakMsQUFBTTttQkFBQyxBQUFFLEFBQUMsQUFDWixBQUFDOzs7NEJBRUQsQUFBZSwyQ0FBQyxBQUFpQixXQUMvQjtnQkFBSSxBQUFJLE9BQUcsQUFBSSxLQUFDLEFBQWlCLGtCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQzdDO2dCQUFJLEFBQVUsYUFBZ0IsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFvQixxQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3RTtnQkFBSSxBQUFvQixBQUFDLGlCQUV6QixBQUFHLEFBQUM7aUJBQUMsSUFBSSxBQUFDLElBQUcsQUFBQyxHQUFFLEFBQUMsSUFBRyxBQUFVLFdBQUMsQUFBTSxRQUFFLEFBQUMsQUFBRSxLQUFFLEFBQUMsQUFDM0MsQUFBUzs0QkFBRyxBQUFVLFdBQUMsQUFBQyxBQUFDLEFBQUMsQUFDMUIsQUFBSTtxQkFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFlBQUcsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFTLFVBQUMsQUFBTSxBQUFDLEFBQUMsQUFDM0QsQUFBQztBQUVELEFBQU07bUJBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5TG9va3VwczogRGljdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fZmFjdG9yeUxvb2t1cHMgPSBkaWN0PGFueT4oKTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeUxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgZmFjdG9yeSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB0aGlzLl9mYWN0b3J5TG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICB9XG5cbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0aW9ucyk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztnQ0FXRTsyQkFBWSxBQUF3QjtnQkFBRSwrRUFBcUIsQUFBSTs7b0RBQzdELEFBQUk7O2lCQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUMsQUFDMUIsQUFBSTtpQkFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDLEFBQzFCLEFBQUk7aUJBQUMsQUFBUSxXQUFHLEFBQUUsQUFBQyxBQUNuQixBQUFJO2lCQUFDLEFBQXlCLDRCQUFHLEFBQUUsQUFBQyxBQUN0QyxBQUFDOzs7NEJBRUQsQUFBVSxpQ0FBQyxBQUFpQixXQUMxQjtnQkFBSSxBQUFpQixvQkFBMkIsQUFBSSxLQUFDLEFBQXlCLDBCQUFDLEFBQVMsQUFBQyxBQUFDLEFBRTFGLEFBQUUsQUFBQztnQkFBQyxDQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQyxBQUN2QixBQUFFLEFBQUM7b0JBQUMsQUFBSSxLQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDbkIsQUFBaUI7d0NBQUcsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDekQsQUFBQztBQUVELEFBQUUsQUFBQztvQkFBQyxDQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQyxBQUN2QixBQUFpQjt3Q0FBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVksYUFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3RCxBQUFDO0FBRUQsQUFBRSxBQUFDO29CQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQyxBQUN0QixBQUFJO3lCQUFDLEFBQXlCLDBCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQWlCLEFBQUMsQUFDaEUsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO21CQUFDLEFBQUksS0FBQyxBQUFZLGFBQUMsQUFBUyxXQUFFLEFBQWlCLEFBQUMsQUFBQyxBQUN6RCxBQUFDOzs7NEJBRUQsQUFBTSx5QkFBQyxBQUFpQixXQUN0QjtnQkFBSSxBQUFTLEFBQUcsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFXLEFBQUMsaUJBQUssQUFBSyxBQUFDLEFBQUMsQUFFcEYsQUFBRSxBQUFDO2dCQUFDLEFBQVMsYUFBSSxBQUFJLEtBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLFlBQUMsQUFBQyxBQUMxQyxBQUFNO3VCQUFDLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDbEMsQUFBQztBQUVEO2dCQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBVSxXQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3pDLEFBQUUsQUFBQztnQkFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRXpCLEFBQUUsQUFBQztnQkFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFhLEFBQUMsbUJBQUssQUFBSyxBQUFDLE9BQUMsQUFBQyxBQUN4RSxBQUFNO3VCQUFDLEFBQU8sUUFBQyxBQUFLLEFBQUMsQUFDdkIsQUFBQztBQUVEO2dCQUFJLEFBQU0sU0FBRyxBQUFPLFFBQUMsQUFBTSxBQUFFLEFBQUMsQUFFOUIsQUFBRSxBQUFDO2dCQUFDLEFBQVMsYUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFDLEFBQ3hCLEFBQUk7cUJBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU0sQUFBQyxBQUNwQyxBQUFDO0FBRUQsQUFBTTttQkFBQyxBQUFNLEFBQUMsQUFDaEIsQUFBQzs7OzRCQUVPLEFBQWlCLCtDQUFDLEFBQWlCLFdBQ3pDLEFBQU07bUJBQUMsQUFBRSxBQUFDLEFBQ1osQUFBQzs7OzRCQUVPLEFBQWUsMkNBQUMsQUFBaUIsV0FDdkM7Z0JBQUksQUFBSSxPQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3QztnQkFBSSxBQUFVLGFBQWdCLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBb0IscUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFDN0U7Z0JBQUksQUFBb0IsQUFBQyxpQkFFekIsQUFBRyxBQUFDO2lCQUFDLElBQUksQUFBQyxJQUFHLEFBQUMsR0FBRSxBQUFDLElBQUcsQUFBVSxXQUFDLEFBQU0sUUFBRSxBQUFDLEFBQUUsS0FBRSxBQUFDLEFBQzNDLEFBQVM7NEJBQUcsQUFBVSxXQUFDLEFBQUMsQUFBQyxBQUFDLEFBQzFCLEFBQUk7cUJBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxZQUFHLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBUyxVQUFDLEFBQU0sQUFBQyxBQUFDLEFBQzNELEFBQUM7QUFFRCxBQUFNO21CQUFDLEFBQUksQUFBQyxBQUNkLEFBQUM7Ozs0QkFFTyxBQUFZLHFDQUFDLEFBQWlCLFdBQUUsQUFBeUMsbUJBQy9FO2dCQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVqRCxBQUFNOzt1QkFDRyxBQUFpQixBQUN4QixBQUFNO2tDQUFDLEFBQU8sU0FDWjt3QkFBSSxBQUFhLGdCQUFHLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBRSxJQUFFLEFBQVUsWUFBRSxBQUFPLEFBQUMsQUFBQyxBQUUzRCxBQUFNOzJCQUFDLEFBQWlCLGtCQUFDLEFBQU0sT0FBQyxBQUFhLEFBQUMsQUFBQyxBQUNqRCxBQUFDLEFBQ0YsQUFDSDtBQVJTLEFBUVIsQUFDRjtBQVJLLEFBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWN0b3J5LCBGYWN0b3J5RGVmaW5pdGlvbiB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgRGljdCB9IGZyb20gJy4vZGljdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRhaW5lciB7XG4gIHByaXZhdGUgX3JlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlcjtcbiAgcHJpdmF0ZSBfcmVzb2x2ZXI6IFJlc29sdmVyO1xuICBwcml2YXRlIF9sb29rdXBzOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX2ZhY3RvcnlEZWZpbml0aW9uTG9va3VwczogRGljdDxGYWN0b3J5RGVmaW5pdGlvbjxhbnk+PjtcblxuICBjb25zdHJ1Y3RvcihyZWdpc3RyeTogUmVnaXN0cnlSZWFkZXIsIHJlc29sdmVyOiBSZXNvbHZlciA9IG51bGwpIHtcbiAgICB0aGlzLl9yZWdpc3RyeSA9IHJlZ2lzdHJ5O1xuICAgIHRoaXMuX3Jlc29sdmVyID0gcmVzb2x2ZXI7XG4gICAgdGhpcy5fbG9va3VwcyA9IHt9O1xuICAgIHRoaXMuX2ZhY3RvcnlEZWZpbml0aW9uTG9va3VwcyA9IHt9O1xuICB9XG5cbiAgZmFjdG9yeUZvcihzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3Rvcnk8YW55PiB7XG4gICAgbGV0IGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+ID0gdGhpcy5fZmFjdG9yeURlZmluaXRpb25Mb29rdXBzW3NwZWNpZmllcl07XG5cbiAgICBpZiAoIWZhY3RvcnlEZWZpbml0aW9uKSB7XG4gICAgICBpZiAodGhpcy5fcmVzb2x2ZXIpIHtcbiAgICAgICAgZmFjdG9yeURlZmluaXRpb24gPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnlEZWZpbml0aW9uKSB7XG4gICAgICAgIGZhY3RvcnlEZWZpbml0aW9uID0gdGhpcy5fcmVnaXN0cnkucmVnaXN0cmF0aW9uKHNwZWNpZmllcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgICB0aGlzLl9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHNbc3BlY2lmaWVyXSA9IGZhY3RvcnlEZWZpbml0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJ1aWxkRmFjdG9yeShzcGVjaWZpZXIsIGZhY3RvcnlEZWZpbml0aW9uKTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeS5jbGFzcztcbiAgICB9XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoKTtcblxuICAgIGlmIChzaW5nbGV0b24gJiYgb2JqZWN0KSB7XG4gICAgICB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl0gPSBvYmplY3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBPYmplY3Qge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZhY3Rvcnkoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+KTogRmFjdG9yeTxhbnk+IHtcbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2xhc3M6IGZhY3RvcnlEZWZpbml0aW9uLFxuICAgICAgY3JlYXRlKG9wdGlvbnMpIHtcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBpbmplY3Rpb25zLCBvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gZmFjdG9yeURlZmluaXRpb24uY3JlYXRlKG1lcmdlZE9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
define("@glimmer/di/factory", [], function () {
"use strict";
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjcmVhdGUoaW5qZWN0aW9ucz86IE9iamVjdCk6IFQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlEZWZpbml0aW9uPFQ+IHtcbiAgY3JlYXRlKGluamVjdGlvbnM/OiBPYmplY3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjbGFzczogRmFjdG9yeURlZmluaXRpb248VD47XG4gIGNyZWF0ZShpbmplY3Rpb25zPzogT2JqZWN0KTogVDtcbn1cbiJdfQ==

@@ -68,2 +68,2 @@ define('@glimmer/di/index', ['exports', '@glimmer/di/container', '@glimmer/di/registry', '@glimmer/di/owner', '@glimmer/di/specifier'], function (exports, _container, _registry, _owner, _specifier) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O2dEQUFTLEFBQU8sQUFBSSxBQUFTLEFBQUUsQUFBTSxBQUFhLEFBQUMsQUFFbkQsQUFBTzs7Ozs7OytDQUlMLEFBQU8sQUFBSSxBQUFRLEFBR3BCLEFBQU0sQUFBWSxBQUFDLEFBRXBCLEFBQU87Ozs7OztvQkFBUyxBQUFROzs7Ozs7b0JBQUUsQUFBUTs7Ozs7O29CQUFFLEFBQUssQUFBRSxBQUFNLEFBQVMsQUFBQyxBQUMzRCxBQUFPOzs7Ozs7d0JBRUwsQUFBeUI7Ozs7Ozt3QkFDekIsQUFBeUI7Ozs7Ozt3QkFDekIsQUFBa0I7Ozs7Ozt3QkFDbEIsQUFBb0IsQUFDckIsQUFBTSxBQUFhLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIENvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyJztcbmV4cG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuZXhwb3J0IHsgXG4gIFJlZ2lzdHJ5UmVhZGVyLFxuICBSZWdpc3RyeVdyaXRlcixcbiAgUmVnaXN0cnlBY2Nlc3NvcixcbiAgZGVmYXVsdCBhcyBSZWdpc3RyeSwgXG4gIEluamVjdGlvbiwgXG4gIFJlZ2lzdHJhdGlvbk9wdGlvbnMgXG59IGZyb20gJy4vcmVnaXN0cnknO1xuZXhwb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmV4cG9ydCB7IE93bmVyLCBnZXRPd25lciwgc2V0T3duZXIsIE9XTkVSIH0gZnJvbSAnLi9vd25lcic7XG5leHBvcnQge1xuICBTcGVjaWZpZXIsXG4gIGlzU3BlY2lmaWVyU3RyaW5nQWJzb2x1dGUsXG4gIGlzU3BlY2lmaWVyT2JqZWN0QWJzb2x1dGUsXG4gIHNlcmlhbGl6ZVNwZWNpZmllcixcbiAgZGVzZXJpYWxpemVTcGVjaWZpZXJcbn0gZnJvbSAnLi9zcGVjaWZpZXInO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O2dEQUFTLEFBQU8sQUFBSSxBQUFTLEFBQUUsQUFBTSxBQUFhLEFBQUMsQUFHbkQsQUFBTzs7Ozs7OytDQUlMLEFBQU8sQUFBSSxBQUFRLEFBR3BCLEFBQU0sQUFBWSxBQUFDLEFBRXBCLEFBQU87Ozs7OztvQkFBUyxBQUFROzs7Ozs7b0JBQUUsQUFBUTs7Ozs7O29CQUFFLEFBQUssQUFBRSxBQUFNLEFBQVMsQUFBQyxBQUMzRCxBQUFPOzs7Ozs7d0JBRUwsQUFBeUI7Ozs7Ozt3QkFDekIsQUFBeUI7Ozs7Ozt3QkFDekIsQUFBa0I7Ozs7Ozt3QkFDbEIsQUFBb0IsQUFDckIsQUFBTSxBQUFhLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIENvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZhY3RvcnknO1xuZXhwb3J0IHsgXG4gIFJlZ2lzdHJ5UmVhZGVyLFxuICBSZWdpc3RyeVdyaXRlcixcbiAgUmVnaXN0cnlBY2Nlc3NvcixcbiAgZGVmYXVsdCBhcyBSZWdpc3RyeSwgXG4gIEluamVjdGlvbiwgXG4gIFJlZ2lzdHJhdGlvbk9wdGlvbnMgXG59IGZyb20gJy4vcmVnaXN0cnknO1xuZXhwb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmV4cG9ydCB7IE93bmVyLCBnZXRPd25lciwgc2V0T3duZXIsIE9XTkVSIH0gZnJvbSAnLi9vd25lcic7XG5leHBvcnQge1xuICBTcGVjaWZpZXIsXG4gIGlzU3BlY2lmaWVyU3RyaW5nQWJzb2x1dGUsXG4gIGlzU3BlY2lmaWVyT2JqZWN0QWJzb2x1dGUsXG4gIHNlcmlhbGl6ZVNwZWNpZmllcixcbiAgZGVzZXJpYWxpemVTcGVjaWZpZXJcbn0gZnJvbSAnLi9zcGVjaWZpZXInO1xuIl19

@@ -18,2 +18,2 @@ define('@glimmer/di/owner', ['exports'], function (exports) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxBQUFvQixBQUNwQixBQUFNO0FBQUMsUUFBTSxBQUFLLHdCQUFHLEFBQVcsQUFBQyxBQUVqQyxBQUFNO3NCQUFtQixBQUFjLFFBQ3JDLEFBQU07ZUFBQyxBQUFNLE9BQUMsQUFBSyxBQUFDLEFBQUMsQUFDdkIsQUFBQztBQUVELEFBQU07c0JBQW1CLEFBQWMsUUFBRSxBQUFZLE9BQ25ELEFBQU07ZUFBQyxBQUFLLEFBQUMsU0FBRyxBQUFLLEFBQUMsQUFDeEIsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuXG4vLyBUT0RPIC0gdXNlIHN5bWJvbFxuZXhwb3J0IGNvbnN0IE9XTkVSID0gJ19fb3duZXJfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPd25lcihvYmplY3Q6IE9iamVjdCk6IE93bmVyIHtcbiAgcmV0dXJuIG9iamVjdFtPV05FUl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPd25lcihvYmplY3Q6IE9iamVjdCwgb3duZXI6IE93bmVyKTogdm9pZCB7XG4gIG9iamVjdFtPV05FUl0gPSBvd25lcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPd25lciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICBmYWN0b3J5Rm9yKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IEZhY3Rvcnk8YW55PjtcbiAgXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxBQUFvQixBQUNwQixBQUFNO0FBQUMsUUFBTSxBQUFLLHdCQUFHLEFBQVcsQUFBQyxBQUVqQyxBQUFNO3NCQUFtQixBQUFjLFFBQ3JDLEFBQU07ZUFBQyxBQUFNLE9BQUMsQUFBSyxBQUFDLEFBQUMsQUFDdkIsQUFBQztBQUVELEFBQU07c0JBQW1CLEFBQWMsUUFBRSxBQUFZLE9BQ25ELEFBQU07ZUFBQyxBQUFLLEFBQUMsU0FBRyxBQUFLLEFBQUMsQUFDeEIsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuXG4vLyBUT0RPIC0gdXNlIHN5bWJvbFxuZXhwb3J0IGNvbnN0IE9XTkVSID0gJ19fb3duZXJfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPd25lcihvYmplY3Q6IE9iamVjdCk6IE93bmVyIHtcbiAgcmV0dXJuIG9iamVjdFtPV05FUl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPd25lcihvYmplY3Q6IE9iamVjdCwgb3duZXI6IE93bmVyKTogdm9pZCB7XG4gIG9iamVjdFtPV05FUl0gPSBvd25lcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPd25lciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICBmYWN0b3J5Rm9yKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IEZhY3Rvcnk8YW55PjtcbiAgXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=

@@ -1,2 +0,2 @@

define('@glimmer/di/registry', ['exports', 'babel-helpers', '@glimmer/util'], function (exports, _babelHelpers, _util) {
define('@glimmer/di/registry', ['exports', 'babel-helpers'], function (exports, _babelHelpers) {
'use strict';

@@ -13,9 +13,9 @@

this._registrations = (0, _util.dict)();
this._registeredOptions = (0, _util.dict)();
this._registeredInjections = (0, _util.dict)();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
Registry.prototype.register = function register(specifier, factory, options) {
this._registrations[specifier] = factory;
Registry.prototype.register = function register(specifier, factoryDefinition, options) {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -96,2 +96,2 @@ this._registeredOptions[specifier] = options;

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7K0JBbUNFOztvREFDRSxBQUFJOztpQkFBQyxBQUFjLGlCQUFHLEFBQUksQUFBTyxBQUFDLEFBQ2xDLEFBQUk7aUJBQUMsQUFBa0IscUJBQUcsQUFBSSxBQUFPLEFBQUMsQUFDdEMsQUFBSTtpQkFBQyxBQUFxQix3QkFBRyxBQUFJLEFBQWUsQUFBQyxBQUNuRCxBQUFDOzs7MkJBRUQsQUFBUSw2QkFBQyxBQUFpQixXQUFFLEFBQVksU0FBRSxBQUE2QixTQUNyRSxBQUFJO2lCQUFDLEFBQWMsZUFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDekMsQUFBRSxBQUFDO2dCQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWixBQUFJO3FCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQyxBQUFDLEFBQ0g7QUFBQzs7OzJCQUVELEFBQVkscUNBQUMsQUFBaUIsV0FDNUIsQUFBTTttQkFBQyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hDLEFBQUM7OzsyQkFFRCxBQUFVLGlDQUFDLEFBQWlCLFdBQzFCO21CQUFPLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDdEM7bUJBQU8sQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDLEFBQzFDO21CQUFPLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUMvQyxBQUFDOzs7MkJBRUQsQUFBYyx5Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFBRSxBQUFVLE9BQzFEO2dCQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBRSxBQUFDO2dCQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNiLEFBQU87MEJBQUcsQUFBRSxBQUFDLEFBQ2IsQUFBSTtxQkFBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDL0MsQUFBQztBQUVELEFBQU87b0JBQUMsQUFBTSxBQUFDLFVBQUcsQUFBSyxBQUFDLEFBQzFCLEFBQUM7OzsyQkFFRCxBQUFnQiw2Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFDaEQ7Z0JBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVoRCxBQUFFLEFBQUM7Z0JBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNaLEFBQU07dUJBQUMsQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCLEFBQUMsQUFDSDtBQUFDOzs7MkJBRUQsQUFBaUIsK0NBQUMsQUFBaUIsV0FDakM7Z0JBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUNqRCxBQUFFLEFBQUM7Z0JBQUMsQUFBTyxZQUFLLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDMUIsQUFBSTt1Q0FBUyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO29CQUE3QixBQUFJLEFBQUMsd0JBQ1YsQUFBTzs7MEJBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQUksQUFBQyxBQUFDLEFBQzFDLEFBQUM7QUFDRCxBQUFNO21CQUFDLEFBQU8sQUFBQyxBQUNqQixBQUFDOzs7MkJBRUQsQUFBZ0IsNkNBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQ2hEO2dCQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBRSxBQUFDO2dCQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWjt1QkFBTyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekIsQUFBQyxBQUNIO0FBQUM7OzsyQkFFRCxBQUFpQiwrQ0FBQyxBQUFpQixXQUFFLEFBQWdCLFVBQUUsQUFBYyxRQUNuRTtnQkFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3ZELEFBQUUsQUFBQztnQkFBQyxBQUFVLGVBQUssQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUM3QixBQUFJO3FCQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQVUsYUFBRyxBQUFFLEFBQUMsQUFDMUQsQUFBQztBQUNELEFBQVU7dUJBQUMsQUFBSTswQkFFYixBQUFNLEFBQ1AsQUFBQyxBQUFDLEFBQ0w7d0JBSmtCLEFBSWpCO0FBSEcsQUFBUTs7OzJCQUtaLEFBQW9CLHFEQUFDLEFBQWlCLFdBQ3BDLEFBQUk7b0NBQVMsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztnQkFBN0IsQUFBSSxBQUFDLHlCQUNWOztnQkFBSSxBQUFVLGFBQWdCLEFBQUUsQUFBQyxBQUNqQyxBQUFLO2tCQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN6RSxBQUFLO2tCQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFBQyxBQUM5RSxBQUFNO21CQUFDLEFBQVUsQUFBQyxBQUNwQixBQUFDLEFBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkaWN0LCBEaWN0IH0gZnJvbSAnQGdsaW1tZXIvdXRpbCc7XG5pbXBvcnQgeyBGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYXRpb25PcHRpb25zIHtcbiAgc2luZ2xldG9uPzogYm9vbGVhbjtcbiAgaW5zdGFudGlhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGlvbiB7XG4gIHByb3BlcnR5OiBzdHJpbmcsXG4gIHNvdXJjZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlXcml0ZXIge1xuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICB1bnJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQ7XG4gIHJlZ2lzdGVySW5qZWN0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlSZWFkZXIge1xuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUFjY2Vzc29yIGV4dGVuZHMgUmVnaXN0cnlSZWFkZXIsIFJlZ2lzdHJ5V3JpdGVyIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlZ2lzdHJ5IGltcGxlbWVudHMgUmVnaXN0cnlBY2Nlc3NvciB7XG4gIHByaXZhdGUgX3JlZ2lzdHJhdGlvbnM6IERpY3Q8RmFjdG9yeTxhbnk+PjtcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZE9wdGlvbnM6IERpY3Q8YW55PjtcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZEluamVjdGlvbnM6IERpY3Q8SW5qZWN0aW9uW10+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnMgPSBkaWN0PGFueT4oKTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9ucyA9IGRpY3Q8YW55PigpO1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zID0gZGljdDxJbmplY3Rpb25bXT4oKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5OiBhbnksIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXSA9IG9wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgdW5yZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gIH1cblxuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cblxuICAgIG9wdGlvbnNbb3B0aW9uXSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5yZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXIpO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgICBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbdHlwZV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgZGVsZXRlIG9wdGlvbnNbb3B0aW9uXTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKGluamVjdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXSA9IGluamVjdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgaW5qZWN0aW9ucy5wdXNoKHtcbiAgICAgIHByb3BlcnR5LFxuICAgICAgc291cmNlXG4gICAgfSk7XG4gIH1cblxuICByZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IEluamVjdGlvbltdIHtcbiAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgbGV0IGluamVjdGlvbnM6IEluamVjdGlvbltdID0gW107XG4gICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaW5qZWN0aW9ucywgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbdHlwZV0pO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0pO1xuICAgIHJldHVybiBpbmplY3Rpb25zO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7K0JBbUNFOztvREFDRSxBQUFJOztpQkFBQyxBQUFjLGlCQUFHLEFBQUUsQUFBQyxBQUN6QixBQUFJO2lCQUFDLEFBQWtCLHFCQUFHLEFBQUUsQUFBQyxBQUM3QixBQUFJO2lCQUFDLEFBQXFCLHdCQUFHLEFBQUUsQUFBQyxBQUNsQyxBQUFDOzs7MkJBRUQsQUFBUSw2QkFBQyxBQUFpQixXQUFFLEFBQXlDLG1CQUFFLEFBQTZCLFNBQ2xHLEFBQUk7aUJBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxhQUFHLEFBQWlCLEFBQUMsQUFDbkQsQUFBRSxBQUFDO2dCQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWixBQUFJO3FCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQyxBQUFDLEFBQ0g7QUFBQzs7OzJCQUVELEFBQVkscUNBQUMsQUFBaUIsV0FDNUIsQUFBTTttQkFBQyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hDLEFBQUM7OzsyQkFFRCxBQUFVLGlDQUFDLEFBQWlCLFdBQzFCO21CQUFPLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDdEM7bUJBQU8sQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDLEFBQzFDO21CQUFPLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUMvQyxBQUFDOzs7MkJBRUQsQUFBYyx5Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFBRSxBQUFVLE9BQzFEO2dCQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBRSxBQUFDO2dCQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNiLEFBQU87MEJBQUcsQUFBRSxBQUFDLEFBQ2IsQUFBSTtxQkFBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDL0MsQUFBQztBQUVELEFBQU87b0JBQUMsQUFBTSxBQUFDLFVBQUcsQUFBSyxBQUFDLEFBQzFCLEFBQUM7OzsyQkFFRCxBQUFnQiw2Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFDaEQ7Z0JBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVoRCxBQUFFLEFBQUM7Z0JBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNaLEFBQU07dUJBQUMsQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCLEFBQUMsQUFDSDtBQUFDOzs7MkJBRUQsQUFBaUIsK0NBQUMsQUFBaUIsV0FDakM7Z0JBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUNqRCxBQUFFLEFBQUM7Z0JBQUMsQUFBTyxZQUFLLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDMUIsQUFBSTt1Q0FBUyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO29CQUE3QixBQUFJLEFBQUMsd0JBQ1YsQUFBTzs7MEJBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQUksQUFBQyxBQUFDLEFBQzFDLEFBQUM7QUFDRCxBQUFNO21CQUFDLEFBQU8sQUFBQyxBQUNqQixBQUFDOzs7MkJBRUQsQUFBZ0IsNkNBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQ2hEO2dCQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBRSxBQUFDO2dCQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWjt1QkFBTyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekIsQUFBQyxBQUNIO0FBQUM7OzsyQkFFRCxBQUFpQiwrQ0FBQyxBQUFpQixXQUFFLEFBQWdCLFVBQUUsQUFBYyxRQUNuRTtnQkFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3ZELEFBQUUsQUFBQztnQkFBQyxBQUFVLGVBQUssQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUM3QixBQUFJO3FCQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQVUsYUFBRyxBQUFFLEFBQUMsQUFDMUQsQUFBQztBQUNELEFBQVU7dUJBQUMsQUFBSTswQkFFYixBQUFNLEFBQ1AsQUFBQyxBQUFDLEFBQ0w7d0JBSmtCLEFBSWpCO0FBSEcsQUFBUTs7OzJCQUtaLEFBQW9CLHFEQUFDLEFBQWlCLFdBQ3BDLEFBQUk7b0NBQVMsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztnQkFBN0IsQUFBSSxBQUFDLHlCQUNWOztnQkFBSSxBQUFVLGFBQWdCLEFBQUUsQUFBQyxBQUNqQyxBQUFLO2tCQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN6RSxBQUFLO2tCQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFBQyxBQUM5RSxBQUFNO21CQUFDLEFBQVUsQUFBQyxBQUNwQixBQUFDLEFBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0IH0gZnJvbSAnLi9kaWN0JztcbmltcG9ydCB7IEZhY3RvcnksIEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYXRpb25PcHRpb25zIHtcbiAgc2luZ2xldG9uPzogYm9vbGVhbjtcbiAgaW5zdGFudGlhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGlvbiB7XG4gIHByb3BlcnR5OiBzdHJpbmcsXG4gIHNvdXJjZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlXcml0ZXIge1xuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICB1bnJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQ7XG4gIHJlZ2lzdGVySW5qZWN0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlSZWFkZXIge1xuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUFjY2Vzc29yIGV4dGVuZHMgUmVnaXN0cnlSZWFkZXIsIFJlZ2lzdHJ5V3JpdGVyIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlZ2lzdHJ5IGltcGxlbWVudHMgUmVnaXN0cnlBY2Nlc3NvciB7XG4gIHByaXZhdGUgX3JlZ2lzdHJhdGlvbnM6IERpY3Q8RmFjdG9yeURlZmluaXRpb248YW55Pj47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRPcHRpb25zOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRJbmplY3Rpb25zOiBEaWN0PEluamVjdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zID0ge307XG4gICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnMgPSB7fTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9ucyA9IHt9O1xuICB9XG5cbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXSA9IGZhY3RvcnlEZWZpbml0aW9uO1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG4gIH1cblxuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgdW5yZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gIH1cblxuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cblxuICAgIG9wdGlvbnNbb3B0aW9uXSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5yZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXIpO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgICBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbdHlwZV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgZGVsZXRlIG9wdGlvbnNbb3B0aW9uXTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKGluamVjdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXSA9IGluamVjdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgaW5qZWN0aW9ucy5wdXNoKHtcbiAgICAgIHByb3BlcnR5LFxuICAgICAgc291cmNlXG4gICAgfSk7XG4gIH1cblxuICByZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IEluamVjdGlvbltdIHtcbiAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgbGV0IGluamVjdGlvbnM6IEluamVjdGlvbltdID0gW107XG4gICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaW5qZWN0aW9ucywgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbdHlwZV0pO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0pO1xuICAgIHJldHVybiBpbmplY3Rpb25zO1xuICB9XG59XG4iXX0=
define("@glimmer/di/resolver", [], function () {
"use strict";
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXIge1xuICBpZGVudGlmeShzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgcmV0cmlldmUoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICByZXRyaWV2ZShzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT47XG59XG4iXX0=

@@ -81,2 +81,2 @@ define('@glimmer/di/specifier', ['exports'], function (exports) {

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozt1Q0FRMEMsQUFBaUIsV0FDekQsQUFBSTsrQkFBZSxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO1lBQW5DLEFBQUk7WUFBRSxBQUFJLEFBQUMsd0JBQ2hCLEFBQU07O2VBQUMsQ0FBQyxBQUFDLEVBQUMsQUFBSSxRQUFJLEFBQUksUUFBSSxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsS0FBSSxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxLQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsQUFBQyxBQUNuRixBQUFDO0FBRUQsQUFBTTt1Q0FBb0MsQUFBb0IsV0FDNUQsQUFBTTtlQUFDLEFBQVMsVUFBQyxBQUFRLGFBQUssQUFBUyxhQUNoQyxBQUFTLFVBQUMsQUFBVSxlQUFLLEFBQVMsYUFDbEMsQUFBUyxVQUFDLEFBQUksU0FBSyxBQUFTLGFBQzVCLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxBQUFDLEFBQ3RDLEFBQUM7QUFFRCxBQUFNO2dDQUE2QixBQUFvQixXQUNyRDtZQUFJLEFBQUksT0FBRyxBQUFTLFVBQUMsQUFBSSxBQUFDLEFBQzFCO1lBQUksQUFBSSxPQUFHLEFBQXNCLHVCQUFDLEFBQVMsQUFBQyxBQUFDLEFBRTdDLEFBQUUsQUFBQztZQUFDLEFBQUksQUFBQyxNQUFDLEFBQUMsQUFDVCxBQUFNO21CQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCLEFBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQU07bUJBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO29DQUFpQyxBQUFvQixXQUN6RDtZQUFJLEFBQUksT0FBRyxBQUFFLEFBQUMsQUFDZCxBQUFFLEFBQUM7WUFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFVBQUMsQUFBQyxBQUN2QixBQUFJO2lCQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLEFBQUMsQUFDaEMsQUFBQztBQUNELEFBQUUsQUFBQztZQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsWUFBQyxBQUFDLEFBQ3pCLEFBQUk7aUJBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQyxBQUFDO0FBQ0QsQUFBRSxBQUFDO1lBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDeEIsQUFBSTtpQkFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2pDLEFBQUM7QUFDRCxBQUFFLEFBQUM7WUFBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNuQixBQUFJO2lCQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLEFBQUMsQUFDNUIsQUFBQztBQUVELEFBQUUsQUFBQztZQUFDLEFBQUksS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEdBQUMsQUFBQyxBQUNwQjtnQkFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQyxBQUM5QixBQUFFLEFBQUM7Z0JBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQ3pDLEFBQVE7MkJBQUcsQUFBRyxNQUFHLEFBQVEsQUFBQyxBQUM1QixBQUFDO0FBQ0QsQUFBTTttQkFBQyxBQUFRLEFBQUMsQUFDbEIsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO2tDQUErQixBQUFpQixXQUNwRDtZQUFJLEFBQUcsTUFBYyxBQUFFLEFBQUMsQUFFeEIsQUFBRSxBQUFDO1lBQUMsQUFBUyxVQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsT0FBRyxDQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDaEMsQUFBSTtvQ0FBZSxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO2dCQUFuQyxBQUFJO2dCQUFFLEFBQUksQUFBQyx5QkFDaEIsQUFBRzs7Z0JBQUMsQUFBSSxPQUFHLEFBQUksQUFBQyxBQUVoQjtnQkFBSSxBQUFZLEFBQUMsb0JBRWpCLEFBQUUsQUFBQztnQkFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBWTsrQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFHO29CQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUMsQUFDcEMsQUFBRztvQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDLEFBQUMsQUFBQyxBQUFJO21CQUFDLEFBQUMsQUFDTixBQUFZOytCQUFHLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUMsQUFDakMsQUFBQztBQUVELEFBQUUsQUFBQztnQkFBQyxBQUFZLGFBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBRztvQkFBQyxBQUFJLE9BQUcsQUFBWSxhQUFDLEFBQUcsQUFBRSxBQUFDLEFBRTlCLEFBQUUsQUFBQztvQkFBQyxBQUFZLGFBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBRzt3QkFBQyxBQUFTLFlBQUcsQUFBWSxhQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFDLEFBQ0g7QUFBQyxBQUVIO0FBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQUc7Z0JBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtlQUFDLEFBQUcsQUFBQyxBQUNiLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozt1Q0FRMEMsQUFBaUIsV0FDekQsQUFBSTsrQkFBZSxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO1lBQW5DLEFBQUk7WUFBRSxBQUFJLEFBQUMsd0JBQ2hCLEFBQU07O2VBQUMsQ0FBQyxBQUFDLEVBQUMsQUFBSSxRQUFJLEFBQUksUUFBSSxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsS0FBSSxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxLQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsQUFBQyxBQUNuRixBQUFDO0FBRUQsQUFBTTt1Q0FBb0MsQUFBb0IsV0FDNUQsQUFBTTtlQUFDLEFBQVMsVUFBQyxBQUFRLGFBQUssQUFBUyxhQUNoQyxBQUFTLFVBQUMsQUFBVSxlQUFLLEFBQVMsYUFDbEMsQUFBUyxVQUFDLEFBQUksU0FBSyxBQUFTLGFBQzVCLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxBQUFDLEFBQ3RDLEFBQUM7QUFFRCxBQUFNO2dDQUE2QixBQUFvQixXQUNyRDtZQUFJLEFBQUksT0FBRyxBQUFTLFVBQUMsQUFBSSxBQUFDLEFBQzFCO1lBQUksQUFBSSxPQUFHLEFBQXNCLHVCQUFDLEFBQVMsQUFBQyxBQUFDLEFBRTdDLEFBQUUsQUFBQztZQUFDLEFBQUksQUFBQyxNQUFDLEFBQUMsQUFDVCxBQUFNO21CQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCLEFBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQU07bUJBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO29DQUFpQyxBQUFvQixXQUN6RDtZQUFJLEFBQUksT0FBRyxBQUFFLEFBQUMsQUFDZCxBQUFFLEFBQUM7WUFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFVBQUMsQUFBQyxBQUN2QixBQUFJO2lCQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLEFBQUMsQUFDaEMsQUFBQztBQUNELEFBQUUsQUFBQztZQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsWUFBQyxBQUFDLEFBQ3pCLEFBQUk7aUJBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQyxBQUFDO0FBQ0QsQUFBRSxBQUFDO1lBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDeEIsQUFBSTtpQkFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2pDLEFBQUM7QUFDRCxBQUFFLEFBQUM7WUFBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNuQixBQUFJO2lCQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLEFBQUMsQUFDNUIsQUFBQztBQUVELEFBQUUsQUFBQztZQUFDLEFBQUksS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEdBQUMsQUFBQyxBQUNwQjtnQkFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQyxBQUM5QixBQUFFLEFBQUM7Z0JBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQ3pDLEFBQVE7MkJBQUcsQUFBRyxNQUFHLEFBQVEsQUFBQyxBQUM1QixBQUFDO0FBQ0QsQUFBTTttQkFBQyxBQUFRLEFBQUMsQUFDbEIsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO2tDQUErQixBQUFpQixXQUNwRDtZQUFJLEFBQUcsTUFBYyxBQUFFLEFBQUMsQUFFeEIsQUFBRSxBQUFDO1lBQUMsQUFBUyxVQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsT0FBRyxDQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDaEMsQUFBSTtvQ0FBZSxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO2dCQUFuQyxBQUFJO2dCQUFFLEFBQUksQUFBQyx5QkFDaEIsQUFBRzs7Z0JBQUMsQUFBSSxPQUFHLEFBQUksQUFBQyxBQUVoQjtnQkFBSSxBQUFZLEFBQUMsb0JBRWpCLEFBQUUsQUFBQztnQkFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBWTsrQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFHO29CQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUMsQUFDcEMsQUFBRztvQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDLEFBQUMsQUFBQyxBQUFJO21CQUFDLEFBQUMsQUFDTixBQUFZOytCQUFHLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUMsQUFDakMsQUFBQztBQUVELEFBQUUsQUFBQztnQkFBQyxBQUFZLGFBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBRztvQkFBQyxBQUFJLE9BQUcsQUFBWSxhQUFDLEFBQUcsQUFBRSxBQUFDLEFBRTlCLEFBQUUsQUFBQztvQkFBQyxBQUFZLGFBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBRzt3QkFBQyxBQUFTLFlBQUcsQUFBWSxhQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFDLEFBQ0g7QUFBQyxBQUVIO0FBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQUc7Z0JBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtlQUFDLEFBQUcsQUFBQyxBQUNiLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==

@@ -6,5 +6,2 @@ 'use strict';

});
var _util = require('@glimmer/util');
class Container {

@@ -14,19 +11,19 @@ constructor(registry, resolver = null) {

this._resolver = resolver;
this._lookups = (0, _util.dict)();
this._factoryLookups = (0, _util.dict)();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
factoryFor(specifier) {
let factory = this._factoryLookups[specifier];
if (!factory) {
let factoryDefinition = this._factoryDefinitionLookups[specifier];
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
}

@@ -43,6 +40,5 @@ lookup(specifier) {

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
let injections = this.buildInjections(specifier);
let object = factory.create(injections);
let object = factory.create();
if (singleton && object) {

@@ -66,4 +62,14 @@ this._lookups[specifier] = object;

}
buildFactory(specifier, factoryDefinition) {
let injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create(options) {
let mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
};
}
}
exports.default = Container;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxBQUFPLEFBQUUsQUFBSSxBQUFRLEFBQU0sQUFBZSxBQUFDLEFBRTNDLEFBQU0sQUFBQyxBQUFPOzs7QUFNWixnQkFBWSxBQUF3QixVQUFFLFdBQXFCLEFBQUk7QUFDN0QsQUFBSSxhQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUM7QUFDMUIsQUFBSSxhQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUM7QUFDMUIsQUFBSSxhQUFDLEFBQVEsV0FBRyxBQUFJLEFBQU8sQUFBQztBQUM1QixBQUFJLGFBQUMsQUFBZSxrQkFBRyxBQUFJLEFBQU8sQUFBQyxBQUNyQztBQUFDO0FBRUQsQUFBVSxlQUFDLEFBQWlCO0FBQzFCLFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFlLGdCQUFDLEFBQVMsQUFBQyxBQUFDO0FBRTlDLEFBQUUsQUFBQyxZQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNiLEFBQUUsQUFBQyxnQkFBQyxBQUFJLEtBQUMsQUFBUyxBQUFDLFdBQUMsQUFBQztBQUNuQixBQUFPLDBCQUFHLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLEFBQy9DO0FBQUM7QUFFRCxBQUFFLEFBQUMsZ0JBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ2IsQUFBTywwQkFBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVksYUFBQyxBQUFTLEFBQUMsQUFBQyxBQUNuRDtBQUFDO0FBRUQsQUFBRSxBQUFDLGdCQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDWixBQUFJLHFCQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDLEFBQzVDO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBTSxlQUFDLEFBQU8sQUFBQyxBQUNqQjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQWlCO0FBQ3RCLFlBQUksQUFBUyxBQUFHLFlBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFnQixpQkFBQyxBQUFTLFdBQUUsQUFBVyxBQUFDLGlCQUFLLEFBQUssQUFBQyxBQUFDO0FBRXBGLEFBQUUsQUFBQyxZQUFDLEFBQVMsYUFBSSxBQUFJLEtBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLFlBQUMsQUFBQztBQUMxQyxBQUFNLG1CQUFDLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDbEM7QUFBQztBQUVELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFVLFdBQUMsQUFBUyxBQUFDLEFBQUM7QUFDekMsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQUMsQUFBTSxBQUFDLEFBQUM7QUFBQztBQUV6QixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFhLEFBQUMsbUJBQUssQUFBSyxBQUFDLE9BQUMsQUFBQztBQUN4RSxBQUFNLG1CQUFDLEFBQU8sQUFBQyxBQUNqQjtBQUFDO0FBRUQsWUFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFFakQsWUFBSSxBQUFNLFNBQUcsQUFBTyxRQUFDLEFBQU0sT0FBQyxBQUFVLEFBQUMsQUFBQztBQUV4QyxBQUFFLEFBQUMsWUFBQyxBQUFTLGFBQUksQUFBTSxBQUFDLFFBQUMsQUFBQztBQUN4QixBQUFJLGlCQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsYUFBRyxBQUFNLEFBQUMsQUFDcEM7QUFBQztBQUVELEFBQU0sZUFBQyxBQUFNLEFBQUMsQUFDaEI7QUFBQztBQUVELEFBQWlCLHNCQUFDLEFBQWlCO0FBQ2pDLEFBQU0sZUFBQyxBQUFFLEFBQUMsQUFDWjtBQUFDO0FBRUQsQUFBZSxvQkFBQyxBQUFpQjtBQUMvQixZQUFJLEFBQUksT0FBRyxBQUFJLEtBQUMsQUFBaUIsa0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFDN0MsWUFBSSxBQUFVLGFBQWdCLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBb0IscUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFDN0UsWUFBSSxBQUFvQixBQUFDO0FBRXpCLEFBQUcsQUFBQyxhQUFDLElBQUksQUFBQyxJQUFHLEFBQUMsR0FBRSxBQUFDLElBQUcsQUFBVSxXQUFDLEFBQU0sUUFBRSxBQUFDLEFBQUUsS0FBRSxBQUFDO0FBQzNDLEFBQVMsd0JBQUcsQUFBVSxXQUFDLEFBQUMsQUFBQyxBQUFDO0FBQzFCLEFBQUksaUJBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxZQUFHLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBUyxVQUFDLEFBQU0sQUFBQyxBQUFDLEFBQzNEO0FBQUM7QUFFRCxBQUFNLGVBQUMsQUFBSSxBQUFDLEFBQ2Q7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5TG9va3VwczogRGljdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fZmFjdG9yeUxvb2t1cHMgPSBkaWN0PGFueT4oKTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeUxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgZmFjdG9yeSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB0aGlzLl9mYWN0b3J5TG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICB9XG5cbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0aW9ucyk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFXRSxnQkFBWSxBQUF3QixVQUFFLFdBQXFCLEFBQUk7QUFDN0QsQUFBSSxhQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUM7QUFDMUIsQUFBSSxhQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUM7QUFDMUIsQUFBSSxhQUFDLEFBQVEsV0FBRyxBQUFFLEFBQUM7QUFDbkIsQUFBSSxhQUFDLEFBQXlCLDRCQUFHLEFBQUUsQUFBQyxBQUN0QztBQUFDO0FBRUQsQUFBVSxlQUFDLEFBQWlCO0FBQzFCLFlBQUksQUFBaUIsb0JBQTJCLEFBQUksS0FBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsQUFBQztBQUUxRixBQUFFLEFBQUMsWUFBQyxDQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQztBQUN2QixBQUFFLEFBQUMsZ0JBQUMsQUFBSSxLQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDbkIsQUFBaUIsb0NBQUcsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDekQ7QUFBQztBQUVELEFBQUUsQUFBQyxnQkFBQyxDQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQztBQUN2QixBQUFpQixvQ0FBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVksYUFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3RDtBQUFDO0FBRUQsQUFBRSxBQUFDLGdCQUFDLEFBQWlCLEFBQUMsbUJBQUMsQUFBQztBQUN0QixBQUFJLHFCQUFDLEFBQXlCLDBCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQWlCLEFBQUMsQUFDaEU7QUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNLGVBQUMsQUFBSSxLQUFDLEFBQVksYUFBQyxBQUFTLFdBQUUsQUFBaUIsQUFBQyxBQUFDLEFBQ3pEO0FBQUM7QUFFRCxBQUFNLFdBQUMsQUFBaUI7QUFDdEIsWUFBSSxBQUFTLEFBQUcsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFXLEFBQUMsaUJBQUssQUFBSyxBQUFDLEFBQUM7QUFFcEYsQUFBRSxBQUFDLFlBQUMsQUFBUyxhQUFJLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDO0FBQzFDLEFBQU0sbUJBQUMsQUFBSSxLQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBRUQsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFTLEFBQUMsQUFBQztBQUN6QyxBQUFFLEFBQUMsWUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRXpCLEFBQUUsQUFBQyxZQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBZ0IsaUJBQUMsQUFBUyxXQUFFLEFBQWEsQUFBQyxtQkFBSyxBQUFLLEFBQUMsT0FBQyxBQUFDO0FBQ3hFLEFBQU0sbUJBQUMsQUFBTyxRQUFDLEFBQUssQUFBQyxBQUN2QjtBQUFDO0FBRUQsWUFBSSxBQUFNLFNBQUcsQUFBTyxRQUFDLEFBQU0sQUFBRSxBQUFDO0FBRTlCLEFBQUUsQUFBQyxZQUFDLEFBQVMsYUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFDO0FBQ3hCLEFBQUksaUJBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU0sQUFBQyxBQUNwQztBQUFDO0FBRUQsQUFBTSxlQUFDLEFBQU0sQUFBQyxBQUNoQjtBQUFDO0FBRU8sQUFBaUIsc0JBQUMsQUFBaUI7QUFDekMsQUFBTSxlQUFDLEFBQUUsQUFBQyxBQUNaO0FBQUM7QUFFTyxBQUFlLG9CQUFDLEFBQWlCO0FBQ3ZDLFlBQUksQUFBSSxPQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQztBQUM3QyxZQUFJLEFBQVUsYUFBZ0IsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFvQixxQkFBQyxBQUFTLEFBQUMsQUFBQztBQUM3RSxZQUFJLEFBQW9CLEFBQUM7QUFFekIsQUFBRyxBQUFDLGFBQUMsSUFBSSxBQUFDLElBQUcsQUFBQyxHQUFFLEFBQUMsSUFBRyxBQUFVLFdBQUMsQUFBTSxRQUFFLEFBQUMsQUFBRSxLQUFFLEFBQUM7QUFDM0MsQUFBUyx3QkFBRyxBQUFVLFdBQUMsQUFBQyxBQUFDLEFBQUM7QUFDMUIsQUFBSSxpQkFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFlBQUcsQUFBSSxLQUFDLEFBQU0sT0FBQyxBQUFTLFVBQUMsQUFBTSxBQUFDLEFBQUMsQUFDM0Q7QUFBQztBQUVELEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDO0FBRU8sQUFBWSxpQkFBQyxBQUFpQixXQUFFLEFBQXlDO0FBQy9FLFlBQUksQUFBVSxhQUFHLEFBQUksS0FBQyxBQUFlLGdCQUFDLEFBQVMsQUFBQyxBQUFDO0FBRWpELEFBQU07QUFDSixBQUFLLG1CQUFFLEFBQWlCO0FBQ3hCLEFBQU0sbUJBQUMsQUFBTztBQUNaLG9CQUFJLEFBQWEsZ0JBQUcsQUFBTSxPQUFDLEFBQU0sT0FBQyxBQUFFLElBQUUsQUFBVSxZQUFFLEFBQU8sQUFBQyxBQUFDO0FBRTNELEFBQU0sdUJBQUMsQUFBaUIsa0JBQUMsQUFBTSxPQUFDLEFBQWEsQUFBQyxBQUFDLEFBQ2pEO0FBQUMsQUFDRixBQUNIO0FBUlM7QUFRUixBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSwgRmFjdG9yeURlZmluaXRpb24gfSBmcm9tICcuL2ZhY3RvcnknO1xuaW1wb3J0IHsgUmVnaXN0cnlSZWFkZXIsIEluamVjdGlvbiB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmltcG9ydCB7IERpY3QgfSBmcm9tICcuL2RpY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHM6IERpY3Q8RmFjdG9yeURlZmluaXRpb248YW55Pj47XG5cbiAgY29uc3RydWN0b3IocmVnaXN0cnk6IFJlZ2lzdHJ5UmVhZGVyLCByZXNvbHZlcjogUmVzb2x2ZXIgPSBudWxsKSB7XG4gICAgdGhpcy5fcmVnaXN0cnkgPSByZWdpc3RyeTtcbiAgICB0aGlzLl9yZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuX2xvb2t1cHMgPSB7fTtcbiAgICB0aGlzLl9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHMgPSB7fTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55PiA9IHRoaXMuX2ZhY3RvcnlEZWZpbml0aW9uTG9va3Vwc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnlEZWZpbml0aW9uID0gdGhpcy5fcmVzb2x2ZXIucmV0cmlldmUoc3BlY2lmaWVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgICBmYWN0b3J5RGVmaW5pdGlvbiA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeURlZmluaXRpb24pIHtcbiAgICAgICAgdGhpcy5fZmFjdG9yeURlZmluaXRpb25Mb29rdXBzW3NwZWNpZmllcl0gPSBmYWN0b3J5RGVmaW5pdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5idWlsZEZhY3Rvcnkoc3BlY2lmaWVyLCBmYWN0b3J5RGVmaW5pdGlvbik7XG4gIH1cblxuICBsb29rdXAoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBzaW5nbGV0b24gPSAodGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXIsICdzaW5nbGV0b24nKSAhPT0gZmFsc2UpO1xuXG4gICAgaWYgKHNpbmdsZXRvbiAmJiB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl0pIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl07XG4gICAgfVxuXG4gICAgbGV0IGZhY3RvcnkgPSB0aGlzLmZhY3RvcnlGb3Ioc3BlY2lmaWVyKTtcbiAgICBpZiAoIWZhY3RvcnkpIHsgcmV0dXJuOyB9XG5cbiAgICBpZiAodGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXIsICdpbnN0YW50aWF0ZScpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGZhY3RvcnkuY2xhc3M7XG4gICAgfVxuXG4gICAgbGV0IG9iamVjdCA9IGZhY3RvcnkuY3JlYXRlKCk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmRlZmF1bHRJbmplY3Rpb25zKHNwZWNpZmllcik7XG4gICAgbGV0IGluamVjdGlvbnM6IEluamVjdGlvbltdID0gdGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uOiBJbmplY3Rpb247XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluamVjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGluamVjdGlvbiA9IGluamVjdGlvbnNbaV07XG4gICAgICBoYXNoW2luamVjdGlvbi5wcm9wZXJ0eV0gPSB0aGlzLmxvb2t1cChpbmplY3Rpb24uc291cmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFzaDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGYWN0b3J5KHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55Pik6IEZhY3Rvcnk8YW55PiB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLmJ1aWxkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsYXNzOiBmYWN0b3J5RGVmaW5pdGlvbixcbiAgICAgIGNyZWF0ZShvcHRpb25zKSB7XG4gICAgICAgIGxldCBtZXJnZWRPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgaW5qZWN0aW9ucywgb3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIGZhY3RvcnlEZWZpbml0aW9uLmNyZWF0ZShtZXJnZWRPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
"use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjcmVhdGUoaW5qZWN0aW9ucz86IE9iamVjdCk6IFQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlEZWZpbml0aW9uPFQ+IHtcbiAgY3JlYXRlKGluamVjdGlvbnM/OiBPYmplY3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjbGFzczogRmFjdG9yeURlZmluaXRpb248VD47XG4gIGNyZWF0ZShpbmplY3Rpb25zPzogT2JqZWN0KTogVDtcbn1cbiJdfQ==

@@ -74,2 +74,2 @@ 'use strict';

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OENBQVMsQUFBTyxBQUFJLEFBQVMsQUFBRSxBQUFNLEFBQWEsQUFBQyxBQUVuRCxBQUFPOzs7Ozs7Ozs7NkNBSUwsQUFBTyxBQUFJLEFBQVEsQUFHcEIsQUFBTSxBQUFZLEFBQUMsQUFFcEIsQUFBTzs7Ozs7Ozs7O2tCQUFTLEFBQVE7Ozs7OztrQkFBRSxBQUFROzs7Ozs7a0JBQUUsQUFBSyxBQUFFLEFBQU0sQUFBUyxBQUFDLEFBQzNELEFBQU87Ozs7Ozs7OztzQkFFTCxBQUF5Qjs7Ozs7O3NCQUN6QixBQUF5Qjs7Ozs7O3NCQUN6QixBQUFrQjs7Ozs7O3NCQUNsQixBQUFvQixBQUNyQixBQUFNLEFBQWEsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGFpbmVyIH0gZnJvbSAnLi9jb250YWluZXInO1xuZXhwb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5leHBvcnQgeyBcbiAgUmVnaXN0cnlSZWFkZXIsXG4gIFJlZ2lzdHJ5V3JpdGVyLFxuICBSZWdpc3RyeUFjY2Vzc29yLFxuICBkZWZhdWx0IGFzIFJlZ2lzdHJ5LCBcbiAgSW5qZWN0aW9uLCBcbiAgUmVnaXN0cmF0aW9uT3B0aW9ucyBcbn0gZnJvbSAnLi9yZWdpc3RyeSc7XG5leHBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuZXhwb3J0IHsgT3duZXIsIGdldE93bmVyLCBzZXRPd25lciwgT1dORVIgfSBmcm9tICcuL293bmVyJztcbmV4cG9ydCB7XG4gIFNwZWNpZmllcixcbiAgaXNTcGVjaWZpZXJTdHJpbmdBYnNvbHV0ZSxcbiAgaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZSxcbiAgc2VyaWFsaXplU3BlY2lmaWVyLFxuICBkZXNlcmlhbGl6ZVNwZWNpZmllclxufSBmcm9tICcuL3NwZWNpZmllcic7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OENBQVMsQUFBTyxBQUFJLEFBQVMsQUFBRSxBQUFNLEFBQWEsQUFBQyxBQUduRCxBQUFPOzs7Ozs7Ozs7NkNBSUwsQUFBTyxBQUFJLEFBQVEsQUFHcEIsQUFBTSxBQUFZLEFBQUMsQUFFcEIsQUFBTzs7Ozs7Ozs7O2tCQUFTLEFBQVE7Ozs7OztrQkFBRSxBQUFROzs7Ozs7a0JBQUUsQUFBSyxBQUFFLEFBQU0sQUFBUyxBQUFDLEFBQzNELEFBQU87Ozs7Ozs7OztzQkFFTCxBQUF5Qjs7Ozs7O3NCQUN6QixBQUF5Qjs7Ozs7O3NCQUN6QixBQUFrQjs7Ozs7O3NCQUNsQixBQUFvQixBQUNyQixBQUFNLEFBQWEsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGFpbmVyIH0gZnJvbSAnLi9jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmFjdG9yeSc7XG5leHBvcnQgeyBcbiAgUmVnaXN0cnlSZWFkZXIsXG4gIFJlZ2lzdHJ5V3JpdGVyLFxuICBSZWdpc3RyeUFjY2Vzc29yLFxuICBkZWZhdWx0IGFzIFJlZ2lzdHJ5LCBcbiAgSW5qZWN0aW9uLCBcbiAgUmVnaXN0cmF0aW9uT3B0aW9ucyBcbn0gZnJvbSAnLi9yZWdpc3RyeSc7XG5leHBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuZXhwb3J0IHsgT3duZXIsIGdldE93bmVyLCBzZXRPd25lciwgT1dORVIgfSBmcm9tICcuL293bmVyJztcbmV4cG9ydCB7XG4gIFNwZWNpZmllcixcbiAgaXNTcGVjaWZpZXJTdHJpbmdBYnNvbHV0ZSxcbiAgaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZSxcbiAgc2VyaWFsaXplU3BlY2lmaWVyLFxuICBkZXNlcmlhbGl6ZVNwZWNpZmllclxufSBmcm9tICcuL3NwZWNpZmllcic7XG4iXX0=

@@ -16,2 +16,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLEFBQW9CLEFBQ3BCLEFBQU07QUFBQyxNQUFNLEFBQUssd0JBQUcsQUFBVyxBQUFDLEFBRWpDLEFBQU07a0JBQW1CLEFBQWM7QUFDckMsQUFBTSxXQUFDLEFBQU0sT0FBQyxBQUFLLEFBQUMsQUFBQyxBQUN2QjtBQUFDLEFBRUQsQUFBTTtrQkFBbUIsQUFBYyxRQUFFLEFBQVk7QUFDbkQsQUFBTSxXQUFDLEFBQUssQUFBQyxTQUFHLEFBQUssQUFBQyxBQUN4QjtBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVnaXN0cmF0aW9uT3B0aW9ucyB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbi8vIFRPRE8gLSB1c2Ugc3ltYm9sXG5leHBvcnQgY29uc3QgT1dORVIgPSAnX19vd25lcl9fJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93bmVyKG9iamVjdDogT2JqZWN0KTogT3duZXIge1xuICByZXR1cm4gb2JqZWN0W09XTkVSXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE93bmVyKG9iamVjdDogT2JqZWN0LCBvd25lcjogT3duZXIpOiB2b2lkIHtcbiAgb2JqZWN0W09XTkVSXSA9IG93bmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE93bmVyIHtcbiAgaWRlbnRpZnkoc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogRmFjdG9yeTxhbnk+O1xuICBcbiAgbG9va3VwKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IGFueTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLEFBQW9CLEFBQ3BCLEFBQU07QUFBQyxNQUFNLEFBQUssd0JBQUcsQUFBVyxBQUFDLEFBRWpDLEFBQU07a0JBQW1CLEFBQWM7QUFDckMsQUFBTSxXQUFDLEFBQU0sT0FBQyxBQUFLLEFBQUMsQUFBQyxBQUN2QjtBQUFDLEFBRUQsQUFBTTtrQkFBbUIsQUFBYyxRQUFFLEFBQVk7QUFDbkQsQUFBTSxXQUFDLEFBQUssQUFBQyxTQUFHLEFBQUssQUFBQyxBQUN4QjtBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVnaXN0cmF0aW9uT3B0aW9ucyB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbi8vIFRPRE8gLSB1c2Ugc3ltYm9sXG5leHBvcnQgY29uc3QgT1dORVIgPSAnX19vd25lcl9fJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93bmVyKG9iamVjdDogT2JqZWN0KTogT3duZXIge1xuICByZXR1cm4gb2JqZWN0W09XTkVSXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE93bmVyKG9iamVjdDogT2JqZWN0LCBvd25lcjogT3duZXIpOiB2b2lkIHtcbiAgb2JqZWN0W09XTkVSXSA9IG93bmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE93bmVyIHtcbiAgaWRlbnRpZnkoc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogRmFjdG9yeTxhbnk+O1xuICBcbiAgbG9va3VwKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IGFueTtcbn1cbiJdfQ==

@@ -6,13 +6,10 @@ 'use strict';

});
var _util = require('@glimmer/util');
class Registry {
constructor() {
this._registrations = (0, _util.dict)();
this._registeredOptions = (0, _util.dict)();
this._registeredInjections = (0, _util.dict)();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
register(specifier, factory, options) {
this._registrations[specifier] = factory;
register(specifier, factoryDefinition, options) {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -77,2 +74,2 @@ this._registeredOptions[specifier] = options;

exports.default = Registry;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsQUFBTyxBQUFFLEFBQUksQUFBUSxBQUFNLEFBQWUsQUFBQyxBQThCM0MsQUFBTSxBQUFDLEFBQU87OztBQUtaO0FBQ0UsQUFBSSxhQUFDLEFBQWMsaUJBQUcsQUFBSSxBQUFPLEFBQUM7QUFDbEMsQUFBSSxhQUFDLEFBQWtCLHFCQUFHLEFBQUksQUFBTyxBQUFDO0FBQ3RDLEFBQUksYUFBQyxBQUFxQix3QkFBRyxBQUFJLEFBQWUsQUFBQyxBQUNuRDtBQUFDO0FBRUQsQUFBUSxhQUFDLEFBQWlCLFdBQUUsQUFBWSxTQUFFLEFBQTZCO0FBQ3JFLEFBQUksYUFBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDO0FBQ3pDLEFBQUUsQUFBQyxZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDWixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDLEFBQ0g7QUFBQztBQUVELEFBQVksaUJBQUMsQUFBaUI7QUFDNUIsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDeEM7QUFBQztBQUVELEFBQVUsZUFBQyxBQUFpQjtBQUMxQixlQUFPLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUM7QUFDdEMsZUFBTyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFDMUMsZUFBTyxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFDL0M7QUFBQztBQUVELEFBQWMsbUJBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQUUsQUFBVTtBQUMxRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFFakQsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ2IsQUFBTyxzQkFBRyxBQUFFLEFBQUM7QUFDYixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDO0FBRUQsQUFBTyxnQkFBQyxBQUFNLEFBQUMsVUFBRyxBQUFLLEFBQUMsQUFDMUI7QUFBQztBQUVELEFBQWdCLHFCQUFDLEFBQWlCLFdBQUUsQUFBYztBQUNoRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBaUIsa0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFFaEQsQUFBRSxBQUFDLFlBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNaLEFBQU0sbUJBQUMsQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBaUIsc0JBQUMsQUFBaUI7QUFDakMsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDO0FBQ2pELEFBQUUsQUFBQyxZQUFDLEFBQU8sWUFBSyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQzFCLGdCQUFJLENBQUMsQUFBSSxBQUFDLFFBQUcsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUNsQyxBQUFPLHNCQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFJLEFBQUMsQUFBQyxBQUMxQztBQUFDO0FBQ0QsQUFBTSxlQUFDLEFBQU8sQUFBQyxBQUNqQjtBQUFDO0FBRUQsQUFBZ0IscUJBQUMsQUFBaUIsV0FBRSxBQUFjO0FBQ2hELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVqRCxBQUFFLEFBQUMsWUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ1osbUJBQU8sQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBaUIsc0JBQUMsQUFBaUIsV0FBRSxBQUFnQixVQUFFLEFBQWM7QUFDbkUsWUFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDO0FBQ3ZELEFBQUUsQUFBQyxZQUFDLEFBQVUsZUFBSyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQzdCLEFBQUksaUJBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLGFBQUcsQUFBVSxhQUFHLEFBQUUsQUFBQyxBQUMxRDtBQUFDO0FBQ0QsQUFBVSxtQkFBQyxBQUFJO0FBQ2IsQUFBUTtBQUNSLEFBQU0sQUFDUCxBQUFDLEFBQUMsQUFDTDtBQUprQjtBQUlqQjtBQUVELEFBQW9CLHlCQUFDLEFBQWlCO0FBQ3BDLFlBQUksQ0FBQyxBQUFJLEFBQUMsUUFBRyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO0FBQ2xDLFlBQUksQUFBVSxhQUFnQixBQUFFLEFBQUM7QUFDakMsQUFBSyxjQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQztBQUN6RSxBQUFLLGNBQUMsQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBVSxZQUFFLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUFDO0FBQzlFLEFBQU0sZUFBQyxBQUFVLEFBQUMsQUFDcEI7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIHNpbmdsZXRvbj86IGJvb2xlYW47XG4gIGluc3RhbnRpYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3Rpb24ge1xuICBwcm9wZXJ0eTogc3RyaW5nLFxuICBzb3VyY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5V3JpdGVyIHtcbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5UmVhZGVyIHtcbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlBY2Nlc3NvciBleHRlbmRzIFJlZ2lzdHJ5UmVhZGVyLCBSZWdpc3RyeVdyaXRlciB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdpc3RyeSBpbXBsZW1lbnRzIFJlZ2lzdHJ5QWNjZXNzb3Ige1xuICBwcml2YXRlIF9yZWdpc3RyYXRpb25zOiBEaWN0PEZhY3Rvcnk8YW55Pj47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRPcHRpb25zOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRJbmplY3Rpb25zOiBEaWN0PEluamVjdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnMgPSBkaWN0PGFueT4oKTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9ucyA9IGRpY3Q8SW5qZWN0aW9uW10+KCk7XG4gIH1cblxuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXSA9IGZhY3Rvcnk7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBvcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMucmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgICAgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3R5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChpbmplY3Rpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0gPSBpbmplY3Rpb25zID0gW107XG4gICAgfVxuICAgIGluamVjdGlvbnMucHVzaCh7XG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIHNvdXJjZVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXSB7XG4gICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IFtdO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3R5cGVdKTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdKTtcbiAgICByZXR1cm4gaW5qZWN0aW9ucztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBbUNFO0FBQ0UsQUFBSSxhQUFDLEFBQWMsaUJBQUcsQUFBRSxBQUFDO0FBQ3pCLEFBQUksYUFBQyxBQUFrQixxQkFBRyxBQUFFLEFBQUM7QUFDN0IsQUFBSSxhQUFDLEFBQXFCLHdCQUFHLEFBQUUsQUFBQyxBQUNsQztBQUFDO0FBRUQsQUFBUSxhQUFDLEFBQWlCLFdBQUUsQUFBeUMsbUJBQUUsQUFBNkI7QUFDbEcsQUFBSSxhQUFDLEFBQWMsZUFBQyxBQUFTLEFBQUMsYUFBRyxBQUFpQixBQUFDO0FBQ25ELEFBQUUsQUFBQyxZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDWixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDLEFBQ0g7QUFBQztBQUVELEFBQVksaUJBQUMsQUFBaUI7QUFDNUIsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDeEM7QUFBQztBQUVELEFBQVUsZUFBQyxBQUFpQjtBQUMxQixlQUFPLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUM7QUFDdEMsZUFBTyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFDMUMsZUFBTyxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFDL0M7QUFBQztBQUVELEFBQWMsbUJBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQUUsQUFBVTtBQUMxRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFFakQsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ2IsQUFBTyxzQkFBRyxBQUFFLEFBQUM7QUFDYixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDO0FBRUQsQUFBTyxnQkFBQyxBQUFNLEFBQUMsVUFBRyxBQUFLLEFBQUMsQUFDMUI7QUFBQztBQUVELEFBQWdCLHFCQUFDLEFBQWlCLFdBQUUsQUFBYztBQUNoRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBaUIsa0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFFaEQsQUFBRSxBQUFDLFlBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNaLEFBQU0sbUJBQUMsQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBaUIsc0JBQUMsQUFBaUI7QUFDakMsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDO0FBQ2pELEFBQUUsQUFBQyxZQUFDLEFBQU8sWUFBSyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQzFCLGdCQUFJLENBQUMsQUFBSSxBQUFDLFFBQUcsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUNsQyxBQUFPLHNCQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFJLEFBQUMsQUFBQyxBQUMxQztBQUFDO0FBQ0QsQUFBTSxlQUFDLEFBQU8sQUFBQyxBQUNqQjtBQUFDO0FBRUQsQUFBZ0IscUJBQUMsQUFBaUIsV0FBRSxBQUFjO0FBQ2hELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVqRCxBQUFFLEFBQUMsWUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ1osbUJBQU8sQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBaUIsc0JBQUMsQUFBaUIsV0FBRSxBQUFnQixVQUFFLEFBQWM7QUFDbkUsWUFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDO0FBQ3ZELEFBQUUsQUFBQyxZQUFDLEFBQVUsZUFBSyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQzdCLEFBQUksaUJBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLGFBQUcsQUFBVSxhQUFHLEFBQUUsQUFBQyxBQUMxRDtBQUFDO0FBQ0QsQUFBVSxtQkFBQyxBQUFJO0FBQ2IsQUFBUTtBQUNSLEFBQU0sQUFDUCxBQUFDLEFBQUMsQUFDTDtBQUprQjtBQUlqQjtBQUVELEFBQW9CLHlCQUFDLEFBQWlCO0FBQ3BDLFlBQUksQ0FBQyxBQUFJLEFBQUMsUUFBRyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO0FBQ2xDLFlBQUksQUFBVSxhQUFnQixBQUFFLEFBQUM7QUFDakMsQUFBSyxjQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQztBQUN6RSxBQUFLLGNBQUMsQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBVSxZQUFFLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUFDO0FBQzlFLEFBQU0sZUFBQyxBQUFVLEFBQUMsQUFDcEI7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdCB9IGZyb20gJy4vZGljdCc7XG5pbXBvcnQgeyBGYWN0b3J5LCBGYWN0b3J5RGVmaW5pdGlvbiB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIHNpbmdsZXRvbj86IGJvb2xlYW47XG4gIGluc3RhbnRpYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3Rpb24ge1xuICBwcm9wZXJ0eTogc3RyaW5nLFxuICBzb3VyY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5V3JpdGVyIHtcbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5UmVhZGVyIHtcbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlBY2Nlc3NvciBleHRlbmRzIFJlZ2lzdHJ5UmVhZGVyLCBSZWdpc3RyeVdyaXRlciB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdpc3RyeSBpbXBsZW1lbnRzIFJlZ2lzdHJ5QWNjZXNzb3Ige1xuICBwcml2YXRlIF9yZWdpc3RyYXRpb25zOiBEaWN0PEZhY3RvcnlEZWZpbml0aW9uPGFueT4+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkT3B0aW9uczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkSW5qZWN0aW9uczogRGljdDxJbmplY3Rpb25bXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcmVnaXN0cmF0aW9ucyA9IHt9O1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zID0ge307XG4gICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55Piwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl0gPSBmYWN0b3J5RGVmaW5pdGlvbjtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXSA9IG9wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogRmFjdG9yeURlZmluaXRpb248YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBvcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMucmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgICAgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3R5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChpbmplY3Rpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0gPSBpbmplY3Rpb25zID0gW107XG4gICAgfVxuICAgIGluamVjdGlvbnMucHVzaCh7XG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIHNvdXJjZVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXSB7XG4gICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IFtdO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3R5cGVdKTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdKTtcbiAgICByZXR1cm4gaW5qZWN0aW9ucztcbiAgfVxufVxuIl19
"use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXIge1xuICBpZGVudGlmeShzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgcmV0cmlldmUoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICByZXRyaWV2ZShzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT47XG59XG4iXX0=

@@ -73,2 +73,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O21DQVEwQyxBQUFpQjtBQUN6RCxRQUFJLENBQUMsQUFBSSxNQUFFLEFBQUksQUFBQyxRQUFHLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7QUFDeEMsQUFBTSxXQUFDLENBQUMsQUFBQyxFQUFDLEFBQUksUUFBSSxBQUFJLFFBQUksQUFBSSxLQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsU0FBSyxBQUFDLEtBQUksQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEFBQUMsQUFDbkY7QUFBQyxBQUVELEFBQU07bUNBQW9DLEFBQW9CO0FBQzVELEFBQU0sV0FBQyxBQUFTLFVBQUMsQUFBUSxhQUFLLEFBQVMsYUFDaEMsQUFBUyxVQUFDLEFBQVUsZUFBSyxBQUFTLGFBQ2xDLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxhQUM1QixBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsQUFBQyxBQUN0QztBQUFDLEFBRUQsQUFBTTs0QkFBNkIsQUFBb0I7QUFDckQsUUFBSSxBQUFJLE9BQUcsQUFBUyxVQUFDLEFBQUksQUFBQztBQUMxQixRQUFJLEFBQUksT0FBRyxBQUFzQix1QkFBQyxBQUFTLEFBQUMsQUFBQztBQUU3QyxBQUFFLEFBQUMsUUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ1QsQUFBTSxlQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCO0FBQUMsQUFBQyxBQUFJLFdBQUMsQUFBQztBQUNOLEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDLEFBQ0g7QUFBQyxBQUVELEFBQU07Z0NBQWlDLEFBQW9CO0FBQ3pELFFBQUksQUFBSSxPQUFHLEFBQUUsQUFBQztBQUNkLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsVUFBQyxBQUFDO0FBQ3ZCLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ2hDO0FBQUM7QUFDRCxBQUFFLEFBQUMsUUFBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLFlBQUMsQUFBQztBQUN6QixBQUFJLGFBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBQ0QsQUFBRSxBQUFDLFFBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDeEIsQUFBSSxhQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDakM7QUFBQztBQUNELEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ25CLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQUksQUFBQyxBQUFDLEFBQzVCO0FBQUM7QUFFRCxBQUFFLEFBQUMsUUFBQyxBQUFJLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDcEIsWUFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQztBQUM5QixBQUFFLEFBQUMsWUFBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsQUFBQyxZQUFDLEFBQUM7QUFDekMsQUFBUSx1QkFBRyxBQUFHLE1BQUcsQUFBUSxBQUFDLEFBQzVCO0FBQUM7QUFDRCxBQUFNLGVBQUMsQUFBUSxBQUFDLEFBQ2xCO0FBQUMsQUFDSDtBQUFDLEFBRUQsQUFBTTs4QkFBK0IsQUFBaUI7QUFDcEQsUUFBSSxBQUFHLE1BQWMsQUFBRSxBQUFDO0FBRXhCLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLE9BQUcsQ0FBQyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQ2hDLFlBQUksQ0FBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLFFBQUcsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN4QyxBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQUksQUFBQztBQUVoQixZQUFJLEFBQVksQUFBQztBQUVqQixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDNUIsQUFBWSwyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN6QyxBQUFHLGdCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUM7QUFDcEMsQUFBRyxnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDO0FBQUMsQUFBQyxBQUFJLGVBQUMsQUFBQztBQUNOLEFBQVksMkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQztBQUFDO0FBRUQsQUFBRSxBQUFDLFlBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsZ0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQztBQUU5QixBQUFFLEFBQUMsZ0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsb0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekM7QUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSSxXQUFDLEFBQUM7QUFDTixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQUcsQUFBQyxBQUNiO0FBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O21DQVEwQyxBQUFpQjtBQUN6RCxRQUFJLENBQUMsQUFBSSxNQUFFLEFBQUksQUFBQyxRQUFHLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7QUFDeEMsQUFBTSxXQUFDLENBQUMsQUFBQyxFQUFDLEFBQUksUUFBSSxBQUFJLFFBQUksQUFBSSxLQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsU0FBSyxBQUFDLEtBQUksQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEFBQUMsQUFDbkY7QUFBQyxBQUVELEFBQU07bUNBQW9DLEFBQW9CO0FBQzVELEFBQU0sV0FBQyxBQUFTLFVBQUMsQUFBUSxhQUFLLEFBQVMsYUFDaEMsQUFBUyxVQUFDLEFBQVUsZUFBSyxBQUFTLGFBQ2xDLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxhQUM1QixBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsQUFBQyxBQUN0QztBQUFDLEFBRUQsQUFBTTs0QkFBNkIsQUFBb0I7QUFDckQsUUFBSSxBQUFJLE9BQUcsQUFBUyxVQUFDLEFBQUksQUFBQztBQUMxQixRQUFJLEFBQUksT0FBRyxBQUFzQix1QkFBQyxBQUFTLEFBQUMsQUFBQztBQUU3QyxBQUFFLEFBQUMsUUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ1QsQUFBTSxlQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCO0FBQUMsQUFBQyxBQUFJLFdBQUMsQUFBQztBQUNOLEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDLEFBQ0g7QUFBQyxBQUVELEFBQU07Z0NBQWlDLEFBQW9CO0FBQ3pELFFBQUksQUFBSSxPQUFHLEFBQUUsQUFBQztBQUNkLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsVUFBQyxBQUFDO0FBQ3ZCLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ2hDO0FBQUM7QUFDRCxBQUFFLEFBQUMsUUFBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLFlBQUMsQUFBQztBQUN6QixBQUFJLGFBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBQ0QsQUFBRSxBQUFDLFFBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDeEIsQUFBSSxhQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDakM7QUFBQztBQUNELEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ25CLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQUksQUFBQyxBQUFDLEFBQzVCO0FBQUM7QUFFRCxBQUFFLEFBQUMsUUFBQyxBQUFJLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDcEIsWUFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQztBQUM5QixBQUFFLEFBQUMsWUFBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsQUFBQyxZQUFDLEFBQUM7QUFDekMsQUFBUSx1QkFBRyxBQUFHLE1BQUcsQUFBUSxBQUFDLEFBQzVCO0FBQUM7QUFDRCxBQUFNLGVBQUMsQUFBUSxBQUFDLEFBQ2xCO0FBQUMsQUFDSDtBQUFDLEFBRUQsQUFBTTs4QkFBK0IsQUFBaUI7QUFDcEQsUUFBSSxBQUFHLE1BQWMsQUFBRSxBQUFDO0FBRXhCLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLE9BQUcsQ0FBQyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQ2hDLFlBQUksQ0FBQyxBQUFJLE1BQUUsQUFBSSxBQUFDLFFBQUcsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN4QyxBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQUksQUFBQztBQUVoQixZQUFJLEFBQVksQUFBQztBQUVqQixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDNUIsQUFBWSwyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN6QyxBQUFHLGdCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUM7QUFDcEMsQUFBRyxnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDO0FBQUMsQUFBQyxBQUFJLGVBQUMsQUFBQztBQUNOLEFBQVksMkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQztBQUFDO0FBRUQsQUFBRSxBQUFDLFlBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsZ0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQztBQUU5QixBQUFFLEFBQUMsZ0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsb0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekM7QUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSSxXQUFDLEFBQUM7QUFDTixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQUcsQUFBQyxBQUNiO0FBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==

@@ -9,4 +9,2 @@ 'use strict';

var _util = require('@glimmer/util');
var Container = function () {

@@ -20,20 +18,20 @@ function Container(registry) {

this._resolver = resolver;
this._lookups = (0, _util.dict)();
this._factoryLookups = (0, _util.dict)();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
Container.prototype.factoryFor = function factoryFor(specifier) {
var factory = this._factoryLookups[specifier];
if (!factory) {
var factoryDefinition = this._factoryDefinitionLookups[specifier];
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
};

@@ -51,6 +49,5 @@

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
var injections = this.buildInjections(specifier);
var object = factory.create(injections);
var object = factory.create();
if (singleton && object) {

@@ -77,2 +74,13 @@ this._lookups[specifier] = object;

Container.prototype.buildFactory = function buildFactory(specifier, factoryDefinition) {
var injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create: function (options) {
var mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
};
};
return Container;

@@ -82,2 +90,2 @@ }();

exports.default = Container;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLEFBQU8sQUFBRSxBQUFJLEFBQVEsQUFBTSxBQUFlLEFBQUMsQUFFM0MsQUFBTSxBQUFDLEFBQU87OzRCQU1aO3VCQUFZLEFBQXdCO1lBQUUsK0VBQXFCLEFBQUk7O2dEQUM3RCxBQUFJOzthQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUMsQUFDMUIsQUFBSTthQUFDLEFBQVMsWUFBRyxBQUFRLEFBQUMsQUFDMUIsQUFBSTthQUFDLEFBQVEsV0FBRyxBQUFJLEFBQU8sQUFBQyxBQUM1QixBQUFJO2FBQUMsQUFBZSxrQkFBRyxBQUFJLEFBQU8sQUFBQyxBQUNyQyxBQUFDOzs7d0JBRUQsQUFBVSxpQ0FBQyxBQUFpQixXQUMxQjtZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUU5QyxBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDYixBQUFFLEFBQUM7Z0JBQUMsQUFBSSxLQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDbkIsQUFBTzswQkFBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUMvQyxBQUFDO0FBRUQsQUFBRSxBQUFDO2dCQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNiLEFBQU87MEJBQUcsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFZLGFBQUMsQUFBUyxBQUFDLEFBQUMsQUFDbkQsQUFBQztBQUVELEFBQUUsQUFBQztnQkFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDLEFBQ1osQUFBSTtxQkFBQyxBQUFlLGdCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUM1QyxBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU07ZUFBQyxBQUFPLEFBQUMsQUFDakIsQUFBQzs7O3dCQUVELEFBQU0seUJBQUMsQUFBaUIsV0FDdEI7WUFBSSxBQUFTLEFBQUcsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFXLEFBQUMsaUJBQUssQUFBSyxBQUFDLEFBQUMsQUFFcEYsQUFBRSxBQUFDO1lBQUMsQUFBUyxhQUFJLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQzFDLEFBQU07bUJBQUMsQUFBSSxLQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUNsQyxBQUFDO0FBRUQ7WUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN6QyxBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRXpCLEFBQUUsQUFBQztZQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBZ0IsaUJBQUMsQUFBUyxXQUFFLEFBQWEsQUFBQyxtQkFBSyxBQUFLLEFBQUMsT0FBQyxBQUFDLEFBQ3hFLEFBQU07bUJBQUMsQUFBTyxBQUFDLEFBQ2pCLEFBQUM7QUFFRDtZQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVqRDtZQUFJLEFBQU0sU0FBRyxBQUFPLFFBQUMsQUFBTSxPQUFDLEFBQVUsQUFBQyxBQUFDLEFBRXhDLEFBQUUsQUFBQztZQUFDLEFBQVMsYUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFDLEFBQ3hCLEFBQUk7aUJBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU0sQUFBQyxBQUNwQyxBQUFDO0FBRUQsQUFBTTtlQUFDLEFBQU0sQUFBQyxBQUNoQixBQUFDOzs7d0JBRUQsQUFBaUIsK0NBQUMsQUFBaUIsV0FDakMsQUFBTTtlQUFDLEFBQUUsQUFBQyxBQUNaLEFBQUM7Ozt3QkFFRCxBQUFlLDJDQUFDLEFBQWlCLFdBQy9CO1lBQUksQUFBSSxPQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3QztZQUFJLEFBQVUsYUFBZ0IsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFvQixxQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3RTtZQUFJLEFBQW9CLEFBQUMsaUJBRXpCLEFBQUcsQUFBQzthQUFDLElBQUksQUFBQyxJQUFHLEFBQUMsR0FBRSxBQUFDLElBQUcsQUFBVSxXQUFDLEFBQU0sUUFBRSxBQUFDLEFBQUUsS0FBRSxBQUFDLEFBQzNDLEFBQVM7d0JBQUcsQUFBVSxXQUFDLEFBQUMsQUFBQyxBQUFDLEFBQzFCLEFBQUk7aUJBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxZQUFHLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBUyxVQUFDLEFBQU0sQUFBQyxBQUFDLEFBQzNELEFBQUM7QUFFRCxBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5TG9va3VwczogRGljdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fZmFjdG9yeUxvb2t1cHMgPSBkaWN0PGFueT4oKTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeUxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgZmFjdG9yeSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB0aGlzLl9mYWN0b3J5TG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICB9XG5cbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0aW9ucyk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs0QkFXRTt1QkFBWSxBQUF3QjtZQUFFLCtFQUFxQixBQUFJOztnREFDN0QsQUFBSTs7YUFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDLEFBQzFCLEFBQUk7YUFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDLEFBQzFCLEFBQUk7YUFBQyxBQUFRLFdBQUcsQUFBRSxBQUFDLEFBQ25CLEFBQUk7YUFBQyxBQUF5Qiw0QkFBRyxBQUFFLEFBQUMsQUFDdEMsQUFBQzs7O3dCQUVELEFBQVUsaUNBQUMsQUFBaUIsV0FDMUI7WUFBSSxBQUFpQixvQkFBMkIsQUFBSSxLQUFDLEFBQXlCLDBCQUFDLEFBQVMsQUFBQyxBQUFDLEFBRTFGLEFBQUUsQUFBQztZQUFDLENBQUMsQUFBaUIsQUFBQyxtQkFBQyxBQUFDLEFBQ3ZCLEFBQUUsQUFBQztnQkFBQyxBQUFJLEtBQUMsQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUNuQixBQUFpQjtvQ0FBRyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN6RCxBQUFDO0FBRUQsQUFBRSxBQUFDO2dCQUFDLENBQUMsQUFBaUIsQUFBQyxtQkFBQyxBQUFDLEFBQ3ZCLEFBQWlCO29DQUFHLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBWSxhQUFDLEFBQVMsQUFBQyxBQUFDLEFBQzdELEFBQUM7QUFFRCxBQUFFLEFBQUM7Z0JBQUMsQUFBaUIsQUFBQyxtQkFBQyxBQUFDLEFBQ3RCLEFBQUk7cUJBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLGFBQUcsQUFBaUIsQUFBQyxBQUNoRSxBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBWSxhQUFDLEFBQVMsV0FBRSxBQUFpQixBQUFDLEFBQUMsQUFDekQsQUFBQzs7O3dCQUVELEFBQU0seUJBQUMsQUFBaUIsV0FDdEI7WUFBSSxBQUFTLEFBQUcsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFXLEFBQUMsaUJBQUssQUFBSyxBQUFDLEFBQUMsQUFFcEYsQUFBRSxBQUFDO1lBQUMsQUFBUyxhQUFJLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQzFDLEFBQU07bUJBQUMsQUFBSSxLQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUNsQyxBQUFDO0FBRUQ7WUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFTLEFBQUMsQUFBQyxBQUN6QyxBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRXpCLEFBQUUsQUFBQztZQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBZ0IsaUJBQUMsQUFBUyxXQUFFLEFBQWEsQUFBQyxtQkFBSyxBQUFLLEFBQUMsT0FBQyxBQUFDLEFBQ3hFLEFBQU07bUJBQUMsQUFBTyxRQUFDLEFBQUssQUFBQyxBQUN2QixBQUFDO0FBRUQ7WUFBSSxBQUFNLFNBQUcsQUFBTyxRQUFDLEFBQU0sQUFBRSxBQUFDLEFBRTlCLEFBQUUsQUFBQztZQUFDLEFBQVMsYUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFDLEFBQ3hCLEFBQUk7aUJBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU0sQUFBQyxBQUNwQyxBQUFDO0FBRUQsQUFBTTtlQUFDLEFBQU0sQUFBQyxBQUNoQixBQUFDOzs7d0JBRU8sQUFBaUIsK0NBQUMsQUFBaUIsV0FDekMsQUFBTTtlQUFDLEFBQUUsQUFBQyxBQUNaLEFBQUM7Ozt3QkFFTyxBQUFlLDJDQUFDLEFBQWlCLFdBQ3ZDO1lBQUksQUFBSSxPQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3QztZQUFJLEFBQVUsYUFBZ0IsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFvQixxQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUM3RTtZQUFJLEFBQW9CLEFBQUMsaUJBRXpCLEFBQUcsQUFBQzthQUFDLElBQUksQUFBQyxJQUFHLEFBQUMsR0FBRSxBQUFDLElBQUcsQUFBVSxXQUFDLEFBQU0sUUFBRSxBQUFDLEFBQUUsS0FBRSxBQUFDLEFBQzNDLEFBQVM7d0JBQUcsQUFBVSxXQUFDLEFBQUMsQUFBQyxBQUFDLEFBQzFCLEFBQUk7aUJBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxZQUFHLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBUyxVQUFDLEFBQU0sQUFBQyxBQUFDLEFBQzNELEFBQUM7QUFFRCxBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQzs7O3dCQUVPLEFBQVkscUNBQUMsQUFBaUIsV0FBRSxBQUF5QyxtQkFDL0U7WUFBSSxBQUFVLGFBQUcsQUFBSSxLQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBTTs7bUJBQ0csQUFBaUIsQUFDeEIsQUFBTTs4QkFBQyxBQUFPLFNBQ1o7b0JBQUksQUFBYSxnQkFBRyxBQUFNLE9BQUMsQUFBTSxPQUFDLEFBQUUsSUFBRSxBQUFVLFlBQUUsQUFBTyxBQUFDLEFBQUMsQUFFM0QsQUFBTTt1QkFBQyxBQUFpQixrQkFBQyxBQUFNLE9BQUMsQUFBYSxBQUFDLEFBQUMsQUFDakQsQUFBQyxBQUNGLEFBQ0g7QUFSUyxBQVFSLEFBQ0Y7QUFSSyxBQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSwgRmFjdG9yeURlZmluaXRpb24gfSBmcm9tICcuL2ZhY3RvcnknO1xuaW1wb3J0IHsgUmVnaXN0cnlSZWFkZXIsIEluamVjdGlvbiB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmltcG9ydCB7IERpY3QgfSBmcm9tICcuL2RpY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHM6IERpY3Q8RmFjdG9yeURlZmluaXRpb248YW55Pj47XG5cbiAgY29uc3RydWN0b3IocmVnaXN0cnk6IFJlZ2lzdHJ5UmVhZGVyLCByZXNvbHZlcjogUmVzb2x2ZXIgPSBudWxsKSB7XG4gICAgdGhpcy5fcmVnaXN0cnkgPSByZWdpc3RyeTtcbiAgICB0aGlzLl9yZXNvbHZlciA9IHJlc29sdmVyO1xuICAgIHRoaXMuX2xvb2t1cHMgPSB7fTtcbiAgICB0aGlzLl9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHMgPSB7fTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55PiA9IHRoaXMuX2ZhY3RvcnlEZWZpbml0aW9uTG9va3Vwc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnlEZWZpbml0aW9uID0gdGhpcy5fcmVzb2x2ZXIucmV0cmlldmUoc3BlY2lmaWVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgICBmYWN0b3J5RGVmaW5pdGlvbiA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeURlZmluaXRpb24pIHtcbiAgICAgICAgdGhpcy5fZmFjdG9yeURlZmluaXRpb25Mb29rdXBzW3NwZWNpZmllcl0gPSBmYWN0b3J5RGVmaW5pdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5idWlsZEZhY3Rvcnkoc3BlY2lmaWVyLCBmYWN0b3J5RGVmaW5pdGlvbik7XG4gIH1cblxuICBsb29rdXAoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBzaW5nbGV0b24gPSAodGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXIsICdzaW5nbGV0b24nKSAhPT0gZmFsc2UpO1xuXG4gICAgaWYgKHNpbmdsZXRvbiAmJiB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl0pIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl07XG4gICAgfVxuXG4gICAgbGV0IGZhY3RvcnkgPSB0aGlzLmZhY3RvcnlGb3Ioc3BlY2lmaWVyKTtcbiAgICBpZiAoIWZhY3RvcnkpIHsgcmV0dXJuOyB9XG5cbiAgICBpZiAodGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXIsICdpbnN0YW50aWF0ZScpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGZhY3RvcnkuY2xhc3M7XG4gICAgfVxuXG4gICAgbGV0IG9iamVjdCA9IGZhY3RvcnkuY3JlYXRlKCk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmRlZmF1bHRJbmplY3Rpb25zKHNwZWNpZmllcik7XG4gICAgbGV0IGluamVjdGlvbnM6IEluamVjdGlvbltdID0gdGhpcy5fcmVnaXN0cnkucmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uOiBJbmplY3Rpb247XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGluamVjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGluamVjdGlvbiA9IGluamVjdGlvbnNbaV07XG4gICAgICBoYXNoW2luamVjdGlvbi5wcm9wZXJ0eV0gPSB0aGlzLmxvb2t1cChpbmplY3Rpb24uc291cmNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFzaDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRGYWN0b3J5KHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55Pik6IEZhY3Rvcnk8YW55PiB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLmJ1aWxkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNsYXNzOiBmYWN0b3J5RGVmaW5pdGlvbixcbiAgICAgIGNyZWF0ZShvcHRpb25zKSB7XG4gICAgICAgIGxldCBtZXJnZWRPcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgaW5qZWN0aW9ucywgb3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIGZhY3RvcnlEZWZpbml0aW9uLmNyZWF0ZShtZXJnZWRPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
"use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjcmVhdGUoaW5qZWN0aW9ucz86IE9iamVjdCk6IFQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlEZWZpbml0aW9uPFQ+IHtcbiAgY3JlYXRlKGluamVjdGlvbnM/OiBPYmplY3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjbGFzczogRmFjdG9yeURlZmluaXRpb248VD47XG4gIGNyZWF0ZShpbmplY3Rpb25zPzogT2JqZWN0KTogVDtcbn1cbiJdfQ==

@@ -74,2 +74,2 @@ 'use strict';

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OENBQVMsQUFBTyxBQUFJLEFBQVMsQUFBRSxBQUFNLEFBQWEsQUFBQyxBQUVuRCxBQUFPOzs7Ozs7Ozs7NkNBSUwsQUFBTyxBQUFJLEFBQVEsQUFHcEIsQUFBTSxBQUFZLEFBQUMsQUFFcEIsQUFBTzs7Ozs7Ozs7O2tCQUFTLEFBQVE7Ozs7OztrQkFBRSxBQUFROzs7Ozs7a0JBQUUsQUFBSyxBQUFFLEFBQU0sQUFBUyxBQUFDLEFBQzNELEFBQU87Ozs7Ozs7OztzQkFFTCxBQUF5Qjs7Ozs7O3NCQUN6QixBQUF5Qjs7Ozs7O3NCQUN6QixBQUFrQjs7Ozs7O3NCQUNsQixBQUFvQixBQUNyQixBQUFNLEFBQWEsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGFpbmVyIH0gZnJvbSAnLi9jb250YWluZXInO1xuZXhwb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5leHBvcnQgeyBcbiAgUmVnaXN0cnlSZWFkZXIsXG4gIFJlZ2lzdHJ5V3JpdGVyLFxuICBSZWdpc3RyeUFjY2Vzc29yLFxuICBkZWZhdWx0IGFzIFJlZ2lzdHJ5LCBcbiAgSW5qZWN0aW9uLCBcbiAgUmVnaXN0cmF0aW9uT3B0aW9ucyBcbn0gZnJvbSAnLi9yZWdpc3RyeSc7XG5leHBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuZXhwb3J0IHsgT3duZXIsIGdldE93bmVyLCBzZXRPd25lciwgT1dORVIgfSBmcm9tICcuL293bmVyJztcbmV4cG9ydCB7XG4gIFNwZWNpZmllcixcbiAgaXNTcGVjaWZpZXJTdHJpbmdBYnNvbHV0ZSxcbiAgaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZSxcbiAgc2VyaWFsaXplU3BlY2lmaWVyLFxuICBkZXNlcmlhbGl6ZVNwZWNpZmllclxufSBmcm9tICcuL3NwZWNpZmllcic7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OENBQVMsQUFBTyxBQUFJLEFBQVMsQUFBRSxBQUFNLEFBQWEsQUFBQyxBQUduRCxBQUFPOzs7Ozs7Ozs7NkNBSUwsQUFBTyxBQUFJLEFBQVEsQUFHcEIsQUFBTSxBQUFZLEFBQUMsQUFFcEIsQUFBTzs7Ozs7Ozs7O2tCQUFTLEFBQVE7Ozs7OztrQkFBRSxBQUFROzs7Ozs7a0JBQUUsQUFBSyxBQUFFLEFBQU0sQUFBUyxBQUFDLEFBQzNELEFBQU87Ozs7Ozs7OztzQkFFTCxBQUF5Qjs7Ozs7O3NCQUN6QixBQUF5Qjs7Ozs7O3NCQUN6QixBQUFrQjs7Ozs7O3NCQUNsQixBQUFvQixBQUNyQixBQUFNLEFBQWEsQUFBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgQ29udGFpbmVyIH0gZnJvbSAnLi9jb250YWluZXInO1xuZXhwb3J0ICogZnJvbSAnLi9kaWN0JztcbmV4cG9ydCAqIGZyb20gJy4vZmFjdG9yeSc7XG5leHBvcnQgeyBcbiAgUmVnaXN0cnlSZWFkZXIsXG4gIFJlZ2lzdHJ5V3JpdGVyLFxuICBSZWdpc3RyeUFjY2Vzc29yLFxuICBkZWZhdWx0IGFzIFJlZ2lzdHJ5LCBcbiAgSW5qZWN0aW9uLCBcbiAgUmVnaXN0cmF0aW9uT3B0aW9ucyBcbn0gZnJvbSAnLi9yZWdpc3RyeSc7XG5leHBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuZXhwb3J0IHsgT3duZXIsIGdldE93bmVyLCBzZXRPd25lciwgT1dORVIgfSBmcm9tICcuL293bmVyJztcbmV4cG9ydCB7XG4gIFNwZWNpZmllcixcbiAgaXNTcGVjaWZpZXJTdHJpbmdBYnNvbHV0ZSxcbiAgaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZSxcbiAgc2VyaWFsaXplU3BlY2lmaWVyLFxuICBkZXNlcmlhbGl6ZVNwZWNpZmllclxufSBmcm9tICcuL3NwZWNpZmllcic7XG4iXX0=

@@ -16,2 +16,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLEFBQW9CLEFBQ3BCLEFBQU07QUFBQyxJQUFNLEFBQUssd0JBQUcsQUFBVyxBQUFDLEFBRWpDLEFBQU07a0JBQW1CLEFBQWMsUUFDckMsQUFBTTtXQUFDLEFBQU0sT0FBQyxBQUFLLEFBQUMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtrQkFBbUIsQUFBYyxRQUFFLEFBQVksT0FDbkQsQUFBTTtXQUFDLEFBQUssQUFBQyxTQUFHLEFBQUssQUFBQyxBQUN4QixBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVnaXN0cmF0aW9uT3B0aW9ucyB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbi8vIFRPRE8gLSB1c2Ugc3ltYm9sXG5leHBvcnQgY29uc3QgT1dORVIgPSAnX19vd25lcl9fJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93bmVyKG9iamVjdDogT2JqZWN0KTogT3duZXIge1xuICByZXR1cm4gb2JqZWN0W09XTkVSXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE93bmVyKG9iamVjdDogT2JqZWN0LCBvd25lcjogT3duZXIpOiB2b2lkIHtcbiAgb2JqZWN0W09XTkVSXSA9IG93bmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE93bmVyIHtcbiAgaWRlbnRpZnkoc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogRmFjdG9yeTxhbnk+O1xuICBcbiAgbG9va3VwKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IGFueTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLEFBQW9CLEFBQ3BCLEFBQU07QUFBQyxJQUFNLEFBQUssd0JBQUcsQUFBVyxBQUFDLEFBRWpDLEFBQU07a0JBQW1CLEFBQWMsUUFDckMsQUFBTTtXQUFDLEFBQU0sT0FBQyxBQUFLLEFBQUMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtrQkFBbUIsQUFBYyxRQUFFLEFBQVksT0FDbkQsQUFBTTtXQUFDLEFBQUssQUFBQyxTQUFHLEFBQUssQUFBQyxBQUN4QixBQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVnaXN0cmF0aW9uT3B0aW9ucyB9IGZyb20gJy4vcmVnaXN0cnknO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbi8vIFRPRE8gLSB1c2Ugc3ltYm9sXG5leHBvcnQgY29uc3QgT1dORVIgPSAnX19vd25lcl9fJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE93bmVyKG9iamVjdDogT2JqZWN0KTogT3duZXIge1xuICByZXR1cm4gb2JqZWN0W09XTkVSXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldE93bmVyKG9iamVjdDogT2JqZWN0LCBvd25lcjogT3duZXIpOiB2b2lkIHtcbiAgb2JqZWN0W09XTkVSXSA9IG93bmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE93bmVyIHtcbiAgaWRlbnRpZnkoc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogc3RyaW5nO1xuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcsIHJlZmVycmVyPzogc3RyaW5nKTogRmFjdG9yeTxhbnk+O1xuICBcbiAgbG9va3VwKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IGFueTtcbn1cbiJdfQ==

@@ -9,4 +9,2 @@ 'use strict';

var _util = require('@glimmer/util');
var Registry = function () {

@@ -16,9 +14,9 @@ function Registry() {

this._registrations = (0, _util.dict)();
this._registeredOptions = (0, _util.dict)();
this._registeredInjections = (0, _util.dict)();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
Registry.prototype.register = function register(specifier, factory, options) {
this._registrations[specifier] = factory;
Registry.prototype.register = function register(specifier, factoryDefinition, options) {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -98,2 +96,2 @@ this._registeredOptions[specifier] = options;

exports.default = Registry;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxBQUFPLEFBQUUsQUFBSSxBQUFRLEFBQU0sQUFBZSxBQUFDLEFBOEIzQyxBQUFNLEFBQUMsQUFBTzs7MkJBS1o7O2dEQUNFLEFBQUk7O2FBQUMsQUFBYyxpQkFBRyxBQUFJLEFBQU8sQUFBQyxBQUNsQyxBQUFJO2FBQUMsQUFBa0IscUJBQUcsQUFBSSxBQUFPLEFBQUMsQUFDdEMsQUFBSTthQUFDLEFBQXFCLHdCQUFHLEFBQUksQUFBZSxBQUFDLEFBQ25ELEFBQUM7Ozt1QkFFRCxBQUFRLDZCQUFDLEFBQWlCLFdBQUUsQUFBWSxTQUFFLEFBQTZCLFNBQ3JFLEFBQUk7YUFBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDLEFBQ3pDLEFBQUUsQUFBQztZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWixBQUFJO2lCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQyxBQUFDLEFBQ0g7QUFBQzs7O3VCQUVELEFBQVkscUNBQUMsQUFBaUIsV0FDNUIsQUFBTTtlQUFDLEFBQUksS0FBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDeEMsQUFBQzs7O3VCQUVELEFBQVUsaUNBQUMsQUFBaUIsV0FDMUI7ZUFBTyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3RDO2VBQU8sQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDLEFBQzFDO2VBQU8sQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQy9DLEFBQUM7Ozt1QkFFRCxBQUFjLHlDQUFDLEFBQWlCLFdBQUUsQUFBYyxRQUFFLEFBQVUsT0FDMUQ7WUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDLEFBRWpELEFBQUUsQUFBQztZQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNiLEFBQU87c0JBQUcsQUFBRSxBQUFDLEFBQ2IsQUFBSTtpQkFBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDL0MsQUFBQztBQUVELEFBQU87Z0JBQUMsQUFBTSxBQUFDLFVBQUcsQUFBSyxBQUFDLEFBQzFCLEFBQUM7Ozt1QkFFRCxBQUFnQiw2Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFDaEQ7WUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWlCLGtCQUFDLEFBQVMsQUFBQyxBQUFDLEFBRWhELEFBQUUsQUFBQztZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWixBQUFNO21CQUFDLEFBQU8sUUFBQyxBQUFNLEFBQUMsQUFBQyxBQUN6QixBQUFDLEFBQ0g7QUFBQzs7O3VCQUVELEFBQWlCLCtDQUFDLEFBQWlCLFdBQ2pDO1lBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUNqRCxBQUFFLEFBQUM7WUFBQyxBQUFPLFlBQUssQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUMxQixBQUFJO21DQUFTLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7Z0JBQTdCLEFBQUksQUFBQyx3QkFDVixBQUFPOztzQkFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBSSxBQUFDLEFBQUMsQUFDMUMsQUFBQztBQUNELEFBQU07ZUFBQyxBQUFPLEFBQUMsQUFDakIsQUFBQzs7O3VCQUVELEFBQWdCLDZDQUFDLEFBQWlCLFdBQUUsQUFBYyxRQUNoRDtZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFakQsQUFBRSxBQUFDO1lBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQyxBQUNaO21CQUFPLEFBQU8sUUFBQyxBQUFNLEFBQUMsQUFBQyxBQUN6QixBQUFDLEFBQ0g7QUFBQzs7O3VCQUVELEFBQWlCLCtDQUFDLEFBQWlCLFdBQUUsQUFBZ0IsVUFBRSxBQUFjLFFBQ25FO1lBQUksQUFBVSxhQUFHLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUN2RCxBQUFFLEFBQUM7WUFBQyxBQUFVLGVBQUssQUFBUyxBQUFDLFdBQUMsQUFBQyxBQUM3QixBQUFJO2lCQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQVUsYUFBRyxBQUFFLEFBQUMsQUFDMUQsQUFBQztBQUNELEFBQVU7bUJBQUMsQUFBSTtzQkFFYixBQUFNLEFBQ1AsQUFBQyxBQUFDLEFBQ0w7b0JBSmtCLEFBSWpCO0FBSEcsQUFBUTs7O3VCQUtaLEFBQW9CLHFEQUFDLEFBQWlCLFdBQ3BDLEFBQUk7Z0NBQVMsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztZQUE3QixBQUFJLEFBQUMseUJBQ1Y7O1lBQUksQUFBVSxhQUFnQixBQUFFLEFBQUMsQUFDakMsQUFBSztjQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQyxBQUN6RSxBQUFLO2NBQUMsQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBVSxZQUFFLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUFDLEFBQzlFLEFBQU07ZUFBQyxBQUFVLEFBQUMsQUFDcEIsQUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIHNpbmdsZXRvbj86IGJvb2xlYW47XG4gIGluc3RhbnRpYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3Rpb24ge1xuICBwcm9wZXJ0eTogc3RyaW5nLFxuICBzb3VyY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5V3JpdGVyIHtcbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5UmVhZGVyIHtcbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlBY2Nlc3NvciBleHRlbmRzIFJlZ2lzdHJ5UmVhZGVyLCBSZWdpc3RyeVdyaXRlciB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdpc3RyeSBpbXBsZW1lbnRzIFJlZ2lzdHJ5QWNjZXNzb3Ige1xuICBwcml2YXRlIF9yZWdpc3RyYXRpb25zOiBEaWN0PEZhY3Rvcnk8YW55Pj47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRPcHRpb25zOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRJbmplY3Rpb25zOiBEaWN0PEluamVjdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnMgPSBkaWN0PGFueT4oKTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9ucyA9IGRpY3Q8SW5qZWN0aW9uW10+KCk7XG4gIH1cblxuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXSA9IGZhY3Rvcnk7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBvcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMucmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgICAgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3R5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChpbmplY3Rpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0gPSBpbmplY3Rpb25zID0gW107XG4gICAgfVxuICAgIGluamVjdGlvbnMucHVzaCh7XG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIHNvdXJjZVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXSB7XG4gICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IFtdO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3R5cGVdKTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdKTtcbiAgICByZXR1cm4gaW5qZWN0aW9ucztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7MkJBbUNFOztnREFDRSxBQUFJOzthQUFDLEFBQWMsaUJBQUcsQUFBRSxBQUFDLEFBQ3pCLEFBQUk7YUFBQyxBQUFrQixxQkFBRyxBQUFFLEFBQUMsQUFDN0IsQUFBSTthQUFDLEFBQXFCLHdCQUFHLEFBQUUsQUFBQyxBQUNsQyxBQUFDOzs7dUJBRUQsQUFBUSw2QkFBQyxBQUFpQixXQUFFLEFBQXlDLG1CQUFFLEFBQTZCLFNBQ2xHLEFBQUk7YUFBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLGFBQUcsQUFBaUIsQUFBQyxBQUNuRCxBQUFFLEFBQUM7WUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDLEFBQ1osQUFBSTtpQkFBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDL0MsQUFBQyxBQUNIO0FBQUM7Ozt1QkFFRCxBQUFZLHFDQUFDLEFBQWlCLFdBQzVCLEFBQU07ZUFBQyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hDLEFBQUM7Ozt1QkFFRCxBQUFVLGlDQUFDLEFBQWlCLFdBQzFCO2VBQU8sQUFBSSxLQUFDLEFBQWMsZUFBQyxBQUFTLEFBQUMsQUFBQyxBQUN0QztlQUFPLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUMxQztlQUFPLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUMvQyxBQUFDOzs7dUJBRUQsQUFBYyx5Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFBRSxBQUFVLE9BQzFEO1lBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVqRCxBQUFFLEFBQUM7WUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDYixBQUFPO3NCQUFHLEFBQUUsQUFBQyxBQUNiLEFBQUk7aUJBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDLEFBQy9DLEFBQUM7QUFFRCxBQUFPO2dCQUFDLEFBQU0sQUFBQyxVQUFHLEFBQUssQUFBQyxBQUMxQixBQUFDOzs7dUJBRUQsQUFBZ0IsNkNBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQ2hEO1lBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUVoRCxBQUFFLEFBQUM7WUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDLEFBQ1osQUFBTTttQkFBQyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekIsQUFBQyxBQUNIO0FBQUM7Ozt1QkFFRCxBQUFpQiwrQ0FBQyxBQUFpQixXQUNqQztZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFDakQsQUFBRSxBQUFDO1lBQUMsQUFBTyxZQUFLLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDMUIsQUFBSTttQ0FBUyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO2dCQUE3QixBQUFJLEFBQUMsd0JBQ1YsQUFBTzs7c0JBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQUksQUFBQyxBQUFDLEFBQzFDLEFBQUM7QUFDRCxBQUFNO2VBQUMsQUFBTyxBQUFDLEFBQ2pCLEFBQUM7Ozt1QkFFRCxBQUFnQiw2Q0FBQyxBQUFpQixXQUFFLEFBQWMsUUFDaEQ7WUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDLEFBRWpELEFBQUUsQUFBQztZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUMsQUFDWjttQkFBTyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekIsQUFBQyxBQUNIO0FBQUM7Ozt1QkFFRCxBQUFpQiwrQ0FBQyxBQUFpQixXQUFFLEFBQWdCLFVBQUUsQUFBYyxRQUNuRTtZQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFDdkQsQUFBRSxBQUFDO1lBQUMsQUFBVSxlQUFLLEFBQVMsQUFBQyxXQUFDLEFBQUMsQUFDN0IsQUFBSTtpQkFBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFVLGFBQUcsQUFBRSxBQUFDLEFBQzFELEFBQUM7QUFDRCxBQUFVO21CQUFDLEFBQUk7c0JBRWIsQUFBTSxBQUNQLEFBQUMsQUFBQyxBQUNMO29CQUprQixBQUlqQjtBQUhHLEFBQVE7Ozt1QkFLWixBQUFvQixxREFBQyxBQUFpQixXQUNwQyxBQUFJO2dDQUFTLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7WUFBN0IsQUFBSSxBQUFDLHlCQUNWOztZQUFJLEFBQVUsYUFBZ0IsQUFBRSxBQUFDLEFBQ2pDLEFBQUs7Y0FBQyxBQUFTLFVBQUMsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFVLFlBQUUsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQUksQUFBQyxBQUFDLEFBQUMsQUFDekUsQUFBSztjQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUMsQUFBQyxBQUM5RSxBQUFNO2VBQUMsQUFBVSxBQUFDLEFBQ3BCLEFBQUMsQUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpY3QgfSBmcm9tICcuL2RpY3QnO1xuaW1wb3J0IHsgRmFjdG9yeSwgRmFjdG9yeURlZmluaXRpb24gfSBmcm9tICcuL2ZhY3RvcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJhdGlvbk9wdGlvbnMge1xuICBzaW5nbGV0b24/OiBib29sZWFuO1xuICBpbnN0YW50aWF0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0aW9uIHtcbiAgcHJvcGVydHk6IHN0cmluZyxcbiAgc291cmNlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeVdyaXRlciB7XG4gIHJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5OiBhbnksIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogdm9pZDtcbiAgdW5yZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZyk6IHZvaWQ7XG4gIHJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeVJlYWRlciB7XG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IEluamVjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5QWNjZXNzb3IgZXh0ZW5kcyBSZWdpc3RyeVJlYWRlciwgUmVnaXN0cnlXcml0ZXIge31cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnaXN0cnkgaW1wbGVtZW50cyBSZWdpc3RyeUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBfcmVnaXN0cmF0aW9uczogRGljdDxGYWN0b3J5RGVmaW5pdGlvbjxhbnk+PjtcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZE9wdGlvbnM6IERpY3Q8YW55PjtcbiAgcHJpdmF0ZSBfcmVnaXN0ZXJlZEluamVjdGlvbnM6IERpY3Q8SW5qZWN0aW9uW10+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnMgPSB7fTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9ucyA9IHt9O1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zID0ge307XG4gIH1cblxuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeURlZmluaXRpb246IEZhY3RvcnlEZWZpbml0aW9uPGFueT4sIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdID0gZmFjdG9yeURlZmluaXRpb247XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl07XG4gIH1cblxuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXSA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLnJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcik7XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgcmV0dXJuIG9wdGlvbnNbb3B0aW9uXTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBbdHlwZV0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1t0eXBlXTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICB1bnJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICBkZWxldGUgb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVySW5qZWN0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBpbmplY3Rpb25zID0gdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBpZiAoaW5qZWN0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdID0gaW5qZWN0aW9ucyA9IFtdO1xuICAgIH1cbiAgICBpbmplY3Rpb25zLnB1c2goe1xuICAgICAgcHJvcGVydHksXG4gICAgICBzb3VyY2VcbiAgICB9KTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW10ge1xuICAgIGxldCBbdHlwZV0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSBbXTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1t0eXBlXSk7XG4gICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaW5qZWN0aW9ucywgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXSk7XG4gICAgcmV0dXJuIGluamVjdGlvbnM7XG4gIH1cbn1cbiJdfQ==
"use strict";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXIge1xuICBpZGVudGlmeShzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgcmV0cmlldmUoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICByZXRyaWV2ZShzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT47XG59XG4iXX0=

@@ -79,2 +79,2 @@ 'use strict';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O21DQVEwQyxBQUFpQixXQUN6RCxBQUFJOzJCQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7UUFBbkMsQUFBSTtRQUFFLEFBQUksQUFBQyx3QkFDaEIsQUFBTTs7V0FBQyxDQUFDLEFBQUMsRUFBQyxBQUFJLFFBQUksQUFBSSxRQUFJLEFBQUksS0FBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLFNBQUssQUFBQyxLQUFJLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxBQUFDLEFBQ25GLEFBQUM7QUFFRCxBQUFNO21DQUFvQyxBQUFvQixXQUM1RCxBQUFNO1dBQUMsQUFBUyxVQUFDLEFBQVEsYUFBSyxBQUFTLGFBQ2hDLEFBQVMsVUFBQyxBQUFVLGVBQUssQUFBUyxhQUNsQyxBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsYUFDNUIsQUFBUyxVQUFDLEFBQUksU0FBSyxBQUFTLEFBQUMsQUFDdEMsQUFBQztBQUVELEFBQU07NEJBQTZCLEFBQW9CLFdBQ3JEO1FBQUksQUFBSSxPQUFHLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFDMUI7UUFBSSxBQUFJLE9BQUcsQUFBc0IsdUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFN0MsQUFBRSxBQUFDO1FBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNULEFBQU07ZUFBQyxBQUFJLE9BQUcsQUFBRyxNQUFHLEFBQUksQUFBQyxBQUMzQixBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO2dDQUFpQyxBQUFvQixXQUN6RDtRQUFJLEFBQUksT0FBRyxBQUFFLEFBQUMsQUFDZCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFVBQUMsQUFBQyxBQUN2QixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsQUFBQyxBQUNoQyxBQUFDO0FBQ0QsQUFBRSxBQUFDO1FBQUMsQUFBUyxVQUFDLEFBQVUsQUFBQyxZQUFDLEFBQUMsQUFDekIsQUFBSTthQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLEFBQUMsQUFDbEMsQUFBQztBQUNELEFBQUUsQUFBQztRQUFDLEFBQVMsVUFBQyxBQUFTLEFBQUMsV0FBQyxBQUFDLEFBQ3hCLEFBQUk7YUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2pDLEFBQUM7QUFDRCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNuQixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFBQyxBQUM1QixBQUFDO0FBRUQsQUFBRSxBQUFDO1FBQUMsQUFBSSxLQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQ3BCO1lBQUksQUFBUSxXQUFHLEFBQUksS0FBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDOUIsQUFBRSxBQUFDO1lBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQ3pDLEFBQVE7dUJBQUcsQUFBRyxNQUFHLEFBQVEsQUFBQyxBQUM1QixBQUFDO0FBQ0QsQUFBTTtlQUFDLEFBQVEsQUFBQyxBQUNsQixBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU07OEJBQStCLEFBQWlCLFdBQ3BEO1FBQUksQUFBRyxNQUFjLEFBQUUsQUFBQyxBQUV4QixBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxPQUFHLENBQUMsQUFBQyxBQUFDLEdBQUMsQUFBQyxBQUNoQyxBQUFJO2dDQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7WUFBbkMsQUFBSTtZQUFFLEFBQUksQUFBQyx5QkFDaEIsQUFBRzs7WUFBQyxBQUFJLE9BQUcsQUFBSSxBQUFDLEFBRWhCO1lBQUksQUFBWSxBQUFDLG9CQUVqQixBQUFFLEFBQUM7WUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBWTsyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFHO2dCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUMsQUFDcEMsQUFBRztnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDLEFBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQVk7MkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQyxBQUFDO0FBRUQsQUFBRSxBQUFDO1lBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7Z0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQyxBQUU5QixBQUFFLEFBQUM7Z0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7b0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekMsQUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFHO1lBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtXQUFDLEFBQUcsQUFBQyxBQUNiLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O21DQVEwQyxBQUFpQixXQUN6RCxBQUFJOzJCQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7UUFBbkMsQUFBSTtRQUFFLEFBQUksQUFBQyx3QkFDaEIsQUFBTTs7V0FBQyxDQUFDLEFBQUMsRUFBQyxBQUFJLFFBQUksQUFBSSxRQUFJLEFBQUksS0FBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLFNBQUssQUFBQyxLQUFJLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxBQUFDLEFBQ25GLEFBQUM7QUFFRCxBQUFNO21DQUFvQyxBQUFvQixXQUM1RCxBQUFNO1dBQUMsQUFBUyxVQUFDLEFBQVEsYUFBSyxBQUFTLGFBQ2hDLEFBQVMsVUFBQyxBQUFVLGVBQUssQUFBUyxhQUNsQyxBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsYUFDNUIsQUFBUyxVQUFDLEFBQUksU0FBSyxBQUFTLEFBQUMsQUFDdEMsQUFBQztBQUVELEFBQU07NEJBQTZCLEFBQW9CLFdBQ3JEO1FBQUksQUFBSSxPQUFHLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFDMUI7UUFBSSxBQUFJLE9BQUcsQUFBc0IsdUJBQUMsQUFBUyxBQUFDLEFBQUMsQUFFN0MsQUFBRSxBQUFDO1FBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNULEFBQU07ZUFBQyxBQUFJLE9BQUcsQUFBRyxNQUFHLEFBQUksQUFBQyxBQUMzQixBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFNO2VBQUMsQUFBSSxBQUFDLEFBQ2QsQUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNO2dDQUFpQyxBQUFvQixXQUN6RDtRQUFJLEFBQUksT0FBRyxBQUFFLEFBQUMsQUFDZCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBUSxBQUFDLFVBQUMsQUFBQyxBQUN2QixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsQUFBQyxBQUNoQyxBQUFDO0FBQ0QsQUFBRSxBQUFDO1FBQUMsQUFBUyxVQUFDLEFBQVUsQUFBQyxZQUFDLEFBQUMsQUFDekIsQUFBSTthQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLEFBQUMsQUFDbEMsQUFBQztBQUNELEFBQUUsQUFBQztRQUFDLEFBQVMsVUFBQyxBQUFTLEFBQUMsV0FBQyxBQUFDLEFBQ3hCLEFBQUk7YUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ2pDLEFBQUM7QUFDRCxBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBSSxBQUFDLE1BQUMsQUFBQyxBQUNuQixBQUFJO2FBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsQUFBQyxBQUM1QixBQUFDO0FBRUQsQUFBRSxBQUFDO1FBQUMsQUFBSSxLQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQ3BCO1lBQUksQUFBUSxXQUFHLEFBQUksS0FBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDOUIsQUFBRSxBQUFDO1lBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDLEFBQ3pDLEFBQVE7dUJBQUcsQUFBRyxNQUFHLEFBQVEsQUFBQyxBQUM1QixBQUFDO0FBQ0QsQUFBTTtlQUFDLEFBQVEsQUFBQyxBQUNsQixBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU07OEJBQStCLEFBQWlCLFdBQ3BEO1FBQUksQUFBRyxNQUFjLEFBQUUsQUFBQyxBQUV4QixBQUFFLEFBQUM7UUFBQyxBQUFTLFVBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxPQUFHLENBQUMsQUFBQyxBQUFDLEdBQUMsQUFBQyxBQUNoQyxBQUFJO2dDQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7WUFBbkMsQUFBSTtZQUFFLEFBQUksQUFBQyx5QkFDaEIsQUFBRzs7WUFBQyxBQUFJLE9BQUcsQUFBSSxBQUFDLEFBRWhCO1lBQUksQUFBWSxBQUFDLG9CQUVqQixBQUFFLEFBQUM7WUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUMsQUFDNUIsQUFBWTsyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUN6QyxBQUFHO2dCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUMsQUFDcEMsQUFBRztnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDLEFBQUMsQUFBQyxBQUFJO2VBQUMsQUFBQyxBQUNOLEFBQVk7MkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQyxBQUFDO0FBRUQsQUFBRSxBQUFDO1lBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7Z0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQyxBQUU5QixBQUFFLEFBQUM7Z0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDLEFBQzVCLEFBQUc7b0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekMsQUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSTtXQUFDLEFBQUMsQUFDTixBQUFHO1lBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QixBQUFDO0FBRUQsQUFBTTtXQUFDLEFBQUcsQUFBQyxBQUNiLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==

@@ -1,2 +0,1 @@

import { dict } from '@glimmer/util';
export default class Container {

@@ -6,19 +5,19 @@ constructor(registry, resolver = null) {

this._resolver = resolver;
this._lookups = dict();
this._factoryLookups = dict();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
factoryFor(specifier) {
let factory = this._factoryLookups[specifier];
if (!factory) {
let factoryDefinition = this._factoryDefinitionLookups[specifier];
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
}

@@ -35,6 +34,5 @@ lookup(specifier) {

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
let injections = this.buildInjections(specifier);
let object = factory.create(injections);
let object = factory.create();
if (singleton && object) {

@@ -58,3 +56,13 @@ this._lookups[specifier] = object;

}
buildFactory(specifier, factoryDefinition) {
let injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create(options) {
let mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
};
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsSUFBSSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxPQUFPO0lBTVosWUFBWSxRQUF3QixFQUFFLFdBQXFCLElBQUk7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEVBQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksRUFBTyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUU5QyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25ELENBQUM7WUFFRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDO1lBQzVDLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlCO1FBQ3RCLElBQUksU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7UUFFcEYsRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7UUFFRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUFDLE1BQU0sQ0FBQztRQUFDLENBQUM7UUFFekIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN4RSxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFeEMsRUFBRSxDQUFDLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWlCO1FBQ2pDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QyxJQUFJLFVBQVUsR0FBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3RSxJQUFJLFNBQW9CLENBQUM7UUFFekIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0MsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5TG9va3VwczogRGljdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fZmFjdG9yeUxvb2t1cHMgPSBkaWN0PGFueT4oKTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeUxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgZmFjdG9yeSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB0aGlzLl9mYWN0b3J5TG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICB9XG5cbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0aW9ucyk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLENBQUMsT0FBTztJQU1aLFlBQVksUUFBd0IsRUFBRSxXQUFxQixJQUFJO1FBQzdELElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixJQUFJLGlCQUFpQixHQUEyQixJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFMUYsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDdkIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25CLGlCQUFpQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pELENBQUM7WUFFRCxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztnQkFDdkIsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDN0QsQ0FBQztZQUVELEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO1lBQ2hFLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFpQjtRQUN0QixJQUFJLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXBGLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUM7UUFBQyxDQUFDO1FBRXpCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDeEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkIsQ0FBQztRQUVELElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU5QixFQUFFLENBQUMsQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNwQyxDQUFDO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8saUJBQWlCLENBQUMsU0FBaUI7UUFDekMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUI7UUFDdkMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksVUFBVSxHQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdFLElBQUksU0FBb0IsQ0FBQztRQUV6QixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sWUFBWSxDQUFDLFNBQWlCLEVBQUUsaUJBQXlDO1FBQy9FLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakQsTUFBTSxDQUFDO1lBQ0wsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixNQUFNLENBQUMsT0FBTztnQkFDWixJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRTNELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDakQsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWN0b3J5LCBGYWN0b3J5RGVmaW5pdGlvbiB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgRGljdCB9IGZyb20gJy4vZGljdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbnRhaW5lciB7XG4gIHByaXZhdGUgX3JlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlcjtcbiAgcHJpdmF0ZSBfcmVzb2x2ZXI6IFJlc29sdmVyO1xuICBwcml2YXRlIF9sb29rdXBzOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX2ZhY3RvcnlEZWZpbml0aW9uTG9va3VwczogRGljdDxGYWN0b3J5RGVmaW5pdGlvbjxhbnk+PjtcblxuICBjb25zdHJ1Y3RvcihyZWdpc3RyeTogUmVnaXN0cnlSZWFkZXIsIHJlc29sdmVyOiBSZXNvbHZlciA9IG51bGwpIHtcbiAgICB0aGlzLl9yZWdpc3RyeSA9IHJlZ2lzdHJ5O1xuICAgIHRoaXMuX3Jlc29sdmVyID0gcmVzb2x2ZXI7XG4gICAgdGhpcy5fbG9va3VwcyA9IHt9O1xuICAgIHRoaXMuX2ZhY3RvcnlEZWZpbml0aW9uTG9va3VwcyA9IHt9O1xuICB9XG5cbiAgZmFjdG9yeUZvcihzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3Rvcnk8YW55PiB7XG4gICAgbGV0IGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+ID0gdGhpcy5fZmFjdG9yeURlZmluaXRpb25Mb29rdXBzW3NwZWNpZmllcl07XG5cbiAgICBpZiAoIWZhY3RvcnlEZWZpbml0aW9uKSB7XG4gICAgICBpZiAodGhpcy5fcmVzb2x2ZXIpIHtcbiAgICAgICAgZmFjdG9yeURlZmluaXRpb24gPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnlEZWZpbml0aW9uKSB7XG4gICAgICAgIGZhY3RvcnlEZWZpbml0aW9uID0gdGhpcy5fcmVnaXN0cnkucmVnaXN0cmF0aW9uKHNwZWNpZmllcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmYWN0b3J5RGVmaW5pdGlvbikge1xuICAgICAgICB0aGlzLl9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHNbc3BlY2lmaWVyXSA9IGZhY3RvcnlEZWZpbml0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmJ1aWxkRmFjdG9yeShzcGVjaWZpZXIsIGZhY3RvcnlEZWZpbml0aW9uKTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeS5jbGFzcztcbiAgICB9XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoKTtcblxuICAgIGlmIChzaW5nbGV0b24gJiYgb2JqZWN0KSB7XG4gICAgICB0aGlzLl9sb29rdXBzW3NwZWNpZmllcl0gPSBvYmplY3Q7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBPYmplY3Qge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEZhY3Rvcnkoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+KTogRmFjdG9yeTxhbnk+IHtcbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2xhc3M6IGZhY3RvcnlEZWZpbml0aW9uLFxuICAgICAgY3JlYXRlKG9wdGlvbnMpIHtcbiAgICAgICAgbGV0IG1lcmdlZE9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBpbmplY3Rpb25zLCBvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4gZmFjdG9yeURlZmluaXRpb24uY3JlYXRlKG1lcmdlZE9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19

@@ -1,1 +0,1 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjcmVhdGUoaW5qZWN0aW9ucz86IE9iamVjdCk6IFQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlEZWZpbml0aW9uPFQ+IHtcbiAgY3JlYXRlKGluamVjdGlvbnM/OiBPYmplY3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjbGFzczogRmFjdG9yeURlZmluaXRpb248VD47XG4gIGNyZWF0ZShpbmplY3Rpb25zPzogT2JqZWN0KTogVDtcbn1cbiJdfQ==

@@ -5,2 +5,2 @@ export { default as Container } from './container';

export { isSpecifierStringAbsolute, isSpecifierObjectAbsolute, serializeSpecifier, deserializeSpecifier } from './specifier';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkQsT0FBTyxFQUlMLE9BQU8sSUFBSSxRQUFRLEVBR3BCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBUyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzRCxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3JCLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBDb250YWluZXIgfSBmcm9tICcuL2NvbnRhaW5lcic7XG5leHBvcnQgeyBGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3J5JztcbmV4cG9ydCB7IFxuICBSZWdpc3RyeVJlYWRlcixcbiAgUmVnaXN0cnlXcml0ZXIsXG4gIFJlZ2lzdHJ5QWNjZXNzb3IsXG4gIGRlZmF1bHQgYXMgUmVnaXN0cnksIFxuICBJbmplY3Rpb24sIFxuICBSZWdpc3RyYXRpb25PcHRpb25zIFxufSBmcm9tICcuL3JlZ2lzdHJ5JztcbmV4cG9ydCB7IFJlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlcic7XG5leHBvcnQgeyBPd25lciwgZ2V0T3duZXIsIHNldE93bmVyLCBPV05FUiB9IGZyb20gJy4vb3duZXInO1xuZXhwb3J0IHtcbiAgU3BlY2lmaWVyLFxuICBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlLFxuICBpc1NwZWNpZmllck9iamVjdEFic29sdXRlLFxuICBzZXJpYWxpemVTcGVjaWZpZXIsXG4gIGRlc2VyaWFsaXplU3BlY2lmaWVyXG59IGZyb20gJy4vc3BlY2lmaWVyJztcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHbkQsT0FBTyxFQUlMLE9BQU8sSUFBSSxRQUFRLEVBR3BCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBUyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzRCxPQUFPLEVBRUwseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3JCLE1BQU0sYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBDb250YWluZXIgfSBmcm9tICcuL2NvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2RpY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWN0b3J5JztcbmV4cG9ydCB7IFxuICBSZWdpc3RyeVJlYWRlcixcbiAgUmVnaXN0cnlXcml0ZXIsXG4gIFJlZ2lzdHJ5QWNjZXNzb3IsXG4gIGRlZmF1bHQgYXMgUmVnaXN0cnksIFxuICBJbmplY3Rpb24sIFxuICBSZWdpc3RyYXRpb25PcHRpb25zIFxufSBmcm9tICcuL3JlZ2lzdHJ5JztcbmV4cG9ydCB7IFJlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlcic7XG5leHBvcnQgeyBPd25lciwgZ2V0T3duZXIsIHNldE93bmVyLCBPV05FUiB9IGZyb20gJy4vb3duZXInO1xuZXhwb3J0IHtcbiAgU3BlY2lmaWVyLFxuICBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlLFxuICBpc1NwZWNpZmllck9iamVjdEFic29sdXRlLFxuICBzZXJpYWxpemVTcGVjaWZpZXIsXG4gIGRlc2VyaWFsaXplU3BlY2lmaWVyXG59IGZyb20gJy4vc3BlY2lmaWVyJztcbiJdfQ==

@@ -1,10 +0,9 @@

import { dict } from '@glimmer/util';
export default class Registry {
constructor() {
this._registrations = dict();
this._registeredOptions = dict();
this._registeredInjections = dict();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
register(specifier, factory, options) {
this._registrations[specifier] = factory;
register(specifier, factoryDefinition, options) {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -68,2 +67,2 @@ this._registeredOptions[specifier] = options;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBUSxNQUFNLGVBQWUsQ0FBQztBQThCM0MsTUFBTSxDQUFDLE9BQU87SUFLWjtRQUNFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxFQUFPLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksRUFBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLEVBQWUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUSxDQUFDLFNBQWlCLEVBQUUsT0FBWSxFQUFFLE9BQTZCO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQ3pDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCO1FBQzVCLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQUMsU0FBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBaUIsRUFBRSxNQUFjLEVBQUUsS0FBVTtRQUMxRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakQsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2IsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDL0MsQ0FBQztRQUVELE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWlCLEVBQUUsTUFBYztRQUNoRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEQsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNaLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxNQUFjO1FBQ2hELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1osT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFpQixFQUFFLFFBQWdCLEVBQUUsTUFBYztRQUNuRSxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkQsRUFBRSxDQUFDLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDMUQsQ0FBQztRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDZCxRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxTQUFpQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLFVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBQ2pDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5RSxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpY3QsIERpY3QgfSBmcm9tICdAZ2xpbW1lci91dGlsJztcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJhdGlvbk9wdGlvbnMge1xuICBzaW5nbGV0b24/OiBib29sZWFuO1xuICBpbnN0YW50aWF0ZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5qZWN0aW9uIHtcbiAgcHJvcGVydHk6IHN0cmluZyxcbiAgc291cmNlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeVdyaXRlciB7XG4gIHJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5OiBhbnksIG9wdGlvbnM/OiBSZWdpc3RyYXRpb25PcHRpb25zKTogdm9pZDtcbiAgdW5yZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZyk6IHZvaWQ7XG4gIHJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQ7XG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeVJlYWRlciB7XG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IEluamVjdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5QWNjZXNzb3IgZXh0ZW5kcyBSZWdpc3RyeVJlYWRlciwgUmVnaXN0cnlXcml0ZXIge31cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUmVnaXN0cnkgaW1wbGVtZW50cyBSZWdpc3RyeUFjY2Vzc29yIHtcbiAgcHJpdmF0ZSBfcmVnaXN0cmF0aW9uczogRGljdDxGYWN0b3J5PGFueT4+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkT3B0aW9uczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkSW5qZWN0aW9uczogRGljdDxJbmplY3Rpb25bXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcmVnaXN0cmF0aW9ucyA9IGRpY3Q8YW55PigpO1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnMgPSBkaWN0PEluamVjdGlvbltdPigpO1xuICB9XG5cbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl0gPSBmYWN0b3J5O1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG4gIH1cblxuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl07XG4gIH1cblxuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZCB7XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghb3B0aW9ucykge1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXSA9IG9wdGlvbnM7XG4gICAgfVxuXG4gICAgb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLnJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcik7XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgcmV0dXJuIG9wdGlvbnNbb3B0aW9uXTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBbdHlwZV0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICAgIG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1t0eXBlXTtcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICB1bnJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICBkZWxldGUgb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVySW5qZWN0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBpbmplY3Rpb25zID0gdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBpZiAoaW5qZWN0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdID0gaW5qZWN0aW9ucyA9IFtdO1xuICAgIH1cbiAgICBpbmplY3Rpb25zLnB1c2goe1xuICAgICAgcHJvcGVydHksXG4gICAgICBzb3VyY2VcbiAgICB9KTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW10ge1xuICAgIGxldCBbdHlwZV0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSBbXTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1t0eXBlXSk7XG4gICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaW5qZWN0aW9ucywgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXSk7XG4gICAgcmV0dXJuIGluamVjdGlvbnM7XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJBLE1BQU0sQ0FBQyxPQUFPO0lBS1o7UUFDRSxJQUFJLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVEsQ0FBQyxTQUFpQixFQUFFLGlCQUF5QyxFQUFFLE9BQTZCO1FBQ2xHLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsaUJBQWlCLENBQUM7UUFDbkQsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsU0FBaUI7UUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFpQixFQUFFLE1BQWMsRUFBRSxLQUFVO1FBQzFELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqRCxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDYixPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUMvQyxDQUFDO1FBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsU0FBaUIsRUFBRSxNQUFjO1FBQ2hELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoRCxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1osTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWlCO1FBQ2pDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxTQUFpQixFQUFFLE1BQWM7UUFDaEQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDWixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLFNBQWlCLEVBQUUsUUFBZ0IsRUFBRSxNQUFjO1FBQ25FLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2RCxFQUFFLENBQUMsQ0FBQyxVQUFVLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNkLFFBQVE7WUFDUixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELG9CQUFvQixDQUFDLFNBQWlCO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksVUFBVSxHQUFnQixFQUFFLENBQUM7UUFDakMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sQ0FBQyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGljdCB9IGZyb20gJy4vZGljdCc7XG5pbXBvcnQgeyBGYWN0b3J5LCBGYWN0b3J5RGVmaW5pdGlvbiB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIHNpbmdsZXRvbj86IGJvb2xlYW47XG4gIGluc3RhbnRpYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3Rpb24ge1xuICBwcm9wZXJ0eTogc3RyaW5nLFxuICBzb3VyY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5V3JpdGVyIHtcbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5UmVhZGVyIHtcbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlBY2Nlc3NvciBleHRlbmRzIFJlZ2lzdHJ5UmVhZGVyLCBSZWdpc3RyeVdyaXRlciB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdpc3RyeSBpbXBsZW1lbnRzIFJlZ2lzdHJ5QWNjZXNzb3Ige1xuICBwcml2YXRlIF9yZWdpc3RyYXRpb25zOiBEaWN0PEZhY3RvcnlEZWZpbml0aW9uPGFueT4+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkT3B0aW9uczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9yZWdpc3RlcmVkSW5qZWN0aW9uczogRGljdDxJbmplY3Rpb25bXT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fcmVnaXN0cmF0aW9ucyA9IHt9O1xuICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zID0ge307XG4gICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnMgPSB7fTtcbiAgfVxuXG4gIHJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nLCBmYWN0b3J5RGVmaW5pdGlvbjogRmFjdG9yeURlZmluaXRpb248YW55Piwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl0gPSBmYWN0b3J5RGVmaW5pdGlvbjtcbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXSA9IG9wdGlvbnM7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogRmFjdG9yeURlZmluaXRpb248YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBvcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMucmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgICAgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3R5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChpbmplY3Rpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0gPSBpbmplY3Rpb25zID0gW107XG4gICAgfVxuICAgIGluamVjdGlvbnMucHVzaCh7XG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIHNvdXJjZVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXSB7XG4gICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IFtdO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3R5cGVdKTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdKTtcbiAgICByZXR1cm4gaW5qZWN0aW9ucztcbiAgfVxufVxuIl19

@@ -1,1 +0,1 @@

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXIge1xuICBpZGVudGlmeShzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgcmV0cmlldmUoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICByZXRyaWV2ZShzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT47XG59XG4iXX0=
import { classCallCheck as _classCallCheck } from 'babel-helpers';
import { dict } from '@glimmer/util';

@@ -12,20 +11,20 @@ var Container = function () {

this._resolver = resolver;
this._lookups = dict();
this._factoryLookups = dict();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
Container.prototype.factoryFor = function factoryFor(specifier) {
var factory = this._factoryLookups[specifier];
if (!factory) {
var factoryDefinition = this._factoryDefinitionLookups[specifier];
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
};

@@ -43,6 +42,5 @@

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
var injections = this.buildInjections(specifier);
var object = factory.create(injections);
var object = factory.create();
if (singleton && object) {

@@ -69,2 +67,13 @@ this._lookups[specifier] = object;

Container.prototype.buildFactory = function buildFactory(specifier, factoryDefinition) {
var injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create: function (options) {
var mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
};
};
return Container;

@@ -74,2 +83,2 @@ }();

export default Container;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsQUFBTyxTQUFFLEFBQUksQUFBUSxZQUFNLEFBQWUsQUFBQyxBQUUzQyxBQUFNLEFBQUMsQUFBTzs7O0FBTVosdUJBQVksQUFBd0I7WUFBRSwrRUFBcUIsQUFBSTs7OztBQUM3RCxBQUFJLGFBQUMsQUFBUyxZQUFHLEFBQVEsQUFBQztBQUMxQixBQUFJLGFBQUMsQUFBUyxZQUFHLEFBQVEsQUFBQztBQUMxQixBQUFJLGFBQUMsQUFBUSxXQUFHLEFBQUksQUFBTyxBQUFDO0FBQzVCLEFBQUksYUFBQyxBQUFlLGtCQUFHLEFBQUksQUFBTyxBQUFDLEFBQ3JDO0FBQUM7O3dCQUVELEFBQVUsaUNBQUMsQUFBaUI7QUFDMUIsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWUsZ0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFFOUMsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ2IsQUFBRSxBQUFDLGdCQUFDLEFBQUksS0FBQyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQ25CLEFBQU8sMEJBQUcsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDL0M7QUFBQztBQUVELEFBQUUsQUFBQyxnQkFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDYixBQUFPLDBCQUFHLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBWSxhQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ25EO0FBQUM7QUFFRCxBQUFFLEFBQUMsZ0JBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNaLEFBQUkscUJBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDNUM7QUFBQyxBQUNIO0FBQUM7QUFFRCxBQUFNLGVBQUMsQUFBTyxBQUFDLEFBQ2pCO0FBQUM7O3dCQUVELEFBQU0seUJBQUMsQUFBaUI7QUFDdEIsWUFBSSxBQUFTLEFBQUcsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFXLEFBQUMsaUJBQUssQUFBSyxBQUFDLEFBQUM7QUFFcEYsQUFBRSxBQUFDLFlBQUMsQUFBUyxhQUFJLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsWUFBQyxBQUFDO0FBQzFDLEFBQU0sbUJBQUMsQUFBSSxLQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBRUQsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQVUsV0FBQyxBQUFTLEFBQUMsQUFBQztBQUN6QyxBQUFFLEFBQUMsWUFBQyxDQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFBQyxBQUFNLEFBQUMsQUFBQztBQUFDO0FBRXpCLEFBQUUsQUFBQyxZQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBZ0IsaUJBQUMsQUFBUyxXQUFFLEFBQWEsQUFBQyxtQkFBSyxBQUFLLEFBQUMsT0FBQyxBQUFDO0FBQ3hFLEFBQU0sbUJBQUMsQUFBTyxBQUFDLEFBQ2pCO0FBQUM7QUFFRCxZQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVqRCxZQUFJLEFBQU0sU0FBRyxBQUFPLFFBQUMsQUFBTSxPQUFDLEFBQVUsQUFBQyxBQUFDO0FBRXhDLEFBQUUsQUFBQyxZQUFDLEFBQVMsYUFBSSxBQUFNLEFBQUMsUUFBQyxBQUFDO0FBQ3hCLEFBQUksaUJBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU0sQUFBQyxBQUNwQztBQUFDO0FBRUQsQUFBTSxlQUFDLEFBQU0sQUFBQyxBQUNoQjtBQUFDOzt3QkFFRCxBQUFpQiwrQ0FBQyxBQUFpQjtBQUNqQyxBQUFNLGVBQUMsQUFBRSxBQUFDLEFBQ1o7QUFBQzs7d0JBRUQsQUFBZSwyQ0FBQyxBQUFpQjtBQUMvQixZQUFJLEFBQUksT0FBRyxBQUFJLEtBQUMsQUFBaUIsa0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFDN0MsWUFBSSxBQUFVLGFBQWdCLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBb0IscUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFDN0UsWUFBSSxBQUFvQixBQUFDO0FBRXpCLEFBQUcsQUFBQyxhQUFDLElBQUksQUFBQyxJQUFHLEFBQUMsR0FBRSxBQUFDLElBQUcsQUFBVSxXQUFDLEFBQU0sUUFBRSxBQUFDLEFBQUUsS0FBRSxBQUFDO0FBQzNDLEFBQVMsd0JBQUcsQUFBVSxXQUFDLEFBQUMsQUFBQyxBQUFDO0FBQzFCLEFBQUksaUJBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxZQUFHLEFBQUksS0FBQyxBQUFNLE9BQUMsQUFBUyxVQUFDLEFBQU0sQUFBQyxBQUFDLEFBQzNEO0FBQUM7QUFFRCxBQUFNLGVBQUMsQUFBSSxBQUFDLEFBQ2Q7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5pbXBvcnQgeyBSZWdpc3RyeVJlYWRlciwgSW5qZWN0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeSc7XG5pbXBvcnQgeyBSZXNvbHZlciB9IGZyb20gJy4vcmVzb2x2ZXInO1xuaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWluZXIge1xuICBwcml2YXRlIF9yZWdpc3RyeTogUmVnaXN0cnlSZWFkZXI7XG4gIHByaXZhdGUgX3Jlc29sdmVyOiBSZXNvbHZlcjtcbiAgcHJpdmF0ZSBfbG9va3VwczogRGljdDxhbnk+O1xuICBwcml2YXRlIF9mYWN0b3J5TG9va3VwczogRGljdDxhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fZmFjdG9yeUxvb2t1cHMgPSBkaWN0PGFueT4oKTtcbiAgfVxuXG4gIGZhY3RvcnlGb3Ioc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5fZmFjdG9yeUxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgaWYgKHRoaXMuX3Jlc29sdmVyKSB7XG4gICAgICAgIGZhY3RvcnkgPSB0aGlzLl9yZXNvbHZlci5yZXRyaWV2ZShzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgZmFjdG9yeSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdHJhdGlvbihzcGVjaWZpZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmFjdG9yeSkge1xuICAgICAgICB0aGlzLl9mYWN0b3J5TG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFjdG9yeTtcbiAgfVxuXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgbGV0IHNpbmdsZXRvbiA9ICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ3NpbmdsZXRvbicpICE9PSBmYWxzZSk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXTtcbiAgICB9XG5cbiAgICBsZXQgZmFjdG9yeSA9IHRoaXMuZmFjdG9yeUZvcihzcGVjaWZpZXIpO1xuICAgIGlmICghZmFjdG9yeSkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllciwgJ2luc3RhbnRpYXRlJykgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICB9XG5cbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcik7XG5cbiAgICBsZXQgb2JqZWN0ID0gZmFjdG9yeS5jcmVhdGUoaW5qZWN0aW9ucyk7XG5cbiAgICBpZiAoc2luZ2xldG9uICYmIG9iamVjdCkge1xuICAgICAgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdID0gb2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBvYmplY3Q7XG4gIH1cblxuICBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgYnVpbGRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogT2JqZWN0IHtcbiAgICBsZXQgaGFzaCA9IHRoaXMuZGVmYXVsdEluamVjdGlvbnMoc3BlY2lmaWVyKTtcbiAgICBsZXQgaW5qZWN0aW9uczogSW5qZWN0aW9uW10gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb246IEluamVjdGlvbjtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5qZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaW5qZWN0aW9uID0gaW5qZWN0aW9uc1tpXTtcbiAgICAgIGhhc2hbaW5qZWN0aW9uLnByb3BlcnR5XSA9IHRoaXMubG9va3VwKGluamVjdGlvbi5zb3VyY2UpO1xuICAgIH1cblxuICAgIHJldHVybiBoYXNoO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFXRSx1QkFBWSxBQUF3QjtZQUFFLCtFQUFxQixBQUFJOzs7O0FBQzdELEFBQUksYUFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDO0FBQzFCLEFBQUksYUFBQyxBQUFTLFlBQUcsQUFBUSxBQUFDO0FBQzFCLEFBQUksYUFBQyxBQUFRLFdBQUcsQUFBRSxBQUFDO0FBQ25CLEFBQUksYUFBQyxBQUF5Qiw0QkFBRyxBQUFFLEFBQUMsQUFDdEM7QUFBQzs7d0JBRUQsQUFBVSxpQ0FBQyxBQUFpQjtBQUMxQixZQUFJLEFBQWlCLG9CQUEyQixBQUFJLEtBQUMsQUFBeUIsMEJBQUMsQUFBUyxBQUFDLEFBQUM7QUFFMUYsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFpQixBQUFDLG1CQUFDLEFBQUM7QUFDdkIsQUFBRSxBQUFDLGdCQUFDLEFBQUksS0FBQyxBQUFTLEFBQUMsV0FBQyxBQUFDO0FBQ25CLEFBQWlCLG9DQUFHLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3pEO0FBQUM7QUFFRCxBQUFFLEFBQUMsZ0JBQUMsQ0FBQyxBQUFpQixBQUFDLG1CQUFDLEFBQUM7QUFDdkIsQUFBaUIsb0NBQUcsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFZLGFBQUMsQUFBUyxBQUFDLEFBQUMsQUFDN0Q7QUFBQztBQUVELEFBQUUsQUFBQyxnQkFBQyxBQUFpQixBQUFDLG1CQUFDLEFBQUM7QUFDdEIsQUFBSSxxQkFBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFpQixBQUFDLEFBQ2hFO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBTSxlQUFDLEFBQUksS0FBQyxBQUFZLGFBQUMsQUFBUyxXQUFFLEFBQWlCLEFBQUMsQUFBQyxBQUN6RDtBQUFDOzt3QkFFRCxBQUFNLHlCQUFDLEFBQWlCO0FBQ3RCLFlBQUksQUFBUyxBQUFHLFlBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFnQixpQkFBQyxBQUFTLFdBQUUsQUFBVyxBQUFDLGlCQUFLLEFBQUssQUFBQyxBQUFDO0FBRXBGLEFBQUUsQUFBQyxZQUFDLEFBQVMsYUFBSSxBQUFJLEtBQUMsQUFBUSxTQUFDLEFBQVMsQUFBQyxBQUFDLFlBQUMsQUFBQztBQUMxQyxBQUFNLG1CQUFDLEFBQUksS0FBQyxBQUFRLFNBQUMsQUFBUyxBQUFDLEFBQUMsQUFDbEM7QUFBQztBQUVELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFVLFdBQUMsQUFBUyxBQUFDLEFBQUM7QUFDekMsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQUMsQUFBTSxBQUFDLEFBQUM7QUFBQztBQUV6QixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQWdCLGlCQUFDLEFBQVMsV0FBRSxBQUFhLEFBQUMsbUJBQUssQUFBSyxBQUFDLE9BQUMsQUFBQztBQUN4RSxBQUFNLG1CQUFDLEFBQU8sUUFBQyxBQUFLLEFBQUMsQUFDdkI7QUFBQztBQUVELFlBQUksQUFBTSxTQUFHLEFBQU8sUUFBQyxBQUFNLEFBQUUsQUFBQztBQUU5QixBQUFFLEFBQUMsWUFBQyxBQUFTLGFBQUksQUFBTSxBQUFDLFFBQUMsQUFBQztBQUN4QixBQUFJLGlCQUFDLEFBQVEsU0FBQyxBQUFTLEFBQUMsYUFBRyxBQUFNLEFBQUMsQUFDcEM7QUFBQztBQUVELEFBQU0sZUFBQyxBQUFNLEFBQUMsQUFDaEI7QUFBQzs7d0JBRU8sQUFBaUIsK0NBQUMsQUFBaUI7QUFDekMsQUFBTSxlQUFDLEFBQUUsQUFBQyxBQUNaO0FBQUM7O3dCQUVPLEFBQWUsMkNBQUMsQUFBaUI7QUFDdkMsWUFBSSxBQUFJLE9BQUcsQUFBSSxLQUFDLEFBQWlCLGtCQUFDLEFBQVMsQUFBQyxBQUFDO0FBQzdDLFlBQUksQUFBVSxhQUFnQixBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQW9CLHFCQUFDLEFBQVMsQUFBQyxBQUFDO0FBQzdFLFlBQUksQUFBb0IsQUFBQztBQUV6QixBQUFHLEFBQUMsYUFBQyxJQUFJLEFBQUMsSUFBRyxBQUFDLEdBQUUsQUFBQyxJQUFHLEFBQVUsV0FBQyxBQUFNLFFBQUUsQUFBQyxBQUFFLEtBQUUsQUFBQztBQUMzQyxBQUFTLHdCQUFHLEFBQVUsV0FBQyxBQUFDLEFBQUMsQUFBQztBQUMxQixBQUFJLGlCQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsWUFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQVMsVUFBQyxBQUFNLEFBQUMsQUFBQyxBQUMzRDtBQUFDO0FBRUQsQUFBTSxlQUFDLEFBQUksQUFBQyxBQUNkO0FBQUM7O3dCQUVPLEFBQVkscUNBQUMsQUFBaUIsV0FBRSxBQUF5QztBQUMvRSxZQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBZSxnQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVqRCxBQUFNO0FBQ0osQUFBSyxtQkFBRSxBQUFpQjtBQUN4QixBQUFNLDhCQUFDLEFBQU87QUFDWixvQkFBSSxBQUFhLGdCQUFHLEFBQU0sT0FBQyxBQUFNLE9BQUMsQUFBRSxJQUFFLEFBQVUsWUFBRSxBQUFPLEFBQUMsQUFBQztBQUUzRCxBQUFNLHVCQUFDLEFBQWlCLGtCQUFDLEFBQU0sT0FBQyxBQUFhLEFBQUMsQUFBQyxBQUNqRDtBQUFDLEFBQ0YsQUFDSDtBQVJTO0FBUVIsQUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnksIEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcbmltcG9ydCB7IFJlZ2lzdHJ5UmVhZGVyLCBJbmplY3Rpb24gfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCB7IFJlc29sdmVyIH0gZnJvbSAnLi9yZXNvbHZlcic7XG5pbXBvcnQgeyBEaWN0IH0gZnJvbSAnLi9kaWN0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGFpbmVyIHtcbiAgcHJpdmF0ZSBfcmVnaXN0cnk6IFJlZ2lzdHJ5UmVhZGVyO1xuICBwcml2YXRlIF9yZXNvbHZlcjogUmVzb2x2ZXI7XG4gIHByaXZhdGUgX2xvb2t1cHM6IERpY3Q8YW55PjtcbiAgcHJpdmF0ZSBfZmFjdG9yeURlZmluaXRpb25Mb29rdXBzOiBEaWN0PEZhY3RvcnlEZWZpbml0aW9uPGFueT4+O1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lzdHJ5OiBSZWdpc3RyeVJlYWRlciwgcmVzb2x2ZXI6IFJlc29sdmVyID0gbnVsbCkge1xuICAgIHRoaXMuX3JlZ2lzdHJ5ID0gcmVnaXN0cnk7XG4gICAgdGhpcy5fcmVzb2x2ZXIgPSByZXNvbHZlcjtcbiAgICB0aGlzLl9sb29rdXBzID0ge307XG4gICAgdGhpcy5fZmFjdG9yeURlZmluaXRpb25Mb29rdXBzID0ge307XG4gIH1cblxuICBmYWN0b3J5Rm9yKHNwZWNpZmllcjogc3RyaW5nKTogRmFjdG9yeTxhbnk+IHtcbiAgICBsZXQgZmFjdG9yeURlZmluaXRpb246IEZhY3RvcnlEZWZpbml0aW9uPGFueT4gPSB0aGlzLl9mYWN0b3J5RGVmaW5pdGlvbkxvb2t1cHNbc3BlY2lmaWVyXTtcblxuICAgIGlmICghZmFjdG9yeURlZmluaXRpb24pIHtcbiAgICAgIGlmICh0aGlzLl9yZXNvbHZlcikge1xuICAgICAgICBmYWN0b3J5RGVmaW5pdGlvbiA9IHRoaXMuX3Jlc29sdmVyLnJldHJpZXZlKHNwZWNpZmllcik7XG4gICAgICB9XG5cbiAgICAgIGlmICghZmFjdG9yeURlZmluaXRpb24pIHtcbiAgICAgICAgZmFjdG9yeURlZmluaXRpb24gPSB0aGlzLl9yZWdpc3RyeS5yZWdpc3RyYXRpb24oc3BlY2lmaWVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZhY3RvcnlEZWZpbml0aW9uKSB7XG4gICAgICAgIHRoaXMuX2ZhY3RvcnlEZWZpbml0aW9uTG9va3Vwc1tzcGVjaWZpZXJdID0gZmFjdG9yeURlZmluaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYnVpbGRGYWN0b3J5KHNwZWNpZmllciwgZmFjdG9yeURlZmluaXRpb24pO1xuICB9XG5cbiAgbG9va3VwKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgc2luZ2xldG9uID0gKHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyLCAnc2luZ2xldG9uJykgIT09IGZhbHNlKTtcblxuICAgIGlmIChzaW5nbGV0b24gJiYgdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbG9va3Vwc1tzcGVjaWZpZXJdO1xuICAgIH1cblxuICAgIGxldCBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5Rm9yKHNwZWNpZmllcik7XG4gICAgaWYgKCFmYWN0b3J5KSB7IHJldHVybjsgfVxuXG4gICAgaWYgKHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyLCAnaW5zdGFudGlhdGUnKSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBmYWN0b3J5LmNsYXNzO1xuICAgIH1cblxuICAgIGxldCBvYmplY3QgPSBmYWN0b3J5LmNyZWF0ZSgpO1xuXG4gICAgaWYgKHNpbmdsZXRvbiAmJiBvYmplY3QpIHtcbiAgICAgIHRoaXMuX2xvb2t1cHNbc3BlY2lmaWVyXSA9IG9iamVjdDtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBPYmplY3Qge1xuICAgIGxldCBoYXNoID0gdGhpcy5kZWZhdWx0SW5qZWN0aW9ucyhzcGVjaWZpZXIpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IHRoaXMuX3JlZ2lzdHJ5LnJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcik7XG4gICAgbGV0IGluamVjdGlvbjogSW5qZWN0aW9uO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmplY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpbmplY3Rpb24gPSBpbmplY3Rpb25zW2ldO1xuICAgICAgaGFzaFtpbmplY3Rpb24ucHJvcGVydHldID0gdGhpcy5sb29rdXAoaW5qZWN0aW9uLnNvdXJjZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhc2g7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkRmFjdG9yeShzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeURlZmluaXRpb246IEZhY3RvcnlEZWZpbml0aW9uPGFueT4pOiBGYWN0b3J5PGFueT4ge1xuICAgIGxldCBpbmplY3Rpb25zID0gdGhpcy5idWlsZEluamVjdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjbGFzczogZmFjdG9yeURlZmluaXRpb24sXG4gICAgICBjcmVhdGUob3B0aW9ucykge1xuICAgICAgICBsZXQgbWVyZ2VkT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGluamVjdGlvbnMsIG9wdGlvbnMpO1xuXG4gICAgICAgIHJldHVybiBmYWN0b3J5RGVmaW5pdGlvbi5jcmVhdGUobWVyZ2VkT3B0aW9ucyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjcmVhdGUoaW5qZWN0aW9ucz86IE9iamVjdCk6IFQ7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInNyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZhY3RvcnlEZWZpbml0aW9uPFQ+IHtcbiAgY3JlYXRlKGluamVjdGlvbnM/OiBPYmplY3QpOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZhY3Rvcnk8VD4ge1xuICBjbGFzczogRmFjdG9yeURlZmluaXRpb248VD47XG4gIGNyZWF0ZShpbmplY3Rpb25zPzogT2JqZWN0KTogVDtcbn1cbiJdfQ==

@@ -5,2 +5,2 @@ export { default as Container } from './container';

export { isSpecifierStringAbsolute, isSpecifierObjectAbsolute, serializeSpecifier, deserializeSpecifier } from './specifier';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBTyxTQUFFLEFBQU8sV0FBSSxBQUFTLEFBQUUsaUJBQU0sQUFBYSxBQUFDO0FBRW5ELEFBQU8sU0FJTCxBQUFPLFdBQUksQUFBUSxBQUdwQixnQkFBTSxBQUFZLEFBQUM7QUFFcEIsQUFBTyxTQUFTLEFBQVEsVUFBRSxBQUFRLFVBQUUsQUFBSyxBQUFFLGFBQU0sQUFBUyxBQUFDO0FBQzNELEFBQU8sU0FFTCxBQUF5QiwyQkFDekIsQUFBeUIsMkJBQ3pCLEFBQWtCLG9CQUNsQixBQUFvQixBQUNyQiw0QkFBTSxBQUFhLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIENvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyJztcbmV4cG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuZXhwb3J0IHsgXG4gIFJlZ2lzdHJ5UmVhZGVyLFxuICBSZWdpc3RyeVdyaXRlcixcbiAgUmVnaXN0cnlBY2Nlc3NvcixcbiAgZGVmYXVsdCBhcyBSZWdpc3RyeSwgXG4gIEluamVjdGlvbiwgXG4gIFJlZ2lzdHJhdGlvbk9wdGlvbnMgXG59IGZyb20gJy4vcmVnaXN0cnknO1xuZXhwb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmV4cG9ydCB7IE93bmVyLCBnZXRPd25lciwgc2V0T3duZXIsIE9XTkVSIH0gZnJvbSAnLi9vd25lcic7XG5leHBvcnQge1xuICBTcGVjaWZpZXIsXG4gIGlzU3BlY2lmaWVyU3RyaW5nQWJzb2x1dGUsXG4gIGlzU3BlY2lmaWVyT2JqZWN0QWJzb2x1dGUsXG4gIHNlcmlhbGl6ZVNwZWNpZmllcixcbiAgZGVzZXJpYWxpemVTcGVjaWZpZXJcbn0gZnJvbSAnLi9zcGVjaWZpZXInO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQUFBTyxTQUFFLEFBQU8sV0FBSSxBQUFTLEFBQUUsaUJBQU0sQUFBYSxBQUFDO0FBR25ELEFBQU8sU0FJTCxBQUFPLFdBQUksQUFBUSxBQUdwQixnQkFBTSxBQUFZLEFBQUM7QUFFcEIsQUFBTyxTQUFTLEFBQVEsVUFBRSxBQUFRLFVBQUUsQUFBSyxBQUFFLGFBQU0sQUFBUyxBQUFDO0FBQzNELEFBQU8sU0FFTCxBQUF5QiwyQkFDekIsQUFBeUIsMkJBQ3pCLEFBQWtCLG9CQUNsQixBQUFvQixBQUNyQiw0QkFBTSxBQUFhLEFBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIENvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyJztcbmV4cG9ydCAqIGZyb20gJy4vZGljdCc7XG5leHBvcnQgKiBmcm9tICcuL2ZhY3RvcnknO1xuZXhwb3J0IHsgXG4gIFJlZ2lzdHJ5UmVhZGVyLFxuICBSZWdpc3RyeVdyaXRlcixcbiAgUmVnaXN0cnlBY2Nlc3NvcixcbiAgZGVmYXVsdCBhcyBSZWdpc3RyeSwgXG4gIEluamVjdGlvbiwgXG4gIFJlZ2lzdHJhdGlvbk9wdGlvbnMgXG59IGZyb20gJy4vcmVnaXN0cnknO1xuZXhwb3J0IHsgUmVzb2x2ZXIgfSBmcm9tICcuL3Jlc29sdmVyJztcbmV4cG9ydCB7IE93bmVyLCBnZXRPd25lciwgc2V0T3duZXIsIE9XTkVSIH0gZnJvbSAnLi9vd25lcic7XG5leHBvcnQge1xuICBTcGVjaWZpZXIsXG4gIGlzU3BlY2lmaWVyU3RyaW5nQWJzb2x1dGUsXG4gIGlzU3BlY2lmaWVyT2JqZWN0QWJzb2x1dGUsXG4gIHNlcmlhbGl6ZVNwZWNpZmllcixcbiAgZGVzZXJpYWxpemVTcGVjaWZpZXJcbn0gZnJvbSAnLi9zcGVjaWZpZXInO1xuIl19

@@ -9,2 +9,2 @@ // TODO - use symbol

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsQUFBb0I7QUFDcEIsQUFBTSxPQUFDLElBQU0sQUFBSyxRQUFHLEFBQVcsQUFBQztBQUVqQyxBQUFNLHlCQUFtQixBQUFjO0FBQ3JDLEFBQU0sV0FBQyxBQUFNLE9BQUMsQUFBSyxBQUFDLEFBQUMsQUFDdkI7QUFBQztBQUVELEFBQU0seUJBQW1CLEFBQWMsUUFBRSxBQUFZO0FBQ25ELEFBQU0sV0FBQyxBQUFLLEFBQUMsU0FBRyxBQUFLLEFBQUMsQUFDeEI7QUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuXG4vLyBUT0RPIC0gdXNlIHN5bWJvbFxuZXhwb3J0IGNvbnN0IE9XTkVSID0gJ19fb3duZXJfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPd25lcihvYmplY3Q6IE9iamVjdCk6IE93bmVyIHtcbiAgcmV0dXJuIG9iamVjdFtPV05FUl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPd25lcihvYmplY3Q6IE9iamVjdCwgb3duZXI6IE93bmVyKTogdm9pZCB7XG4gIG9iamVjdFtPV05FUl0gPSBvd25lcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPd25lciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICBmYWN0b3J5Rm9yKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IEZhY3Rvcnk8YW55PjtcbiAgXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3duZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb3duZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsQUFBb0I7QUFDcEIsQUFBTSxPQUFDLElBQU0sQUFBSyxRQUFHLEFBQVcsQUFBQztBQUVqQyxBQUFNLHlCQUFtQixBQUFjO0FBQ3JDLEFBQU0sV0FBQyxBQUFNLE9BQUMsQUFBSyxBQUFDLEFBQUMsQUFDdkI7QUFBQztBQUVELEFBQU0seUJBQW1CLEFBQWMsUUFBRSxBQUFZO0FBQ25ELEFBQU0sV0FBQyxBQUFLLEFBQUMsU0FBRyxBQUFLLEFBQUMsQUFDeEI7QUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZ2lzdHJhdGlvbk9wdGlvbnMgfSBmcm9tICcuL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEZhY3RvcnkgfSBmcm9tICcuL2ZhY3RvcnknO1xuXG4vLyBUT0RPIC0gdXNlIHN5bWJvbFxuZXhwb3J0IGNvbnN0IE9XTkVSID0gJ19fb3duZXJfXyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPd25lcihvYmplY3Q6IE9iamVjdCk6IE93bmVyIHtcbiAgcmV0dXJuIG9iamVjdFtPV05FUl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRPd25lcihvYmplY3Q6IE9iamVjdCwgb3duZXI6IE93bmVyKTogdm9pZCB7XG4gIG9iamVjdFtPV05FUl0gPSBvd25lcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPd25lciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICBmYWN0b3J5Rm9yKHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IEZhY3Rvcnk8YW55PjtcbiAgXG4gIGxvb2t1cChzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
import { classCallCheck as _classCallCheck } from 'babel-helpers';
import { dict } from '@glimmer/util';

@@ -8,9 +7,9 @@ var Registry = function () {

this._registrations = dict();
this._registeredOptions = dict();
this._registeredInjections = dict();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
Registry.prototype.register = function register(specifier, factory, options) {
this._registrations[specifier] = factory;
Registry.prototype.register = function register(specifier, factoryDefinition, options) {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -90,2 +89,2 @@ this._registeredOptions[specifier] = options;

export default Registry;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLEFBQU8sU0FBRSxBQUFJLEFBQVEsWUFBTSxBQUFlLEFBQUMsQUE4QjNDLEFBQU0sQUFBQyxBQUFPOzs7QUFLWjs7O0FBQ0UsQUFBSSxhQUFDLEFBQWMsaUJBQUcsQUFBSSxBQUFPLEFBQUM7QUFDbEMsQUFBSSxhQUFDLEFBQWtCLHFCQUFHLEFBQUksQUFBTyxBQUFDO0FBQ3RDLEFBQUksYUFBQyxBQUFxQix3QkFBRyxBQUFJLEFBQWUsQUFBQyxBQUNuRDtBQUFDOzt1QkFFRCxBQUFRLDZCQUFDLEFBQWlCLFdBQUUsQUFBWSxTQUFFLEFBQTZCO0FBQ3JFLEFBQUksYUFBQyxBQUFjLGVBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDO0FBQ3pDLEFBQUUsQUFBQyxZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDWixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDLEFBQ0g7QUFBQzs7dUJBRUQsQUFBWSxxQ0FBQyxBQUFpQjtBQUM1QixBQUFNLGVBQUMsQUFBSSxLQUFDLEFBQWMsZUFBQyxBQUFTLEFBQUMsQUFBQyxBQUN4QztBQUFDOzt1QkFFRCxBQUFVLGlDQUFDLEFBQWlCO0FBQzFCLGVBQU8sQUFBSSxLQUFDLEFBQWMsZUFBQyxBQUFTLEFBQUMsQUFBQztBQUN0QyxlQUFPLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQztBQUMxQyxlQUFPLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUMvQztBQUFDOzt1QkFFRCxBQUFjLHlDQUFDLEFBQWlCLFdBQUUsQUFBYyxRQUFFLEFBQVU7QUFDMUQsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDO0FBRWpELEFBQUUsQUFBQyxZQUFDLENBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNiLEFBQU8sc0JBQUcsQUFBRSxBQUFDO0FBQ2IsQUFBSSxpQkFBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFPLEFBQUMsQUFDL0M7QUFBQztBQUVELEFBQU8sZ0JBQUMsQUFBTSxBQUFDLFVBQUcsQUFBSyxBQUFDLEFBQzFCO0FBQUM7O3VCQUVELEFBQWdCLDZDQUFDLEFBQWlCLFdBQUUsQUFBYztBQUNoRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBaUIsa0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFFaEQsQUFBRSxBQUFDLFlBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNaLEFBQU0sbUJBQUMsQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDOzt1QkFFRCxBQUFpQiwrQ0FBQyxBQUFpQjtBQUNqQyxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFDakQsQUFBRSxBQUFDLFlBQUMsQUFBTyxZQUFLLEFBQVMsQUFBQztBQUFDLEFBQUMsQUFDMUIsQUFBSSxtQ0FBUyxBQUFTLFVBQUMsQUFBSyxNQUFDLEFBQUcsQUFBQyxBQUFDO2dCQUE3QixBQUFJLEFBQUM7O0FBQ1YsQUFBTyxzQkFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBSSxBQUFDLEFBQUMsQUFDMUM7QUFBQztBQUNELEFBQU0sZUFBQyxBQUFPLEFBQUMsQUFDakI7QUFBQzs7dUJBRUQsQUFBZ0IsNkNBQUMsQUFBaUIsV0FBRSxBQUFjO0FBQ2hELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVqRCxBQUFFLEFBQUMsWUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ1osbUJBQU8sQUFBTyxRQUFDLEFBQU0sQUFBQyxBQUFDLEFBQ3pCO0FBQUMsQUFDSDtBQUFDOzt1QkFFRCxBQUFpQiwrQ0FBQyxBQUFpQixXQUFFLEFBQWdCLFVBQUUsQUFBYztBQUNuRSxZQUFJLEFBQVUsYUFBRyxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBUyxBQUFDLEFBQUM7QUFDdkQsQUFBRSxBQUFDLFlBQUMsQUFBVSxlQUFLLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDN0IsQUFBSSxpQkFBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsYUFBRyxBQUFVLGFBQUcsQUFBRSxBQUFDLEFBQzFEO0FBQUM7QUFDRCxBQUFVLG1CQUFDLEFBQUk7QUFDYixBQUFRO0FBQ1IsQUFBTSxBQUNQLEFBQUMsQUFBQyxBQUNMO0FBSmtCO0FBSWpCOzt1QkFFRCxBQUFvQixxREFBQyxBQUFpQjtBQUNwQyxBQUFJLGdDQUFTLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7WUFBN0IsQUFBSSxBQUFDOztBQUNWLFlBQUksQUFBVSxhQUFnQixBQUFFLEFBQUM7QUFDakMsQUFBSyxjQUFDLEFBQVMsVUFBQyxBQUFJLEtBQUMsQUFBSyxNQUFDLEFBQVUsWUFBRSxBQUFJLEtBQUMsQUFBcUIsc0JBQUMsQUFBSSxBQUFDLEFBQUMsQUFBQztBQUN6RSxBQUFLLGNBQUMsQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBVSxZQUFFLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQyxBQUFDO0FBQzlFLEFBQU0sZUFBQyxBQUFVLEFBQUMsQUFDcEI7QUFBQyxBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGljdCwgRGljdCB9IGZyb20gJ0BnbGltbWVyL3V0aWwnO1xuaW1wb3J0IHsgRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cmF0aW9uT3B0aW9ucyB7XG4gIHNpbmdsZXRvbj86IGJvb2xlYW47XG4gIGluc3RhbnRpYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3Rpb24ge1xuICBwcm9wZXJ0eTogc3RyaW5nLFxuICBzb3VyY2U6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5V3JpdGVyIHtcbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3Rvcnk6IGFueSwgb3B0aW9ucz86IFJlZ2lzdHJhdGlvbk9wdGlvbnMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKHNwZWNpZmllcjogc3RyaW5nKTogdm9pZDtcbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZDtcbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdHJ5UmVhZGVyIHtcbiAgcmVnaXN0cmF0aW9uKHNwZWNpZmllcjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRJbmplY3Rpb25zKHNwZWNpZmllcjogc3RyaW5nKTogSW5qZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlBY2Nlc3NvciBleHRlbmRzIFJlZ2lzdHJ5UmVhZGVyLCBSZWdpc3RyeVdyaXRlciB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZWdpc3RyeSBpbXBsZW1lbnRzIFJlZ2lzdHJ5QWNjZXNzb3Ige1xuICBwcml2YXRlIF9yZWdpc3RyYXRpb25zOiBEaWN0PEZhY3Rvcnk8YW55Pj47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRPcHRpb25zOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRJbmplY3Rpb25zOiBEaWN0PEluamVjdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zID0gZGljdDxhbnk+KCk7XG4gICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnMgPSBkaWN0PGFueT4oKTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9ucyA9IGRpY3Q8SW5qZWN0aW9uW10+KCk7XG4gIH1cblxuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXSA9IGZhY3Rvcnk7XG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdHJhdGlvbihzcGVjaWZpZXI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXTtcbiAgfVxuXG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgcmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICBvcHRpb25zID0ge307XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG5cbiAgICBvcHRpb25zW29wdGlvbl0gPSB2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMucmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyKTtcblxuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICByZXR1cm4gb3B0aW9uc1tvcHRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyZWRPcHRpb25zKHNwZWNpZmllcjogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgICAgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3R5cGVdO1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIHVucmVnaXN0ZXJPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIGRlbGV0ZSBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJJbmplY3Rpb24oc3BlY2lmaWVyOiBzdHJpbmcsIHByb3BlcnR5OiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IGluamVjdGlvbnMgPSB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdO1xuICAgIGlmIChpbmplY3Rpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0gPSBpbmplY3Rpb25zID0gW107XG4gICAgfVxuICAgIGluamVjdGlvbnMucHVzaCh7XG4gICAgICBwcm9wZXJ0eSxcbiAgICAgIHNvdXJjZVxuICAgIH0pO1xuICB9XG5cbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXSB7XG4gICAgbGV0IFt0eXBlXSA9IHNwZWNpZmllci5zcGxpdCgnOicpO1xuICAgIGxldCBpbmplY3Rpb25zOiBJbmplY3Rpb25bXSA9IFtdO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3R5cGVdKTtcbiAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpbmplY3Rpb25zLCB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9uc1tzcGVjaWZpZXJdKTtcbiAgICByZXR1cm4gaW5qZWN0aW9ucztcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUNFOzs7QUFDRSxBQUFJLGFBQUMsQUFBYyxpQkFBRyxBQUFFLEFBQUM7QUFDekIsQUFBSSxhQUFDLEFBQWtCLHFCQUFHLEFBQUUsQUFBQztBQUM3QixBQUFJLGFBQUMsQUFBcUIsd0JBQUcsQUFBRSxBQUFDLEFBQ2xDO0FBQUM7O3VCQUVELEFBQVEsNkJBQUMsQUFBaUIsV0FBRSxBQUF5QyxtQkFBRSxBQUE2QjtBQUNsRyxBQUFJLGFBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxhQUFHLEFBQWlCLEFBQUM7QUFDbkQsQUFBRSxBQUFDLFlBQUMsQUFBTyxBQUFDLFNBQUMsQUFBQztBQUNaLEFBQUksaUJBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLGFBQUcsQUFBTyxBQUFDLEFBQy9DO0FBQUMsQUFDSDtBQUFDOzt1QkFFRCxBQUFZLHFDQUFDLEFBQWlCO0FBQzVCLEFBQU0sZUFBQyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDLEFBQ3hDO0FBQUM7O3VCQUVELEFBQVUsaUNBQUMsQUFBaUI7QUFDMUIsZUFBTyxBQUFJLEtBQUMsQUFBYyxlQUFDLEFBQVMsQUFBQyxBQUFDO0FBQ3RDLGVBQU8sQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDO0FBQzFDLGVBQU8sQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQy9DO0FBQUM7O3VCQUVELEFBQWMseUNBQUMsQUFBaUIsV0FBRSxBQUFjLFFBQUUsQUFBVTtBQUMxRCxZQUFJLEFBQU8sVUFBRyxBQUFJLEtBQUMsQUFBa0IsbUJBQUMsQUFBUyxBQUFDLEFBQUM7QUFFakQsQUFBRSxBQUFDLFlBQUMsQ0FBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ2IsQUFBTyxzQkFBRyxBQUFFLEFBQUM7QUFDYixBQUFJLGlCQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxhQUFHLEFBQU8sQUFBQyxBQUMvQztBQUFDO0FBRUQsQUFBTyxnQkFBQyxBQUFNLEFBQUMsVUFBRyxBQUFLLEFBQUMsQUFDMUI7QUFBQzs7dUJBRUQsQUFBZ0IsNkNBQUMsQUFBaUIsV0FBRSxBQUFjO0FBQ2hELFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFpQixrQkFBQyxBQUFTLEFBQUMsQUFBQztBQUVoRCxBQUFFLEFBQUMsWUFBQyxBQUFPLEFBQUMsU0FBQyxBQUFDO0FBQ1osQUFBTSxtQkFBQyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekI7QUFBQyxBQUNIO0FBQUM7O3VCQUVELEFBQWlCLCtDQUFDLEFBQWlCO0FBQ2pDLFlBQUksQUFBTyxVQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFTLEFBQUMsQUFBQztBQUNqRCxBQUFFLEFBQUMsWUFBQyxBQUFPLFlBQUssQUFBUyxBQUFDO0FBQUMsQUFBQyxBQUMxQixBQUFJLG1DQUFTLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7Z0JBQTdCLEFBQUksQUFBQzs7QUFDVixBQUFPLHNCQUFHLEFBQUksS0FBQyxBQUFrQixtQkFBQyxBQUFJLEFBQUMsQUFBQyxBQUMxQztBQUFDO0FBQ0QsQUFBTSxlQUFDLEFBQU8sQUFBQyxBQUNqQjtBQUFDOzt1QkFFRCxBQUFnQiw2Q0FBQyxBQUFpQixXQUFFLEFBQWM7QUFDaEQsWUFBSSxBQUFPLFVBQUcsQUFBSSxLQUFDLEFBQWtCLG1CQUFDLEFBQVMsQUFBQyxBQUFDO0FBRWpELEFBQUUsQUFBQyxZQUFDLEFBQU8sQUFBQyxTQUFDLEFBQUM7QUFDWixtQkFBTyxBQUFPLFFBQUMsQUFBTSxBQUFDLEFBQUMsQUFDekI7QUFBQyxBQUNIO0FBQUM7O3VCQUVELEFBQWlCLCtDQUFDLEFBQWlCLFdBQUUsQUFBZ0IsVUFBRSxBQUFjO0FBQ25FLFlBQUksQUFBVSxhQUFHLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFTLEFBQUMsQUFBQztBQUN2RCxBQUFFLEFBQUMsWUFBQyxBQUFVLGVBQUssQUFBUyxBQUFDLFdBQUMsQUFBQztBQUM3QixBQUFJLGlCQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxhQUFHLEFBQVUsYUFBRyxBQUFFLEFBQUMsQUFDMUQ7QUFBQztBQUNELEFBQVUsbUJBQUMsQUFBSTtBQUNiLEFBQVE7QUFDUixBQUFNLEFBQ1AsQUFBQyxBQUFDLEFBQ0w7QUFKa0I7QUFJakI7O3VCQUVELEFBQW9CLHFEQUFDLEFBQWlCO0FBQ3BDLEFBQUksZ0NBQVMsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztZQUE3QixBQUFJLEFBQUM7O0FBQ1YsWUFBSSxBQUFVLGFBQWdCLEFBQUUsQUFBQztBQUNqQyxBQUFLLGNBQUMsQUFBUyxVQUFDLEFBQUksS0FBQyxBQUFLLE1BQUMsQUFBVSxZQUFFLEFBQUksS0FBQyxBQUFxQixzQkFBQyxBQUFJLEFBQUMsQUFBQyxBQUFDO0FBQ3pFLEFBQUssY0FBQyxBQUFTLFVBQUMsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFVLFlBQUUsQUFBSSxLQUFDLEFBQXFCLHNCQUFDLEFBQVMsQUFBQyxBQUFDLEFBQUM7QUFDOUUsQUFBTSxlQUFDLEFBQVUsQUFBQyxBQUNwQjtBQUFDLEFBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0IH0gZnJvbSAnLi9kaWN0JztcbmltcG9ydCB7IEZhY3RvcnksIEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYXRpb25PcHRpb25zIHtcbiAgc2luZ2xldG9uPzogYm9vbGVhbjtcbiAgaW5zdGFudGlhdGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdGlvbiB7XG4gIHByb3BlcnR5OiBzdHJpbmcsXG4gIHNvdXJjZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlXcml0ZXIge1xuICByZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZywgZmFjdG9yeTogYW55LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQ7XG4gIHVucmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkO1xuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkO1xuICB1bnJlZ2lzdGVyT3B0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBvcHRpb246IHN0cmluZyk6IHZvaWQ7XG4gIHJlZ2lzdGVySW5qZWN0aW9uKHNwZWNpZmllcjogc3RyaW5nLCBwcm9wZXJ0eTogc3RyaW5nLCBzb3VyY2U6IHN0cmluZyk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlSZWFkZXIge1xuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG4gIHJlZ2lzdGVyZWRPcHRpb24oc3BlY2lmaWVyOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKTogYW55O1xuICByZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IGFueTtcbiAgcmVnaXN0ZXJlZEluamVjdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBJbmplY3Rpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUFjY2Vzc29yIGV4dGVuZHMgUmVnaXN0cnlSZWFkZXIsIFJlZ2lzdHJ5V3JpdGVyIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlZ2lzdHJ5IGltcGxlbWVudHMgUmVnaXN0cnlBY2Nlc3NvciB7XG4gIHByaXZhdGUgX3JlZ2lzdHJhdGlvbnM6IERpY3Q8RmFjdG9yeURlZmluaXRpb248YW55Pj47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRPcHRpb25zOiBEaWN0PGFueT47XG4gIHByaXZhdGUgX3JlZ2lzdGVyZWRJbmplY3Rpb25zOiBEaWN0PEluamVjdGlvbltdPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZWdpc3RyYXRpb25zID0ge307XG4gICAgdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnMgPSB7fTtcbiAgICB0aGlzLl9yZWdpc3RlcmVkSW5qZWN0aW9ucyA9IHt9O1xuICB9XG5cbiAgcmVnaXN0ZXIoc3BlY2lmaWVyOiBzdHJpbmcsIGZhY3RvcnlEZWZpbml0aW9uOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+LCBvcHRpb25zPzogUmVnaXN0cmF0aW9uT3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMuX3JlZ2lzdHJhdGlvbnNbc3BlY2lmaWVyXSA9IGZhY3RvcnlEZWZpbml0aW9uO1xuICAgIGlmIChvcHRpb25zKSB7XG4gICAgICB0aGlzLl9yZWdpc3RlcmVkT3B0aW9uc1tzcGVjaWZpZXJdID0gb3B0aW9ucztcbiAgICB9XG4gIH1cblxuICByZWdpc3RyYXRpb24oc3BlY2lmaWVyOiBzdHJpbmcpOiBGYWN0b3J5RGVmaW5pdGlvbjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVnaXN0cmF0aW9uc1tzcGVjaWZpZXJdO1xuICB9XG5cbiAgdW5yZWdpc3RlcihzcGVjaWZpZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLl9yZWdpc3RyYXRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG4gICAgZGVsZXRlIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gIH1cblxuICByZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcsIHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl0gPSBvcHRpb25zO1xuICAgIH1cblxuICAgIG9wdGlvbnNbb3B0aW9uXSA9IHZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5yZWdpc3RlcmVkT3B0aW9ucyhzcGVjaWZpZXIpO1xuXG4gICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgIHJldHVybiBvcHRpb25zW29wdGlvbl07XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJlZE9wdGlvbnMoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbc3BlY2lmaWVyXTtcbiAgICBpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgICBvcHRpb25zID0gdGhpcy5fcmVnaXN0ZXJlZE9wdGlvbnNbdHlwZV07XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgdW5yZWdpc3Rlck9wdGlvbihzcGVjaWZpZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgb3B0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRPcHRpb25zW3NwZWNpZmllcl07XG5cbiAgICBpZiAob3B0aW9ucykge1xuICAgICAgZGVsZXRlIG9wdGlvbnNbb3B0aW9uXTtcbiAgICB9XG4gIH1cblxuICByZWdpc3RlckluamVjdGlvbihzcGVjaWZpZXI6IHN0cmluZywgcHJvcGVydHk6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgaW5qZWN0aW9ucyA9IHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl07XG4gICAgaWYgKGluamVjdGlvbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbc3BlY2lmaWVyXSA9IGluamVjdGlvbnMgPSBbXTtcbiAgICB9XG4gICAgaW5qZWN0aW9ucy5wdXNoKHtcbiAgICAgIHByb3BlcnR5LFxuICAgICAgc291cmNlXG4gICAgfSk7XG4gIH1cblxuICByZWdpc3RlcmVkSW5qZWN0aW9ucyhzcGVjaWZpZXI6IHN0cmluZyk6IEluamVjdGlvbltdIHtcbiAgICBsZXQgW3R5cGVdID0gc3BlY2lmaWVyLnNwbGl0KCc6Jyk7XG4gICAgbGV0IGluamVjdGlvbnM6IEluamVjdGlvbltdID0gW107XG4gICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaW5qZWN0aW9ucywgdGhpcy5fcmVnaXN0ZXJlZEluamVjdGlvbnNbdHlwZV0pO1xuICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGluamVjdGlvbnMsIHRoaXMuX3JlZ2lzdGVyZWRJbmplY3Rpb25zW3NwZWNpZmllcl0pO1xuICAgIHJldHVybiBpbmplY3Rpb25zO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZXIge1xuICBpZGVudGlmeShzcGVjaWZpZXI6IHN0cmluZywgcmVmZXJyZXI/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgcmV0cmlldmUoc3BlY2lmaWVyOiBzdHJpbmcpOiBhbnk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhY3RvcnlEZWZpbml0aW9uIH0gZnJvbSAnLi9mYWN0b3J5JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlciB7XG4gIGlkZW50aWZ5KHNwZWNpZmllcjogc3RyaW5nLCByZWZlcnJlcj86IHN0cmluZyk6IHN0cmluZztcblxuICByZXRyaWV2ZShzcGVjaWZpZXI6IHN0cmluZyk6IEZhY3RvcnlEZWZpbml0aW9uPGFueT47XG59XG4iXX0=

@@ -69,2 +69,2 @@ export function isSpecifierStringAbsolute(specifier) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxBQUFNLDBDQUFvQyxBQUFpQjtBQUN6RCxBQUFJLDJCQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7UUFBbkMsQUFBSTtRQUFFLEFBQUksQUFBQzs7QUFDaEIsQUFBTSxXQUFDLENBQUMsQUFBQyxFQUFDLEFBQUksUUFBSSxBQUFJLFFBQUksQUFBSSxLQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsU0FBSyxBQUFDLEtBQUksQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEFBQUMsQUFDbkY7QUFBQztBQUVELEFBQU0sMENBQW9DLEFBQW9CO0FBQzVELEFBQU0sV0FBQyxBQUFTLFVBQUMsQUFBUSxhQUFLLEFBQVMsYUFDaEMsQUFBUyxVQUFDLEFBQVUsZUFBSyxBQUFTLGFBQ2xDLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxhQUM1QixBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsQUFBQyxBQUN0QztBQUFDO0FBRUQsQUFBTSxtQ0FBNkIsQUFBb0I7QUFDckQsUUFBSSxBQUFJLE9BQUcsQUFBUyxVQUFDLEFBQUksQUFBQztBQUMxQixRQUFJLEFBQUksT0FBRyxBQUFzQix1QkFBQyxBQUFTLEFBQUMsQUFBQztBQUU3QyxBQUFFLEFBQUMsUUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ1QsQUFBTSxlQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCO0FBQUMsQUFBQyxBQUFJLFdBQUMsQUFBQztBQUNOLEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU0sdUNBQWlDLEFBQW9CO0FBQ3pELFFBQUksQUFBSSxPQUFHLEFBQUUsQUFBQztBQUNkLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsVUFBQyxBQUFDO0FBQ3ZCLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ2hDO0FBQUM7QUFDRCxBQUFFLEFBQUMsUUFBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLFlBQUMsQUFBQztBQUN6QixBQUFJLGFBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBQ0QsQUFBRSxBQUFDLFFBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDeEIsQUFBSSxhQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDakM7QUFBQztBQUNELEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ25CLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQUksQUFBQyxBQUFDLEFBQzVCO0FBQUM7QUFFRCxBQUFFLEFBQUMsUUFBQyxBQUFJLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDcEIsWUFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQztBQUM5QixBQUFFLEFBQUMsWUFBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsQUFBQyxZQUFDLEFBQUM7QUFDekMsQUFBUSx1QkFBRyxBQUFHLE1BQUcsQUFBUSxBQUFDLEFBQzVCO0FBQUM7QUFDRCxBQUFNLGVBQUMsQUFBUSxBQUFDLEFBQ2xCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBTSxxQ0FBK0IsQUFBaUI7QUFDcEQsUUFBSSxBQUFHLE1BQWMsQUFBRSxBQUFDO0FBRXhCLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLE9BQUcsQ0FBQyxBQUFDLEFBQUM7QUFBQyxBQUFDLEFBQ2hDLEFBQUksZ0NBQWUsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztZQUFuQyxBQUFJO1lBQUUsQUFBSSxBQUFDOztBQUNoQixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQUksQUFBQztBQUVoQixZQUFJLEFBQVksQUFBQztBQUVqQixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDNUIsQUFBWSwyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN6QyxBQUFHLGdCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUM7QUFDcEMsQUFBRyxnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDO0FBQUMsQUFBQyxBQUFJLGVBQUMsQUFBQztBQUNOLEFBQVksMkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQztBQUFDO0FBRUQsQUFBRSxBQUFDLFlBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsZ0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQztBQUU5QixBQUFFLEFBQUMsZ0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsb0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekM7QUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSSxXQUFDLEFBQUM7QUFDTixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQUcsQUFBQyxBQUNiO0FBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY2lmaWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3NwZWNpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxBQUFNLDBDQUFvQyxBQUFpQjtBQUN6RCxBQUFJLDJCQUFlLEFBQVMsVUFBQyxBQUFLLE1BQUMsQUFBRyxBQUFDLEFBQUM7UUFBbkMsQUFBSTtRQUFFLEFBQUksQUFBQzs7QUFDaEIsQUFBTSxXQUFDLENBQUMsQUFBQyxFQUFDLEFBQUksUUFBSSxBQUFJLFFBQUksQUFBSSxLQUFDLEFBQU8sUUFBQyxBQUFHLEFBQUMsU0FBSyxBQUFDLEtBQUksQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsS0FBQyxBQUFNLFNBQUcsQUFBQyxBQUFDLEFBQUMsQUFDbkY7QUFBQztBQUVELEFBQU0sMENBQW9DLEFBQW9CO0FBQzVELEFBQU0sV0FBQyxBQUFTLFVBQUMsQUFBUSxhQUFLLEFBQVMsYUFDaEMsQUFBUyxVQUFDLEFBQVUsZUFBSyxBQUFTLGFBQ2xDLEFBQVMsVUFBQyxBQUFJLFNBQUssQUFBUyxhQUM1QixBQUFTLFVBQUMsQUFBSSxTQUFLLEFBQVMsQUFBQyxBQUN0QztBQUFDO0FBRUQsQUFBTSxtQ0FBNkIsQUFBb0I7QUFDckQsUUFBSSxBQUFJLE9BQUcsQUFBUyxVQUFDLEFBQUksQUFBQztBQUMxQixRQUFJLEFBQUksT0FBRyxBQUFzQix1QkFBQyxBQUFTLEFBQUMsQUFBQztBQUU3QyxBQUFFLEFBQUMsUUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ1QsQUFBTSxlQUFDLEFBQUksT0FBRyxBQUFHLE1BQUcsQUFBSSxBQUFDLEFBQzNCO0FBQUMsQUFBQyxBQUFJLFdBQUMsQUFBQztBQUNOLEFBQU0sZUFBQyxBQUFJLEFBQUMsQUFDZDtBQUFDLEFBQ0g7QUFBQztBQUVELEFBQU0sdUNBQWlDLEFBQW9CO0FBQ3pELFFBQUksQUFBSSxPQUFHLEFBQUUsQUFBQztBQUNkLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFRLEFBQUMsVUFBQyxBQUFDO0FBQ3ZCLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQVEsQUFBQyxBQUFDLEFBQ2hDO0FBQUM7QUFDRCxBQUFFLEFBQUMsUUFBQyxBQUFTLFVBQUMsQUFBVSxBQUFDLFlBQUMsQUFBQztBQUN6QixBQUFJLGFBQUMsQUFBSSxLQUFDLEFBQVMsVUFBQyxBQUFVLEFBQUMsQUFBQyxBQUNsQztBQUFDO0FBQ0QsQUFBRSxBQUFDLFFBQUMsQUFBUyxVQUFDLEFBQVMsQUFBQyxXQUFDLEFBQUM7QUFDeEIsQUFBSSxhQUFDLEFBQUksS0FBQyxBQUFTLFVBQUMsQUFBUyxBQUFDLEFBQUMsQUFDakM7QUFBQztBQUNELEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFJLEFBQUMsTUFBQyxBQUFDO0FBQ25CLEFBQUksYUFBQyxBQUFJLEtBQUMsQUFBUyxVQUFDLEFBQUksQUFBQyxBQUFDLEFBQzVCO0FBQUM7QUFFRCxBQUFFLEFBQUMsUUFBQyxBQUFJLEtBQUMsQUFBTSxTQUFHLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDcEIsWUFBSSxBQUFRLFdBQUcsQUFBSSxLQUFDLEFBQUksS0FBQyxBQUFHLEFBQUMsQUFBQztBQUM5QixBQUFFLEFBQUMsWUFBQyxBQUF5QiwwQkFBQyxBQUFTLEFBQUMsQUFBQyxZQUFDLEFBQUM7QUFDekMsQUFBUSx1QkFBRyxBQUFHLE1BQUcsQUFBUSxBQUFDLEFBQzVCO0FBQUM7QUFDRCxBQUFNLGVBQUMsQUFBUSxBQUFDLEFBQ2xCO0FBQUMsQUFDSDtBQUFDO0FBRUQsQUFBTSxxQ0FBK0IsQUFBaUI7QUFDcEQsUUFBSSxBQUFHLE1BQWMsQUFBRSxBQUFDO0FBRXhCLEFBQUUsQUFBQyxRQUFDLEFBQVMsVUFBQyxBQUFPLFFBQUMsQUFBRyxBQUFDLE9BQUcsQ0FBQyxBQUFDLEFBQUM7QUFBQyxBQUFDLEFBQ2hDLEFBQUksZ0NBQWUsQUFBUyxVQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztZQUFuQyxBQUFJO1lBQUUsQUFBSSxBQUFDOztBQUNoQixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQUksQUFBQztBQUVoQixZQUFJLEFBQVksQUFBQztBQUVqQixBQUFFLEFBQUMsWUFBQyxBQUFJLEtBQUMsQUFBTyxRQUFDLEFBQUcsQUFBQyxTQUFLLEFBQUMsQUFBQyxHQUFDLEFBQUM7QUFDNUIsQUFBWSwyQkFBRyxBQUFJLEtBQUMsQUFBTSxPQUFDLEFBQUMsQUFBQyxHQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQztBQUN6QyxBQUFHLGdCQUFDLEFBQVEsV0FBRyxBQUFZLGFBQUMsQUFBSyxBQUFFLEFBQUM7QUFDcEMsQUFBRyxnQkFBQyxBQUFVLGFBQUcsQUFBWSxhQUFDLEFBQUssQUFBRSxBQUFDLEFBQ3hDO0FBQUMsQUFBQyxBQUFJLGVBQUMsQUFBQztBQUNOLEFBQVksMkJBQUcsQUFBSSxLQUFDLEFBQUssTUFBQyxBQUFHLEFBQUMsQUFBQyxBQUNqQztBQUFDO0FBRUQsQUFBRSxBQUFDLFlBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsZ0JBQUMsQUFBSSxPQUFHLEFBQVksYUFBQyxBQUFHLEFBQUUsQUFBQztBQUU5QixBQUFFLEFBQUMsZ0JBQUMsQUFBWSxhQUFDLEFBQU0sU0FBRyxBQUFDLEFBQUMsR0FBQyxBQUFDO0FBQzVCLEFBQUcsb0JBQUMsQUFBUyxZQUFHLEFBQVksYUFBQyxBQUFJLEtBQUMsQUFBRyxBQUFDLEFBQUMsQUFDekM7QUFBQyxBQUNIO0FBQUMsQUFFSDtBQUFDLEFBQUMsQUFBSSxXQUFDLEFBQUM7QUFDTixBQUFHLFlBQUMsQUFBSSxPQUFHLEFBQVMsQUFBQyxBQUN2QjtBQUFDO0FBRUQsQUFBTSxXQUFDLEFBQUcsQUFBQyxBQUNiO0FBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNwZWNpZmllciB7XG4gIHJvb3ROYW1lPzogc3RyaW5nO1xuICBjb2xsZWN0aW9uPzogc3RyaW5nO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllclN0cmluZ0Fic29sdXRlKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgcmV0dXJuICEhKHR5cGUgJiYgcGF0aCAmJiBwYXRoLmluZGV4T2YoJy8nKSA9PT0gMCAmJiBwYXRoLnNwbGl0KCcvJykubGVuZ3RoID4gMyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NwZWNpZmllck9iamVjdEFic29sdXRlKHNwZWNpZmllcjogU3BlY2lmaWVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBzcGVjaWZpZXIucm9vdE5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLmNvbGxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLm5hbWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgc3BlY2lmaWVyLnR5cGUgIT09IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZVNwZWNpZmllcihzcGVjaWZpZXI6IFNwZWNpZmllcik6IHN0cmluZyB7XG4gIGxldCB0eXBlID0gc3BlY2lmaWVyLnR5cGU7XG4gIGxldCBwYXRoID0gc2VyaWFsaXplU3BlY2lmaWVyUGF0aChzcGVjaWZpZXIpO1xuXG4gIGlmIChwYXRoKSB7XG4gICAgcmV0dXJuIHR5cGUgKyAnOicgKyBwYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemVTcGVjaWZpZXJQYXRoKHNwZWNpZmllcjogU3BlY2lmaWVyKTogc3RyaW5nIHtcbiAgbGV0IHBhdGggPSBbXTtcbiAgaWYgKHNwZWNpZmllci5yb290TmFtZSkge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIucm9vdE5hbWUpO1xuICB9XG4gIGlmIChzcGVjaWZpZXIuY29sbGVjdGlvbikge1xuICAgIHBhdGgucHVzaChzcGVjaWZpZXIuY29sbGVjdGlvbik7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lc3BhY2UpIHtcbiAgICBwYXRoLnB1c2goc3BlY2lmaWVyLm5hbWVzcGFjZSk7XG4gIH1cbiAgaWYgKHNwZWNpZmllci5uYW1lKSB7XG4gICAgcGF0aC5wdXNoKHNwZWNpZmllci5uYW1lKTtcbiAgfVxuXG4gIGlmIChwYXRoLmxlbmd0aCA+IDApIHtcbiAgICBsZXQgZnVsbFBhdGggPSBwYXRoLmpvaW4oJy8nKTtcbiAgICBpZiAoaXNTcGVjaWZpZXJPYmplY3RBYnNvbHV0ZShzcGVjaWZpZXIpKSB7XG4gICAgICBmdWxsUGF0aCA9ICcvJyArIGZ1bGxQYXRoO1xuICAgIH1cbiAgICByZXR1cm4gZnVsbFBhdGg7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplU3BlY2lmaWVyKHNwZWNpZmllcjogc3RyaW5nKTogU3BlY2lmaWVyIHtcbiAgbGV0IG9iajogU3BlY2lmaWVyID0ge307XG5cbiAgaWYgKHNwZWNpZmllci5pbmRleE9mKCc6JykgPiAtMSkge1xuICAgIGxldCBbdHlwZSwgcGF0aF0gPSBzcGVjaWZpZXIuc3BsaXQoJzonKTtcbiAgICBvYmoudHlwZSA9IHR5cGU7XG5cbiAgICBsZXQgcGF0aFNlZ21lbnRzO1xuXG4gICAgaWYgKHBhdGguaW5kZXhPZignLycpID09PSAwKSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnN1YnN0cigxKS5zcGxpdCgnLycpO1xuICAgICAgb2JqLnJvb3ROYW1lID0gcGF0aFNlZ21lbnRzLnNoaWZ0KCk7XG4gICAgICBvYmouY29sbGVjdGlvbiA9IHBhdGhTZWdtZW50cy5zaGlmdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoU2VnbWVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBvYmoubmFtZSA9IHBhdGhTZWdtZW50cy5wb3AoKTtcblxuICAgICAgaWYgKHBhdGhTZWdtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG9iai5uYW1lc3BhY2UgPSBwYXRoU2VnbWVudHMuam9pbignLycpO1xuICAgICAgfVxuICAgIH1cblxuICB9IGVsc2Uge1xuICAgIG9iai50eXBlID0gc3BlY2lmaWVyO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cbiJdfQ==

@@ -8,8 +8,9 @@ import { Factory } from './factory';

private _lookups;
private _factoryLookups;
private _factoryDefinitionLookups;
constructor(registry: RegistryReader, resolver?: Resolver);
factoryFor(specifier: string): Factory<any>;
lookup(specifier: string): any;
defaultInjections(specifier: string): Object;
buildInjections(specifier: string): Object;
private defaultInjections(specifier);
private buildInjections(specifier);
private buildFactory(specifier, factoryDefinition);
}

@@ -0,3 +1,7 @@

export interface FactoryDefinition<T> {
create(injections?: Object): T;
}
export interface Factory<T> {
class: FactoryDefinition<T>;
create(injections?: Object): T;
}
export { default as Container } from './container';
export { Factory } from './factory';
export * from './dict';
export * from './factory';
export { RegistryReader, RegistryWriter, RegistryAccessor, default as Registry, Injection, RegistrationOptions } from './registry';

@@ -4,0 +5,0 @@ export { Resolver } from './resolver';

@@ -0,1 +1,2 @@

import { FactoryDefinition } from './factory';
export interface RegistrationOptions {

@@ -29,4 +30,4 @@ singleton?: boolean;

constructor();
register(specifier: string, factory: any, options?: RegistrationOptions): void;
registration(specifier: string): any;
register(specifier: string, factoryDefinition: FactoryDefinition<any>, options?: RegistrationOptions): void;
registration(specifier: string): FactoryDefinition<any>;
unregister(specifier: string): void;

@@ -33,0 +34,0 @@ registerOption(specifier: string, option: string, value: any): void;

@@ -0,4 +1,5 @@

import { FactoryDefinition } from './factory';
export interface Resolver {
identify(specifier: string, referrer?: string): string;
retrieve(specifier: string): any;
retrieve(specifier: string): FactoryDefinition<any>;
}
{
"name": "@glimmer/di",
"version": "0.1.8",
"version": "0.1.9",
"description": "Dependency injection support for Glimmer applications.",

@@ -20,5 +20,2 @@ "contributors": [

},
"dependencies": {
"@glimmer/util": "^0.21.0"
},
"devDependencies": {

@@ -25,0 +22,0 @@ "@glimmer/build": "^0.2.1",

@@ -1,5 +0,5 @@

import { Factory } from './factory';
import { Factory, FactoryDefinition } from './factory';
import { RegistryReader, Injection } from './registry';
import { Resolver } from './resolver';
import { dict, Dict } from '@glimmer/util';
import { Dict } from './dict';

@@ -10,3 +10,3 @@ export default class Container {

private _lookups: Dict<any>;
private _factoryLookups: Dict<any>;
private _factoryDefinitionLookups: Dict<FactoryDefinition<any>>;

@@ -16,24 +16,24 @@ constructor(registry: RegistryReader, resolver: Resolver = null) {

this._resolver = resolver;
this._lookups = dict<any>();
this._factoryLookups = dict<any>();
this._lookups = {};
this._factoryDefinitionLookups = {};
}
factoryFor(specifier: string): Factory<any> {
let factory = this._factoryLookups[specifier];
let factoryDefinition: FactoryDefinition<any> = this._factoryDefinitionLookups[specifier];
if (!factory) {
if (!factoryDefinition) {
if (this._resolver) {
factory = this._resolver.retrieve(specifier);
factoryDefinition = this._resolver.retrieve(specifier);
}
if (!factory) {
factory = this._registry.registration(specifier);
if (!factoryDefinition) {
factoryDefinition = this._registry.registration(specifier);
}
if (factory) {
this._factoryLookups[specifier] = factory;
if (factoryDefinition) {
this._factoryDefinitionLookups[specifier] = factoryDefinition;
}
}
return factory;
return this.buildFactory(specifier, factoryDefinition);
}

@@ -52,9 +52,7 @@

if (this._registry.registeredOption(specifier, 'instantiate') === false) {
return factory;
return factory.class;
}
let injections = this.buildInjections(specifier);
let object = factory.create();
let object = factory.create(injections);
if (singleton && object) {

@@ -67,7 +65,7 @@ this._lookups[specifier] = object;

defaultInjections(specifier: string): Object {
private defaultInjections(specifier: string): Object {
return {};
}
buildInjections(specifier: string): Object {
private buildInjections(specifier: string): Object {
let hash = this.defaultInjections(specifier);

@@ -84,2 +82,15 @@ let injections: Injection[] = this._registry.registeredInjections(specifier);

}
private buildFactory(specifier: string, factoryDefinition: FactoryDefinition<any>): Factory<any> {
let injections = this.buildInjections(specifier);
return {
class: factoryDefinition,
create(options) {
let mergedOptions = Object.assign({}, injections, options);
return factoryDefinition.create(mergedOptions);
}
}
}
}

@@ -0,3 +1,8 @@

export interface FactoryDefinition<T> {
create(injections?: Object): T;
}
export interface Factory<T> {
class: FactoryDefinition<T>;
create(injections?: Object): T;
}
export { default as Container } from './container';
export { Factory } from './factory';
export * from './dict';
export * from './factory';
export {

@@ -4,0 +5,0 @@ RegistryReader,

@@ -1,3 +0,3 @@

import { dict, Dict } from '@glimmer/util';
import { Factory } from './factory';
import { Dict } from './dict';
import { Factory, FactoryDefinition } from './factory';

@@ -32,3 +32,3 @@ export interface RegistrationOptions {

export default class Registry implements RegistryAccessor {
private _registrations: Dict<Factory<any>>;
private _registrations: Dict<FactoryDefinition<any>>;
private _registeredOptions: Dict<any>;

@@ -38,9 +38,9 @@ private _registeredInjections: Dict<Injection[]>;

constructor() {
this._registrations = dict<any>();
this._registeredOptions = dict<any>();
this._registeredInjections = dict<Injection[]>();
this._registrations = {};
this._registeredOptions = {};
this._registeredInjections = {};
}
register(specifier: string, factory: any, options?: RegistrationOptions): void {
this._registrations[specifier] = factory;
register(specifier: string, factoryDefinition: FactoryDefinition<any>, options?: RegistrationOptions): void {
this._registrations[specifier] = factoryDefinition;
if (options) {

@@ -51,3 +51,3 @@ this._registeredOptions[specifier] = options;

registration(specifier: string): any {
registration(specifier: string): FactoryDefinition<any> {
return this._registrations[specifier];

@@ -54,0 +54,0 @@ }

@@ -0,5 +1,7 @@

import { FactoryDefinition } from './factory';
export interface Resolver {
identify(specifier: string, referrer?: string): string;
retrieve(specifier: string): any;
retrieve(specifier: string): FactoryDefinition<any>;
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc