@carto/kepler.gl 0.0.36 → 0.0.37-alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -134,7 +134,7 @@ var KEPLER_GL_NAME = 'kepler.gl'; // __PACKAGE_VERSION__ is automatically inject
|
|
|
134
134
|
// an empty string which will allow us to retrieve the latest umd version
|
|
135
135
|
|
|
136
136
|
exports.KEPLER_GL_NAME = KEPLER_GL_NAME;
|
|
137
|
-
var KEPLER_GL_VERSION = "0.0.
|
|
137
|
+
var KEPLER_GL_VERSION = "0.0.37-alpha1";
|
|
138
138
|
exports.KEPLER_GL_VERSION = KEPLER_GL_VERSION;
|
|
139
139
|
var KEPLER_GL_WEBSITE = 'http://kepler.gl/';
|
|
140
140
|
exports.KEPLER_GL_WEBSITE = KEPLER_GL_WEBSITE;
|
|
@@ -850,4 +850,4 @@ var MAP_CONTROLS = (0, _keymirror["default"])({
|
|
|
850
850
|
exports.MAP_CONTROLS = MAP_CONTROLS;
|
|
851
851
|
var MASK_LAYER_ID = 'mask_layer';
|
|
852
852
|
exports.MASK_LAYER_ID = MASK_LAYER_ID;
|
|
853
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fUFJFRklYIiwiQ0xPVURGUk9OVCIsIklDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIkRBVEFfVEFCTEVfSUQiLCJERUxFVEVfREFUQV9JRCIsIkFERF9EQVRBX0lEIiwiRVhQT1JUX0lNQUdFX0lEIiwiRVhQT1JUX0RBVEFfSUQiLCJBRERfTUFQX1NUWUxFX0lEIiwiRVhQT1JUX01BUF9JRCIsIlNBVkVfTUFQX0lEIiwiT1ZFUldSSVRFX01BUF9JRCIsIlNIQVJFX01BUF9JRCIsIktFUExFUl9HTF9OQU1FIiwiS0VQTEVSX0dMX1ZFUlNJT04iLCJLRVBMRVJfR0xfV0VCU0lURSIsIkRJTUVOU0lPTlMiLCJzaWRlUGFuZWwiLCJ3aWR0aCIsIm1hcmdpbiIsInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCIsImhlYWRlckhlaWdodCIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiVEhFTUUiLCJsaWdodCIsImRhcmsiLCJiYXNlIiwiU0lERUJBUl9QQU5FTFMiLCJpZCIsImxhYmVsIiwiaWNvbkNvbXBvbmVudCIsIkxheWVycyIsIm9uQ2xpY2siLCJGaWx0ZXJGdW5uZWwiLCJDdXJzb3JDbGljayIsIlNldHRpbmdzIiwiUEFORUxTIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJzbHVnIiwiZmlsdGVyIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsIkdFT0pTT05fRklFTERTIiwiZ2VvanNvbiIsIklDT05fRklFTERTIiwiVFJJUF9QT0lOVF9GSUVMRFMiLCJUUklQX0FSQ19GSUVMRFMiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiRklMVEVSX1RZUEVTIiwicmFuZ2UiLCJzZWxlY3QiLCJpbnB1dCIsInRpbWVSYW5nZSIsIm11bHRpU2VsZWN0IiwicG9seWdvbiIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwicG9pbnQiLCJjdXN0b20iLCJTQ0FMRV9GVU5DIiwic2NhbGVMaW5lYXIiLCJzY2FsZVF1YW50aXplIiwic2NhbGVRdWFudGlsZSIsInNjYWxlT3JkaW5hbCIsInNjYWxlU3FydCIsInNjYWxlTG9nIiwic2NhbGVQb2ludCIsInNjYWxlVGhyZXNob2xkIiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsImxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInR5cGUiLCJzY2FsZSIsImZvcm1hdCIsImxlZ2VuZCIsImQiLCJ0b29sdGlwIiwiVE9PTFRJUF9GT1JNQVRfVFlQRVMiLCJOT05FIiwiREVDSU1BTCIsIlBFUkNFTlRBR0UiLCJEQVRFIiwiREFURV9USU1FIiwiQk9PTEVBTiIsIkNIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2N1Iiwia2V5IiwiZnQiLCJsZW5ndGgiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwidHJpcEFyYyIsImJlZ2ludHJpcF9sYXQiLCJkcm9wb2ZmX2xhdCIsInJlcXVlc3RfbGF0IiwiREVGQVVMVF9UT09MVElQX0ZJRUxEUyIsIk5PX1ZBTFVFX0NPTE9SIiwiVU5LTk9XTl9DT0xPUiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJoaWRkZW4iLCJtYXBXIiwibWFwSCIsIk1hdGgiLCJyb3VuZCIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiYXZhaWxhYmxlIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX01PREVTIiwiUkVBRF9PTkxZIiwiRWRpdG9yTW9kZXMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIkVESVRfVkVSVEVYIiwiRURJVE9SX0FWQUlMQUJMRV9MQVlFUlMiLCJMQVlFUl9UWVBFUyIsImhleGFnb24iLCJhcmMiLCJsaW5lIiwiaGV4YWdvbklkIiwiTUFYX0dQVV9GSUxURVJTIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJNQVBfSU5GT19DSEFSQUNURVIiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTE9BRElOR19NRVRIT0RTIiwidXBsb2FkIiwic3RvcmFnZSIsIkRBVEFTRVRfRk9STUFUUyIsInJvdyIsImNzdiIsImtlcGxlcmdsIiwiTUFQX0NPTlRST0xTIiwidmlzaWJsZUxheWVycyIsIm1hcExlZ2VuZCIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJtYXBEcmF3IiwibWFwTG9jYWxlIiwiTUFTS19MQVlFUl9JRCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBVUE7O0FBV0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLGNBQXRCOztBQUNBLElBQU1DLFVBQVUsR0FBRyxpREFBbkI7O0FBQ0EsSUFBTUMsV0FBVyxhQUFNRCxVQUFOLGFBQWpCOztBQUNBLElBQU1FLHNCQUFzQixHQUFHLHdCQUEvQixDLENBRVA7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsV0FBdEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsV0FBVyxHQUFHLFNBQXBCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsYUFBeEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsZ0JBQWdCLEdBQUcsYUFBekI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsV0FBVyxHQUFHLFNBQXBCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBRyxjQUF6QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFB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LEdBSHlCLEVBSXJDRixtQkFBWUcsSUFKeUIsRUFLckNILG1CQUFZSSxTQUx5QixDQUFoQyxDLENBT1A7O0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsQ0FBeEI7O0FBQ0EsSUFBTUMsdUJBQXVCLEdBQUc7QUFDckNoUCxFQUFBQSxLQUFLLEVBQUUsR0FEOEI7QUFFckNtTCxFQUFBQSxNQUFNLEVBQUU7QUFGNkIsQ0FBaEM7O0FBS0EsSUFBTThELGtCQUFrQixHQUFHO0FBQ2hDQyxFQUFBQSxLQUFLLEVBQUUsR0FEeUI7QUFFaENDLEVBQUFBLFdBQVcsRUFBRTtBQUZtQixDQUEzQixDLENBS1A7OztBQUNPLElBQU1DLGVBQWUsR0FBRywyQkFBVTtBQUN2Q0MsRUFBQUEsTUFBTSxFQUFFLElBRCtCO0FBRXZDQyxFQUFBQSxPQUFPLEVBQUU7QUFGOEIsQ0FBVixDQUF4Qjs7QUFLQSxJQUFNQyxlQUFlLEdBQUcsMkJBQVU7QUFDdkNDLEVBQUFBLEdBQUcsRUFBRSxJQURrQztBQUV2Q3ZOLEVBQUFBLE9BQU8sRUFBRSxJQUY4QjtBQUd2Q3dOLEVBQUFBLEdBQUcsRUFBRSxJQUhrQztBQUl2Q0MsRUFBQUEsUUFBUSxFQUFFO0FBSjZCLENBQVYsQ0FBeEI7O0FBT0EsSUFBTUMsWUFBWSxHQUFHLDJCQUFVO0FBQ3BDQyxFQUFBQSxhQUFhLEVBQUUsSUFEcUI7QUFFcENDLEVBQUFBLFNBQVMsRUFBRSxJQUZ5QjtBQUdwQ0MsRUFBQUEsUUFBUSxFQUFFLElBSDBCO0FBSXBDQyxFQUFBQSxRQUFRLEVBQUUsSUFKMEI7QUFLcENDLEVBQUFBLE9BQU8sRUFBRSxJQUwyQjtBQU1wQ0MsRUFBQUEsU0FBUyxFQUFFO0FBTnlCLENBQVYsQ0FBckI7O0FBU0EsSUFBTUMsYUFBYSxHQUFHLFlBQXRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuaW1wb3J0IHtFZGl0b3JNb2Rlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuXG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlTG9nLFxuICBzY2FsZVBvaW50LFxuICBzY2FsZVRocmVzaG9sZFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1xuICBMYXllcnMsXG4gIEZpbHRlckZ1bm5lbCxcbiAgU2V0dGluZ3MsXG4gIEN1cnNvckNsaWNrLFxuICBQaW4sXG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgQ2xpcGJvYXJkLFxuICBDYW5jZWxcbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtnZXRIVE1MTWFwTW9kZVRpbGVVcmx9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdsYXllcnMvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMlxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIGljb25Db21wb25lbnQ6IExheWVycyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ZpbHRlcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5maWx0ZXInLFxuICAgIGljb25Db21wb25lbnQ6IEZpbHRlckZ1bm5lbCxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBpY29uQ29tcG9uZW50OiBDdXJzb3JDbGljayxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBpY29uQ29tcG9uZW50OiBTZXR0aW5ncyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFMgPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllcy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJzNkIGJ1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5YCxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUyA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbCxcbiAgY3VzdG9tOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX0ZVTkMgPSB7XG4gIFtTQ0FMRV9UWVBFUy5saW5lYXJdOiBzY2FsZUxpbmVhcixcbiAgW1NDQUxFX1RZUEVTLnF1YW50aXplXTogc2NhbGVRdWFudGl6ZSxcbiAgW1NDQUxFX1RZUEVTLnF1YW50aWxlXTogc2NhbGVRdWFudGlsZSxcbiAgW1NDQUxFX1RZUEVTLm9yZGluYWxdOiBzY2FsZU9yZGluYWwsXG4gIFtTQ0FMRV9UWVBFUy5zcXJ0XTogc2NhbGVTcXJ0LFxuICBbU0NBTEVfVFlQRVMubG9nXTogc2NhbGVMb2csXG4gIFtTQ0FMRV9UWVBFUy5wb2ludF06IHNjYWxlUG9pbnQsXG4gIFtTQ0FMRV9UWVBFUy5jdXN0b21dOiBzY2FsZVRocmVzaG9sZFxufTtcblxuZXhwb3J0IGNvbnN0IEFMTF9GSUVMRF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGJvb2xlYW46IG51bGwsXG4gIGRhdGU6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGludGVnZXI6IG51bGwsXG4gIHJlYWw6IG51bGwsXG4gIHN0cmluZzogbnVsbCxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufSk7XG5cbi8vIERhdGEgVGFibGVcbmV4cG9ydCBjb25zdCBTT1JUX09SREVSID0ga2V5TWlycm9yKHtcbiAgQVNDRU5ESU5HOiBudWxsLFxuICBERVNDRU5ESU5HOiBudWxsLFxuICBVTlNPUlQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OID0ga2V5TWlycm9yKHtcbiAgU09SVF9BU0M6IG51bGwsXG4gIFNPUlRfREVTOiBudWxsLFxuICBVTlNPUlQ6IG51bGwsXG4gIFBJTjogbnVsbCxcbiAgVU5QSU46IG51bGwsXG4gIENPUFk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OX0xJU1QgPSBbXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfQVNDLFxuICAgIGRpc3BsYXk6ICdTb3J0IEFzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dVcCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkFTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0RFUyxcbiAgICBkaXNwbGF5OiAnU29ydCBEZXNjZW5kaW5nJyxcbiAgICBpY29uOiBBcnJvd0Rvd24sXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNTb3J0ZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uUElOLCBkaXNwbGF5OiAnUGluIENvbHVtbicsIGljb246IFBpbiwgY29uZGl0aW9uOiBwcm9wcyA9PiAhcHJvcHMuaXNQaW5uZWR9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlBJTixcbiAgICBkaXNwbGF5OiAnVW5waW4gQ29sdW1uJyxcbiAgICBpY29uOiBDYW5jZWwsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1Bpbm5lZFxuICB9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5DT1BZLCBkaXNwbGF5OiAnQ29weSBDb2x1bW4nLCBpY29uOiBDbGlwYm9hcmR9XG5dO1xuXG5jb25zdCBPUkFOR0UgPSAnMjQ4LCAxOTQsIDI4JztcbmNvbnN0IFBJTksgPSAnMjMxLCAxODksIDE5NCc7XG5jb25zdCBQVVJQTEUgPSAnMTYwLCAxMDYsIDIwNic7XG5jb25zdCBCTFVFID0gJzE0MCwgMjEwLCAyMDUnO1xuY29uc3QgQkxVRTIgPSAnMTA2LCAxNjAsIDIwNic7XG5jb25zdCBCTFVFMyA9ICcwLCAxNzIsIDIzNyc7XG5jb25zdCBHUkVFTiA9ICcxMDYsIDE2MCwgNTYnO1xuY29uc3QgUkVEID0gJzIzNywgODgsIDEwNic7XG5cbmV4cG9ydCBjb25zdCBGSUxFRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIGxhYmVsOiAnaW50JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICBsYWJlbDogJ2Zsb2F0JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIGxhYmVsOiAnc3RyaW5nJyxcbiAgICBjb2xvcjogQkxVRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICBsYWJlbDogJ3RpbWUnLFxuICAgIGNvbG9yOiBHUkVFTlxuICB9LFxuICAvLyBmaWVsZCBwYWlyc1xuICBbQUxMX0ZJRUxEX1RZUEVTLnBvaW50XToge1xuICAgIGxhYmVsOiAncG9pbnQnLFxuICAgIGNvbG9yOiBCTFVFM1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRklFTERfQ09MT1JTID0ge1xuICBkZWZhdWx0OiBSRURcbn07XG5leHBvcnQgY29uc3QgSElHSExJR0hfQ09MT1JfM0QgPSBbMjU1LCAyNTUsIDI1NSwgNjBdO1xuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHJhZGl1czogbnVsbCxcbiAgc2l6ZTogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFUyA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJ1xufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXVxuICB9LFxuXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIC8vIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbCwgU0NBTEVfVFlQRVMubGluZWFyXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubW9kZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRVbmlxdWVdOiBbXG4gICAgICBTQ0FMRV9UWVBFUy5xdWFudGl6ZSxcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aWxlLFxuICAgICAgU0NBTEVfVFlQRVMuY3VzdG9tXG4gICAgXVxuICB9LFxuXG4gIC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgeWV0XG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUyA9IFtdO1xuXG5leHBvcnQgY29uc3QgTk9fVkFMVUVfQ09MT1IgPSBbMCwgMCwgMCwgMF07XG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUiA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gICAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG4gIH0sXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gICAgfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gICAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogUkVTT0xVVElPTlMuT05FX1gsXG4gICAgbGFiZWw6ICcxeCcsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHNjYWxlOiAxLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IHNjcmVlbkhcbiAgICB9KVxuICB9LFxuICB7XG4gICAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICAgIGxhYmVsOiAnMngnLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICBzY2FsZTogMixcbiAgICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICBhdmFpbGFibGU6IHRydWVcbn0pKTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG59KSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAyNTAwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTID0gW1xuICBMQVlFUl9UWVBFUy5wb2ludCxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbixcbiAgTEFZRVJfVFlQRVMuYXJjLFxuICBMQVlFUl9UWVBFUy5saW5lLFxuICBMQVlFUl9UWVBFUy5oZXhhZ29uSWRcbl07XG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE1BU0tfTEFZRVJfSUQgPSAnbWFza19sYXllcic7XG4iXX0=
|
|
853
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5qcyJdLCJuYW1lcyI6WyJBQ1RJT05fUFJFRklYIiwiQ0xPVURGUk9OVCIsIklDT05fUFJFRklYIiwiREVGQVVMVF9NQVBCT1hfQVBJX1VSTCIsIkRBVEFfVEFCTEVfSUQiLCJERUxFVEVfREFUQV9JRCIsIkFERF9EQVRBX0lEIiwiRVhQT1JUX0lNQUdFX0lEIiwiRVhQT1JUX0RBVEFfSUQiLCJBRERfTUFQX1NUWUxFX0lEIiwiRVhQT1JUX01BUF9JRCIsIlNBVkVfTUFQX0lEIiwiT1ZFUldSSVRFX01BUF9JRCIsIlNIQVJFX01BUF9JRCIsIktFUExFUl9HTF9OQU1FIiwiS0VQTEVSX0dMX1ZFUlNJT04iLCJLRVBMRVJfR0xfV0VCU0lURSIsIkRJTUVOU0lPTlMiLCJzaWRlUGFuZWwiLCJ3aWR0aCIsIm1hcmdpbiIsInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCIsImhlYWRlckhlaWdodCIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiVEhFTUUiLCJsaWdodCIsImRhcmsiLCJiYXNlIiwiU0lERUJBUl9QQU5FTFMiLCJpZCIsImxhYmVsIiwiaWNvbkNvbXBvbmVudCIsIkxheWVycyIsIm9uQ2xpY2siLCJGaWx0ZXJGdW5uZWwiLCJDdXJzb3JDbGljayIsIlNldHRpbmdzIiwiUEFORUxTIiwiREVGQVVMVF9MQVlFUl9HUk9VUFMiLCJzbHVnIiwiZmlsdGVyIiwibWF0Y2giLCJkZWZhdWx0VmlzaWJpbGl0eSIsIkRFRkFVTFRfTUFQX1NUWUxFUyIsInVybCIsImljb24iLCJsYXllckdyb3VwcyIsIkdFT0pTT05fRklFTERTIiwiZ2VvanNvbiIsIklDT05fRklFTERTIiwiVFJJUF9QT0lOVF9GSUVMRFMiLCJUUklQX0FSQ19GSUVMRFMiLCJsYXQwIiwibG5nMCIsImxhdDEiLCJsbmcxIiwiRklMVEVSX1RZUEVTIiwicmFuZ2UiLCJzZWxlY3QiLCJpbnB1dCIsInRpbWVSYW5nZSIsIm11bHRpU2VsZWN0IiwicG9seWdvbiIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsInF1YW50aWxlIiwicXVhbnRpemUiLCJsaW5lYXIiLCJzcXJ0IiwibG9nIiwicG9pbnQiLCJjdXN0b20iLCJTQ0FMRV9GVU5DIiwic2NhbGVMaW5lYXIiLCJzY2FsZVF1YW50aXplIiwic2NhbGVRdWFudGlsZSIsInNjYWxlT3JkaW5hbCIsInNjYWxlU3FydCIsInNjYWxlTG9nIiwic2NhbGVQb2ludCIsInNjYWxlVGhyZXNob2xkIiwiQUxMX0ZJRUxEX1RZUEVTIiwiZGF0ZSIsImludGVnZXIiLCJyZWFsIiwic3RyaW5nIiwidGltZXN0YW1wIiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIkRFU0NFTkRJTkciLCJVTlNPUlQiLCJUQUJMRV9PUFRJT04iLCJTT1JUX0FTQyIsIlNPUlRfREVTIiwiUElOIiwiVU5QSU4iLCJDT1BZIiwiVEFCTEVfT1BUSU9OX0xJU1QiLCJ2YWx1ZSIsImRpc3BsYXkiLCJBcnJvd1VwIiwiY29uZGl0aW9uIiwicHJvcHMiLCJzb3J0TW9kZSIsIkFycm93RG93biIsIkNhbmNlbCIsImlzU29ydGVkIiwiUGluIiwiaXNQaW5uZWQiLCJDbGlwYm9hcmQiLCJPUkFOR0UiLCJQSU5LIiwiUFVSUExFIiwiQkxVRSIsIkJMVUUyIiwiQkxVRTMiLCJHUkVFTiIsIlJFRCIsIkZJTEVEX1RZUEVfRElTUExBWSIsImNvbG9yIiwiRklFTERfQ09MT1JTIiwiSElHSExJR0hfQ09MT1JfM0QiLCJDSEFOTkVMX1NDQUxFUyIsInJhZGl1cyIsInNpemUiLCJjb2xvckFnZ3IiLCJzaXplQWdnciIsIkFHR1JFR0FUSU9OX1RZUEVTIiwiY291bnQiLCJhdmVyYWdlIiwibWF4aW11bSIsIm1pbmltdW0iLCJtZWRpYW4iLCJzdGRldiIsInN1bSIsInZhcmlhbmNlIiwibW9kZSIsImNvdW50VW5pcXVlIiwibGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyIsImxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zIiwib3JkaW5hbEZpZWxkU2NhbGVGdW5jdGlvbnMiLCJvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMiLCJub3RTdXBwb3J0ZWRTY2FsZU9wdHMiLCJub3RTdXBwb3J0QWdnck9wdHMiLCJERUZBVUxUX0FHR1JFR0FUSU9OIiwiRklFTERfT1BUUyIsInR5cGUiLCJzY2FsZSIsImZvcm1hdCIsImxlZ2VuZCIsImQiLCJ0b29sdGlwIiwiVE9PTFRJUF9GT1JNQVRfVFlQRVMiLCJOT05FIiwiREVDSU1BTCIsIlBFUkNFTlRBR0UiLCJEQVRFIiwiREFURV9USU1FIiwiQk9PTEVBTiIsIkNIQU5ORUxfU0NBTEVfU1VQUE9SVEVEX0ZJRUxEUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2N1Iiwia2V5IiwiZnQiLCJsZW5ndGgiLCJERUZBVUxUX0xBWUVSX0NPTE9SIiwidHJpcEFyYyIsImJlZ2ludHJpcF9sYXQiLCJkcm9wb2ZmX2xhdCIsInJlcXVlc3RfbGF0IiwiREVGQVVMVF9UT09MVElQX0ZJRUxEUyIsIk5PX1ZBTFVFX0NPTE9SIiwiVU5LTk9XTl9DT0xPUiIsIkxBWUVSX0JMRU5ESU5HUyIsImFkZGl0aXZlIiwiYmxlbmRGdW5jIiwiYmxlbmRFcXVhdGlvbiIsIm5vcm1hbCIsInN1YnRyYWN0aXZlIiwiTUFYX0RFRkFVTFRfVE9PTFRJUFMiLCJSRVNPTFVUSU9OUyIsIk9ORV9YIiwiVFdPX1giLCJFWFBPUlRfSU1HX1JBVElPUyIsIlNDUkVFTiIsIkZPVVJfQllfVEhSRUUiLCJTSVhURUVOX0JZX05JTkUiLCJDVVNUT00iLCJFWFBPUlRfSU1HX1JBVElPX09QVElPTlMiLCJnZXRTaXplIiwic2NyZWVuVyIsInNjcmVlbkgiLCJoZWlnaHQiLCJoaWRkZW4iLCJtYXBXIiwibWFwSCIsIk1hdGgiLCJyb3VuZCIsIkVYUE9SVF9JTUdfUkVTT0xVVElPTl9PUFRJT05TIiwiYXZhaWxhYmxlIiwiRVhQT1JUX0RBVEFfVFlQRSIsIkNTViIsIkVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyIsInRvTG93ZXJDYXNlIiwiRVhQT1JUX01BUF9GT1JNQVRTIiwiSFRNTCIsIkpTT04iLCJFWFBPUlRfSFRNTF9NQVBfTU9ERVMiLCJSRUFEIiwiRURJVCIsIkVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMiLCJlbnRyaWVzIiwibWFwIiwiZW50cnkiLCJFWFBPUlRfSFRNTF9NQVBfTU9ERV9PUFRJT05TIiwiREVGQVVMVF9VVUlEX0NPVU5UIiwiREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSIsIkRFRkFVTFRfTk9USUZJQ0FUSU9OX1RZUEVTIiwiaW5mbyIsImVycm9yIiwid2FybmluZyIsInN1Y2Nlc3MiLCJERUZBVUxUX05PVElGSUNBVElPTl9UT1BJQ1MiLCJnbG9iYWwiLCJmaWxlIiwiVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUiLCJCQVNFX1NQRUVEIiwiRlBTIiwiQU5JTUFUSU9OX1dJTkRPVyIsImZyZWUiLCJpbmNyZW1lbnRhbCIsImludGVydmFsIiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJHRU9DT0RFUl9MQVlFUl9JRCIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiR0VPQ09ERVJfSUNPTl9TSVpFIiwiRURJVE9SX01PREVTIiwiUkVBRF9PTkxZIiwiRWRpdG9yTW9kZXMiLCJEUkFXX1BPTFlHT04iLCJEUkFXX1JFQ1RBTkdMRSIsIkVESVRfVkVSVEVYIiwiRURJVE9SX0FWQUlMQUJMRV9MQVlFUlMiLCJMQVlFUl9UWVBFUyIsImhleGFnb24iLCJhcmMiLCJsaW5lIiwiaGV4YWdvbklkIiwiTUFYX0dQVV9GSUxURVJTIiwiTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04iLCJNQVBfSU5GT19DSEFSQUNURVIiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiTE9BRElOR19NRVRIT0RTIiwidXBsb2FkIiwic3RvcmFnZSIsIkRBVEFTRVRfRk9STUFUUyIsInJvdyIsImNzdiIsImtlcGxlcmdsIiwiTUFQX0NPTlRST0xTIiwidmlzaWJsZUxheWVycyIsIm1hcExlZ2VuZCIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJtYXBEcmF3IiwibWFwTG9jYWxlIiwiTUFTS19MQVlFUl9JRCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBVUE7O0FBV0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRU8sSUFBTUEsYUFBYSxHQUFHLGNBQXRCOztBQUNBLElBQU1DLFVBQVUsR0FBRyxpREFBbkI7O0FBQ0EsSUFBTUMsV0FBVyxhQUFNRCxVQUFOLGFBQWpCOztBQUNBLElBQU1FLHNCQUFzQixHQUFHLHdCQUEvQixDLENBRVA7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsV0FBdEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsV0FBVyxHQUFHLFNBQXBCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsYUFBeEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxZQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsZ0JBQWdCLEdBQUcsYUFBekI7QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGFBQWEsR0FBRyxXQUF0QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsV0FBVyxHQUFHLFNBQXBCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxnQkFBZ0IsR0FBRyxjQUF6QjtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFB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LEdBSHlCLEVBSXJDRixtQkFBWUcsSUFKeUIsRUFLckNILG1CQUFZSSxTQUx5QixDQUFoQyxDLENBT1A7O0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxlQUFlLEdBQUcsQ0FBeEI7O0FBQ0EsSUFBTUMsdUJBQXVCLEdBQUc7QUFDckNoUCxFQUFBQSxLQUFLLEVBQUUsR0FEOEI7QUFFckNtTCxFQUFBQSxNQUFNLEVBQUU7QUFGNkIsQ0FBaEM7O0FBS0EsSUFBTThELGtCQUFrQixHQUFHO0FBQ2hDQyxFQUFBQSxLQUFLLEVBQUUsR0FEeUI7QUFFaENDLEVBQUFBLFdBQVcsRUFBRTtBQUZtQixDQUEzQixDLENBS1A7OztBQUNPLElBQU1DLGVBQWUsR0FBRywyQkFBVTtBQUN2Q0MsRUFBQUEsTUFBTSxFQUFFLElBRCtCO0FBRXZDQyxFQUFBQSxPQUFPLEVBQUU7QUFGOEIsQ0FBVixDQUF4Qjs7QUFLQSxJQUFNQyxlQUFlLEdBQUcsMkJBQVU7QUFDdkNDLEVBQUFBLEdBQUcsRUFBRSxJQURrQztBQUV2Q3ZOLEVBQUFBLE9BQU8sRUFBRSxJQUY4QjtBQUd2Q3dOLEVBQUFBLEdBQUcsRUFBRSxJQUhrQztBQUl2Q0MsRUFBQUEsUUFBUSxFQUFFO0FBSjZCLENBQVYsQ0FBeEI7O0FBT0EsSUFBTUMsWUFBWSxHQUFHLDJCQUFVO0FBQ3BDQyxFQUFBQSxhQUFhLEVBQUUsSUFEcUI7QUFFcENDLEVBQUFBLFNBQVMsRUFBRSxJQUZ5QjtBQUdwQ0MsRUFBQUEsUUFBUSxFQUFFLElBSDBCO0FBSXBDQyxFQUFBQSxRQUFRLEVBQUUsSUFKMEI7QUFLcENDLEVBQUFBLE9BQU8sRUFBRSxJQUwyQjtBQU1wQ0MsRUFBQUEsU0FBUyxFQUFFO0FBTnlCLENBQVYsQ0FBckI7O0FBU0EsSUFBTUMsYUFBYSxHQUFHLFlBQXRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuaW1wb3J0IHtFZGl0b3JNb2Rlc30gZnJvbSAncmVhY3QtbWFwLWdsLWRyYXcnO1xuXG5pbXBvcnQge1xuICBzY2FsZUxpbmVhcixcbiAgc2NhbGVRdWFudGl6ZSxcbiAgc2NhbGVRdWFudGlsZSxcbiAgc2NhbGVPcmRpbmFsLFxuICBzY2FsZVNxcnQsXG4gIHNjYWxlTG9nLFxuICBzY2FsZVBvaW50LFxuICBzY2FsZVRocmVzaG9sZFxufSBmcm9tICdkMy1zY2FsZSc7XG5pbXBvcnQge1xuICBMYXllcnMsXG4gIEZpbHRlckZ1bm5lbCxcbiAgU2V0dGluZ3MsXG4gIEN1cnNvckNsaWNrLFxuICBQaW4sXG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgQ2xpcGJvYXJkLFxuICBDYW5jZWxcbn0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtnZXRIVE1MTWFwTW9kZVRpbGVVcmx9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7VE9PTFRJUF9GT1JNQVRfVFlQRVN9IGZyb20gJy4vdG9vbHRpcCc7XG5pbXBvcnQge0xBWUVSX1RZUEVTfSBmcm9tICdsYXllcnMvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1BSRUZJWCA9ICdAQGtlcGxlci5nbC8nO1xuZXhwb3J0IGNvbnN0IENMT1VERlJPTlQgPSAnaHR0cHM6Ly9kMWEzZjRzcGF6enJwNC5jbG91ZGZyb250Lm5ldC9rZXBsZXIuZ2wnO1xuZXhwb3J0IGNvbnN0IElDT05fUFJFRklYID0gYCR7Q0xPVURGUk9OVH0vZ2VvZHVkZWA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBCT1hfQVBJX1VSTCA9ICdodHRwczovL2FwaS5tYXBib3guY29tJztcblxuLy8gTW9kYWwgSWRzXG4vKipcbiAqIE1vZGFsIGlkOiBkYXRhIHRhYmxlXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0lEID0gJ2RhdGFUYWJsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBkZWxldGUgZGF0YXNldCBjb25maXJtIGRpYWxvZ1xuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgREVMRVRFX0RBVEFfSUQgPSAnZGVsZXRlRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX0RBVEFfSUQgPSAnYWRkRGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgaW1hZ2UgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUFHRV9JRCA9ICdleHBvcnRJbWFnZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgZGF0YSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfSUQgPSAnZXhwb3J0RGF0YSc7XG4vKipcbiAqIE1vZGFsIGlkOiBhZGQgY3VzdG9tIG1hcCBzdHlsZSBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgQUREX01BUF9TVFlMRV9JRCA9ICdhZGRNYXBTdHlsZSc7XG4vKipcbiAqIE1vZGFsIGlkOiBleHBvcnQgbWFwIG1vZGFsXG4gKiBAY29uc3RhbnRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBFWFBPUlRfTUFQX0lEID0gJ2V4cG9ydE1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBzYXZlIG1hcCBtb2RhbFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7c3RyaW5nfVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgU0FWRV9NQVBfSUQgPSAnc2F2ZU1hcCc7XG4vKipcbiAqIE1vZGFsIGlkOiBjb25maXJtIHRvIG92ZXJ3cml0ZSBzYXZlZCBtYXBcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IE9WRVJXUklURV9NQVBfSUQgPSAnb3ZlcndyaXRlTWFwJztcbi8qKlxuICogTW9kYWwgaWQ6IHNoYXJlIG1hcCB1cmwgbW9kYWxcbiAqIEBjb25zdGFudFxuICogQHR5cGUge3N0cmluZ31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IFNIQVJFX01BUF9JRCA9ICdzaGFyZU1hcCc7XG5cbmV4cG9ydCBjb25zdCBLRVBMRVJfR0xfTkFNRSA9ICdrZXBsZXIuZ2wnO1xuXG4vLyBfX1BBQ0tBR0VfVkVSU0lPTl9fIGlzIGF1dG9tYXRpY2FsbHkgaW5qZWN0ZWQgYnkgQmFiZWwvV2VicGFjayBkdXJpbmcgdGhlIGJ1aWxkaW5nIHByb2Nlc3Ncbi8vIFNpbmNlIHdlIGFyZSBpbmplY3RpbmcgdGhpcyBkdXJpbmcgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCBiYWJlbFxuLy8gd2hpbGUgZGV2ZWxvcGluZyBWRVJTSU9OIGlzIG5vdCBkZWZpbmVkLCB3ZSBjYXB0dXJlIHRoZSBleGNlcHRpb24gYW5kIHJldHVyblxuLy8gYW4gZW1wdHkgc3RyaW5nIHdoaWNoIHdpbGwgYWxsb3cgdXMgdG8gcmV0cmlldmUgdGhlIGxhdGVzdCB1bWQgdmVyc2lvblxuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9WRVJTSU9OID0gJ19fUEFDS0FHRV9WRVJTSU9OX18nO1xuZXhwb3J0IGNvbnN0IEtFUExFUl9HTF9XRUJTSVRFID0gJ2h0dHA6Ly9rZXBsZXIuZ2wvJztcblxuZXhwb3J0IGNvbnN0IERJTUVOU0lPTlMgPSB7XG4gIHNpZGVQYW5lbDoge1xuICAgIHdpZHRoOiAzMDAsXG4gICAgbWFyZ2luOiB7dG9wOiAyMCwgbGVmdDogMjAsIGJvdHRvbTogMzAsIHJpZ2h0OiAyMH0sXG4gICAgaGVhZGVySGVpZ2h0OiA5NlxuICB9LFxuICBtYXBDb250cm9sOiB7XG4gICAgd2lkdGg6IDE4NCxcbiAgICBwYWRkaW5nOiAxMlxuICB9XG59O1xuXG4vKipcbiAqIFRoZW1lIG5hbWUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgYHByb3AudGhlbWVgLlxuICogQXZhaWxhYmxlIHRoZW1lcyBhcmUgYFRIRU1FLmxpZ2h0YCBhbmQgYFRIRU1FLmRhcmtgLiBEZWZhdWx0IHRoZW1lIGlzIGBUSEVNRS5kYXJrYFxuICogQGNvbnN0YW50XG4gKiBAdHlwZSB7b2JqZWN0fVxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBjb25zdCBNYXAgPSAoKSA9PiA8S2VwbGVyR2wgdGhlbWU9e1RIRU1FLmxpZ2h0fSBpZD1cIm1hcFwiLz5cbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgVEhFTUUgPSBrZXlNaXJyb3Ioe1xuICBsaWdodDogbnVsbCxcbiAgZGFyazogbnVsbCxcbiAgYmFzZTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBTSURFQkFSX1BBTkVMUyA9IFtcbiAge1xuICAgIGlkOiAnbGF5ZXInLFxuICAgIGxhYmVsOiAnc2lkZWJhci5wYW5lbHMubGF5ZXInLFxuICAgIGljb25Db21wb25lbnQ6IExheWVycyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ZpbHRlcicsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5maWx0ZXInLFxuICAgIGljb25Db21wb25lbnQ6IEZpbHRlckZ1bm5lbCxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ2ludGVyYWN0aW9uJyxcbiAgICBsYWJlbDogJ3NpZGViYXIucGFuZWxzLmludGVyYWN0aW9uJyxcbiAgICBpY29uQ29tcG9uZW50OiBDdXJzb3JDbGljayxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH0sXG4gIHtcbiAgICBpZDogJ21hcCcsXG4gICAgbGFiZWw6ICdzaWRlYmFyLnBhbmVscy5iYXNlbWFwJyxcbiAgICBpY29uQ29tcG9uZW50OiBTZXR0aW5ncyxcbiAgICBvbkNsaWNrOiBudWxsXG4gIH1cbl07XG5cbi8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBQQU5FTFMgPSBTSURFQkFSX1BBTkVMUztcblxuLy8gTUFQIFNUWUxFU1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9HUk9VUFMgPSBbXG4gIHtcbiAgICBzbHVnOiAnbGFiZWwnLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC8oPz0obGFiZWx8cGxhY2UtfHBvaS0pKS8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiB0cnVlXG4gIH0sXG4gIHtcbiAgICBzbHVnOiAncm9hZCcsXG4gICAgZmlsdGVyOiAoe2lkfSkgPT4gaWQubWF0Y2goLyg/PShyb2FkfHJhaWx3YXl8dHVubmVsfHN0cmVldHxicmlkZ2UpKSg/IS4qbGFiZWwpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdib3JkZXInLFxuICAgIGZpbHRlcjogKHtpZH0pID0+IGlkLm1hdGNoKC9ib3JkZXJ8Ym91bmRhcmllcy8pLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ2J1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvYnVpbGRpbmcvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJ3dhdGVyJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHdhdGVyfHN0cmVhbXxmZXJyeSkpLyksXG4gICAgZGVmYXVsdFZpc2liaWxpdHk6IHRydWVcbiAgfSxcbiAge1xuICAgIHNsdWc6ICdsYW5kJyxcbiAgICBmaWx0ZXI6ICh7aWR9KSA9PiBpZC5tYXRjaCgvKD89KHBhcmtzfGxhbmRjb3ZlcnxpbmR1c3RyaWFsfHNhbmR8aGlsbHNoYWRlKSkvKSxcbiAgICBkZWZhdWx0VmlzaWJpbGl0eTogdHJ1ZVxuICB9LFxuICB7XG4gICAgc2x1ZzogJzNkIGJ1aWxkaW5nJyxcbiAgICBmaWx0ZXI6ICgpID0+IGZhbHNlLFxuICAgIGRlZmF1bHRWaXNpYmlsaXR5OiBmYWxzZVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfU1RZTEVTID0gW1xuICB7XG4gICAgaWQ6ICdkYXJrJyxcbiAgICBsYWJlbDogJ0RhcmsnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jam9xYmJmNmw5azMwMnNsOTZ0eXZrYTA5JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9EQVJLX1YyLnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ2xpZ2h0JyxcbiAgICBsYWJlbDogJ0xpZ2h0JyxcbiAgICB1cmw6ICdtYXBib3g6Ly9zdHlsZXMvdWJlcmRhdGEvY2pvcWI5ajMzOWsxZjJzbDl0NWljNWJuNCcsXG4gICAgaWNvbjogYCR7SUNPTl9QUkVGSVh9L1VCRVJfTElHSFRfVjIucG5nYCxcbiAgICBsYXllckdyb3VwczogREVGQVVMVF9MQVlFUl9HUk9VUFNcbiAgfSxcbiAge1xuICAgIGlkOiAnbXV0ZWQnLFxuICAgIGxhYmVsOiAnTXV0ZWQgTGlnaHQnLFxuICAgIHVybDogJ21hcGJveDovL3N0eWxlcy91YmVyZGF0YS9jamZ5bDAza3AxdHVsMnNtZjV2MnRiZGQ0JyxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9NVVRFRF9MSUdIVC5wbmdgLFxuICAgIGxheWVyR3JvdXBzOiBERUZBVUxUX0xBWUVSX0dST1VQU1xuICB9LFxuICB7XG4gICAgaWQ6ICdtdXRlZF9uaWdodCcsXG4gICAgbGFiZWw6ICdNdXRlZCBOaWdodCcsXG4gICAgdXJsOiAnbWFwYm94Oi8vc3R5bGVzL3ViZXJkYXRhL2NqZnhobGlrbWFqMWIyc295emV2bnl3Z3MnLFxuICAgIGljb246IGAke0lDT05fUFJFRklYfS9VQkVSX01VVEVEX05JR0hULnBuZ2AsXG4gICAgbGF5ZXJHcm91cHM6IERFRkFVTFRfTEFZRVJfR1JPVVBTXG4gIH0sXG4gIHtcbiAgICBpZDogJ3NhdGVsbGl0ZScsXG4gICAgbGFiZWw6ICdTYXRlbGxpdGUnLFxuICAgIHVybDogYG1hcGJveDovL3N0eWxlcy9tYXBib3gvc2F0ZWxsaXRlLXY5YCxcbiAgICBpY29uOiBgJHtJQ09OX1BSRUZJWH0vVUJFUl9TQVRFTExJVEUucG5nYFxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgR0VPSlNPTl9GSUVMRFMgPSB7XG4gIGdlb2pzb246IFsnX2dlb2pzb24nLCAnYWxsX3BvaW50cycsICdnZW9qc29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBJQ09OX0ZJRUxEUyA9IHtcbiAgaWNvbjogWydpY29uJ11cbn07XG5cbmV4cG9ydCBjb25zdCBUUklQX1BPSU5UX0ZJRUxEUyA9IFtcbiAgWydsYXQnLCAnbG5nJ10sXG4gIFsnbGF0JywgJ2xvbiddLFxuICBbJ2xhdGl0dWRlJywgJ2xvbmdpdHVkZSddXG5dO1xuXG5leHBvcnQgY29uc3QgVFJJUF9BUkNfRklFTERTID0ge1xuICBsYXQwOiAnYmVnaW50cmlwJyxcbiAgbG5nMDogJ2JlZ2ludHJpcCcsXG4gIGxhdDE6ICdkcm9wb2ZmJyxcbiAgbG5nMTogJ2Ryb3BvZmYnXG59O1xuXG5leHBvcnQgY29uc3QgRklMVEVSX1RZUEVTID0ga2V5TWlycm9yKHtcbiAgcmFuZ2U6IG51bGwsXG4gIHNlbGVjdDogbnVsbCxcbiAgaW5wdXQ6IG51bGwsXG4gIHRpbWVSYW5nZTogbnVsbCxcbiAgbXVsdGlTZWxlY3Q6IG51bGwsXG4gIHBvbHlnb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgU0NBTEVfVFlQRVMgPSBrZXlNaXJyb3Ioe1xuICBvcmRpbmFsOiBudWxsLFxuICBxdWFudGlsZTogbnVsbCxcbiAgcXVhbnRpemU6IG51bGwsXG4gIGxpbmVhcjogbnVsbCxcbiAgc3FydDogbnVsbCxcbiAgbG9nOiBudWxsLFxuXG4gIC8vIG9yZGluYWwgZG9tYWluIHRvIGxpbmVhciByYW5nZVxuICBwb2ludDogbnVsbCxcbiAgY3VzdG9tOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IFNDQUxFX0ZVTkMgPSB7XG4gIFtTQ0FMRV9UWVBFUy5saW5lYXJdOiBzY2FsZUxpbmVhcixcbiAgW1NDQUxFX1RZUEVTLnF1YW50aXplXTogc2NhbGVRdWFudGl6ZSxcbiAgW1NDQUxFX1RZUEVTLnF1YW50aWxlXTogc2NhbGVRdWFudGlsZSxcbiAgW1NDQUxFX1RZUEVTLm9yZGluYWxdOiBzY2FsZU9yZGluYWwsXG4gIFtTQ0FMRV9UWVBFUy5zcXJ0XTogc2NhbGVTcXJ0LFxuICBbU0NBTEVfVFlQRVMubG9nXTogc2NhbGVMb2csXG4gIFtTQ0FMRV9UWVBFUy5wb2ludF06IHNjYWxlUG9pbnQsXG4gIFtTQ0FMRV9UWVBFUy5jdXN0b21dOiBzY2FsZVRocmVzaG9sZFxufTtcblxuZXhwb3J0IGNvbnN0IEFMTF9GSUVMRF9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGJvb2xlYW46IG51bGwsXG4gIGRhdGU6IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGludGVnZXI6IG51bGwsXG4gIHJlYWw6IG51bGwsXG4gIHN0cmluZzogbnVsbCxcbiAgdGltZXN0YW1wOiBudWxsLFxuICBwb2ludDogbnVsbFxufSk7XG5cbi8vIERhdGEgVGFibGVcbmV4cG9ydCBjb25zdCBTT1JUX09SREVSID0ga2V5TWlycm9yKHtcbiAgQVNDRU5ESU5HOiBudWxsLFxuICBERVNDRU5ESU5HOiBudWxsLFxuICBVTlNPUlQ6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OID0ga2V5TWlycm9yKHtcbiAgU09SVF9BU0M6IG51bGwsXG4gIFNPUlRfREVTOiBudWxsLFxuICBVTlNPUlQ6IG51bGwsXG4gIFBJTjogbnVsbCxcbiAgVU5QSU46IG51bGwsXG4gIENPUFk6IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgVEFCTEVfT1BUSU9OX0xJU1QgPSBbXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlNPUlRfQVNDLFxuICAgIGRpc3BsYXk6ICdTb3J0IEFzY2VuZGluZycsXG4gICAgaWNvbjogQXJyb3dVcCxcbiAgICBjb25kaXRpb246IHByb3BzID0+IHByb3BzLnNvcnRNb2RlICE9PSBTT1JUX09SREVSLkFTQ0VORElOR1xuICB9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5TT1JUX0RFUyxcbiAgICBkaXNwbGF5OiAnU29ydCBEZXNjZW5kaW5nJyxcbiAgICBpY29uOiBBcnJvd0Rvd24sXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5zb3J0TW9kZSAhPT0gU09SVF9PUkRFUi5ERVNDRU5ESU5HXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogVEFCTEVfT1BUSU9OLlVOU09SVCxcbiAgICBkaXNwbGF5OiAnVW5zb3J0IENvbHVtbicsXG4gICAgaWNvbjogQ2FuY2VsLFxuICAgIGNvbmRpdGlvbjogcHJvcHMgPT4gcHJvcHMuaXNTb3J0ZWRcbiAgfSxcbiAge3ZhbHVlOiBUQUJMRV9PUFRJT04uUElOLCBkaXNwbGF5OiAnUGluIENvbHVtbicsIGljb246IFBpbiwgY29uZGl0aW9uOiBwcm9wcyA9PiAhcHJvcHMuaXNQaW5uZWR9LFxuICB7XG4gICAgdmFsdWU6IFRBQkxFX09QVElPTi5VTlBJTixcbiAgICBkaXNwbGF5OiAnVW5waW4gQ29sdW1uJyxcbiAgICBpY29uOiBDYW5jZWwsXG4gICAgY29uZGl0aW9uOiBwcm9wcyA9PiBwcm9wcy5pc1Bpbm5lZFxuICB9LFxuICB7dmFsdWU6IFRBQkxFX09QVElPTi5DT1BZLCBkaXNwbGF5OiAnQ29weSBDb2x1bW4nLCBpY29uOiBDbGlwYm9hcmR9XG5dO1xuXG5jb25zdCBPUkFOR0UgPSAnMjQ4LCAxOTQsIDI4JztcbmNvbnN0IFBJTksgPSAnMjMxLCAxODksIDE5NCc7XG5jb25zdCBQVVJQTEUgPSAnMTYwLCAxMDYsIDIwNic7XG5jb25zdCBCTFVFID0gJzE0MCwgMjEwLCAyMDUnO1xuY29uc3QgQkxVRTIgPSAnMTA2LCAxNjAsIDIwNic7XG5jb25zdCBCTFVFMyA9ICcwLCAxNzIsIDIzNyc7XG5jb25zdCBHUkVFTiA9ICcxMDYsIDE2MCwgNTYnO1xuY29uc3QgUkVEID0gJzIzNywgODgsIDEwNic7XG5cbmV4cG9ydCBjb25zdCBGSUxFRF9UWVBFX0RJU1BMQVkgPSB7XG4gIFtBTExfRklFTERfVFlQRVMuYm9vbGVhbl06IHtcbiAgICBsYWJlbDogJ2Jvb2wnLFxuICAgIGNvbG9yOiBQSU5LXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuZGF0ZV06IHtcbiAgICBsYWJlbDogJ2RhdGUnLFxuICAgIGNvbG9yOiBQVVJQTEVcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5nZW9qc29uXToge1xuICAgIGxhYmVsOiAnZ2VvJyxcbiAgICBjb2xvcjogQkxVRTJcbiAgfSxcbiAgW0FMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyXToge1xuICAgIGxhYmVsOiAnaW50JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMucmVhbF06IHtcbiAgICBsYWJlbDogJ2Zsb2F0JyxcbiAgICBjb2xvcjogT1JBTkdFXG4gIH0sXG4gIFtBTExfRklFTERfVFlQRVMuc3RyaW5nXToge1xuICAgIGxhYmVsOiAnc3RyaW5nJyxcbiAgICBjb2xvcjogQkxVRVxuICB9LFxuICBbQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcF06IHtcbiAgICBsYWJlbDogJ3RpbWUnLFxuICAgIGNvbG9yOiBHUkVFTlxuICB9LFxuICAvLyBmaWVsZCBwYWlyc1xuICBbQUxMX0ZJRUxEX1RZUEVTLnBvaW50XToge1xuICAgIGxhYmVsOiAncG9pbnQnLFxuICAgIGNvbG9yOiBCTFVFM1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgRklFTERfQ09MT1JTID0ge1xuICBkZWZhdWx0OiBSRURcbn07XG5leHBvcnQgY29uc3QgSElHSExJR0hfQ09MT1JfM0QgPSBbMjU1LCAyNTUsIDI1NSwgNjBdO1xuZXhwb3J0IGNvbnN0IENIQU5ORUxfU0NBTEVTID0ga2V5TWlycm9yKHtcbiAgY29sb3I6IG51bGwsXG4gIHJhZGl1czogbnVsbCxcbiAgc2l6ZTogbnVsbCxcbiAgY29sb3JBZ2dyOiBudWxsLFxuICBzaXplQWdncjogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFUyA9IHtcbiAgLy8gZGVmYXVsdFxuICBjb3VudDogJ2NvdW50JyxcbiAgLy8gbGluZWFyXG4gIGF2ZXJhZ2U6ICdhdmVyYWdlJyxcbiAgbWF4aW11bTogJ21heGltdW0nLFxuICBtaW5pbXVtOiAnbWluaW11bScsXG4gIG1lZGlhbjogJ21lZGlhbicsXG4gIHN0ZGV2OiAnc3RkZXYnLFxuICBzdW06ICdzdW0nLFxuICB2YXJpYW5jZTogJ3ZhcmlhbmNlJyxcbiAgLy8gb3JkaW5hbFxuICBtb2RlOiAnbW9kZScsXG4gIGNvdW50VW5pcXVlOiAnY291bnQgdW5pcXVlJ1xufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMgPSB7XG4gIFtDSEFOTkVMX1NDQUxFUy5jb2xvcl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMuc3FydF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXVxufTtcblxuZXhwb3J0IGNvbnN0IGxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5hdmVyYWdlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWF4aW11bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1pbmltdW1dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5tZWRpYW5dOiBbU0NBTEVfVFlQRVMucXVhbnRpemUsIFNDQUxFX1RZUEVTLnF1YW50aWxlLCBTQ0FMRV9UWVBFUy5jdXN0b21dLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdGRldl06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnN1bV06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV0sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLnZhcmlhbmNlXTogW1NDQUxFX1RZUEVTLnF1YW50aXplLCBTQ0FMRV9UWVBFUy5xdWFudGlsZSwgU0NBTEVfVFlQRVMuY3VzdG9tXVxuICB9LFxuXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuYXZlcmFnZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ10sXG4gICAgW0FHR1JFR0FUSU9OX1RZUEVTLm1heGltdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5taW5pbXVtXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubWVkaWFuXTogW1NDQUxFX1RZUEVTLmxpbmVhciwgU0NBTEVfVFlQRVMuc3FydCwgU0NBTEVfVFlQRVMubG9nXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuc3RkZXZdOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5zdW1dOiBbU0NBTEVfVFlQRVMubGluZWFyLCBTQ0FMRV9UWVBFUy5zcXJ0LCBTQ0FMRV9UWVBFUy5sb2ddLFxuICAgIFtBR0dSRUdBVElPTl9UWVBFUy52YXJpYW5jZV06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbF0sXG4gIFtDSEFOTkVMX1NDQUxFUy5yYWRpdXNdOiBbU0NBTEVfVFlQRVMucG9pbnRdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtTQ0FMRV9UWVBFUy5wb2ludF1cbn07XG5cbmV4cG9ydCBjb25zdCBvcmRpbmFsRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnMgPSB7XG4gIC8vIFtDSEFOTkVMX1NDQUxFUy5jb2xvckFnZ3JdOiBbU0NBTEVfVFlQRVMub3JkaW5hbCwgU0NBTEVfVFlQRVMubGluZWFyXSxcbiAgW0NIQU5ORUxfU0NBTEVTLmNvbG9yQWdncl06IHtcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMubW9kZV06IFtTQ0FMRV9UWVBFUy5vcmRpbmFsXSxcbiAgICBbQUdHUkVHQVRJT05fVFlQRVMuY291bnRVbmlxdWVdOiBbXG4gICAgICBTQ0FMRV9UWVBFUy5xdWFudGl6ZSxcbiAgICAgIFNDQUxFX1RZUEVTLnF1YW50aWxlLFxuICAgICAgU0NBTEVfVFlQRVMuY3VzdG9tXG4gICAgXVxuICB9LFxuXG4gIC8vIEN1cnJlbnRseSBkb2Vzbid0IHN1cHBvcnQgeWV0XG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydGVkU2NhbGVPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JdOiBbXSxcbiAgW0NIQU5ORUxfU0NBTEVTLnJhZGl1c106IFtdLFxuICBbQ0hBTk5FTF9TQ0FMRVMuc2l6ZV06IFtdXG59O1xuXG5leHBvcnQgY29uc3Qgbm90U3VwcG9ydEFnZ3JPcHRzID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge30sXG4gIFtDSEFOTkVMX1NDQUxFUy5zaXplQWdncl06IHt9XG59O1xuXG4vKipcbiAqIERlZmF1bHQgYWdncmVnYXRpb24gYXJlIGJhc2VkIG9uIG9jdW50XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FHR1JFR0FUSU9OID0ge1xuICBbQ0hBTk5FTF9TQ0FMRVMuY29sb3JBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5xdWFudGl6ZSwgU0NBTEVfVFlQRVMucXVhbnRpbGUsIFNDQUxFX1RZUEVTLmN1c3RvbV1cbiAgfSxcbiAgW0NIQU5ORUxfU0NBTEVTLnNpemVBZ2dyXToge1xuICAgIFtBR0dSRUdBVElPTl9UWVBFUy5jb3VudF06IFtTQ0FMRV9UWVBFUy5saW5lYXIsIFNDQUxFX1RZUEVTLnNxcnQsIFNDQUxFX1RZUEVTLmxvZ11cbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgd2hhdCB0eXBlIG9mIHNjYWxlIG9wZXJhdGlvbiBpcyBhbGxvd2VkIG9uIGVhY2ggdHlwZSBvZiBmaWVsZHNcbiAqL1xuZXhwb3J0IGNvbnN0IEZJRUxEX09QVFMgPSB7XG4gIHN0cmluZzoge1xuICAgIHR5cGU6ICdjYXRlZ29yaWNhbCcsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW11cbiAgICB9XG4gIH0sXG4gIHJlYWw6IHtcbiAgICB0eXBlOiAnbnVtZXJpY2FsJyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubGluZWFyRmllbGRTY2FsZUZ1bmN0aW9ucyxcbiAgICAgIC4uLmxpbmVhckZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1xuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5OT05FLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5ERUNJTUFMLFxuICAgICAgICBUT09MVElQX0ZPUk1BVF9UWVBFUy5QRVJDRU5UQUdFXG4gICAgICBdXG4gICAgfVxuICB9LFxuICB0aW1lc3RhbXA6IHtcbiAgICB0eXBlOiAndGltZScsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLmxpbmVhckZpZWxkU2NhbGVGdW5jdGlvbnMsXG4gICAgICAuLi5ub3RTdXBwb3J0QWdnck9wdHNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVfVElNRVxuICAgICAgXVxuICAgIH1cbiAgfSxcbiAgaW50ZWdlcjoge1xuICAgIHR5cGU6ICdudW1lcmljYWwnLFxuICAgIHNjYWxlOiB7XG4gICAgICAuLi5saW5lYXJGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ubGluZWFyRmllbGRBZ2dyU2NhbGVGdW5jdGlvbnNcbiAgICB9LFxuICAgIGZvcm1hdDoge1xuICAgICAgbGVnZW5kOiBkID0+IGQsXG4gICAgICB0b29sdGlwOiBbXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRFQ0lNQUwsXG4gICAgICAgIFRPT0xUSVBfRk9STUFUX1RZUEVTLlBFUkNFTlRBR0VcbiAgICAgIF1cbiAgICB9XG4gIH0sXG4gIGJvb2xlYW46IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkJPT0xFQU5dXG4gICAgfVxuICB9LFxuICBkYXRlOiB7XG4gICAgc2NhbGU6IHtcbiAgICAgIC4uLm9yZGluYWxGaWVsZFNjYWxlRnVuY3Rpb25zLFxuICAgICAgLi4ub3JkaW5hbEZpZWxkQWdnclNjYWxlRnVuY3Rpb25zXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiBkLFxuICAgICAgdG9vbHRpcDogW1RPT0xUSVBfRk9STUFUX1RZUEVTLk5PTkUsIFRPT0xUSVBfRk9STUFUX1RZUEVTLkRBVEVdXG4gICAgfVxuICB9LFxuICBnZW9qc29uOiB7XG4gICAgdHlwZTogJ2dlb21ldHJ5JyxcbiAgICBzY2FsZToge1xuICAgICAgLi4ubm90U3VwcG9ydGVkU2NhbGVPcHRzLFxuICAgICAgLi4ubm90U3VwcG9ydEFnZ3JPcHRzXG4gICAgfSxcbiAgICBmb3JtYXQ6IHtcbiAgICAgIGxlZ2VuZDogZCA9PiAnLi4uJyxcbiAgICAgIHRvb2x0aXA6IFtdXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ0hBTk5FTF9TQ0FMRV9TVVBQT1JURURfRklFTERTID0gT2JqZWN0LmtleXMoQ0hBTk5FTF9TQ0FMRVMpLnJlZHVjZShcbiAgKGFjY3UsIGtleSkgPT4gKHtcbiAgICAuLi5hY2N1LFxuICAgIFtrZXldOiBPYmplY3Qua2V5cyhGSUVMRF9PUFRTKS5maWx0ZXIoZnQgPT4gT2JqZWN0LmtleXMoRklFTERfT1BUU1tmdF0uc2NhbGVba2V5XSkubGVuZ3RoKVxuICB9KSxcbiAge31cbik7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWUVSX0NPTE9SID0ge1xuICB0cmlwQXJjOiAnIzkyMjZDNicsXG4gIGJlZ2ludHJpcF9sYXQ6ICcjMUU5NkJFJyxcbiAgZHJvcG9mZl9sYXQ6ICcjRkY5OTFGJyxcbiAgcmVxdWVzdF9sYXQ6ICcjNTJBMzUzJ1xufTtcblxuLy8gbGV0IHVzZXIgcGFzcyBpbiBkZWZhdWx0IHRvb2x0aXAgZmllbGRzXG5leHBvcnQgY29uc3QgREVGQVVMVF9UT09MVElQX0ZJRUxEUyA9IFtdO1xuXG5leHBvcnQgY29uc3QgTk9fVkFMVUVfQ09MT1IgPSBbMCwgMCwgMCwgMF07XG5leHBvcnQgY29uc3QgVU5LTk9XTl9DT0xPUiA9IFsxMzQsIDE0MSwgMTQ1XTtcblxuZXhwb3J0IGNvbnN0IExBWUVSX0JMRU5ESU5HUyA9IHtcbiAgYWRkaXRpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuYWRkaXRpdmUnLFxuICAgIGJsZW5kRnVuYzogWydTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogJ0ZVTkNfQUREJ1xuICB9LFxuICBub3JtYWw6IHtcbiAgICAvLyByZWZlcmVuY2UgdG9cbiAgICAvLyBodHRwczovL2xpbW51LmNvbS93ZWJnbC1ibGVuZGluZy15b3VyZS1wcm9iYWJseS13cm9uZy9cbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcubm9ybWFsJyxcbiAgICBibGVuZEZ1bmM6IFsnU1JDX0FMUEhBJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnLCAnT05FJywgJ09ORV9NSU5VU19TUkNfQUxQSEEnXSxcbiAgICBibGVuZEVxdWF0aW9uOiBbJ0ZVTkNfQUREJywgJ0ZVTkNfQUREJ11cbiAgfSxcbiAgc3VidHJhY3RpdmU6IHtcbiAgICBsYWJlbDogJ2xheWVyQmxlbmRpbmcuc3VidHJhY3RpdmUnLFxuICAgIGJsZW5kRnVuYzogWydPTkUnLCAnT05FX01JTlVTX0RTVF9DT0xPUicsICdTUkNfQUxQSEEnLCAnRFNUX0FMUEhBJ10sXG4gICAgYmxlbmRFcXVhdGlvbjogWydGVU5DX1NVQlRSQUNUJywgJ0ZVTkNfQUREJ11cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1BWF9ERUZBVUxUX1RPT0xUSVBTID0gNTtcblxuZXhwb3J0IGNvbnN0IFJFU09MVVRJT05TID0ga2V5TWlycm9yKHtcbiAgT05FX1g6IG51bGwsXG4gIFRXT19YOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9JTUdfUkFUSU9TID0ga2V5TWlycm9yKHtcbiAgU0NSRUVOOiBudWxsLFxuICBGT1VSX0JZX1RIUkVFOiBudWxsLFxuICBTSVhURUVOX0JZX05JTkU6IG51bGwsXG4gIENVU1RPTTogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBFWFBPUlRfSU1HX1JBVElPX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuU0NSRUVOLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9PcmlnaW5hbFNjcmVlbicsXG4gICAgZ2V0U2l6ZTogKHNjcmVlblcsIHNjcmVlbkgpID0+ICh7d2lkdGg6IHNjcmVlblcsIGhlaWdodDogc2NyZWVuSH0pXG4gIH0sXG4gIHtcbiAgICBpZDogRVhQT1JUX0lNR19SQVRJT1MuQ1VTVE9NLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICBsYWJlbDogJ21vZGFsLmV4cG9ydEltYWdlLnJhdGlvQ3VzdG9tJyxcbiAgICBnZXRTaXplOiAobWFwVywgbWFwSCkgPT4gKHt3aWR0aDogbWFwVywgaGVpZ2h0OiBtYXBIfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5GT1VSX0JZX1RIUkVFLFxuICAgIGxhYmVsOiAnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW80XzMnLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNzUpXG4gICAgfSlcbiAgfSxcbiAge1xuICAgIGlkOiBFWFBPUlRfSU1HX1JBVElPUy5TSVhURUVOX0JZX05JTkUsXG4gICAgbGFiZWw6ICdtb2RhbC5leHBvcnRJbWFnZS5yYXRpbzE2XzknLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IE1hdGgucm91bmQoc2NyZWVuVyAqIDAuNTYyNSlcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMgPSBbXG4gIHtcbiAgICBpZDogUkVTT0xVVElPTlMuT05FX1gsXG4gICAgbGFiZWw6ICcxeCcsXG4gICAgYXZhaWxhYmxlOiB0cnVlLFxuICAgIHNjYWxlOiAxLFxuICAgIGdldFNpemU6IChzY3JlZW5XLCBzY3JlZW5IKSA9PiAoe1xuICAgICAgd2lkdGg6IHNjcmVlblcsXG4gICAgICBoZWlnaHQ6IHNjcmVlbkhcbiAgICB9KVxuICB9LFxuICB7XG4gICAgaWQ6IFJFU09MVVRJT05TLlRXT19YLFxuICAgIGxhYmVsOiAnMngnLFxuICAgIGF2YWlsYWJsZTogdHJ1ZSxcbiAgICBzY2FsZTogMixcbiAgICBnZXRTaXplOiAoc2NyZWVuVywgc2NyZWVuSCkgPT4gKHtcbiAgICAgIHdpZHRoOiBzY3JlZW5XICogMixcbiAgICAgIGhlaWdodDogc2NyZWVuSCAqIDJcbiAgICB9KVxuICB9XG5dO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0RBVEFfVFlQRSA9IGtleU1pcnJvcih7XG4gIENTVjogbnVsbFxuICAvLyBTSEFQRUZJTEU6IG51bGwsXG4gIC8vIEpTT046IG51bGwsXG4gIC8vIEdFT0pTT046IG51bGwsXG4gIC8vIFRPUE9KU09OOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9EQVRBX1RZUEVfT1BUSU9OUyA9IFtcbiAge1xuICAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgICBsYWJlbDogRVhQT1JUX0RBVEFfVFlQRS5DU1YudG9Mb3dlckNhc2UoKSxcbiAgICBhdmFpbGFibGU6IHRydWVcbiAgfVxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuU0hBUEVGSUxFLFxuICAvLyAgIGxhYmVsOiAnc2hhcGVmaWxlJyxcbiAgLy8gICBhdmFpbGFibGU6IGZhbHNlXG4gIC8vIH0sXG4gIC8vIHtcbiAgLy8gICBpZDogRVhQT1JUX0RBVEFfVFlQRS5KU09OLFxuICAvLyAgIGxhYmVsOiAnanNvbicsXG4gIC8vICAgYXZhaWxhYmxlOiBmYWxzZVxuICAvLyB9LFxuICAvLyB7XG4gIC8vICAgaWQ6IEVYUE9SVF9EQVRBX1RZUEUuR0VPSlNPTixcbiAgLy8gICBsYWJlbDogJ2dlb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfSxcbiAgLy8ge1xuICAvLyAgIGlkOiBFWFBPUlRfREFUQV9UWVBFLlRPUE9KU09OLFxuICAvLyAgIGxhYmVsOiAndG9wb2pzb24nLFxuICAvLyAgIGF2YWlsYWJsZTogZmFsc2VcbiAgLy8gfVxuXTtcblxuLy8gRXhwb3J0IG1hcCB0eXBlc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIEhUTUw6IG51bGwsXG4gIEpTT046IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgRVhQT1JUX0hUTUxfTUFQX01PREVTID0ga2V5TWlycm9yKHtcbiAgUkVBRDogbnVsbCxcbiAgRURJVDogbnVsbFxufSk7XG5cbi8vIEV4cG9ydCBtYXAgb3B0aW9uc1xuZXhwb3J0IGNvbnN0IEVYUE9SVF9NQVBfRk9STUFUX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfTUFQX0ZPUk1BVFMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBlbnRyeVsxXS50b0xvd2VyQ2FzZSgpLFxuICBhdmFpbGFibGU6IHRydWVcbn0pKTtcblxuZXhwb3J0IGNvbnN0IEVYUE9SVF9IVE1MX01BUF9NT0RFX09QVElPTlMgPSBPYmplY3QuZW50cmllcyhFWFBPUlRfSFRNTF9NQVBfTU9ERVMpLm1hcChlbnRyeSA9PiAoe1xuICBpZDogZW50cnlbMF0sXG4gIGxhYmVsOiBgbW9kYWwuZXhwb3J0TWFwLmh0bWwuJHtlbnRyeVsxXS50b0xvd2VyQ2FzZSgpfWAsXG4gIGF2YWlsYWJsZTogdHJ1ZSxcbiAgdXJsOiBnZXRIVE1MTWFwTW9kZVRpbGVVcmwoZW50cnlbMV0pXG59KSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1VVSURfQ09VTlQgPSA2O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9OT1RJRklDQVRJT05fTUVTU0FHRSA9ICdNRVNTQUdFX05PVF9QUk9WSURFRCc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX05PVElGSUNBVElPTl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIGluZm86IG51bGwsXG4gIGVycm9yOiBudWxsLFxuICB3YXJuaW5nOiBudWxsLFxuICBzdWNjZXNzOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTk9USUZJQ0FUSU9OX1RPUElDUyA9IGtleU1pcnJvcih7XG4gIGdsb2JhbDogbnVsbCxcbiAgZmlsZTogbnVsbFxufSk7XG5cbi8vIE1pbmltdW0gdGltZSBiZXR3ZWVuIGlkZW50aWNhbCBub3RpZmljYXRpb25zIGFib3V0IGRlY2suZ2wgZXJyb3JzXG5leHBvcnQgY29uc3QgVEhST1RUTEVfTk9USUZJQ0FUSU9OX1RJTUUgPSAyNTAwO1xuXG4vLyBBbmltYXRpb25cbmV4cG9ydCBjb25zdCBCQVNFX1NQRUVEID0gNjAwO1xuZXhwb3J0IGNvbnN0IEZQUyA9IDYwO1xuXG4vKipcbiAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICogMS4gZnJlZVxuICogIHwtPiAgfC0+XG4gKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0aW9uIGNvbnRyb2xsZXIgY2FsbHMgbmV4dCBhbmltYXRpb24gZnJhbWVzIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3Zpbmcgd2luZG93XG4gKiBUaGUgaW5jcmVtZW50IGlkIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICpcbiAqIDIuIGluY3JlbWVudGFsXG4gKiB8ICAgIHwtPlxuICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogMy4gcG9pbnRcbiAqIG8gLT4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQsIGFuaW1hdGlvbiBjb250cm9sbGVyIGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseSB0byBhbmltYXRpb24gYSBtb3ZpbmcgcG9pbnRcbiAqIFRoZSBpbmNyZW1lbnQgaXMgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gKlxuICogNC4gaW50ZXJ2YWxcbiAqIG8gfj4gb1xuICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIG5lZWQgdG8gYmUgcHJvdmlkZWQuXG4gKiBhbmltYXRpb24gY29udHJvbGxlciBjYWxscyBuZXh0IGFuaW1hdGlvbiBhdCBhIGludGVydmFsIHdoZW4gdGhlIHBvaW50IGp1bXBzIHRvIHRoZSBuZXh0IHN0ZXBcbiAqL1xuZXhwb3J0IGNvbnN0IEFOSU1BVElPTl9XSU5ET1cgPSBrZXlNaXJyb3Ioe1xuICBmcmVlOiBudWxsLFxuICBpbmNyZW1lbnRhbDogbnVsbCxcbiAgcG9pbnQ6IG51bGwsXG4gIGludGVydmFsOiBudWxsXG59KTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1RJTUVfRk9STUFUID0gJ01NL0REL1lZIEhIOm1tOnNzYSc7XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9SQU5HRSA9IFswLCAxMF07XG5leHBvcnQgY29uc3QgU1BFRURfQ09OVFJPTF9TVEVQID0gMC4wMDE7XG5cbi8vIEdlb2NvZGVyXG5leHBvcnQgY29uc3QgR0VPQ09ERVJfREFUQVNFVF9OQU1FID0gJ2dlb2NvZGVyX2RhdGFzZXQnO1xuZXhwb3J0IGNvbnN0IEdFT0NPREVSX0xBWUVSX0lEID0gJ2dlb2NvZGVyX2xheWVyJztcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9HRU9fT0ZGU0VUID0gMC4wNTtcbmV4cG9ydCBjb25zdCBHRU9DT0RFUl9JQ09OX0NPTE9SID0gWzI1NSwgMCwgMF07XG5leHBvcnQgY29uc3QgR0VPQ09ERVJfSUNPTl9TSVpFID0gODA7XG5cbi8vIFdlIGNvdWxkIHVzZSBkaXJlY3RseSByZWFjdC1tYXAtZ2wtZHJhdyBFZGl0b3JNb2RlIGJ1dCB0aGlzIHdvdWxkXG4vLyBjcmVhdGUgYSBkaXJlY3QgZGVwZW5kZW5jeSB3aXRoIHJlYWN0LW1hcC1nbC1kcmF3XG4vLyBDcmVhdGVkIHRoaXMgbWFwIHRvIGJlIGluZGVwZW5kZW50IGZyb20gcmVhY3QtbWFwLWdsLWRyYXdcbmV4cG9ydCBjb25zdCBFRElUT1JfTU9ERVMgPSB7XG4gIFJFQURfT05MWTogRWRpdG9yTW9kZXMuUkVBRF9PTkxZLFxuICBEUkFXX1BPTFlHT046IEVkaXRvck1vZGVzLkRSQVdfUE9MWUdPTixcbiAgRFJBV19SRUNUQU5HTEU6IEVkaXRvck1vZGVzLkRSQVdfUkVDVEFOR0xFLFxuICBFRElUOiBFZGl0b3JNb2Rlcy5FRElUX1ZFUlRFWFxufTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTID0gW1xuICBMQVlFUl9UWVBFUy5wb2ludCxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbixcbiAgTEFZRVJfVFlQRVMuYXJjLFxuICBMQVlFUl9UWVBFUy5saW5lLFxuICBMQVlFUl9UWVBFUy5oZXhhZ29uSWRcbl07XG4vLyBHUFUgRmlsdGVyaW5nXG4vKipcbiAqIE1heCBudW1iZXIgb2YgZmlsdGVyIHZhbHVlIGJ1ZmZlcnMgdGhhdCBkZWNrLmdsIHByb3ZpZGVzXG4gKi9cbmV4cG9ydCBjb25zdCBNQVhfR1BVX0ZJTFRFUlMgPSA0O1xuZXhwb3J0IGNvbnN0IE1BUF9USFVNQk5BSUxfRElNRU5TSU9OID0ge1xuICB3aWR0aDogMzAwLFxuICBoZWlnaHQ6IDIwMFxufTtcblxuZXhwb3J0IGNvbnN0IE1BUF9JTkZPX0NIQVJBQ1RFUiA9IHtcbiAgdGl0bGU6IDEwMCxcbiAgZGVzY3JpcHRpb246IDEwMFxufTtcblxuLy8gTG9hZCBkYXRhXG5leHBvcnQgY29uc3QgTE9BRElOR19NRVRIT0RTID0ga2V5TWlycm9yKHtcbiAgdXBsb2FkOiBudWxsLFxuICBzdG9yYWdlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IERBVEFTRVRfRk9STUFUUyA9IGtleU1pcnJvcih7XG4gIHJvdzogbnVsbCxcbiAgZ2VvanNvbjogbnVsbCxcbiAgY3N2OiBudWxsLFxuICBrZXBsZXJnbDogbnVsbFxufSk7XG5cbmV4cG9ydCBjb25zdCBNQVBfQ09OVFJPTFMgPSBrZXlNaXJyb3Ioe1xuICB2aXNpYmxlTGF5ZXJzOiBudWxsLFxuICBtYXBMZWdlbmQ6IG51bGwsXG4gIHRvZ2dsZTNkOiBudWxsLFxuICBzcGxpdE1hcDogbnVsbCxcbiAgbWFwRHJhdzogbnVsbCxcbiAgbWFwTG9jYWxlOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IE1BU0tfTEFZRVJfSUQgPSAnbWFza19sYXllcic7XG4iXX0=
|
|
@@ -88,7 +88,7 @@ var KeplerTable = /*#__PURE__*/function () {
|
|
|
88
88
|
id: f.name,
|
|
89
89
|
displayName: f.displayName || f.name,
|
|
90
90
|
valueAccessor: _dataUtils.maybeToDate.bind(null, // is time
|
|
91
|
-
f.type === _defaultSettings.ALL_FIELD_TYPES.timestamp, i, f.format, dataContainer)
|
|
91
|
+
f.type === _defaultSettings.ALL_FIELD_TYPES.timestamp || f.type === _defaultSettings.ALL_FIELD_TYPES.date, i, f.format, dataContainer)
|
|
92
92
|
});
|
|
93
93
|
});
|
|
94
94
|
var allIndexes = dataContainer.getPlainIndex();
|
|
@@ -534,4 +534,4 @@ function copyTableAndUpdate(original) {
|
|
|
534
534
|
|
|
535
535
|
var _default = KeplerTable;
|
|
536
536
|
exports["default"] = _default;
|
|
537
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90YWJsZS11dGlscy9rZXBsZXItdGFibGUuanMiXSwibmFtZXMiOlsiRklEX0tFWSIsIktlcGxlclRhYmxlIiwiaW5mbyIsImRhdGEiLCJjb2xvciIsIm1ldGFkYXRhIiwic3VwcG9ydGVkRmlsdGVyVHlwZXMiLCJkYXRhQ29udGFpbmVyIiwicm93cyIsImZpZWxkcyIsImRhdGFzZXRJbmZvIiwiaWQiLCJsYWJlbCIsImRhdGFJZCIsIm1hcCIsImYiLCJpIiwiZmllbGRJZHgiLCJuYW1lIiwiZGlzcGxheU5hbWUiLCJ2YWx1ZUFjY2Vzc29yIiwibWF5YmVUb0RhdGUiLCJiaW5kIiwidHlwZSIsIkFMTF9GSUVMRF9UWVBFUyIsInRpbWVzdGFtcCIsImZvcm1hdCIsImFsbEluZGV4ZXMiLCJnZXRQbGFpbkluZGV4IiwiZmlsdGVyZWRJbmRleCIsImZpbHRlcmVkSW5kZXhGb3JEb21haW4iLCJmaWVsZFBhaXJzIiwiZmluZFBvaW50RmllbGRQYWlycyIsImdwdUZpbHRlciIsImNvbHVtbk5hbWUiLCJmaWVsZCIsImZpbmQiLCJmZCIsIl9hc3NldEZpZWxkIiwiZmluZEluZGV4IiwiQm9vbGVhbiIsInJvd0lkeCIsImdldENvbHVtbkZpZWxkIiwiaW5kZXgiLCJuZXdGaWVsZCIsIk9iamVjdCIsImFzc2lnbiIsImdldENvbHVtbkZpZWxkSWR4IiwiaGFzT3duUHJvcGVydHkiLCJmaWx0ZXJQcm9wcyIsImZpZWxkRG9tYWluIiwiZ2V0Q29sdW1uRmlsdGVyRG9tYWluIiwidXBkYXRlQ29sdW1uRmllbGQiLCJmaWx0ZXJzIiwibGF5ZXJzIiwib3B0Iiwib2xkRmlsdGVyUmVjb3JkIiwiZmlsdGVyUmVjb3JkIiwibGVuZ3RoIiwiY2hhbmdlZEZpbHRlcnMiLCJzaG91bGRDYWxEb21haW4iLCJkeW5hbWljRG9tYWluIiwic2hvdWxkQ2FsSW5kZXgiLCJjcHUiLCJmaWx0ZXJSZXN1bHQiLCJkeW5hbWljRG9tYWluRmlsdGVycyIsImNwdUZpbHRlcnMiLCJmaWx0ZXJGdW5jcyIsInJlZHVjZSIsImFjYyIsImZpbHRlciIsImZpZWxkSW5kZXgiLCJjcHVPbmx5IiwiaWdub3JlRG9tYWluIiwiZmlsdGVyZWRJZHhDUFUiLCJmaWx0ZXJSZWNvcmRDUFUiLCJncHUiLCJjb3BpZWQiLCJjb3B5VGFibGUiLCJmaWx0ZXJlZCIsImZpbHRlclRhYmxlIiwiZG9tYWluIiwicmVhbCIsImludGVnZXIiLCJzdHJpbmciLCJkYXRlIiwic2NhbGVUeXBlIiwiU0NBTEVfVFlQRVMiLCJDb25zb2xlIiwiZXJyb3IiLCJpbmRleFZhbHVlQWNjZXNzb3IiLCJzb3J0RnVuY3Rpb24iLCJvcmRpbmFsIiwicG9pbnQiLCJxdWFudGlsZSIsImxvZyIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImZpZWxkTmFtZSIsImNvbmRpdGlvbiIsInJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMiLCJsYXllck5hbWUiLCJzdWZmaXgiLCJyZXBsYWNlIiwiUmVnRXhwIiwidHJpbSIsImFsbE5hbWVzIiwidG9Mb3dlckNhc2UiLCJjYXJyeSIsImlkeCIsIlRSSVBfUE9JTlRfRklFTERTIiwic3VmZml4UGFpciIsImVuZHNXaXRoIiwib3RoZXJQYXR0ZXJuIiwicGFydG5lciIsInBhcnRuZXJJZHgiLCJkIiwiZGVmYXVsdE5hbWUiLCJwdXNoIiwicGFpciIsImxhdCIsInZhbHVlIiwibG5nIiwic29ydERhdGFzZXRCeUNvbHVtbiIsImRhdGFzZXQiLCJjb2x1bW4iLCJtb2RlIiwic29ydEJ5IiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIlVOU09SVCIsInNvcnRDb2x1bW4iLCJzb3J0T3JkZXIiLCJhc2NlbmRpbmciLCJkZXNjZW5kaW5nIiwic2xpY2UiLCJzb3J0IiwiYSIsImIiLCJ2YWx1ZUF0Iiwib3JpZ2luYWwiLCJjcmVhdGUiLCJnZXRQcm90b3R5cGVPZiIsImNvcHlUYWJsZUFuZFVwZGF0ZSIsIm9wdGlvbnMiLCJlbnRyaWVzIiwiZW50cnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFTQTs7QUFDQTs7QUFTQTs7Ozs7Ozs7Ozs7O0FBRUE7QUFDQSxJQUFNQSxPQUFPLEdBQUcsTUFBaEI7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0lBQ01DLFc7QUFDSiw2QkFBc0U7QUFBQSx5QkFBekRDLElBQXlEO0FBQUEsUUFBekRBLElBQXlELDBCQUFsRCxFQUFrRDtBQUFBLFFBQTlDQyxJQUE4QyxRQUE5Q0EsSUFBOEM7QUFBQSxRQUF4Q0MsS0FBd0MsUUFBeENBLEtBQXdDO0FBQUEsUUFBakNDLFFBQWlDLFFBQWpDQSxRQUFpQztBQUFBLFFBQXZCQyxvQkFBdUIsUUFBdkJBLG9CQUF1QjtBQUFBO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxRQUFNQyxhQUFhLEdBQUcsNkNBQW9CSixJQUFJLENBQUNLLElBQXpCLEVBQStCO0FBQUNDLE1BQUFBLE1BQU0sRUFBRU4sSUFBSSxDQUFDTTtBQUFkLEtBQS9CLENBQXRCOztBQUVBLFFBQU1DLFdBQVc7QUFDZkMsTUFBQUEsRUFBRSxFQUFFLDJCQUFlLENBQWYsQ0FEVztBQUVmQyxNQUFBQSxLQUFLLEVBQUU7QUFGUSxPQUdYVixJQUFJLElBQUksRUFIRyxDQUFqQjs7QUFLQSxRQUFNVyxNQUFNLEdBQUdILFdBQVcsQ0FBQ0MsRUFBM0I7QUFFQSxRQUFNRixNQUFNLEdBQUdOLElBQUksQ0FBQ00sTUFBTCxDQUFZSyxHQUFaLENBQWdCLFVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLDZDQUMxQkQsQ0FEMEI7QUFFN0JFLFFBQUFBLFFBQVEsRUFBRUQsQ0FGbUI7QUFHN0JMLFFBQUFBLEVBQUUsRUFBRUksQ0FBQyxDQUFDRyxJQUh1QjtBQUk3QkMsUUFBQUEsV0FBVyxFQUFFSixDQUFDLENBQUNJLFdBQUYsSUFBaUJKLENBQUMsQ0FBQ0csSUFKSDtBQUs3QkUsUUFBQUEsYUFBYSxFQUFFQyx1QkFBWUMsSUFBWixDQUNiLElBRGEsRUFFYjtBQUNBUCxRQUFBQSxDQUFDLENBQUNRLElBQUYsS0FBV0MsaUNBQWdCQyxTQUhkLEVBSWJULENBSmEsRUFLYkQsQ0FBQyxDQUFDVyxNQUxXLEVBTWJuQixhQU5hO0FBTGM7QUFBQSxLQUFoQixDQUFmO0FBZUEsUUFBTW9CLFVBQVUsR0FBR3BCLGFBQWEsQ0FBQ3FCLGFBQWQsRUFBbkI7QUFFQSxTQUFLakIsRUFBTCxHQUFVRCxXQUFXLENBQUNDLEVBQXRCO0FBQ0EsU0FBS0MsS0FBTCxHQUFhRixXQUFXLENBQUNFLEtBQXpCO0FBQ0EsU0FBS1IsS0FBTCxHQUFhQSxLQUFiO0FBQ0EsU0FBS0MsUUFBTCxtQ0FDS0EsUUFETDtBQUVFTSxNQUFBQSxFQUFFLEVBQUVELFdBQVcsQ0FBQ0MsRUFGbEI7QUFHRUMsTUFBQUEsS0FBSyxFQUFFRixXQUFXLENBQUNFO0FBSHJCO0FBTUEsU0FBS0wsYUFBTCxHQUFxQkEsYUFBckI7QUFDQSxTQUFLb0IsVUFBTCxHQUFrQkEsVUFBbEI7QUFDQSxTQUFLRSxhQUFMLEdBQXFCRixVQUFyQjtBQUNBLFNBQUtHLHNCQUFMLEdBQThCSCxVQUE5QjtBQUNBLFNBQUtJLFVBQUwsR0FBa0JDLG1CQUFtQixDQUFDdkIsTUFBRCxDQUFyQztBQUNBLFNBQUtBLE1BQUwsR0FBY0EsTUFBZDtBQUNBLFNBQUt3QixTQUFMLEdBQWlCLHVDQUFrQixFQUFsQixFQUFzQnBCLE1BQXRCLEVBQThCSixNQUE5QixDQUFqQjs7QUFDQSxRQUFJSCxvQkFBSixFQUEwQjtBQUN4QixXQUFLQSxvQkFBTCxHQUE0QkEsb0JBQTVCO0FBQ0Q7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7OztXQUNFLHdCQUFlNEIsVUFBZixFQUEyQjtBQUN6QixVQUFNQyxLQUFLLEdBQUcsS0FBSzFCLE1BQUwsQ0FBWTJCLElBQVosQ0FBaUIsVUFBQUMsRUFBRTtBQUFBLGVBQUlBLEVBQUUsQ0FBQ3JDLE9BQUQsQ0FBRixLQUFnQmtDLFVBQXBCO0FBQUEsT0FBbkIsQ0FBZDs7QUFDQSxXQUFLSSxXQUFMLENBQWlCSixVQUFqQixFQUE2QkMsS0FBN0I7O0FBQ0EsYUFBT0EsS0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7Ozs7V0FDRSwyQkFBa0JELFVBQWxCLEVBQThCO0FBQzVCLFVBQU1qQixRQUFRLEdBQUcsS0FBS1IsTUFBTCxDQUFZOEIsU0FBWixDQUFzQixVQUFBRixFQUFFO0FBQUEsZUFBSUEsRUFBRSxDQUFDckMsT0FBRCxDQUFGLEtBQWdCa0MsVUFBcEI7QUFBQSxPQUF4QixDQUFqQjs7QUFDQSxXQUFLSSxXQUFMLENBQWlCSixVQUFqQixFQUE2Qk0sT0FBTyxDQUFDdkIsUUFBUSxHQUFHLENBQUMsQ0FBYixDQUFwQzs7QUFDQSxhQUFPQSxRQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7Ozs7V0FDRSxrQkFBU2lCLFVBQVQsRUFBcUJPLE1BQXJCLEVBQTZCO0FBQzNCLFVBQU1OLEtBQUssR0FBRyxLQUFLTyxjQUFMLENBQW9CUixVQUFwQixDQUFkO0FBQ0EsYUFBT0MsS0FBSyxHQUFHQSxLQUFLLENBQUNmLGFBQU4sQ0FBb0I7QUFBQ3VCLFFBQUFBLEtBQUssRUFBRUY7QUFBUixPQUFwQixDQUFILEdBQTBDLElBQXREO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7O1dBQ0UsMkJBQWtCeEIsUUFBbEIsRUFBNEIyQixRQUE1QixFQUFzQztBQUNwQyxXQUFLbkMsTUFBTCxHQUFjb0MsTUFBTSxDQUFDQyxNQUFQLHFDQUFrQixLQUFLckMsTUFBdkIsd0NBQWtDUSxRQUFsQyxFQUE2QzJCLFFBQTdDLEVBQWQ7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBOzs7O1dBQ0UsOEJBQXFCVixVQUFyQixFQUFpQztBQUMvQixVQUFNakIsUUFBUSxHQUFHLEtBQUs4QixpQkFBTCxDQUF1QmIsVUFBdkIsQ0FBakI7O0FBQ0EsVUFBSWpCLFFBQVEsR0FBRyxDQUFmLEVBQWtCO0FBQ2hCLGVBQU8sSUFBUDtBQUNEOztBQUNELFVBQU1rQixLQUFLLEdBQUcsS0FBSzFCLE1BQUwsQ0FBWVEsUUFBWixDQUFkOztBQUNBLFVBQUlrQixLQUFLLENBQUNhLGNBQU4sQ0FBcUIsYUFBckIsQ0FBSixFQUF5QztBQUN2QyxlQUFPYixLQUFLLENBQUNjLFdBQWI7QUFDRDs7QUFFRCxVQUFNQyxXQUFXLEdBQUcsS0FBS0MscUJBQUwsQ0FBMkJoQixLQUEzQixDQUFwQjs7QUFDQSxVQUFJLENBQUNlLFdBQUwsRUFBa0I7QUFDaEIsZUFBTyxJQUFQO0FBQ0Q7O0FBRUQsVUFBTUQsV0FBVyxHQUFHLGlDQUFlZCxLQUFmLEVBQXNCZSxXQUF0QixDQUFwQjs7QUFDQSxVQUFNTixRQUFRLG1DQUNUVCxLQURTO0FBRVpjLFFBQUFBLFdBQVcsRUFBWEE7QUFGWSxRQUFkOztBQUtBLFdBQUtHLGlCQUFMLENBQXVCbkMsUUFBdkIsRUFBaUMyQixRQUFqQztBQUVBLGFBQU9LLFdBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztXQUNFLHFCQUFZSSxPQUFaLEVBQXFCQyxNQUFyQixFQUE2QkMsR0FBN0IsRUFBa0M7QUFBQTs7QUFBQSxVQUN6QmhELGFBRHlCLEdBQzJDLElBRDNDLENBQ3pCQSxhQUR5QjtBQUFBLFVBQ05NLE1BRE0sR0FDMkMsSUFEM0MsQ0FDVkYsRUFEVTtBQUFBLFVBQ2dCNkMsZUFEaEIsR0FDMkMsSUFEM0MsQ0FDRUMsWUFERjtBQUFBLFVBQ2lDaEQsTUFEakMsR0FDMkMsSUFEM0MsQ0FDaUNBLE1BRGpDLEVBR2hDOztBQUNBLFVBQU1nRCxZQUFZLEdBQUcsa0NBQWdCNUMsTUFBaEIsRUFBd0J3QyxPQUF4QixFQUFpQ0UsR0FBRyxJQUFJLEVBQXhDLENBQXJCO0FBRUEsV0FBS0UsWUFBTCxHQUFvQkEsWUFBcEI7QUFDQSxXQUFLeEIsU0FBTCxHQUFpQix1Q0FBa0JvQixPQUFsQixFQUEyQnhDLE1BQTNCLEVBQW1DSixNQUFuQyxDQUFqQixDQVBnQyxDQVNoQzs7QUFFQSxVQUFJLENBQUM0QyxPQUFPLENBQUNLLE1BQWIsRUFBcUI7QUFDbkIsYUFBSzdCLGFBQUwsR0FBcUIsS0FBS0YsVUFBMUI7QUFDQSxhQUFLRyxzQkFBTCxHQUE4QixLQUFLSCxVQUFuQztBQUNBLGVBQU8sSUFBUDtBQUNEOztBQUVELFdBQUtnQyxjQUFMLEdBQXNCLDhCQUFZRixZQUFaLEVBQTBCRCxlQUExQixDQUF0QixDQWpCZ0MsQ0FtQmhDO0FBQ0E7QUFDQTs7QUFDQSxVQUFNSSxlQUFlLEdBQUdwQixPQUFPLENBQUMsS0FBS21CLGNBQUwsQ0FBb0JFLGFBQXJCLENBQS9CO0FBQ0EsVUFBTUMsY0FBYyxHQUFHdEIsT0FBTyxDQUFDLEtBQUttQixjQUFMLENBQW9CSSxHQUFyQixDQUE5QjtBQUVBLFVBQUlDLFlBQVksR0FBRyxFQUFuQjs7QUFDQSxVQUFJSixlQUFlLElBQUlFLGNBQXZCLEVBQXVDO0FBQ3JDLFlBQU1HLG9CQUFvQixHQUFHTCxlQUFlLEdBQUdILFlBQVksQ0FBQ0ksYUFBaEIsR0FBZ0MsSUFBNUU7QUFDQSxZQUFNSyxVQUFVLEdBQUdKLGNBQWMsR0FBR0wsWUFBWSxDQUFDTSxHQUFoQixHQUFzQixJQUF2RDtBQUVBLFlBQU1JLFdBQVcsR0FBR2QsT0FBTyxDQUFDZSxNQUFSLENBQWUsVUFBQ0MsR0FBRCxFQUFNQyxNQUFOLEVBQWlCO0FBQ2xELGNBQU1DLFVBQVUsR0FBRyxtREFBOEIsS0FBSSxDQUFDNUQsRUFBbkMsRUFBdUMyRCxNQUF2QyxDQUFuQjtBQUNBLGNBQU1uQyxLQUFLLEdBQUdvQyxVQUFVLEtBQUssQ0FBQyxDQUFoQixHQUFvQjlELE1BQU0sQ0FBQzhELFVBQUQsQ0FBMUIsR0FBeUMsSUFBdkQ7QUFFQSxpREFDS0YsR0FETCw0Q0FFR0MsTUFBTSxDQUFDM0QsRUFGVixFQUVlLG9DQUFrQndCLEtBQWxCLEVBQXlCLEtBQUksQ0FBQ3hCLEVBQTlCLEVBQWtDMkQsTUFBbEMsRUFBMENoQixNQUExQyxFQUFrRC9DLGFBQWxELENBRmY7QUFJRCxTQVJtQixFQVFqQixFQVJpQixDQUFwQjtBQVVBeUQsUUFBQUEsWUFBWSxHQUFHLDBDQUNiO0FBQUNDLFVBQUFBLG9CQUFvQixFQUFwQkEsb0JBQUQ7QUFBdUJDLFVBQUFBLFVBQVUsRUFBVkEsVUFBdkI7QUFBbUNDLFVBQUFBLFdBQVcsRUFBWEE7QUFBbkMsU0FEYSxFQUViNUQsYUFGYSxDQUFmO0FBSUQ7O0FBRUQsV0FBS3NCLGFBQUwsR0FBcUJtQyxZQUFZLENBQUNuQyxhQUFiLElBQThCLEtBQUtBLGFBQXhEO0FBQ0EsV0FBS0Msc0JBQUwsR0FDRWtDLFlBQVksQ0FBQ2xDLHNCQUFiLElBQXVDLEtBQUtBLHNCQUQ5QztBQUdBLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7OztXQUNFLHdCQUFldUIsT0FBZixFQUF3QkMsTUFBeEIsRUFBZ0M7QUFDOUIsVUFBTUMsR0FBRyxHQUFHO0FBQ1ZpQixRQUFBQSxPQUFPLEVBQUUsSUFEQztBQUVWQyxRQUFBQSxZQUFZLEVBQUU7QUFGSixPQUFaLENBRDhCLENBTTlCOztBQUNBLFVBQUksQ0FBQ3BCLE9BQU8sQ0FBQ0ssTUFBYixFQUFxQjtBQUNuQixhQUFLZ0IsY0FBTCxHQUFzQixLQUFLL0MsVUFBM0I7QUFDQSxhQUFLZ0QsZUFBTCxHQUF1QixrQ0FBZ0IsS0FBS2hFLEVBQXJCLEVBQXlCMEMsT0FBekIsRUFBa0NFLEdBQWxDLENBQXZCO0FBQ0EsZUFBTyxJQUFQO0FBQ0QsT0FYNkIsQ0FhOUI7OztBQUNBLFVBQUksQ0FBQ0YsT0FBTyxDQUFDakIsSUFBUixDQUFhLFVBQUFyQixDQUFDO0FBQUEsZUFBSUEsQ0FBQyxDQUFDNkQsR0FBTjtBQUFBLE9BQWQsQ0FBTCxFQUErQjtBQUM3QixhQUFLRixjQUFMLEdBQXNCLEtBQUs3QyxhQUEzQjtBQUNBLGFBQUs4QyxlQUFMLEdBQXVCLGtDQUFnQixLQUFLaEUsRUFBckIsRUFBeUIwQyxPQUF6QixFQUFrQ0UsR0FBbEMsQ0FBdkI7QUFDQSxlQUFPLElBQVA7QUFDRCxPQWxCNkIsQ0FvQjlCOzs7QUFDQSxVQUFNc0IsTUFBTSxHQUFHQyxTQUFTLENBQUMsSUFBRCxDQUF4QjtBQUVBRCxNQUFBQSxNQUFNLENBQUNwQixZQUFQLEdBQXNCLEtBQUtrQixlQUEzQjtBQUNBRSxNQUFBQSxNQUFNLENBQUNoRCxhQUFQLEdBQXVCLEtBQUs2QyxjQUFMLElBQXVCLEVBQTlDO0FBRUEsVUFBTUssUUFBUSxHQUFHRixNQUFNLENBQUNHLFdBQVAsQ0FBbUIzQixPQUFuQixFQUE0QkMsTUFBNUIsRUFBb0NDLEdBQXBDLENBQWpCO0FBRUEsV0FBS21CLGNBQUwsR0FBc0JLLFFBQVEsQ0FBQ2xELGFBQS9CO0FBQ0EsV0FBSzhDLGVBQUwsR0FBdUJJLFFBQVEsQ0FBQ3RCLFlBQWhDO0FBRUEsYUFBTyxJQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLCtCQUFzQnRCLEtBQXRCLEVBQTZCO0FBQUEsVUFDcEI1QixhQURvQixHQUNILElBREcsQ0FDcEJBLGFBRG9CO0FBQUEsVUFFcEJhLGFBRm9CLEdBRUhlLEtBRkcsQ0FFcEJmLGFBRm9CO0FBSTNCLFVBQUk2RCxNQUFKOztBQUVBLGNBQVE5QyxLQUFLLENBQUNaLElBQWQ7QUFDRSxhQUFLQyxpQ0FBZ0IwRCxJQUFyQjtBQUNBLGFBQUsxRCxpQ0FBZ0IyRCxPQUFyQjtBQUNFO0FBQ0EsaUJBQU8sd0NBQXNCNUUsYUFBdEIsRUFBcUNhLGFBQXJDLENBQVA7O0FBRUYsYUFBS0ksMkNBQUw7QUFDRSxpQkFBTztBQUFDeUQsWUFBQUEsTUFBTSxFQUFFLENBQUMsSUFBRCxFQUFPLEtBQVA7QUFBVCxXQUFQOztBQUVGLGFBQUt6RCxpQ0FBZ0I0RCxNQUFyQjtBQUNBLGFBQUs1RCxpQ0FBZ0I2RCxJQUFyQjtBQUNFSixVQUFBQSxNQUFNLEdBQUcsc0NBQWlCMUUsYUFBakIsRUFBZ0NhLGFBQWhDLENBQVQ7QUFDQSxpQkFBTztBQUFDNkQsWUFBQUEsTUFBTSxFQUFOQTtBQUFELFdBQVA7O0FBRUYsYUFBS3pELGlDQUFnQkMsU0FBckI7QUFDRSxpQkFBTywwQ0FBd0JsQixhQUF4QixFQUF1Q2EsYUFBdkMsQ0FBUDs7QUFFRjtBQUNFLGlCQUFPO0FBQUM2RCxZQUFBQSxNQUFNLEVBQUUsc0NBQWlCMUUsYUFBakIsRUFBZ0NhLGFBQWhDO0FBQVQsV0FBUDtBQWxCSjtBQW9CRDtBQUVEO0FBQ0Y7QUFDQTs7OztXQUNFLDhCQUFxQmUsS0FBckIsRUFBNEJtRCxTQUE1QixFQUF1QztBQUFBLFVBQzlCL0UsYUFEOEIsR0FDVyxJQURYLENBQzlCQSxhQUQ4QjtBQUFBLFVBQ2Z1QixzQkFEZSxHQUNXLElBRFgsQ0FDZkEsc0JBRGU7O0FBR3JDLFVBQUksQ0FBQ3lELDZCQUFZRCxTQUFaLENBQUwsRUFBNkI7QUFDM0JFLHlCQUFRQyxLQUFSLHNCQUE0QkgsU0FBNUI7O0FBQ0EsZUFBTyxJQUFQO0FBQ0Q7O0FBTm9DLFVBUTlCbEUsYUFSOEIsR0FRYmUsS0FSYSxDQVE5QmYsYUFSOEI7O0FBU3JDLFVBQU1zRSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUExRSxDQUFDO0FBQUEsZUFBSUksYUFBYSxDQUFDO0FBQUN1QixVQUFBQSxLQUFLLEVBQUUzQjtBQUFSLFNBQUQsQ0FBakI7QUFBQSxPQUE1Qjs7QUFDQSxVQUFNMkUsWUFBWSxHQUFHLG1DQUFtQnhELEtBQUssQ0FBQ1osSUFBekIsQ0FBckI7O0FBRUEsY0FBUStELFNBQVI7QUFDRSxhQUFLQyw2QkFBWUssT0FBakI7QUFDQSxhQUFLTCw2QkFBWU0sS0FBakI7QUFDRTtBQUNBO0FBQ0EsaUJBQU8sc0NBQWlCdEYsYUFBakIsRUFBZ0NhLGFBQWhDLENBQVA7O0FBRUYsYUFBS21FLDZCQUFZTyxRQUFqQjtBQUNFLGlCQUFPLHVDQUFrQmhFLHNCQUFsQixFQUEwQzRELGtCQUExQyxFQUE4REMsWUFBOUQsQ0FBUDs7QUFFRixhQUFLSiw2QkFBWVEsR0FBakI7QUFDRSxpQkFBTyxrQ0FBYWpFLHNCQUFiLEVBQXFDNEQsa0JBQXJDLENBQVA7O0FBRUYsYUFBS0gsNkJBQVlTLFFBQWpCO0FBQ0EsYUFBS1QsNkJBQVlVLE1BQWpCO0FBQ0EsYUFBS1YsNkJBQVlXLElBQWpCO0FBQ0E7QUFDRSxpQkFBTyxxQ0FBZ0JwRSxzQkFBaEIsRUFBd0M0RCxrQkFBeEMsQ0FBUDtBQWpCSjtBQW1CRDtBQUVEO0FBQ0Y7QUFDQTtBQUNFOztBQUVBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0U7QUFFQTs7QUFFQTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7O1dBQ0UscUJBQVlTLFNBQVosRUFBdUJDLFNBQXZCLEVBQWtDO0FBQ2hDLFVBQUksQ0FBQ0EsU0FBTCxFQUFnQjtBQUNkWix5QkFBUUMsS0FBUixXQUFpQlUsU0FBakIsc0NBQXNELEtBQUt4RixFQUEzRDtBQUNEO0FBQ0Y7OztLQUdIOzs7QUFFTyxTQUFTMEYseUJBQVQsQ0FBbUNDLFNBQW5DLEVBQThDQyxNQUE5QyxFQUFzRDtBQUMzRCxTQUFPRCxTQUFTLENBQ2JFLE9BREksQ0FDSSxJQUFJQyxNQUFKLENBQVdGLE1BQVgsRUFBbUIsSUFBbkIsQ0FESixFQUM4QixFQUQ5QixFQUVKQyxPQUZJLENBRUksU0FGSixFQUVlLEdBRmYsRUFHSkUsSUFISSxFQUFQO0FBSUQ7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBUzFFLG1CQUFULENBQTZCdkIsTUFBN0IsRUFBcUM7QUFDMUMsTUFBTWtHLFFBQVEsR0FBR2xHLE1BQU0sQ0FBQ0ssR0FBUCxDQUFXLFVBQUFDLENBQUM7QUFBQSxXQUFJQSxDQUFDLENBQUNHLElBQUYsQ0FBTzBGLFdBQVAsRUFBSjtBQUFBLEdBQVosQ0FBakIsQ0FEMEMsQ0FHMUM7O0FBQ0EsTUFBTXZDLEdBQUcsR0FBRyxFQUFaO0FBQ0EsU0FBT3NDLFFBQVEsQ0FBQ3ZDLE1BQVQsQ0FBZ0IsVUFBQ3lDLEtBQUQsRUFBUVYsU0FBUixFQUFtQlcsR0FBbkIsRUFBMkI7QUFDaEQ7QUFEZ0QsK0NBRXZCQyxrQ0FGdUI7QUFBQTs7QUFBQTtBQUVoRCwwREFBNEM7QUFBQSxZQUFqQ0MsVUFBaUM7O0FBQzFDO0FBQ0EsWUFBSWIsU0FBUyxDQUFDYyxRQUFWLENBQW1CRCxVQUFVLENBQUMsQ0FBRCxDQUE3QixDQUFKLEVBQXVDO0FBQUE7QUFDckM7QUFDQSxnQkFBTUUsWUFBWSxHQUFHLElBQUlULE1BQUosV0FBY08sVUFBVSxDQUFDLENBQUQsQ0FBeEIsT0FBckI7QUFDQSxnQkFBTUcsT0FBTyxHQUFHaEIsU0FBUyxDQUFDSyxPQUFWLENBQWtCVSxZQUFsQixFQUFnQ0YsVUFBVSxDQUFDLENBQUQsQ0FBMUMsQ0FBaEI7QUFFQSxnQkFBTUksVUFBVSxHQUFHVCxRQUFRLENBQUNwRSxTQUFULENBQW1CLFVBQUE4RSxDQUFDO0FBQUEscUJBQUlBLENBQUMsS0FBS0YsT0FBVjtBQUFBLGFBQXBCLENBQW5COztBQUNBLGdCQUFJQyxVQUFVLEdBQUcsQ0FBQyxDQUFsQixFQUFxQjtBQUNuQixrQkFBTUUsV0FBVyxHQUFHakIseUJBQXlCLENBQUNGLFNBQUQsRUFBWWEsVUFBVSxDQUFDLENBQUQsQ0FBdEIsQ0FBN0M7QUFFQUgsY0FBQUEsS0FBSyxDQUFDVSxJQUFOLENBQVc7QUFDVEQsZ0JBQUFBLFdBQVcsRUFBWEEsV0FEUztBQUVURSxnQkFBQUEsSUFBSSxFQUFFO0FBQ0pDLGtCQUFBQSxHQUFHLEVBQUU7QUFDSHhHLG9CQUFBQSxRQUFRLEVBQUU2RixHQURQO0FBRUhZLG9CQUFBQSxLQUFLLEVBQUVqSCxNQUFNLENBQUNxRyxHQUFELENBQU4sQ0FBWTVGO0FBRmhCLG1CQUREO0FBS0p5RyxrQkFBQUEsR0FBRyxFQUFFO0FBQ0gxRyxvQkFBQUEsUUFBUSxFQUFFbUcsVUFEUDtBQUVITSxvQkFBQUEsS0FBSyxFQUFFakgsTUFBTSxDQUFDMkcsVUFBRCxDQUFOLENBQW1CbEc7QUFGdkI7QUFMRCxpQkFGRztBQVlUcUYsZ0JBQUFBLE1BQU0sRUFBRVM7QUFaQyxlQUFYO0FBY0E7QUFBQSxtQkFBT0g7QUFBUDtBQUNEO0FBeEJvQzs7QUFBQTtBQXlCdEM7QUFDRjtBQTlCK0M7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUErQmhELFdBQU9BLEtBQVA7QUFDRCxHQWhDTSxFQWdDSnhDLEdBaENJLENBQVA7QUFpQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU3VELG1CQUFULENBQTZCQyxPQUE3QixFQUFzQ0MsTUFBdEMsRUFBOENDLElBQTlDLEVBQW9EO0FBQUEsTUFDbERwRyxVQURrRCxHQUNia0csT0FEYSxDQUNsRGxHLFVBRGtEO0FBQUEsTUFDdENsQixNQURzQyxHQUNib0gsT0FEYSxDQUN0Q3BILE1BRHNDO0FBQUEsTUFDOUJGLGFBRDhCLEdBQ2JzSCxPQURhLENBQzlCdEgsYUFEOEI7QUFFekQsTUFBTWdFLFVBQVUsR0FBRzlELE1BQU0sQ0FBQzhCLFNBQVAsQ0FBaUIsVUFBQXhCLENBQUM7QUFBQSxXQUFJQSxDQUFDLENBQUNHLElBQUYsS0FBVzRHLE1BQWY7QUFBQSxHQUFsQixDQUFuQjs7QUFDQSxNQUFJdkQsVUFBVSxHQUFHLENBQWpCLEVBQW9CO0FBQ2xCLFdBQU9zRCxPQUFQO0FBQ0Q7O0FBRUQsTUFBTUcsTUFBTSxHQUFHQyw0QkFBV0YsSUFBWCxLQUFvQkUsNEJBQVdDLFNBQTlDOztBQUVBLE1BQUlGLE1BQU0sS0FBS0MsNEJBQVdFLE1BQTFCLEVBQWtDO0FBQ2hDLDJDQUNLTixPQURMO0FBRUVPLE1BQUFBLFVBQVUsRUFBRSxFQUZkO0FBR0VDLE1BQUFBLFNBQVMsRUFBRTtBQUhiO0FBS0Q7O0FBRUQsTUFBTTFDLFlBQVksR0FBR3FDLE1BQU0sS0FBS0MsNEJBQVdDLFNBQXRCLEdBQWtDSSxrQkFBbEMsR0FBOENDLG1CQUFuRTtBQUNBLE1BQU1GLFNBQVMsR0FBRzFHLFVBQVUsQ0FDekI2RyxLQURlLEdBRWZDLElBRmUsQ0FFVixVQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxXQUNKaEQsWUFBWSxDQUFDcEYsYUFBYSxDQUFDcUksT0FBZCxDQUFzQkYsQ0FBdEIsRUFBeUJuRSxVQUF6QixDQUFELEVBQXVDaEUsYUFBYSxDQUFDcUksT0FBZCxDQUFzQkQsQ0FBdEIsRUFBeUJwRSxVQUF6QixDQUF2QyxDQURSO0FBQUEsR0FGVSxDQUFsQjtBQU1BLHlDQUNLc0QsT0FETDtBQUVFTyxJQUFBQSxVQUFVLHVDQUNQTixNQURPLEVBQ0VFLE1BREYsQ0FGWjtBQUtFSyxJQUFBQSxTQUFTLEVBQVRBO0FBTEY7QUFPRDs7QUFFTSxTQUFTdkQsU0FBVCxDQUFtQitELFFBQW5CLEVBQTZCO0FBQ2xDLFNBQU9oRyxNQUFNLENBQUNDLE1BQVAsQ0FBY0QsTUFBTSxDQUFDaUcsTUFBUCxDQUFjakcsTUFBTSxDQUFDa0csY0FBUCxDQUFzQkYsUUFBdEIsQ0FBZCxDQUFkLEVBQThEQSxRQUE5RCxDQUFQO0FBQ0Q7O0FBRU0sU0FBU0csa0JBQVQsQ0FBNEJILFFBQTVCLEVBQW9EO0FBQUEsTUFBZEksT0FBYyx1RUFBSixFQUFJO0FBQ3pELFNBQU9wRyxNQUFNLENBQUNxRyxPQUFQLENBQWVELE9BQWYsRUFBd0I3RSxNQUF4QixDQUErQixVQUFDQyxHQUFELEVBQU04RSxLQUFOLEVBQWdCO0FBQ3BEOUUsSUFBQUEsR0FBRyxDQUFDOEUsS0FBSyxDQUFDLENBQUQsQ0FBTixDQUFILEdBQWdCQSxLQUFLLENBQUMsQ0FBRCxDQUFyQjtBQUNBLFdBQU85RSxHQUFQO0FBQ0QsR0FITSxFQUdKUyxTQUFTLENBQUMrRCxRQUFELENBSEwsQ0FBUDtBQUlEOztlQUVjNUksVyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7Y29uc29sZSBhcyBDb25zb2xlfSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5pbXBvcnQge1RSSVBfUE9JTlRfRklFTERTLCBTT1JUX09SREVSfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge2FzY2VuZGluZywgZGVzY2VuZGluZ30gZnJvbSAnZDMtYXJyYXknO1xuXG4vLyBpbXBvcnQge3ZhbGlkYXRlSW5wdXREYXRhfSBmcm9tICdwcm9jZXNzb3JzL2RhdGEtcHJvY2Vzc29yJztcbmltcG9ydCB7Z2VuZXJhdGVIYXNoSWR9IGZyb20gJ3V0aWxzL3V0aWxzJztcbmltcG9ydCB7Z2V0R3B1RmlsdGVyUHJvcHMsIGdldERhdGFzZXRGaWVsZEluZGV4Rm9yRmlsdGVyfSBmcm9tICd1dGlscy9ncHUtZmlsdGVyLXV0aWxzJztcbmltcG9ydCB7XG4gIGdldEZpbHRlclByb3BzLFxuICBnZXRGaWx0ZXJSZWNvcmQsXG4gIGRpZmZGaWx0ZXJzLFxuICBnZXRGaWx0ZXJGdW5jdGlvbixcbiAgZmlsdGVyRGF0YUJ5RmlsdGVyVHlwZXMsXG4gIGdldE51bWVyaWNGaWVsZERvbWFpbixcbiAgZ2V0VGltZXN0YW1wRmllbGREb21haW5cbn0gZnJvbSAndXRpbHMvZmlsdGVyLXV0aWxzJztcbmltcG9ydCB7bWF5YmVUb0RhdGUsIGdldFNvcnRpbmdGdW5jdGlvbn0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQge1xuICBnZXRRdWFudGlsZURvbWFpbixcbiAgZ2V0T3JkaW5hbERvbWFpbixcbiAgZ2V0TG9nRG9tYWluLFxuICBnZXRMaW5lYXJEb21haW5cbn0gZnJvbSAndXRpbHMvZGF0YS1zY2FsZS11dGlscyc7XG5cbmltcG9ydCB7QUxMX0ZJRUxEX1RZUEVTLCBTQ0FMRV9UWVBFU30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbXBvcnQge2NyZWF0ZURhdGFDb250YWluZXJ9IGZyb20gJy4vZGF0YS1jb250YWluZXItdXRpbHMnO1xuXG4vLyBVbmlxdWUgaWRlbnRpZmllciBvZiBlYWNoIGZpZWxkXG5jb25zdCBGSURfS0VZID0gJ25hbWUnO1xuXG4vKiogQHR5cGVkZWYge2ltcG9ydCgnLi9rZXBsZXItdGFibGUnKS5LZXBsZXJUYWJsZX0gS2VwbGVyVGFibGVDbGFzc30gKi9cblxuLyoqXG4gKiBAdHlwZSB7S2VwbGVyVGFibGVDbGFzc31cbiAqL1xuY2xhc3MgS2VwbGVyVGFibGUge1xuICBjb25zdHJ1Y3Rvcih7aW5mbyA9IHt9LCBkYXRhLCBjb2xvciwgbWV0YWRhdGEsIHN1cHBvcnRlZEZpbHRlclR5cGVzfSkge1xuICAgIC8vIFRPRE8gLSB3aGF0IHRvIGRvIGlmIHZhbGlkYXRpb24gZmFpbHM/IENhbiBrZXBsZXIgaGFuZGxlIGV4Y2VwdGlvbnM/XG4gICAgLy8gY29uc3QgdmFsaWRhdGVkRGF0YSA9IHZhbGlkYXRlSW5wdXREYXRhKGRhdGEpO1xuICAgIC8vIGlmICghdmFsaWRhdGVkRGF0YSkge1xuICAgIC8vICAgcmV0dXJuIHRoaXM7XG4gICAgLy8gfVxuXG4gICAgY29uc3QgZGF0YUNvbnRhaW5lciA9IGNyZWF0ZURhdGFDb250YWluZXIoZGF0YS5yb3dzLCB7ZmllbGRzOiBkYXRhLmZpZWxkc30pO1xuXG4gICAgY29uc3QgZGF0YXNldEluZm8gPSB7XG4gICAgICBpZDogZ2VuZXJhdGVIYXNoSWQoNCksXG4gICAgICBsYWJlbDogJ25ldyBkYXRhc2V0JyxcbiAgICAgIC4uLihpbmZvIHx8IHt9KVxuICAgIH07XG4gICAgY29uc3QgZGF0YUlkID0gZGF0YXNldEluZm8uaWQ7XG5cbiAgICBjb25zdCBmaWVsZHMgPSBkYXRhLmZpZWxkcy5tYXAoKGYsIGkpID0+ICh7XG4gICAgICAuLi5mLFxuICAgICAgZmllbGRJZHg6IGksXG4gICAgICBpZDogZi5uYW1lLFxuICAgICAgZGlzcGxheU5hbWU6IGYuZGlzcGxheU5hbWUgfHwgZi5uYW1lLFxuICAgICAgdmFsdWVBY2Nlc3NvcjogbWF5YmVUb0RhdGUuYmluZChcbiAgICAgICAgbnVsbCxcbiAgICAgICAgLy8gaXMgdGltZVxuICAgICAgICBmLnR5cGUgPT09IEFMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXAsXG4gICAgICAgIGksXG4gICAgICAgIGYuZm9ybWF0LFxuICAgICAgICBkYXRhQ29udGFpbmVyXG4gICAgICApXG4gICAgfSkpO1xuXG4gICAgY29uc3QgYWxsSW5kZXhlcyA9IGRhdGFDb250YWluZXIuZ2V0UGxhaW5JbmRleCgpO1xuXG4gICAgdGhpcy5pZCA9IGRhdGFzZXRJbmZvLmlkO1xuICAgIHRoaXMubGFiZWwgPSBkYXRhc2V0SW5mby5sYWJlbDtcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XG4gICAgdGhpcy5tZXRhZGF0YSA9IHtcbiAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAgaWQ6IGRhdGFzZXRJbmZvLmlkLFxuICAgICAgbGFiZWw6IGRhdGFzZXRJbmZvLmxhYmVsXG4gICAgfTtcblxuICAgIHRoaXMuZGF0YUNvbnRhaW5lciA9IGRhdGFDb250YWluZXI7XG4gICAgdGhpcy5hbGxJbmRleGVzID0gYWxsSW5kZXhlcztcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXggPSBhbGxJbmRleGVzO1xuICAgIHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbiA9IGFsbEluZGV4ZXM7XG4gICAgdGhpcy5maWVsZFBhaXJzID0gZmluZFBvaW50RmllbGRQYWlycyhmaWVsZHMpO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuICAgIHRoaXMuZ3B1RmlsdGVyID0gZ2V0R3B1RmlsdGVyUHJvcHMoW10sIGRhdGFJZCwgZmllbGRzKTtcbiAgICBpZiAoc3VwcG9ydGVkRmlsdGVyVHlwZXMpIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRmlsdGVyVHlwZXMgPSBzdXBwb3J0ZWRGaWx0ZXJUeXBlcztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkXG4gICAqIEBwYXJhbSBjb2x1bW5OYW1lXG4gICAqL1xuICBnZXRDb2x1bW5GaWVsZChjb2x1bW5OYW1lKSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKGZkID0+IGZkW0ZJRF9LRVldID09PSBjb2x1bW5OYW1lKTtcbiAgICB0aGlzLl9hc3NldEZpZWxkKGNvbHVtbk5hbWUsIGZpZWxkKTtcbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkSWR4XG4gICAqIEBwYXJhbSBjb2x1bW5OYW1lXG4gICAqL1xuICBnZXRDb2x1bW5GaWVsZElkeChjb2x1bW5OYW1lKSB7XG4gICAgY29uc3QgZmllbGRJZHggPSB0aGlzLmZpZWxkcy5maW5kSW5kZXgoZmQgPT4gZmRbRklEX0tFWV0gPT09IGNvbHVtbk5hbWUpO1xuICAgIHRoaXMuX2Fzc2V0RmllbGQoY29sdW1uTmFtZSwgQm9vbGVhbihmaWVsZElkeCA+IC0xKSk7XG4gICAgcmV0dXJuIGZpZWxkSWR4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgdmFsdWUgb2YgYSBjZWxsXG4gICAqL1xuICBnZXRWYWx1ZShjb2x1bW5OYW1lLCByb3dJZHgpIHtcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMuZ2V0Q29sdW1uRmllbGQoY29sdW1uTmFtZSk7XG4gICAgcmV0dXJuIGZpZWxkID8gZmllbGQudmFsdWVBY2Nlc3Nvcih7aW5kZXg6IHJvd0lkeH0pIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIGV4aXN0aW5nIGZpZWxkIHdpdGggYSBuZXcgb2JqZWN0XG4gICAqIEBwYXJhbSBmaWVsZElkeFxuICAgKiBAcGFyYW0gbmV3RmllbGRcbiAgICovXG4gIHVwZGF0ZUNvbHVtbkZpZWxkKGZpZWxkSWR4LCBuZXdGaWVsZCkge1xuICAgIHRoaXMuZmllbGRzID0gT2JqZWN0LmFzc2lnbihbLi4udGhpcy5maWVsZHNdLCB7W2ZpZWxkSWR4XTogbmV3RmllbGR9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlIGZpbHRlclByb3BzIHRvIGZpZWxkIGFuZCByZXRyaWV2ZSBpdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmlsdGVyUHJvcHMoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkSWR4ID0gdGhpcy5nZXRDb2x1bW5GaWVsZElkeChjb2x1bW5OYW1lKTtcbiAgICBpZiAoZmllbGRJZHggPCAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkc1tmaWVsZElkeF07XG4gICAgaWYgKGZpZWxkLmhhc093blByb3BlcnR5KCdmaWx0ZXJQcm9wcycpKSB7XG4gICAgICByZXR1cm4gZmllbGQuZmlsdGVyUHJvcHM7XG4gICAgfVxuXG4gICAgY29uc3QgZmllbGREb21haW4gPSB0aGlzLmdldENvbHVtbkZpbHRlckRvbWFpbihmaWVsZCk7XG4gICAgaWYgKCFmaWVsZERvbWFpbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsdGVyUHJvcHMgPSBnZXRGaWx0ZXJQcm9wcyhmaWVsZCwgZmllbGREb21haW4pO1xuICAgIGNvbnN0IG5ld0ZpZWxkID0ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICBmaWx0ZXJQcm9wc1xuICAgIH07XG5cbiAgICB0aGlzLnVwZGF0ZUNvbHVtbkZpZWxkKGZpZWxkSWR4LCBuZXdGaWVsZCk7XG5cbiAgICByZXR1cm4gZmlsdGVyUHJvcHM7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgZmlsdGVycyB0byBkYXRhc2V0LCByZXR1cm4gdGhlIGZpbHRlcmVkIGRhdGFzZXQgd2l0aCB1cGRhdGVkIGBncHVGaWx0ZXJgLCBgZmlsdGVyUmVjb3JkYCwgYGZpbHRlcmVkSW5kZXhgLCBgZmlsdGVyZWRJbmRleEZvckRvbWFpbmBcbiAgICogQHBhcmFtIGZpbHRlcnNcbiAgICogQHBhcmFtIGxheWVyc1xuICAgKiBAcGFyYW0gb3B0XG4gICAqL1xuICBmaWx0ZXJUYWJsZShmaWx0ZXJzLCBsYXllcnMsIG9wdCkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBpZDogZGF0YUlkLCBmaWx0ZXJSZWNvcmQ6IG9sZEZpbHRlclJlY29yZCwgZmllbGRzfSA9IHRoaXM7XG5cbiAgICAvLyBpZiB0aGVyZSBpcyBubyBmaWx0ZXJzXG4gICAgY29uc3QgZmlsdGVyUmVjb3JkID0gZ2V0RmlsdGVyUmVjb3JkKGRhdGFJZCwgZmlsdGVycywgb3B0IHx8IHt9KTtcblxuICAgIHRoaXMuZmlsdGVyUmVjb3JkID0gZmlsdGVyUmVjb3JkO1xuICAgIHRoaXMuZ3B1RmlsdGVyID0gZ2V0R3B1RmlsdGVyUHJvcHMoZmlsdGVycywgZGF0YUlkLCBmaWVsZHMpO1xuXG4gICAgLy8gY29uc3QgbmV3RGF0YXNldCA9IHNldChbJ2ZpbHRlclJlY29yZCddLCBmaWx0ZXJSZWNvcmQsIGRhdGFzZXQpO1xuXG4gICAgaWYgKCFmaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJlZEluZGV4ID0gdGhpcy5hbGxJbmRleGVzO1xuICAgICAgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluID0gdGhpcy5hbGxJbmRleGVzO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFuZ2VkRmlsdGVycyA9IGRpZmZGaWx0ZXJzKGZpbHRlclJlY29yZCwgb2xkRmlsdGVyUmVjb3JkKTtcblxuICAgIC8vIGdlbmVyYXRlIDIgc2V0cyBvZiBmaWx0ZXIgcmVzdWx0XG4gICAgLy8gZmlsdGVyZWRJbmRleCB1c2VkIHRvIGNhbGN1bGF0ZSBsYXllciBkYXRhXG4gICAgLy8gZmlsdGVyZWRJbmRleEZvckRvbWFpbiB1c2VkIHRvIGNhbGN1bGF0ZSBsYXllciBEb21haW5cbiAgICBjb25zdCBzaG91bGRDYWxEb21haW4gPSBCb29sZWFuKHRoaXMuY2hhbmdlZEZpbHRlcnMuZHluYW1pY0RvbWFpbik7XG4gICAgY29uc3Qgc2hvdWxkQ2FsSW5kZXggPSBCb29sZWFuKHRoaXMuY2hhbmdlZEZpbHRlcnMuY3B1KTtcblxuICAgIGxldCBmaWx0ZXJSZXN1bHQgPSB7fTtcbiAgICBpZiAoc2hvdWxkQ2FsRG9tYWluIHx8IHNob3VsZENhbEluZGV4KSB7XG4gICAgICBjb25zdCBkeW5hbWljRG9tYWluRmlsdGVycyA9IHNob3VsZENhbERvbWFpbiA/IGZpbHRlclJlY29yZC5keW5hbWljRG9tYWluIDogbnVsbDtcbiAgICAgIGNvbnN0IGNwdUZpbHRlcnMgPSBzaG91bGRDYWxJbmRleCA/IGZpbHRlclJlY29yZC5jcHUgOiBudWxsO1xuXG4gICAgICBjb25zdCBmaWx0ZXJGdW5jcyA9IGZpbHRlcnMucmVkdWNlKChhY2MsIGZpbHRlcikgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZEluZGV4ID0gZ2V0RGF0YXNldEZpZWxkSW5kZXhGb3JGaWx0ZXIodGhpcy5pZCwgZmlsdGVyKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZEluZGV4ICE9PSAtMSA/IGZpZWxkc1tmaWVsZEluZGV4XSA6IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW2ZpbHRlci5pZF06IGdldEZpbHRlckZ1bmN0aW9uKGZpZWxkLCB0aGlzLmlkLCBmaWx0ZXIsIGxheWVycywgZGF0YUNvbnRhaW5lcilcbiAgICAgICAgfTtcbiAgICAgIH0sIHt9KTtcblxuICAgICAgZmlsdGVyUmVzdWx0ID0gZmlsdGVyRGF0YUJ5RmlsdGVyVHlwZXMoXG4gICAgICAgIHtkeW5hbWljRG9tYWluRmlsdGVycywgY3B1RmlsdGVycywgZmlsdGVyRnVuY3N9LFxuICAgICAgICBkYXRhQ29udGFpbmVyXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZmlsdGVyZWRJbmRleCA9IGZpbHRlclJlc3VsdC5maWx0ZXJlZEluZGV4IHx8IHRoaXMuZmlsdGVyZWRJbmRleDtcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXhGb3JEb21haW4gPVxuICAgICAgZmlsdGVyUmVzdWx0LmZpbHRlcmVkSW5kZXhGb3JEb21haW4gfHwgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgZmlsdGVycyB0byBhIGRhdGFzZXQgYWxsIG9uIENQVSwgYXNzaWduIHRvIGBmaWx0ZXJlZElkeENQVWAsIGBmaWx0ZXJSZWNvcmRDUFVgXG4gICAqIEBwYXJhbSBmaWx0ZXJzXG4gICAqIEBwYXJhbSBsYXllcnNcbiAgICovXG4gIGZpbHRlclRhYmxlQ1BVKGZpbHRlcnMsIGxheWVycykge1xuICAgIGNvbnN0IG9wdCA9IHtcbiAgICAgIGNwdU9ubHk6IHRydWUsXG4gICAgICBpZ25vcmVEb21haW46IHRydWVcbiAgICB9O1xuXG4gICAgLy8gbm8gZmlsdGVyXG4gICAgaWYgKCFmaWx0ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJlZElkeENQVSA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHRoaXMuZmlsdGVyUmVjb3JkQ1BVID0gZ2V0RmlsdGVyUmVjb3JkKHRoaXMuaWQsIGZpbHRlcnMsIG9wdCk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBubyBncHUgZmlsdGVyXG4gICAgaWYgKCFmaWx0ZXJzLmZpbmQoZiA9PiBmLmdwdSkpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSB0aGlzLmZpbHRlcmVkSW5kZXg7XG4gICAgICB0aGlzLmZpbHRlclJlY29yZENQVSA9IGdldEZpbHRlclJlY29yZCh0aGlzLmlkLCBmaWx0ZXJzLCBvcHQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gbWFrZSBhIGNvcHkgZm9yIGNwdSBmaWx0ZXJpbmdcbiAgICBjb25zdCBjb3BpZWQgPSBjb3B5VGFibGUodGhpcyk7XG5cbiAgICBjb3BpZWQuZmlsdGVyUmVjb3JkID0gdGhpcy5maWx0ZXJSZWNvcmRDUFU7XG4gICAgY29waWVkLmZpbHRlcmVkSW5kZXggPSB0aGlzLmZpbHRlcmVkSWR4Q1BVIHx8IFtdO1xuXG4gICAgY29uc3QgZmlsdGVyZWQgPSBjb3BpZWQuZmlsdGVyVGFibGUoZmlsdGVycywgbGF5ZXJzLCBvcHQpO1xuXG4gICAgdGhpcy5maWx0ZXJlZElkeENQVSA9IGZpbHRlcmVkLmZpbHRlcmVkSW5kZXg7XG4gICAgdGhpcy5maWx0ZXJSZWNvcmRDUFUgPSBmaWx0ZXJlZC5maWx0ZXJSZWNvcmQ7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgZmllbGQgZG9tYWluIGJhc2VkIG9uIGZpZWxkIHR5cGUgYW5kIGRhdGFcbiAgICogZm9yIEZpbHRlclxuICAgKi9cbiAgZ2V0Q29sdW1uRmlsdGVyRG9tYWluKGZpZWxkKSB7XG4gICAgY29uc3Qge2RhdGFDb250YWluZXJ9ID0gdGhpcztcbiAgICBjb25zdCB7dmFsdWVBY2Nlc3Nvcn0gPSBmaWVsZDtcblxuICAgIGxldCBkb21haW47XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLnJlYWw6XG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyOlxuICAgICAgICAvLyBjYWxjdWxhdGUgZG9tYWluIGFuZCBzdGVwXG4gICAgICAgIHJldHVybiBnZXROdW1lcmljRmllbGREb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW46XG4gICAgICAgIHJldHVybiB7ZG9tYWluOiBbdHJ1ZSwgZmFsc2VdfTtcblxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuc3RyaW5nOlxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuZGF0ZTpcbiAgICAgICAgZG9tYWluID0gZ2V0T3JkaW5hbERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcbiAgICAgICAgcmV0dXJuIHtkb21haW59O1xuXG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXA6XG4gICAgICAgIHJldHVybiBnZXRUaW1lc3RhbXBGaWVsZERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHtkb21haW46IGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcil9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0IHRoZSBkb21haW4gb2YgdGhpcyBjb2x1bW4gYmFzZWQgb24gc2NhbGUgdHlwZVxuICAgKi9cbiAgZ2V0Q29sdW1uTGF5ZXJEb21haW4oZmllbGQsIHNjYWxlVHlwZSkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyLCBmaWx0ZXJlZEluZGV4Rm9yRG9tYWlufSA9IHRoaXM7XG5cbiAgICBpZiAoIVNDQUxFX1RZUEVTW3NjYWxlVHlwZV0pIHtcbiAgICAgIENvbnNvbGUuZXJyb3IoYHNjYWxlIHR5cGUgJHtzY2FsZVR5cGV9IG5vdCBzdXBwb3J0ZWRgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHt2YWx1ZUFjY2Vzc29yfSA9IGZpZWxkO1xuICAgIGNvbnN0IGluZGV4VmFsdWVBY2Nlc3NvciA9IGkgPT4gdmFsdWVBY2Nlc3Nvcih7aW5kZXg6IGl9KTtcbiAgICBjb25zdCBzb3J0RnVuY3Rpb24gPSBnZXRTb3J0aW5nRnVuY3Rpb24oZmllbGQudHlwZSk7XG5cbiAgICBzd2l0Y2ggKHNjYWxlVHlwZSkge1xuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5vcmRpbmFsOlxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5wb2ludDpcbiAgICAgICAgLy8gZG8gbm90IHJlY2FsY3VsYXRlIG9yZGluYWwgZG9tYWluIGJhc2VkIG9uIGZpbHRlcmVkIGRhdGFcbiAgICAgICAgLy8gZG9uJ3QgbmVlZCB0byB1cGRhdGUgb3JkaW5hbCBkb21haW4gZXZlcnkgdGltZVxuICAgICAgICByZXR1cm4gZ2V0T3JkaW5hbERvbWFpbihkYXRhQ29udGFpbmVyLCB2YWx1ZUFjY2Vzc29yKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5xdWFudGlsZTpcbiAgICAgICAgcmV0dXJuIGdldFF1YW50aWxlRG9tYWluKGZpbHRlcmVkSW5kZXhGb3JEb21haW4sIGluZGV4VmFsdWVBY2Nlc3Nvciwgc29ydEZ1bmN0aW9uKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5sb2c6XG4gICAgICAgIHJldHVybiBnZXRMb2dEb21haW4oZmlsdGVyZWRJbmRleEZvckRvbWFpbiwgaW5kZXhWYWx1ZUFjY2Vzc29yKTtcblxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5xdWFudGl6ZTpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMubGluZWFyOlxuICAgICAgY2FzZSBTQ0FMRV9UWVBFUy5zcXJ0OlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGdldExpbmVhckRvbWFpbihmaWx0ZXJlZEluZGV4Rm9yRG9tYWluLCBpbmRleFZhbHVlQWNjZXNzb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzYW1wbGUgb2Ygcm93cyB0byBjYWxjdWxhdGUgbGF5ZXIgYm91bmRhcmllc1xuICAgKi9cbiAgLy8gZ2V0U2FtcGxlRGF0YShyb3dzKVxuXG4gIC8qKlxuICAgKiBQYXJzZSBjZWxsIHZhbHVlIGJhc2VkIG9uIGNvbHVtbiB0eXBlIGFuZCByZXR1cm4gYSBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICogVmFsdWUgdGhlIGZpZWxkIHZhbHVlLCB0eXBlIHRoZSBmaWVsZCB0eXBlXG4gICAqL1xuICAvLyBwYXJzZUZpZWxkVmFsdWUodmFsdWUsIHR5cGUpXG5cbiAgLy8gc29ydERhdGFzZXRCeUNvbHVtbigpXG5cbiAgLyoqXG4gICAqIEFzc2VydCB3aGV0aGVyIGZpZWxkIGV4aXN0XG4gICAqIEBwYXJhbSBmaWVsZE5hbWVcbiAgICogQHBhcmFtIGNvbmRpdGlvblxuICAgKi9cbiAgX2Fzc2V0RmllbGQoZmllbGROYW1lLCBjb25kaXRpb24pIHtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgQ29uc29sZS5lcnJvcihgJHtmaWVsZE5hbWV9IGRvZXNudCBleGlzdCBpbiBkYXRhc2V0ICR7dGhpcy5pZH1gKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSEVMUEVSIEZVTkNUSU9OUyAoTUFJTkxZIEVYUE9SVEVEIEZPUiBURVNULi4uKVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlU3VmZml4QW5kRGVsaW1pdGVycyhsYXllck5hbWUsIHN1ZmZpeCkge1xuICByZXR1cm4gbGF5ZXJOYW1lXG4gICAgLnJlcGxhY2UobmV3IFJlZ0V4cChzdWZmaXgsICdpZycpLCAnJylcbiAgICAucmVwbGFjZSgvW18sLl0rL2csICcgJylcbiAgICAudHJpbSgpO1xufVxuXG4vKipcbiAqIEZpbmQgcG9pbnQgZmllbGRzIHBhaXJzIGZyb20gZmllbGRzXG4gKlxuICogQHBhcmFtIGZpZWxkc1xuICogQHJldHVybnMgZm91bmQgcG9pbnQgZmllbGRzXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9rZXBsZXItdGFibGUnKS5maW5kUG9pbnRGaWVsZFBhaXJzfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFBvaW50RmllbGRQYWlycyhmaWVsZHMpIHtcbiAgY29uc3QgYWxsTmFtZXMgPSBmaWVsZHMubWFwKGYgPT4gZi5uYW1lLnRvTG93ZXJDYXNlKCkpO1xuXG4gIC8vIGdldCBsaXN0IG9mIGFsbCBmaWVsZHMgd2l0aCBtYXRjaGluZyBzdWZmaXhlc1xuICBjb25zdCBhY2MgPSBbXTtcbiAgcmV0dXJuIGFsbE5hbWVzLnJlZHVjZSgoY2FycnksIGZpZWxkTmFtZSwgaWR4KSA9PiB7XG4gICAgLy8gVGhpcyBzZWFyY2ggZm9yIHBhaXJzIHdpbGwgZWFybHkgZXhpdCBpZiBmb3VuZC5cbiAgICBmb3IgKGNvbnN0IHN1ZmZpeFBhaXIgb2YgVFJJUF9QT0lOVF9GSUVMRFMpIHtcbiAgICAgIC8vIG1hdGNoIGZpcnN0IHN1ZmZpeGBgYFxuICAgICAgaWYgKGZpZWxkTmFtZS5lbmRzV2l0aChzdWZmaXhQYWlyWzBdKSkge1xuICAgICAgICAvLyBtYXRjaCBzZWNvbmQgc3VmZml4XG4gICAgICAgIGNvbnN0IG90aGVyUGF0dGVybiA9IG5ldyBSZWdFeHAoYCR7c3VmZml4UGFpclswXX1cXCRgKTtcbiAgICAgICAgY29uc3QgcGFydG5lciA9IGZpZWxkTmFtZS5yZXBsYWNlKG90aGVyUGF0dGVybiwgc3VmZml4UGFpclsxXSk7XG5cbiAgICAgICAgY29uc3QgcGFydG5lcklkeCA9IGFsbE5hbWVzLmZpbmRJbmRleChkID0+IGQgPT09IHBhcnRuZXIpO1xuICAgICAgICBpZiAocGFydG5lcklkeCA+IC0xKSB7XG4gICAgICAgICAgY29uc3QgZGVmYXVsdE5hbWUgPSByZW1vdmVTdWZmaXhBbmREZWxpbWl0ZXJzKGZpZWxkTmFtZSwgc3VmZml4UGFpclswXSk7XG5cbiAgICAgICAgICBjYXJyeS5wdXNoKHtcbiAgICAgICAgICAgIGRlZmF1bHROYW1lLFxuICAgICAgICAgICAgcGFpcjoge1xuICAgICAgICAgICAgICBsYXQ6IHtcbiAgICAgICAgICAgICAgICBmaWVsZElkeDogaWR4LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZHNbaWR4XS5uYW1lXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGxuZzoge1xuICAgICAgICAgICAgICAgIGZpZWxkSWR4OiBwYXJ0bmVySWR4LFxuICAgICAgICAgICAgICAgIHZhbHVlOiBmaWVsZHNbcGFydG5lcklkeF0ubmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VmZml4OiBzdWZmaXhQYWlyXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGNhcnJ5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjYXJyeTtcbiAgfSwgYWNjKTtcbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGRhdGFzZXRcbiAqIEBwYXJhbSBjb2x1bW5cbiAqIEBwYXJhbSBtb2RlXG4gKiBAdHlwZSB7dHlwZW9mIGltcG9ydCgnLi9rZXBsZXItdGFibGUnKS5zb3J0RGF0YXNldEJ5Q29sdW1ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gc29ydERhdGFzZXRCeUNvbHVtbihkYXRhc2V0LCBjb2x1bW4sIG1vZGUpIHtcbiAgY29uc3Qge2FsbEluZGV4ZXMsIGZpZWxkcywgZGF0YUNvbnRhaW5lcn0gPSBkYXRhc2V0O1xuICBjb25zdCBmaWVsZEluZGV4ID0gZmllbGRzLmZpbmRJbmRleChmID0+IGYubmFtZSA9PT0gY29sdW1uKTtcbiAgaWYgKGZpZWxkSW5kZXggPCAwKSB7XG4gICAgcmV0dXJuIGRhdGFzZXQ7XG4gIH1cblxuICBjb25zdCBzb3J0QnkgPSBTT1JUX09SREVSW21vZGVdIHx8IFNPUlRfT1JERVIuQVNDRU5ESU5HO1xuXG4gIGlmIChzb3J0QnkgPT09IFNPUlRfT1JERVIuVU5TT1JUKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRhdGFzZXQsXG4gICAgICBzb3J0Q29sdW1uOiB7fSxcbiAgICAgIHNvcnRPcmRlcjogbnVsbFxuICAgIH07XG4gIH1cblxuICBjb25zdCBzb3J0RnVuY3Rpb24gPSBzb3J0QnkgPT09IFNPUlRfT1JERVIuQVNDRU5ESU5HID8gYXNjZW5kaW5nIDogZGVzY2VuZGluZztcbiAgY29uc3Qgc29ydE9yZGVyID0gYWxsSW5kZXhlc1xuICAgIC5zbGljZSgpXG4gICAgLnNvcnQoKGEsIGIpID0+XG4gICAgICBzb3J0RnVuY3Rpb24oZGF0YUNvbnRhaW5lci52YWx1ZUF0KGEsIGZpZWxkSW5kZXgpLCBkYXRhQ29udGFpbmVyLnZhbHVlQXQoYiwgZmllbGRJbmRleCkpXG4gICAgKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRhdGFzZXQsXG4gICAgc29ydENvbHVtbjoge1xuICAgICAgW2NvbHVtbl06IHNvcnRCeVxuICAgIH0sXG4gICAgc29ydE9yZGVyXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5VGFibGUob3JpZ2luYWwpIHtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob3JpZ2luYWwpKSwgb3JpZ2luYWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVRhYmxlQW5kVXBkYXRlKG9yaWdpbmFsLCBvcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9wdGlvbnMpLnJlZHVjZSgoYWNjLCBlbnRyeSkgPT4ge1xuICAgIGFjY1tlbnRyeVswXV0gPSBlbnRyeVsxXTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCBjb3B5VGFibGUob3JpZ2luYWwpKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgS2VwbGVyVGFibGU7XG4iXX0=
|
|
537
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy90YWJsZS11dGlscy9rZXBsZXItdGFibGUuanMiXSwibmFtZXMiOlsiRklEX0tFWSIsIktlcGxlclRhYmxlIiwiaW5mbyIsImRhdGEiLCJjb2xvciIsIm1ldGFkYXRhIiwic3VwcG9ydGVkRmlsdGVyVHlwZXMiLCJkYXRhQ29udGFpbmVyIiwicm93cyIsImZpZWxkcyIsImRhdGFzZXRJbmZvIiwiaWQiLCJsYWJlbCIsImRhdGFJZCIsIm1hcCIsImYiLCJpIiwiZmllbGRJZHgiLCJuYW1lIiwiZGlzcGxheU5hbWUiLCJ2YWx1ZUFjY2Vzc29yIiwibWF5YmVUb0RhdGUiLCJiaW5kIiwidHlwZSIsIkFMTF9GSUVMRF9UWVBFUyIsInRpbWVzdGFtcCIsImRhdGUiLCJmb3JtYXQiLCJhbGxJbmRleGVzIiwiZ2V0UGxhaW5JbmRleCIsImZpbHRlcmVkSW5kZXgiLCJmaWx0ZXJlZEluZGV4Rm9yRG9tYWluIiwiZmllbGRQYWlycyIsImZpbmRQb2ludEZpZWxkUGFpcnMiLCJncHVGaWx0ZXIiLCJjb2x1bW5OYW1lIiwiZmllbGQiLCJmaW5kIiwiZmQiLCJfYXNzZXRGaWVsZCIsImZpbmRJbmRleCIsIkJvb2xlYW4iLCJyb3dJZHgiLCJnZXRDb2x1bW5GaWVsZCIsImluZGV4IiwibmV3RmllbGQiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXRDb2x1bW5GaWVsZElkeCIsImhhc093blByb3BlcnR5IiwiZmlsdGVyUHJvcHMiLCJmaWVsZERvbWFpbiIsImdldENvbHVtbkZpbHRlckRvbWFpbiIsInVwZGF0ZUNvbHVtbkZpZWxkIiwiZmlsdGVycyIsImxheWVycyIsIm9wdCIsIm9sZEZpbHRlclJlY29yZCIsImZpbHRlclJlY29yZCIsImxlbmd0aCIsImNoYW5nZWRGaWx0ZXJzIiwic2hvdWxkQ2FsRG9tYWluIiwiZHluYW1pY0RvbWFpbiIsInNob3VsZENhbEluZGV4IiwiY3B1IiwiZmlsdGVyUmVzdWx0IiwiZHluYW1pY0RvbWFpbkZpbHRlcnMiLCJjcHVGaWx0ZXJzIiwiZmlsdGVyRnVuY3MiLCJyZWR1Y2UiLCJhY2MiLCJmaWx0ZXIiLCJmaWVsZEluZGV4IiwiY3B1T25seSIsImlnbm9yZURvbWFpbiIsImZpbHRlcmVkSWR4Q1BVIiwiZmlsdGVyUmVjb3JkQ1BVIiwiZ3B1IiwiY29waWVkIiwiY29weVRhYmxlIiwiZmlsdGVyZWQiLCJmaWx0ZXJUYWJsZSIsImRvbWFpbiIsInJlYWwiLCJpbnRlZ2VyIiwic3RyaW5nIiwic2NhbGVUeXBlIiwiU0NBTEVfVFlQRVMiLCJDb25zb2xlIiwiZXJyb3IiLCJpbmRleFZhbHVlQWNjZXNzb3IiLCJzb3J0RnVuY3Rpb24iLCJvcmRpbmFsIiwicG9pbnQiLCJxdWFudGlsZSIsImxvZyIsInF1YW50aXplIiwibGluZWFyIiwic3FydCIsImZpZWxkTmFtZSIsImNvbmRpdGlvbiIsInJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMiLCJsYXllck5hbWUiLCJzdWZmaXgiLCJyZXBsYWNlIiwiUmVnRXhwIiwidHJpbSIsImFsbE5hbWVzIiwidG9Mb3dlckNhc2UiLCJjYXJyeSIsImlkeCIsIlRSSVBfUE9JTlRfRklFTERTIiwic3VmZml4UGFpciIsImVuZHNXaXRoIiwib3RoZXJQYXR0ZXJuIiwicGFydG5lciIsInBhcnRuZXJJZHgiLCJkIiwiZGVmYXVsdE5hbWUiLCJwdXNoIiwicGFpciIsImxhdCIsInZhbHVlIiwibG5nIiwic29ydERhdGFzZXRCeUNvbHVtbiIsImRhdGFzZXQiLCJjb2x1bW4iLCJtb2RlIiwic29ydEJ5IiwiU09SVF9PUkRFUiIsIkFTQ0VORElORyIsIlVOU09SVCIsInNvcnRDb2x1bW4iLCJzb3J0T3JkZXIiLCJhc2NlbmRpbmciLCJkZXNjZW5kaW5nIiwic2xpY2UiLCJzb3J0IiwiYSIsImIiLCJ2YWx1ZUF0Iiwib3JpZ2luYWwiLCJjcmVhdGUiLCJnZXRQcm90b3R5cGVPZiIsImNvcHlUYWJsZUFuZFVwZGF0ZSIsIm9wdGlvbnMiLCJlbnRyaWVzIiwiZW50cnkiXSwibWFwcGluZ3Mi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Q0txRCxPQURMO0FBRUVPLElBQUFBLFVBQVUsdUNBQ1BOLE1BRE8sRUFDRUUsTUFERixDQUZaO0FBS0VLLElBQUFBLFNBQVMsRUFBVEE7QUFMRjtBQU9EOztBQUVNLFNBQVN0RCxTQUFULENBQW1COEQsUUFBbkIsRUFBNkI7QUFDbEMsU0FBTy9GLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjRCxNQUFNLENBQUNnRyxNQUFQLENBQWNoRyxNQUFNLENBQUNpRyxjQUFQLENBQXNCRixRQUF0QixDQUFkLENBQWQsRUFBOERBLFFBQTlELENBQVA7QUFDRDs7QUFFTSxTQUFTRyxrQkFBVCxDQUE0QkgsUUFBNUIsRUFBb0Q7QUFBQSxNQUFkSSxPQUFjLHVFQUFKLEVBQUk7QUFDekQsU0FBT25HLE1BQU0sQ0FBQ29HLE9BQVAsQ0FBZUQsT0FBZixFQUF3QjVFLE1BQXhCLENBQStCLFVBQUNDLEdBQUQsRUFBTTZFLEtBQU4sRUFBZ0I7QUFDcEQ3RSxJQUFBQSxHQUFHLENBQUM2RSxLQUFLLENBQUMsQ0FBRCxDQUFOLENBQUgsR0FBZ0JBLEtBQUssQ0FBQyxDQUFELENBQXJCO0FBQ0EsV0FBTzdFLEdBQVA7QUFDRCxHQUhNLEVBR0pTLFNBQVMsQ0FBQzhELFFBQUQsQ0FITCxDQUFQO0FBSUQ7O2VBRWM1SSxXIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHtjb25zb2xlIGFzIENvbnNvbGV9IGZyb20gJ2dsb2JhbC9jb25zb2xlJztcbmltcG9ydCB7VFJJUF9QT0lOVF9GSUVMRFMsIFNPUlRfT1JERVJ9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7YXNjZW5kaW5nLCBkZXNjZW5kaW5nfSBmcm9tICdkMy1hcnJheSc7XG5cbi8vIGltcG9ydCB7dmFsaWRhdGVJbnB1dERhdGF9IGZyb20gJ3Byb2Nlc3NvcnMvZGF0YS1wcm9jZXNzb3InO1xuaW1wb3J0IHtnZW5lcmF0ZUhhc2hJZH0gZnJvbSAndXRpbHMvdXRpbHMnO1xuaW1wb3J0IHtnZXRHcHVGaWx0ZXJQcm9wcywgZ2V0RGF0YXNldEZpZWxkSW5kZXhGb3JGaWx0ZXJ9IGZyb20gJ3V0aWxzL2dwdS1maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RmlsdGVyUHJvcHMsXG4gIGdldEZpbHRlclJlY29yZCxcbiAgZGlmZkZpbHRlcnMsXG4gIGdldEZpbHRlckZ1bmN0aW9uLFxuICBmaWx0ZXJEYXRhQnlGaWx0ZXJUeXBlcyxcbiAgZ2V0TnVtZXJpY0ZpZWxkRG9tYWluLFxuICBnZXRUaW1lc3RhbXBGaWVsZERvbWFpblxufSBmcm9tICd1dGlscy9maWx0ZXItdXRpbHMnO1xuaW1wb3J0IHttYXliZVRvRGF0ZSwgZ2V0U29ydGluZ0Z1bmN0aW9ufSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcbmltcG9ydCB7XG4gIGdldFF1YW50aWxlRG9tYWluLFxuICBnZXRPcmRpbmFsRG9tYWluLFxuICBnZXRMb2dEb21haW4sXG4gIGdldExpbmVhckRvbWFpblxufSBmcm9tICd1dGlscy9kYXRhLXNjYWxlLXV0aWxzJztcblxuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIFNDQUxFX1RZUEVTfSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5cbmltcG9ydCB7Y3JlYXRlRGF0YUNvbnRhaW5lcn0gZnJvbSAnLi9kYXRhLWNvbnRhaW5lci11dGlscyc7XG5cbi8vIFVuaXF1ZSBpZGVudGlmaWVyIG9mIGVhY2ggZmllbGRcbmNvbnN0IEZJRF9LRVkgPSAnbmFtZSc7XG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCcuL2tlcGxlci10YWJsZScpLktlcGxlclRhYmxlfSBLZXBsZXJUYWJsZUNsYXNzfSAqL1xuXG4vKipcbiAqIEB0eXBlIHtLZXBsZXJUYWJsZUNsYXNzfVxuICovXG5jbGFzcyBLZXBsZXJUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHtpbmZvID0ge30sIGRhdGEsIGNvbG9yLCBtZXRhZGF0YSwgc3VwcG9ydGVkRmlsdGVyVHlwZXN9KSB7XG4gICAgLy8gVE9ETyAtIHdoYXQgdG8gZG8gaWYgdmFsaWRhdGlvbiBmYWlscz8gQ2FuIGtlcGxlciBoYW5kbGUgZXhjZXB0aW9ucz9cbiAgICAvLyBjb25zdCB2YWxpZGF0ZWREYXRhID0gdmFsaWRhdGVJbnB1dERhdGEoZGF0YSk7XG4gICAgLy8gaWYgKCF2YWxpZGF0ZWREYXRhKSB7XG4gICAgLy8gICByZXR1cm4gdGhpcztcbiAgICAvLyB9XG5cbiAgICBjb25zdCBkYXRhQ29udGFpbmVyID0gY3JlYXRlRGF0YUNvbnRhaW5lcihkYXRhLnJvd3MsIHtmaWVsZHM6IGRhdGEuZmllbGRzfSk7XG5cbiAgICBjb25zdCBkYXRhc2V0SW5mbyA9IHtcbiAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCg0KSxcbiAgICAgIGxhYmVsOiAnbmV3IGRhdGFzZXQnLFxuICAgICAgLi4uKGluZm8gfHwge30pXG4gICAgfTtcbiAgICBjb25zdCBkYXRhSWQgPSBkYXRhc2V0SW5mby5pZDtcblxuICAgIGNvbnN0IGZpZWxkcyA9IGRhdGEuZmllbGRzLm1hcCgoZiwgaSkgPT4gKHtcbiAgICAgIC4uLmYsXG4gICAgICBmaWVsZElkeDogaSxcbiAgICAgIGlkOiBmLm5hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogZi5kaXNwbGF5TmFtZSB8fCBmLm5hbWUsXG4gICAgICB2YWx1ZUFjY2Vzc29yOiBtYXliZVRvRGF0ZS5iaW5kKFxuICAgICAgICBudWxsLFxuICAgICAgICAvLyBpcyB0aW1lXG4gICAgICAgIGYudHlwZSA9PT0gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcCB8fCBmLnR5cGUgPT09IEFMTF9GSUVMRF9UWVBFUy5kYXRlLFxuICAgICAgICBpLFxuICAgICAgICBmLmZvcm1hdCxcbiAgICAgICAgZGF0YUNvbnRhaW5lclxuICAgICAgKVxuICAgIH0pKTtcblxuICAgIGNvbnN0IGFsbEluZGV4ZXMgPSBkYXRhQ29udGFpbmVyLmdldFBsYWluSW5kZXgoKTtcblxuICAgIHRoaXMuaWQgPSBkYXRhc2V0SW5mby5pZDtcbiAgICB0aGlzLmxhYmVsID0gZGF0YXNldEluZm8ubGFiZWw7XG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xuICAgIHRoaXMubWV0YWRhdGEgPSB7XG4gICAgICAuLi5tZXRhZGF0YSxcbiAgICAgIGlkOiBkYXRhc2V0SW5mby5pZCxcbiAgICAgIGxhYmVsOiBkYXRhc2V0SW5mby5sYWJlbFxuICAgIH07XG5cbiAgICB0aGlzLmRhdGFDb250YWluZXIgPSBkYXRhQ29udGFpbmVyO1xuICAgIHRoaXMuYWxsSW5kZXhlcyA9IGFsbEluZGV4ZXM7XG4gICAgdGhpcy5maWx0ZXJlZEluZGV4ID0gYWxsSW5kZXhlcztcbiAgICB0aGlzLmZpbHRlcmVkSW5kZXhGb3JEb21haW4gPSBhbGxJbmRleGVzO1xuICAgIHRoaXMuZmllbGRQYWlycyA9IGZpbmRQb2ludEZpZWxkUGFpcnMoZmllbGRzKTtcbiAgICB0aGlzLmZpZWxkcyA9IGZpZWxkcztcbiAgICB0aGlzLmdwdUZpbHRlciA9IGdldEdwdUZpbHRlclByb3BzKFtdLCBkYXRhSWQsIGZpZWxkcyk7XG4gICAgaWYgKHN1cHBvcnRlZEZpbHRlclR5cGVzKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZEZpbHRlclR5cGVzID0gc3VwcG9ydGVkRmlsdGVyVHlwZXM7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBmaWVsZFxuICAgKiBAcGFyYW0gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmllbGQoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHMuZmluZChmZCA9PiBmZFtGSURfS0VZXSA9PT0gY29sdW1uTmFtZSk7XG4gICAgdGhpcy5fYXNzZXRGaWVsZChjb2x1bW5OYW1lLCBmaWVsZCk7XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBmaWVsZElkeFxuICAgKiBAcGFyYW0gY29sdW1uTmFtZVxuICAgKi9cbiAgZ2V0Q29sdW1uRmllbGRJZHgoY29sdW1uTmFtZSkge1xuICAgIGNvbnN0IGZpZWxkSWR4ID0gdGhpcy5maWVsZHMuZmluZEluZGV4KGZkID0+IGZkW0ZJRF9LRVldID09PSBjb2x1bW5OYW1lKTtcbiAgICB0aGlzLl9hc3NldEZpZWxkKGNvbHVtbk5hbWUsIEJvb2xlYW4oZmllbGRJZHggPiAtMSkpO1xuICAgIHJldHVybiBmaWVsZElkeDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHZhbHVlIG9mIGEgY2VsbFxuICAgKi9cbiAgZ2V0VmFsdWUoY29sdW1uTmFtZSwgcm93SWR4KSB7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmdldENvbHVtbkZpZWxkKGNvbHVtbk5hbWUpO1xuICAgIHJldHVybiBmaWVsZCA/IGZpZWxkLnZhbHVlQWNjZXNzb3Ioe2luZGV4OiByb3dJZHh9KSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBleGlzdGluZyBmaWVsZCB3aXRoIGEgbmV3IG9iamVjdFxuICAgKiBAcGFyYW0gZmllbGRJZHhcbiAgICogQHBhcmFtIG5ld0ZpZWxkXG4gICAqL1xuICB1cGRhdGVDb2x1bW5GaWVsZChmaWVsZElkeCwgbmV3RmllbGQpIHtcbiAgICB0aGlzLmZpZWxkcyA9IE9iamVjdC5hc3NpZ24oWy4uLnRoaXMuZmllbGRzXSwge1tmaWVsZElkeF06IG5ld0ZpZWxkfSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZSBmaWx0ZXJQcm9wcyB0byBmaWVsZCBhbmQgcmV0cmlldmUgaXRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbk5hbWVcbiAgICovXG4gIGdldENvbHVtbkZpbHRlclByb3BzKGNvbHVtbk5hbWUpIHtcbiAgICBjb25zdCBmaWVsZElkeCA9IHRoaXMuZ2V0Q29sdW1uRmllbGRJZHgoY29sdW1uTmFtZSk7XG4gICAgaWYgKGZpZWxkSWR4IDwgMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGZpZWxkID0gdGhpcy5maWVsZHNbZmllbGRJZHhdO1xuICAgIGlmIChmaWVsZC5oYXNPd25Qcm9wZXJ0eSgnZmlsdGVyUHJvcHMnKSkge1xuICAgICAgcmV0dXJuIGZpZWxkLmZpbHRlclByb3BzO1xuICAgIH1cblxuICAgIGNvbnN0IGZpZWxkRG9tYWluID0gdGhpcy5nZXRDb2x1bW5GaWx0ZXJEb21haW4oZmllbGQpO1xuICAgIGlmICghZmllbGREb21haW4pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbHRlclByb3BzID0gZ2V0RmlsdGVyUHJvcHMoZmllbGQsIGZpZWxkRG9tYWluKTtcbiAgICBjb25zdCBuZXdGaWVsZCA9IHtcbiAgICAgIC4uLmZpZWxkLFxuICAgICAgZmlsdGVyUHJvcHNcbiAgICB9O1xuXG4gICAgdGhpcy51cGRhdGVDb2x1bW5GaWVsZChmaWVsZElkeCwgbmV3RmllbGQpO1xuXG4gICAgcmV0dXJuIGZpbHRlclByb3BzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGZpbHRlcnMgdG8gZGF0YXNldCwgcmV0dXJuIHRoZSBmaWx0ZXJlZCBkYXRhc2V0IHdpdGggdXBkYXRlZCBgZ3B1RmlsdGVyYCwgYGZpbHRlclJlY29yZGAsIGBmaWx0ZXJlZEluZGV4YCwgYGZpbHRlcmVkSW5kZXhGb3JEb21haW5gXG4gICAqIEBwYXJhbSBmaWx0ZXJzXG4gICAqIEBwYXJhbSBsYXllcnNcbiAgICogQHBhcmFtIG9wdFxuICAgKi9cbiAgZmlsdGVyVGFibGUoZmlsdGVycywgbGF5ZXJzLCBvcHQpIHtcbiAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgaWQ6IGRhdGFJZCwgZmlsdGVyUmVjb3JkOiBvbGRGaWx0ZXJSZWNvcmQsIGZpZWxkc30gPSB0aGlzO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gZmlsdGVyc1xuICAgIGNvbnN0IGZpbHRlclJlY29yZCA9IGdldEZpbHRlclJlY29yZChkYXRhSWQsIGZpbHRlcnMsIG9wdCB8fCB7fSk7XG5cbiAgICB0aGlzLmZpbHRlclJlY29yZCA9IGZpbHRlclJlY29yZDtcbiAgICB0aGlzLmdwdUZpbHRlciA9IGdldEdwdUZpbHRlclByb3BzKGZpbHRlcnMsIGRhdGFJZCwgZmllbGRzKTtcblxuICAgIC8vIGNvbnN0IG5ld0RhdGFzZXQgPSBzZXQoWydmaWx0ZXJSZWNvcmQnXSwgZmlsdGVyUmVjb3JkLCBkYXRhc2V0KTtcblxuICAgIGlmICghZmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJbmRleCA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbiA9IHRoaXMuYWxsSW5kZXhlcztcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuY2hhbmdlZEZpbHRlcnMgPSBkaWZmRmlsdGVycyhmaWx0ZXJSZWNvcmQsIG9sZEZpbHRlclJlY29yZCk7XG5cbiAgICAvLyBnZW5lcmF0ZSAyIHNldHMgb2YgZmlsdGVyIHJlc3VsdFxuICAgIC8vIGZpbHRlcmVkSW5kZXggdXNlZCB0byBjYWxjdWxhdGUgbGF5ZXIgZGF0YVxuICAgIC8vIGZpbHRlcmVkSW5kZXhGb3JEb21haW4gdXNlZCB0byBjYWxjdWxhdGUgbGF5ZXIgRG9tYWluXG4gICAgY29uc3Qgc2hvdWxkQ2FsRG9tYWluID0gQm9vbGVhbih0aGlzLmNoYW5nZWRGaWx0ZXJzLmR5bmFtaWNEb21haW4pO1xuICAgIGNvbnN0IHNob3VsZENhbEluZGV4ID0gQm9vbGVhbih0aGlzLmNoYW5nZWRGaWx0ZXJzLmNwdSk7XG5cbiAgICBsZXQgZmlsdGVyUmVzdWx0ID0ge307XG4gICAgaWYgKHNob3VsZENhbERvbWFpbiB8fCBzaG91bGRDYWxJbmRleCkge1xuICAgICAgY29uc3QgZHluYW1pY0RvbWFpbkZpbHRlcnMgPSBzaG91bGRDYWxEb21haW4gPyBmaWx0ZXJSZWNvcmQuZHluYW1pY0RvbWFpbiA6IG51bGw7XG4gICAgICBjb25zdCBjcHVGaWx0ZXJzID0gc2hvdWxkQ2FsSW5kZXggPyBmaWx0ZXJSZWNvcmQuY3B1IDogbnVsbDtcblxuICAgICAgY29uc3QgZmlsdGVyRnVuY3MgPSBmaWx0ZXJzLnJlZHVjZSgoYWNjLCBmaWx0ZXIpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGdldERhdGFzZXRGaWVsZEluZGV4Rm9yRmlsdGVyKHRoaXMuaWQsIGZpbHRlcik7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRJbmRleCAhPT0gLTEgPyBmaWVsZHNbZmllbGRJbmRleF0gOiBudWxsO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtmaWx0ZXIuaWRdOiBnZXRGaWx0ZXJGdW5jdGlvbihmaWVsZCwgdGhpcy5pZCwgZmlsdGVyLCBsYXllcnMsIGRhdGFDb250YWluZXIpXG4gICAgICAgIH07XG4gICAgICB9LCB7fSk7XG5cbiAgICAgIGZpbHRlclJlc3VsdCA9IGZpbHRlckRhdGFCeUZpbHRlclR5cGVzKFxuICAgICAgICB7ZHluYW1pY0RvbWFpbkZpbHRlcnMsIGNwdUZpbHRlcnMsIGZpbHRlckZ1bmNzfSxcbiAgICAgICAgZGF0YUNvbnRhaW5lclxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpbHRlcmVkSW5kZXggPSBmaWx0ZXJSZXN1bHQuZmlsdGVyZWRJbmRleCB8fCB0aGlzLmZpbHRlcmVkSW5kZXg7XG4gICAgdGhpcy5maWx0ZXJlZEluZGV4Rm9yRG9tYWluID1cbiAgICAgIGZpbHRlclJlc3VsdC5maWx0ZXJlZEluZGV4Rm9yRG9tYWluIHx8IHRoaXMuZmlsdGVyZWRJbmRleEZvckRvbWFpbjtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGZpbHRlcnMgdG8gYSBkYXRhc2V0IGFsbCBvbiBDUFUsIGFzc2lnbiB0byBgZmlsdGVyZWRJZHhDUFVgLCBgZmlsdGVyUmVjb3JkQ1BVYFxuICAgKiBAcGFyYW0gZmlsdGVyc1xuICAgKiBAcGFyYW0gbGF5ZXJzXG4gICAqL1xuICBmaWx0ZXJUYWJsZUNQVShmaWx0ZXJzLCBsYXllcnMpIHtcbiAgICBjb25zdCBvcHQgPSB7XG4gICAgICBjcHVPbmx5OiB0cnVlLFxuICAgICAgaWdub3JlRG9tYWluOiB0cnVlXG4gICAgfTtcblxuICAgIC8vIG5vIGZpbHRlclxuICAgIGlmICghZmlsdGVycy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSB0aGlzLmFsbEluZGV4ZXM7XG4gICAgICB0aGlzLmZpbHRlclJlY29yZENQVSA9IGdldEZpbHRlclJlY29yZCh0aGlzLmlkLCBmaWx0ZXJzLCBvcHQpO1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLy8gbm8gZ3B1IGZpbHRlclxuICAgIGlmICghZmlsdGVycy5maW5kKGYgPT4gZi5ncHUpKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkSWR4Q1BVID0gdGhpcy5maWx0ZXJlZEluZGV4O1xuICAgICAgdGhpcy5maWx0ZXJSZWNvcmRDUFUgPSBnZXRGaWx0ZXJSZWNvcmQodGhpcy5pZCwgZmlsdGVycywgb3B0KTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIG1ha2UgYSBjb3B5IGZvciBjcHUgZmlsdGVyaW5nXG4gICAgY29uc3QgY29waWVkID0gY29weVRhYmxlKHRoaXMpO1xuXG4gICAgY29waWVkLmZpbHRlclJlY29yZCA9IHRoaXMuZmlsdGVyUmVjb3JkQ1BVO1xuICAgIGNvcGllZC5maWx0ZXJlZEluZGV4ID0gdGhpcy5maWx0ZXJlZElkeENQVSB8fCBbXTtcblxuICAgIGNvbnN0IGZpbHRlcmVkID0gY29waWVkLmZpbHRlclRhYmxlKGZpbHRlcnMsIGxheWVycywgb3B0KTtcblxuICAgIHRoaXMuZmlsdGVyZWRJZHhDUFUgPSBmaWx0ZXJlZC5maWx0ZXJlZEluZGV4O1xuICAgIHRoaXMuZmlsdGVyUmVjb3JkQ1BVID0gZmlsdGVyZWQuZmlsdGVyUmVjb3JkO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIGZpZWxkIGRvbWFpbiBiYXNlZCBvbiBmaWVsZCB0eXBlIGFuZCBkYXRhXG4gICAqIGZvciBGaWx0ZXJcbiAgICovXG4gIGdldENvbHVtbkZpbHRlckRvbWFpbihmaWVsZCkge1xuICAgIGNvbnN0IHtkYXRhQ29udGFpbmVyfSA9IHRoaXM7XG4gICAgY29uc3Qge3ZhbHVlQWNjZXNzb3J9ID0gZmllbGQ7XG5cbiAgICBsZXQgZG9tYWluO1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgICAgLy8gY2FsY3VsYXRlIGRvbWFpbiBhbmQgc3RlcFxuICAgICAgICByZXR1cm4gZ2V0TnVtZXJpY0ZpZWxkRG9tYWluKGRhdGFDb250YWluZXIsIHZhbHVlQWNjZXNzb3IpO1xuXG4gICAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgICByZXR1cm4ge2RvbWFpbjogW3RydWUsIGZhbHNlXX07XG5cbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLnN0cmluZzpcbiAgICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICAgIGRvbWFpbiA9IGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG4gICAgICAgIHJldHVybiB7ZG9tYWlufTtcblxuICAgICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgICByZXR1cm4gZ2V0VGltZXN0YW1wRmllbGREb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB7ZG9tYWluOiBnZXRPcmRpbmFsRG9tYWluKGRhdGFDb250YWluZXIsIHZhbHVlQWNjZXNzb3IpfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIEdldCB0aGUgZG9tYWluIG9mIHRoaXMgY29sdW1uIGJhc2VkIG9uIHNjYWxlIHR5cGVcbiAgICovXG4gIGdldENvbHVtbkxheWVyRG9tYWluKGZpZWxkLCBzY2FsZVR5cGUpIHtcbiAgICBjb25zdCB7ZGF0YUNvbnRhaW5lciwgZmlsdGVyZWRJbmRleEZvckRvbWFpbn0gPSB0aGlzO1xuXG4gICAgaWYgKCFTQ0FMRV9UWVBFU1tzY2FsZVR5cGVdKSB7XG4gICAgICBDb25zb2xlLmVycm9yKGBzY2FsZSB0eXBlICR7c2NhbGVUeXBlfSBub3Qgc3VwcG9ydGVkYCk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCB7dmFsdWVBY2Nlc3Nvcn0gPSBmaWVsZDtcbiAgICBjb25zdCBpbmRleFZhbHVlQWNjZXNzb3IgPSBpID0+IHZhbHVlQWNjZXNzb3Ioe2luZGV4OiBpfSk7XG4gICAgY29uc3Qgc29ydEZ1bmN0aW9uID0gZ2V0U29ydGluZ0Z1bmN0aW9uKGZpZWxkLnR5cGUpO1xuXG4gICAgc3dpdGNoIChzY2FsZVR5cGUpIHtcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMub3JkaW5hbDpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucG9pbnQ6XG4gICAgICAgIC8vIGRvIG5vdCByZWNhbGN1bGF0ZSBvcmRpbmFsIGRvbWFpbiBiYXNlZCBvbiBmaWx0ZXJlZCBkYXRhXG4gICAgICAgIC8vIGRvbid0IG5lZWQgdG8gdXBkYXRlIG9yZGluYWwgZG9tYWluIGV2ZXJ5IHRpbWVcbiAgICAgICAgcmV0dXJuIGdldE9yZGluYWxEb21haW4oZGF0YUNvbnRhaW5lciwgdmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucXVhbnRpbGU6XG4gICAgICAgIHJldHVybiBnZXRRdWFudGlsZURvbWFpbihmaWx0ZXJlZEluZGV4Rm9yRG9tYWluLCBpbmRleFZhbHVlQWNjZXNzb3IsIHNvcnRGdW5jdGlvbik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMubG9nOlxuICAgICAgICByZXR1cm4gZ2V0TG9nRG9tYWluKGZpbHRlcmVkSW5kZXhGb3JEb21haW4sIGluZGV4VmFsdWVBY2Nlc3Nvcik7XG5cbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMucXVhbnRpemU6XG4gICAgICBjYXNlIFNDQUxFX1RZUEVTLmxpbmVhcjpcbiAgICAgIGNhc2UgU0NBTEVfVFlQRVMuc3FydDpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBnZXRMaW5lYXJEb21haW4oZmlsdGVyZWRJbmRleEZvckRvbWFpbiwgaW5kZXhWYWx1ZUFjY2Vzc29yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgc2FtcGxlIG9mIHJvd3MgdG8gY2FsY3VsYXRlIGxheWVyIGJvdW5kYXJpZXNcbiAgICovXG4gIC8vIGdldFNhbXBsZURhdGEocm93cylcblxuICAvKipcbiAgICogUGFyc2UgY2VsbCB2YWx1ZSBiYXNlZCBvbiBjb2x1bW4gdHlwZSBhbmQgcmV0dXJuIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uXG4gICAqIFZhbHVlIHRoZSBmaWVsZCB2YWx1ZSwgdHlwZSB0aGUgZmllbGQgdHlwZVxuICAgKi9cbiAgLy8gcGFyc2VGaWVsZFZhbHVlKHZhbHVlLCB0eXBlKVxuXG4gIC8vIHNvcnREYXRhc2V0QnlDb2x1bW4oKVxuXG4gIC8qKlxuICAgKiBBc3NlcnQgd2hldGhlciBmaWVsZCBleGlzdFxuICAgKiBAcGFyYW0gZmllbGROYW1lXG4gICAqIEBwYXJhbSBjb25kaXRpb25cbiAgICovXG4gIF9hc3NldEZpZWxkKGZpZWxkTmFtZSwgY29uZGl0aW9uKSB7XG4gICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgIENvbnNvbGUuZXJyb3IoYCR7ZmllbGROYW1lfSBkb2VzbnQgZXhpc3QgaW4gZGF0YXNldCAke3RoaXMuaWR9YCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEhFTFBFUiBGVU5DVElPTlMgKE1BSU5MWSBFWFBPUlRFRCBGT1IgVEVTVC4uLilcblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVN1ZmZpeEFuZERlbGltaXRlcnMobGF5ZXJOYW1lLCBzdWZmaXgpIHtcbiAgcmV0dXJuIGxheWVyTmFtZVxuICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoc3VmZml4LCAnaWcnKSwgJycpXG4gICAgLnJlcGxhY2UoL1tfLC5dKy9nLCAnICcpXG4gICAgLnRyaW0oKTtcbn1cblxuLyoqXG4gKiBGaW5kIHBvaW50IGZpZWxkcyBwYWlycyBmcm9tIGZpZWxkc1xuICpcbiAqIEBwYXJhbSBmaWVsZHNcbiAqIEByZXR1cm5zIGZvdW5kIHBvaW50IGZpZWxkc1xuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuZmluZFBvaW50RmllbGRQYWlyc31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRQb2ludEZpZWxkUGFpcnMoZmllbGRzKSB7XG4gIGNvbnN0IGFsbE5hbWVzID0gZmllbGRzLm1hcChmID0+IGYubmFtZS50b0xvd2VyQ2FzZSgpKTtcblxuICAvLyBnZXQgbGlzdCBvZiBhbGwgZmllbGRzIHdpdGggbWF0Y2hpbmcgc3VmZml4ZXNcbiAgY29uc3QgYWNjID0gW107XG4gIHJldHVybiBhbGxOYW1lcy5yZWR1Y2UoKGNhcnJ5LCBmaWVsZE5hbWUsIGlkeCkgPT4ge1xuICAgIC8vIFRoaXMgc2VhcmNoIGZvciBwYWlycyB3aWxsIGVhcmx5IGV4aXQgaWYgZm91bmQuXG4gICAgZm9yIChjb25zdCBzdWZmaXhQYWlyIG9mIFRSSVBfUE9JTlRfRklFTERTKSB7XG4gICAgICAvLyBtYXRjaCBmaXJzdCBzdWZmaXhgYGBcbiAgICAgIGlmIChmaWVsZE5hbWUuZW5kc1dpdGgoc3VmZml4UGFpclswXSkpIHtcbiAgICAgICAgLy8gbWF0Y2ggc2Vjb25kIHN1ZmZpeFxuICAgICAgICBjb25zdCBvdGhlclBhdHRlcm4gPSBuZXcgUmVnRXhwKGAke3N1ZmZpeFBhaXJbMF19XFwkYCk7XG4gICAgICAgIGNvbnN0IHBhcnRuZXIgPSBmaWVsZE5hbWUucmVwbGFjZShvdGhlclBhdHRlcm4sIHN1ZmZpeFBhaXJbMV0pO1xuXG4gICAgICAgIGNvbnN0IHBhcnRuZXJJZHggPSBhbGxOYW1lcy5maW5kSW5kZXgoZCA9PiBkID09PSBwYXJ0bmVyKTtcbiAgICAgICAgaWYgKHBhcnRuZXJJZHggPiAtMSkge1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHROYW1lID0gcmVtb3ZlU3VmZml4QW5kRGVsaW1pdGVycyhmaWVsZE5hbWUsIHN1ZmZpeFBhaXJbMF0pO1xuXG4gICAgICAgICAgY2FycnkucHVzaCh7XG4gICAgICAgICAgICBkZWZhdWx0TmFtZSxcbiAgICAgICAgICAgIHBhaXI6IHtcbiAgICAgICAgICAgICAgbGF0OiB7XG4gICAgICAgICAgICAgICAgZmllbGRJZHg6IGlkeCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGRzW2lkeF0ubmFtZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBsbmc6IHtcbiAgICAgICAgICAgICAgICBmaWVsZElkeDogcGFydG5lcklkeCxcbiAgICAgICAgICAgICAgICB2YWx1ZTogZmllbGRzW3BhcnRuZXJJZHhdLm5hbWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1ZmZpeDogc3VmZml4UGFpclxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiBjYXJyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY2Fycnk7XG4gIH0sIGFjYyk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBkYXRhc2V0XG4gKiBAcGFyYW0gY29sdW1uXG4gKiBAcGFyYW0gbW9kZVxuICogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4va2VwbGVyLXRhYmxlJykuc29ydERhdGFzZXRCeUNvbHVtbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNvcnREYXRhc2V0QnlDb2x1bW4oZGF0YXNldCwgY29sdW1uLCBtb2RlKSB7XG4gIGNvbnN0IHthbGxJbmRleGVzLCBmaWVsZHMsIGRhdGFDb250YWluZXJ9ID0gZGF0YXNldDtcbiAgY29uc3QgZmllbGRJbmRleCA9IGZpZWxkcy5maW5kSW5kZXgoZiA9PiBmLm5hbWUgPT09IGNvbHVtbik7XG4gIGlmIChmaWVsZEluZGV4IDwgMCkge1xuICAgIHJldHVybiBkYXRhc2V0O1xuICB9XG5cbiAgY29uc3Qgc29ydEJ5ID0gU09SVF9PUkRFUlttb2RlXSB8fCBTT1JUX09SREVSLkFTQ0VORElORztcblxuICBpZiAoc29ydEJ5ID09PSBTT1JUX09SREVSLlVOU09SVCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5kYXRhc2V0LFxuICAgICAgc29ydENvbHVtbjoge30sXG4gICAgICBzb3J0T3JkZXI6IG51bGxcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc29ydEZ1bmN0aW9uID0gc29ydEJ5ID09PSBTT1JUX09SREVSLkFTQ0VORElORyA/IGFzY2VuZGluZyA6IGRlc2NlbmRpbmc7XG4gIGNvbnN0IHNvcnRPcmRlciA9IGFsbEluZGV4ZXNcbiAgICAuc2xpY2UoKVxuICAgIC5zb3J0KChhLCBiKSA9PlxuICAgICAgc29ydEZ1bmN0aW9uKGRhdGFDb250YWluZXIudmFsdWVBdChhLCBmaWVsZEluZGV4KSwgZGF0YUNvbnRhaW5lci52YWx1ZUF0KGIsIGZpZWxkSW5kZXgpKVxuICAgICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kYXRhc2V0LFxuICAgIHNvcnRDb2x1bW46IHtcbiAgICAgIFtjb2x1bW5dOiBzb3J0QnlcbiAgICB9LFxuICAgIHNvcnRPcmRlclxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVRhYmxlKG9yaWdpbmFsKSB7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKG9yaWdpbmFsKSksIG9yaWdpbmFsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUYWJsZUFuZFVwZGF0ZShvcmlnaW5hbCwgb3B0aW9ucyA9IHt9KSB7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhvcHRpb25zKS5yZWR1Y2UoKGFjYywgZW50cnkpID0+IHtcbiAgICBhY2NbZW50cnlbMF1dID0gZW50cnlbMV07XG4gICAgcmV0dXJuIGFjYztcbiAgfSwgY29weVRhYmxlKG9yaWdpbmFsKSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEtlcGxlclRhYmxlO1xuIl19
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@carto/kepler.gl",
|
|
3
3
|
"author": "CARTO",
|
|
4
4
|
"homepage": "https://github.com/CartoDB/carto-kepler#readme",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.37-alpha1",
|
|
6
6
|
"description": "kepler.gl is a webgl based application to visualize large scale location data in the browser",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"main": "dist/index.js",
|