diff --git a/resources/rootfs/etc/nginx/mikopbx/locations/others.conf b/resources/rootfs/etc/nginx/mikopbx/locations/others.conf
index 803f7f218..124cc4f4f 100644
--- a/resources/rootfs/etc/nginx/mikopbx/locations/others.conf
+++ b/resources/rootfs/etc/nginx/mikopbx/locations/others.conf
@@ -1,7 +1,55 @@
- location ~ /\.ht {
- deny all;
- }
- location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|ico|js|map|woff2)$ {
- access_log off;
- expires 3d;
- }
\ No newline at end of file
+location ~ /\.ht {
+ deny all;
+}
+location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|ico|js|map|woff2)$ {
+ access_log off;
+ expires 3d;
+}
+
+location /pbxcore/api/cdr/v2/playback {
+ root /storage/usbdisk1/mikopbx;
+ set_by_lua $session_exists '
+ local file = "/var/lib/php/session/sess_"..tostring(ngx.var.cookie_PHPSESSID);
+ local f = io.open(file, "rb")
+ local result = "fail";
+ if f then
+ f:close()
+ result = "ok"
+ end
+ return result;
+ ';
+ if ( $session_exists = 'fail' ) {
+ rewrite ^ /pbxcore/api/nchan/auth last;
+ }
+ set_by_lua $download '
+ if (ngx.var.arg_download) then
+ return ngx.var.arg_download;
+ end
+ return 0;
+ ';
+ set_by_lua $filename '
+ if (ngx.var.arg_filename) then
+ return ngx.var.arg_filename;
+ end
+ local path = ngx.unescape_uri(ngx.var.arg_view):reverse();
+ return string.sub(path, 0, string.find(path,"/") - 1):reverse();
+ ';
+
+ set_by_lua $result_url '
+ local path = ngx.unescape_uri(ngx.var.arg_view);
+ return "/pbxcore/api/cdr/v2/get-record-file"..string.gsub(path,ngx.var.document_root,"");
+ ';
+ add_header X_TEST "$result_url";
+
+ try_files "$result_url" "$result_url";
+}
+
+location ^~/pbxcore/api/cdr/v2/get-record-file {
+ alias /storage/usbdisk1/mikopbx;
+ if ( $session_exists != 'ok' ) {
+ rewrite ^ /pbxcore/api/nchan/auth last;
+ }
+ if ( $download = '1' ) {
+ add_header Content-disposition "attachment; filename=$filename";
+ }
+}
\ No newline at end of file
diff --git a/sites/admin-cabinet/assets/js/pbx/CallDetailRecords/call-detail-records-index.js b/sites/admin-cabinet/assets/js/pbx/CallDetailRecords/call-detail-records-index.js
index 4d12d53b3..6bb152565 100644
--- a/sites/admin-cabinet/assets/js/pbx/CallDetailRecords/call-detail-records-index.js
+++ b/sites/admin-cabinet/assets/js/pbx/CallDetailRecords/call-detail-records-index.js
@@ -326,7 +326,7 @@ var callDetailRecords = {
recordFileName.replace(/[^\w\s!?]/g, '');
recordFileName = encodeURIComponent(recordFileName);
var recordFileUri = encodeURIComponent(record.recordingfile);
- htmlPlayer += "\n\n
\n \t | \n \t\n \t\t\n\t \t\n\t | \n \n \t\n | \n | \n \n \t\n | \n ").concat(record.src_num, " | \n | \n \t").concat(record.dst_num, " | \n
");
+ htmlPlayer += "\n\n\n \t | \n \t\n \t\t\n\t \t\n\t | \n \n \t\n | \n | \n \n \t\n | \n ").concat(record.src_num, " | \n | \n \t").concat(record.dst_num, " | \n
");
}
});
htmlPlayer += '';
@@ -384,4 +384,4 @@ var callDetailRecords = {
$(document).ready(function () {
callDetailRecords.initialize();
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9DYWxsRGV0YWlsUmVjb3Jkcy9jYWxsLWRldGFpbC1yZWNvcmRzLWluZGV4LmpzIl0sIm5hbWVzIjpbIkNEUlBsYXllciIsImlkIiwiaHRtbDVBdWRpbyIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCIkcm93IiwiJCIsIiRwQnV0dG9uIiwiZmluZCIsIiRkQnV0dG9uIiwiJHNsaWRlciIsIiRzcGFuRHVyYXRpb24iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2JPbk1ldGFkYXRhTG9hZGVkIiwiY2JUaW1lVXBkYXRlIiwidW5iaW5kIiwib24iLCJlIiwicHJldmVudERlZmF1bHQiLCJwbGF5Iiwid2luZG93IiwibG9jYXRpb24iLCJ0YXJnZXQiLCJhdHRyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNiT25TcmNNZWRpYUVycm9yIiwicmFuZ2UiLCJtaW4iLCJtYXgiLCJzdGFydCIsIm9uQ2hhbmdlIiwiY2JPblNsaWRlckNoYW5nZSIsInNwYW5EdXJhdGlvbiIsIk51bWJlciIsImlzRmluaXRlIiwiZHVyYXRpb24iLCJjbG9zZXN0IiwiZGF0ZSIsIkRhdGUiLCJzZXRTZWNvbmRzIiwicGFyc2VJbnQiLCJjdXJyZW50VGltZSIsInRvSVNPU3RyaW5nIiwic3Vic3RyIiwiZGF0ZVN0ciIsImhvdXJzIiwidGV4dCIsIm5ld1ZhbCIsIm1ldGEiLCJ0cmlnZ2VyZWRCeVVzZXIiLCJkYXRlQ3VycmVudCIsImRhdGVEdXJhdGlvbiIsInBlcmNlbnQiLCJyYW5nZVBvc2l0aW9uIiwiTWF0aCIsInJvdW5kIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsInBhdXNlZCIsInBhdXNlIiwiY2FsbERldGFpbFJlY29yZHMiLCIkY2RyVGFibGUiLCIkZ2xvYmFsU2VhcmNoIiwiJGRhdGVSYW5nZVNlbGVjdG9yIiwiZGF0YVRhYmxlIiwicGxheWVycyIsImluaXRpYWxpemUiLCJpbml0aWFsaXplRGF0ZVJhbmdlU2VsZWN0b3IiLCJrZXlDb2RlIiwidmFsIiwibGVuZ3RoIiwiYXBwbHlGaWx0ZXIiLCJzZWFyY2giLCJzZXJ2ZXJTaWRlIiwicHJvY2Vzc2luZyIsImFqYXgiLCJ1cmwiLCJnbG9iYWxSb290VXJsIiwidHlwZSIsInBhZ2luZyIsInNjcm9sbFkiLCJoZWlnaHQiLCJvZmZzZXQiLCJ0b3AiLCJzRG9tIiwiZGVmZXJSZW5kZXIiLCJwYWdlTGVuZ3RoIiwiY3JlYXRlZFJvdyIsInJvdyIsImRhdGEiLCJEVF9Sb3dDbGFzcyIsImVxIiwiaHRtbCIsImlkcyIsImRyYXdDYWxsYmFjayIsIkV4dGVuc2lvbnMiLCJVcGRhdGVQaG9uZXNSZXByZXNlbnQiLCJsYW5ndWFnZSIsIlNlbWFudGljTG9jYWxpemF0aW9uIiwiZGF0YVRhYmxlTG9jYWxpc2F0aW9uIiwib3JkZXJpbmciLCJEYXRhVGFibGUiLCJ1bmRlZmluZWQiLCJ0ciIsImNoaWxkIiwiaXNTaG93biIsImhpZGUiLCJzaG93UmVjb3JkcyIsInNob3ciLCJlYWNoIiwiaW5kZXgiLCJwbGF5ZXJSb3ciLCJodG1sUGxheWVyIiwiZm9yRWFjaCIsInJlY29yZCIsImkiLCJyZWNvcmRpbmdmaWxlIiwic3JjX251bSIsImRzdF9udW0iLCJyZWNvcmRGaWxlTmFtZSIsInJlcGxhY2UiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWNvcmRGaWxlVXJpIiwib3B0aW9ucyIsInJhbmdlcyIsImdsb2JhbFRyYW5zbGF0ZSIsItGBYWxfVG9kYXkiLCJtb21lbnQiLCLRgWFsX1llc3RlcmRheSIsInN1YnRyYWN0Iiwi0YFhbF9MYXN0V2VlayIsItGBYWxfTGFzdDMwRGF5cyIsItGBYWxfVGhpc01vbnRoIiwic3RhcnRPZiIsImVuZE9mIiwi0YFhbF9MYXN0TW9udGgiLCJhbHdheXNTaG93Q2FsZW5kYXJzIiwiYXV0b1VwZGF0ZUlucHV0IiwibGlua2VkQ2FsZW5kYXJzIiwibWF4RGF0ZSIsImxvY2FsZSIsImZvcm1hdCIsInNlcGFyYXRvciIsImFwcGx5TGFiZWwiLCLRgWFsX0FwcGx5QnRuIiwiY2FuY2VsTGFiZWwiLCLRgWFsX0NhbmNlbEJ0biIsImZyb21MYWJlbCIsItGBYWxfZnJvbSIsInRvTGFiZWwiLCLRgWFsX3RvIiwiY3VzdG9tUmFuZ2VMYWJlbCIsItGBYWxfQ3VzdG9tUGVyaW9kIiwiZGF5c09mV2VlayIsImNhbGVuZGFyVGV4dCIsImRheXMiLCJtb250aE5hbWVzIiwibW9udGhzIiwiZmlyc3REYXkiLCJzdGFydERhdGUiLCJlbmREYXRlIiwiZGF0ZXJhbmdlcGlja2VyIiwiY2JEYXRlUmFuZ2VTZWxlY3Rvck9uU2VsZWN0IiwiZW5kIiwibGFiZWwiLCJkcmF3IiwicmVhZHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ01BLFM7QUFDTCxxQkFBWUMsRUFBWixFQUFnQjtBQUFBOztBQUFBOztBQUNmLFNBQUtBLEVBQUwsR0FBVUEsRUFBVjtBQUNBLFNBQUtDLFVBQUwsR0FBa0JDLFFBQVEsQ0FBQ0MsY0FBVCx3QkFBd0NILEVBQXhDLEVBQWxCO0FBQ0EsUUFBTUksSUFBSSxHQUFHQyxDQUFDLFlBQUtMLEVBQUwsRUFBZDtBQUNBLFNBQUtNLFFBQUwsR0FBZ0JGLElBQUksQ0FBQ0csSUFBTCxDQUFVLFFBQVYsQ0FBaEIsQ0FKZSxDQUlzQjs7QUFDckMsU0FBS0MsUUFBTCxHQUFnQkosSUFBSSxDQUFDRyxJQUFMLENBQVUsWUFBVixDQUFoQixDQUxlLENBSzBCOztBQUN6QyxTQUFLRSxPQUFMLEdBQWVMLElBQUksQ0FBQ0csSUFBTCxDQUFVLGdCQUFWLENBQWY7QUFDQSxTQUFLRyxhQUFMLEdBQXFCTixJQUFJLENBQUNHLElBQUwsQ0FBVSxtQkFBVixDQUFyQjtBQUNBLFNBQUtOLFVBQUwsQ0FBZ0JVLG1CQUFoQixDQUFvQyxZQUFwQyxFQUFrRCxLQUFLQyxrQkFBdkQsRUFBMkUsS0FBM0U7QUFD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MUIsT0FBaEMsQ0FBd0MsS0FBeEMsRUFBK0NxQixRQUEvQyxDQUF3RCxTQUF4RDtBQUNBO0FBL053QixDQUExQjtBQWlPQW5ELENBQUMsQ0FBQ0gsUUFBRCxDQUFELENBQVltSyxLQUFaLENBQWtCLFlBQU07QUFDdkIxRyxFQUFBQSxpQkFBaUIsQ0FBQ00sVUFBbEI7QUFDQSxDQUZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIE1pa29QQlggLSBmcmVlIHBob25lIHN5c3RlbSBmb3Igc21hbGwgYnVzaW5lc3NcbiAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFsZXhleSBQb3J0bm92IGFuZCBOaWtvbGF5IEJla2V0b3ZcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uXG4gKiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbi8qIGdsb2JhbCBnbG9iYWxSb290VXJsLCBTZW1hbnRpY0xvY2FsaXphdGlvbiwgRXh0ZW5zaW9ucywgbW9tZW50LCBnbG9iYWxUcmFuc2xhdGUgKi9cbi8qKlxuICog0JrQu9Cw0YHRgSDQtNC40L3QsNC80LjRh9C10YHQutC4INGB0L7Qt9C00LDQstCw0LXQvNGL0YUg0L/RgNC+0LjQs9GA0YvQstCw0LXRgtC10LvQuSDQtNC70Y8gQ0RSXG4gKlxuICovXG5jbGFzcyBDRFJQbGF5ZXIge1xuXHRjb25zdHJ1Y3RvcihpZCkge1xuXHRcdHRoaXMuaWQgPSBpZDtcblx0XHR0aGlzLmh0bWw1QXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXVkaW8tcGxheWVyLSR7aWR9YCk7XG5cdFx0Y29uc3QgJHJvdyA9ICQoYCMke2lkfWApO1xuXHRcdHRoaXMuJHBCdXR0b24gPSAkcm93LmZpbmQoJ2kucGxheScpOyAvLyBwbGF5IGJ1dHRvblxuXHRcdHRoaXMuJGRCdXR0b24gPSAkcm93LmZpbmQoJ2kuZG93bmxvYWQnKTsgLy8gZG93bmxvYWQgYnV0dG9uXG5cdFx0dGhpcy4kc2xpZGVyID0gJHJvdy5maW5kKCdkaXYuY2RyLXBsYXllcicpO1xuXHRcdHRoaXMuJHNwYW5EdXJhdGlvbiA9ICRyb3cuZmluZCgnc3Bhbi5jZHItZHVyYXRpb24nKTtcblx0XHR0aGlzLmh0bWw1QXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JPbk1ldGFkYXRhTG9hZGVkLCBmYWxzZSk7XG5cdFx0dGhpcy5odG1sNUF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWRlZG1ldGFkYXRhJywgdGhpcy5jYlRpbWVVcGRhdGUsIGZhbHNlKTtcblx0XHR0aGlzLiRwQnV0dG9uLnVuYmluZCgpO1xuXHRcdHRoaXMuJGRCdXR0b24udW5iaW5kKCk7XG5cblxuXHRcdC8vIHBsYXkgYnV0dG9uIGV2ZW50IGxpc3RlbnRlclxuXHRcdHRoaXMuJHBCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMucGxheSgpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gZG93bmxvYWQgYnV0dG9uIGV2ZW50IGxpc3RlbnRlclxuXHRcdHRoaXMuJGRCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHdpbmRvdy5sb2NhdGlvbiA9ICQoZS50YXJnZXQpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcblx0XHR9KTtcblxuXHRcdHRoaXMuaHRtbDVBdWRpby5hZGRFdmVudExpc3RlbmVyKCdsb2FkZWRtZXRhZGF0YScsIHRoaXMuY2JPbk1ldGFkYXRhTG9hZGVkLCBmYWxzZSk7XG5cblx0XHQvLyB0aW1ldXBkYXRlIGV2ZW50IGxpc3RlbmVyXG5cdFx0dGhpcy5odG1sNUF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCB0aGlzLmNiVGltZVVwZGF0ZSwgZmFsc2UpO1xuXG5cdFx0Ly8gbm8gc3JjIGhhbmRsZXJcblx0XHR0aGlzLmh0bWw1QXVkaW8uYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0aGlzLmNiT25TcmNNZWRpYUVycm9yLCBmYWxzZSk7XG5cblx0XHR0aGlzLiRzbGlkZXIucmFuZ2Uoe1xuXHRcdFx0bWluOiAwLFxuXHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRzdGFydDogMCxcblx0XHRcdG9uQ2hhbmdlOiB0aGlzLmNiT25TbGlkZXJDaGFuZ2UsXG5cdFx0XHRodG1sNUF1ZGlvOiB0aGlzLmh0bWw1QXVkaW8sXG5cdFx0XHRjYlRpbWVVcGRhdGU6IHRoaXMuY2JUaW1lVXBkYXRlLFxuXHRcdFx0c3BhbkR1cmF0aW9uOiB0aGlzLiRzcGFuRHVyYXRpb24sXG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QvtC00LPRgNGD0LfQutC4INC80LXRgtCw0LTQsNC90L3Ri9GFXG5cdCAqL1xuXHRjYk9uTWV0YWRhdGFMb2FkZWQoKSB7XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZSh0aGlzLmR1cmF0aW9uKSkge1xuXHRcdFx0Y29uc3QgJHJvdyA9ICQodGhpcykuY2xvc2VzdCgndHInKTtcblx0XHRcdGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShudWxsKTtcblx0XHRcdGRhdGUuc2V0U2Vjb25kcyhwYXJzZUludCh0aGlzLmN1cnJlbnRUaW1lLCAxMCkpOyAvLyBzcGVjaWZ5IHZhbHVlIGZvciBTRUNPTkRTIGhlcmVcblx0XHRcdGNvbnN0IGN1cnJlbnRUaW1lID0gZGF0ZS50b0lTT1N0cmluZygpLnN1YnN0cigxNCwgNSk7XG5cdFx0XHRkYXRlLnNldFNlY29uZHMocGFyc2VJbnQodGhpcy5kdXJhdGlvbiwgMTApKTsgLy8gc3BlY2lmeSB2YWx1ZSBmb3IgU0VDT05EUyBoZXJlXG5cdFx0XHRjb25zdCBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpO1xuXHRcdFx0Y29uc3QgaG91cnMgPSBwYXJzZUludChkYXRlU3RyLnN1YnN0cigxMSwgMiksIDEwKTtcblx0XHRcdGxldCBkdXJhdGlvbjtcblx0XHRcdGlmIChob3VycyA9PT0gMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDE0LCA1KTtcblx0XHRcdH0gZWxzZSBpZiAoaG91cnMgPCAxMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDEyLCA3KTtcblx0XHRcdH0gZWxzZSBpZiAoaG91cnMgPj0gMTApIHtcblx0XHRcdFx0ZHVyYXRpb24gPSBkYXRlU3RyLnN1YnN0cigxMSwgOCk7XG5cdFx0XHR9XG5cdFx0XHQkcm93LmZpbmQoJ3NwYW4uY2RyLWR1cmF0aW9uJykudGV4dChgJHtjdXJyZW50VGltZX0vJHtkdXJhdGlvbn1gKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICog0JrQvtC70LHQtdC6INC90LAg0YHQtNCy0LjQsyDRgdC70LDQudC00LXRgNCwINC/0YDQvtC40LPRgNGL0LLQsNGC0LXQu9GPXG5cdCAqIEBwYXJhbSBuZXdWYWxcblx0ICogQHBhcmFtIG1ldGFcblx0ICovXG5cdGNiT25TbGlkZXJDaGFuZ2UobmV3VmFsLCBtZXRhKSB7XG5cdFx0aWYgKG1ldGEudHJpZ2dlcmVkQnlVc2VyICYmIE51bWJlci5pc0Zpbml0ZSh0aGlzLmh0bWw1QXVkaW8uZHVyYXRpb24pKSB7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JUaW1lVXBkYXRlLCBmYWxzZSk7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWUgPSAodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uICogbmV3VmFsKSAvIDEwMDtcblx0XHRcdHRoaXMuaHRtbDVBdWRpby5hZGRFdmVudExpc3RlbmVyKCd0aW1ldXBkYXRlJywgdGhpcy5jYlRpbWVVcGRhdGUsIGZhbHNlKTtcblx0XHR9XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZSh0aGlzLmh0bWw1QXVkaW8uZHVyYXRpb24pKSB7XG5cdFx0XHRjb25zdCBkYXRlQ3VycmVudCA9IG5ldyBEYXRlKG51bGwpO1xuXHRcdFx0ZGF0ZUN1cnJlbnQuc2V0U2Vjb25kcyhwYXJzZUludCh0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWUsIDEwKSk7IC8vIHNwZWNpZnkgdmFsdWUgZm9yIFNFQ09ORFMgaGVyZVxuXHRcdFx0Y29uc3QgY3VycmVudFRpbWUgPSBkYXRlQ3VycmVudC50b0lTT1N0cmluZygpLnN1YnN0cigxNCwgNSk7XG5cdFx0XHRjb25zdCBkYXRlRHVyYXRpb24gPSBuZXcgRGF0ZShudWxsKTtcblx0XHRcdGRhdGVEdXJhdGlvbi5zZXRTZWNvbmRzKHBhcnNlSW50KHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbiwgMTApKTsgLy8gc3BlY2lmeSB2YWx1ZSBmb3IgU0VDT05EUyBoZXJlXG5cdFx0XHRjb25zdCBkYXRlU3RyID0gZGF0ZUR1cmF0aW9uLnRvSVNPU3RyaW5nKCk7XG5cdFx0XHRjb25zdCBob3VycyA9IHBhcnNlSW50KGRhdGVTdHIuc3Vic3RyKDExLCAyKSwgMTApO1xuXHRcdFx0bGV0IGR1cmF0aW9uO1xuXHRcdFx0aWYgKGhvdXJzID09PSAwKSB7XG5cdFx0XHRcdGR1cmF0aW9uID0gZGF0ZVN0ci5zdWJzdHIoMTQsIDUpO1xuXHRcdFx0fSBlbHNlIGlmIChob3VycyA8IDEwKSB7XG5cdFx0XHRcdGR1cmF0aW9uID0gZGF0ZVN0ci5zdWJzdHIoMTIsIDcpO1xuXHRcdFx0fSBlbHNlIGlmIChob3VycyA+PSAxMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDExLCA4KTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc3BhbkR1cmF0aW9uLnRleHQoYCR7Y3VycmVudFRpbWV9LyR7ZHVyYXRpb259YCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqINCa0L7Qu9Cx0LXQuiDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQv9C+0LfQuNGG0LjQuCDQv9GA0L7QuNCz0YDRi9Cy0LDQtdC80L7Qs9C+INGE0LDQudC70LAg0LjQtyBIVE1MNSDQsNGD0LTQuNC+0YLQtdCz0LBcblx0ICovXG5cdGNiVGltZVVwZGF0ZSgpIHtcblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKHRoaXMuZHVyYXRpb24pKSB7XG5cdFx0XHRjb25zdCBwZXJjZW50ID0gdGhpcy5jdXJyZW50VGltZSAvIHRoaXMuZHVyYXRpb247XG5cdFx0XHRjb25zdCByYW5nZVBvc2l0aW9uID0gTWF0aC5taW4oTWF0aC5yb3VuZCgocGVyY2VudCkgKiAxMDApLCAxMDApO1xuXHRcdFx0Y29uc3QgJHJvdyA9ICQodGhpcykuY2xvc2VzdCgndHInKTtcblx0XHRcdCRyb3cuZmluZCgnZGl2LmNkci1wbGF5ZXInKS5yYW5nZSgnc2V0IHZhbHVlJywgcmFuZ2VQb3NpdGlvbik7XG5cdFx0XHRpZiAodGhpcy5jdXJyZW50VGltZSA9PT0gdGhpcy5kdXJhdGlvbikge1xuXHRcdFx0XHQkcm93LmZpbmQoJ2kucGF1c2UnKS5yZW1vdmVDbGFzcygncGF1c2UnKS5hZGRDbGFzcygncGxheScpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiDQl9Cw0L/Rg9GB0Log0Lgg0L7RgdGC0LDQvdC+0LLQutCwINCy0L7RgdC/0YDQvtC40LfQstC10LTQtdC90LjRjyDQsNGD0LTQuNC+INGE0LDQudC70LBcblx0ICog0L/QviDQutC70LjQutGDINC90LAg0LjQutC+0L3QutGDIFBsYXlcblx0ICovXG5cdHBsYXkoKSB7XG5cdFx0Ly8gc3RhcnQgbXVzaWNcblx0XHRpZiAodGhpcy5odG1sNUF1ZGlvLnBhdXNlZCkge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBsYXkoKTtcblx0XHRcdC8vIHJlbW92ZSBwbGF5LCBhZGQgcGF1c2Vcblx0XHRcdHRoaXMuJHBCdXR0b24ucmVtb3ZlQ2xhc3MoJ3BsYXknKS5hZGRDbGFzcygncGF1c2UnKTtcblx0XHR9IGVsc2UgeyAvLyBwYXVzZSBtdXNpY1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBhdXNlKCk7XG5cdFx0XHQvLyByZW1vdmUgcGF1c2UsIGFkZCBwbGF5XG5cdFx0XHR0aGlzLiRwQnV0dG9uLnJlbW92ZUNsYXNzKCdwYXVzZScpLmFkZENsYXNzKCdwbGF5Jyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqINCe0LHRgNCw0LHQvtGC0LrQsCDQvtGI0LjQsdC60Lgg0L/QvtC70YPRh9C10L3RjyDQt9Cy0YPQutC+0LLQvtCz0L4g0YTQsNC50LvQsFxuXHQgKi9cblx0Y2JPblNyY01lZGlhRXJyb3IoKSB7XG5cdFx0JCh0aGlzKS5jbG9zZXN0KCd0cicpLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuXHR9XG59XG5cbi8qKlxuICog0JrQu9Cw0YHRgSDRgdGC0YDQsNC90LjRhtGLINGBIENEUlxuICovXG5jb25zdCBjYWxsRGV0YWlsUmVjb3JkcyA9IHtcblx0JGNkclRhYmxlOiAkKCcjY2RyLXRhYmxlJyksXG5cdCRnbG9iYWxTZWFyY2g6ICQoJyNnbG9iYWxzZWFyY2gnKSxcblx0JGRhdGVSYW5nZVNlbGVjdG9yOiAkKCcjZGF0ZS1yYW5nZS1zZWxlY3RvcicpLFxuXHRkYXRhVGFibGU6IHt9LFxuXHRwbGF5ZXJzOiBbXSxcblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5pbml0aWFsaXplRGF0ZVJhbmdlU2VsZWN0b3IoKTtcblxuXHRcdGNhbGxEZXRhaWxSZWNvcmRzLiRnbG9iYWxTZWFyY2gub24oJ2tleXVwJywgKGUpID0+IHtcblx0XHRcdGlmIChlLmtleUNvZGUgPT09IDEzXG5cdFx0XHRcdHx8IGUua2V5Q29kZSA9PT0gOFxuXHRcdFx0XHR8fCBjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLnZhbCgpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gYCR7Y2FsbERldGFpbFJlY29yZHMuJGRhdGVSYW5nZVNlbGVjdG9yLnZhbCgpfSAke2NhbGxEZXRhaWxSZWNvcmRzLiRnbG9iYWxTZWFyY2gudmFsKCl9YDtcblx0XHRcdFx0Y2FsbERldGFpbFJlY29yZHMuYXBwbHlGaWx0ZXIodGV4dCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUuZGF0YVRhYmxlKHtcblx0XHRcdHNlYXJjaDoge1xuXHRcdFx0XHRzZWFyY2g6IGAke2NhbGxEZXRhaWxSZWNvcmRzLiRkYXRlUmFuZ2VTZWxlY3Rvci52YWwoKX0gJHtjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLnZhbCgpfWAsXG5cdFx0XHR9LFxuXHRcdFx0c2VydmVyU2lkZTogdHJ1ZSxcblx0XHRcdHByb2Nlc3Npbmc6IHRydWUsXG5cdFx0XHRhamF4OiB7XG5cdFx0XHRcdHVybDogYCR7Z2xvYmFsUm9vdFVybH1jYWxsLWRldGFpbC1yZWNvcmRzL2dldE5ld1JlY29yZHNgLFxuXHRcdFx0XHR0eXBlOiAnUE9TVCcsXG5cdFx0XHR9LFxuXHRcdFx0cGFnaW5nOiB0cnVlLFxuXHRcdFx0c2Nyb2xsWTogJCh3aW5kb3cpLmhlaWdodCgpIC0gY2FsbERldGFpbFJlY29yZHMuJGNkclRhYmxlLm9mZnNldCgpLnRvcCAtIDQyMCxcblx0XHRcdC8vIHN0YXRlU2F2ZTogdHJ1ZSxcblx0XHRcdHNEb206ICdydGlwJyxcblx0XHRcdGRlZmVyUmVuZGVyOiB0cnVlLFxuXHRcdFx0cGFnZUxlbmd0aDogMTcsXG5cdFx0XHQvLyBzY3JvbGxDb2xsYXBzZTogdHJ1ZSxcblx0XHRcdC8vIHNjcm9sbGVyOiB0cnVlLFxuXHRcdFx0LyoqXG5cdFx0XHQgKiDQmtC+0L3RgdGC0YDRg9C60YLQvtGAINGB0YLRgNC+0LrQuCBDRFJcblx0XHRcdCAqIEBwYXJhbSByb3dcblx0XHRcdCAqIEBwYXJhbSBkYXRhXG5cdFx0XHQgKi9cblx0XHRcdGNyZWF0ZWRSb3cocm93LCBkYXRhKSB7XG5cdFx0XHRcdGlmIChkYXRhLkRUX1Jvd0NsYXNzID09PSAnZGV0YWlsZWQnKSB7XG5cdFx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDApLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBjYXJldCBkb3duXCI+PC9pPicpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCQoJ3RkJywgcm93KS5lcSgwKS5odG1sKCcnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQkKCd0ZCcsIHJvdykuZXEoMSkuaHRtbChkYXRhWzBdKTtcblx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDIpXG5cdFx0XHRcdFx0Lmh0bWwoZGF0YVsxXSlcblx0XHRcdFx0XHQuYWRkQ2xhc3MoJ25lZWQtdXBkYXRlJyk7XG5cdFx0XHRcdCQoJ3RkJywgcm93KS5lcSgzKVxuXHRcdFx0XHRcdC5odG1sKGRhdGFbMl0pXG5cdFx0XHRcdFx0LmFkZENsYXNzKCduZWVkLXVwZGF0ZScpO1xuXG5cdFx0XHRcdGxldCBkdXJhdGlvbiA9IGRhdGFbM107XG5cdFx0XHRcdGlmKGRhdGEuaWRzICE9PSAnJyl7XG5cdFx0XHRcdFx0ZHVyYXRpb24gKz0gJzxpIGRhdGEtaWRzPVwiJysgZGF0YS5pZHMgKydcIiBjbGFzcz1cImZpbGUgYWx0ZXJuYXRlIG91dGxpbmUgaWNvblwiPic7XG5cdFx0XHRcdH1cblx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDQpLmh0bWwoZHVyYXRpb24pLmFkZENsYXNzKCdyaWdodCBhbGlnbmVkJyk7XG5cdFx0XHR9LFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBEcmF3IGV2ZW50IC0gZmlyZWQgb25jZSB0aGUgdGFibGUgaGFzIGNvbXBsZXRlZCBhIGRyYXcuXG5cdFx0XHQgKi9cblx0XHRcdGRyYXdDYWxsYmFjaygpIHtcblx0XHRcdFx0RXh0ZW5zaW9ucy5VcGRhdGVQaG9uZXNSZXByZXNlbnQoJ25lZWQtdXBkYXRlJyk7XG5cdFx0XHR9LFxuXHRcdFx0bGFuZ3VhZ2U6IFNlbWFudGljTG9jYWxpemF0aW9uLmRhdGFUYWJsZUxvY2FsaXNhdGlvbixcblx0XHRcdG9yZGVyaW5nOiBmYWxzZSxcblx0XHR9KTtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUgPSBjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUuRGF0YVRhYmxlKCk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUub24oJ2RyYXcnLCAoKSA9PiB7XG5cdFx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLmNsb3Nlc3QoJ2RpdicpLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cdFx0fSk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUub24oJ2NsaWNrJywgJ3RyLm5lZ2F0aXZlJywgKGUpID0+IHtcblx0XHRcdGxldCBpZHMgPSAkKGUudGFyZ2V0KS5hdHRyKCdkYXRhLWlkcycpO1xuXHRcdFx0aWYgKGlkcyAhPT0gdW5kZWZpbmVkICYmIGlkcyAhPT0gJycpIHtcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uID0gYC9hZG1pbi1jYWJpbmV0L3N5c3RlbS1kaWFnbm9zdGljL2luZGV4Lz9maWxlbmFtZT1hc3Rlcmlzay92ZXJib3NlJmZpbHRlcj0ke2lkc31gO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdC8vIEFkZCBldmVudCBsaXN0ZW5lciBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBkZXRhaWxzXG5cdFx0Y2FsbERldGFpbFJlY29yZHMuJGNkclRhYmxlLm9uKCdjbGljaycsICd0ci5kZXRhaWxlZCcsIChlKSA9PiB7XG5cdFx0XHRsZXQgaWRzID0gJChlLnRhcmdldCkuYXR0cignZGF0YS1pZHMnKTtcblx0XHRcdGlmKGlkcyAhPT0gdW5kZWZpbmVkICYmIGlkcyAhPT0gJycpe1xuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24gPSBgL2FkbWluLWNhYmluZXQvc3lzdGVtLWRpYWdub3N0aWMvaW5kZXgvP2ZpbGVuYW1lPWFzdGVyaXNrL3ZlcmJvc2UmZmlsdGVyPSR7aWRzfWA7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHRyID0gJChlLnRhcmdldCkuY2xvc2VzdCgndHInKTtcblx0XHRcdGNvbnN0IHJvdyA9IGNhbGxEZXRhaWxSZWNvcmRzLmRhdGFUYWJsZS5yb3codHIpO1xuXG5cdFx0XHRpZiAocm93LmNoaWxkLmlzU2hvd24oKSkge1xuXHRcdFx0XHQvLyBUaGlzIHJvdyBpcyBhbHJlYWR5IG9wZW4gLSBjbG9zZSBpdFxuXHRcdFx0XHRyb3cuY2hpbGQuaGlkZSgpO1xuXHRcdFx0XHR0ci5yZW1vdmVDbGFzcygnc2hvd24nKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIE9wZW4gdGhpcyByb3dcblx0XHRcdFx0cm93LmNoaWxkKGNhbGxEZXRhaWxSZWNvcmRzLnNob3dSZWNvcmRzKHJvdy5kYXRhKCkpKS5zaG93KCk7XG5cdFx0XHRcdHRyLmFkZENsYXNzKCdzaG93bicpO1xuXHRcdFx0XHRyb3cuY2hpbGQoKS5maW5kKCcuZGV0YWlsLXJlY29yZC1yb3cnKS5lYWNoKChpbmRleCwgcGxheWVyUm93KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgaWQgPSAkKHBsYXllclJvdykuYXR0cignaWQnKTtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IENEUlBsYXllcihpZCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRFeHRlbnNpb25zLlVwZGF0ZVBob25lc1JlcHJlc2VudCgnbmVlZC11cGRhdGUnKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSxcblx0LyoqXG5cdCAqINCe0YLRgNC40YHQvtCy0YvQstCw0LXRgiDQvdCw0LHQvtGAINGBINC30LDQv9C40YHRj9C80Lgg0YDQsNC30LPQvtCy0L7RgNC+0LIg0L/RgNC4INC60LvQuNC60LUg0L3QsCDRgdGC0YDQvtC60YNcblx0ICovXG5cdHNob3dSZWNvcmRzKGRhdGEpIHtcblx0XHRsZXQgaHRtbFBsYXllciA9ICc8dGFibGUgY2xhc3M9XCJ1aSB2ZXJ5IGJhc2ljIHRhYmxlIGNkci1wbGF5ZXJcIj48dGJvZHk+Jztcblx0XHRkYXRhWzRdLmZvckVhY2goKHJlY29yZCwgaSkgPT4ge1xuXHRcdFx0aWYgKGkgPiAwKSB7XG5cdFx0XHRcdGh0bWxQbGF5ZXIgKz0gJzx0ZD48dHI+PC90cj48L3RkPic7XG5cdFx0XHRcdGh0bWxQbGF5ZXIgKz0gJzx0ZD48dHI+PC90cj48L3RkPic7XG5cdFx0XHR9XG5cdFx0XHRpZiAocmVjb3JkLnJlY29yZGluZ2ZpbGUgPT09IHVuZGVmaW5lZFxuXHRcdFx0XHR8fCByZWNvcmQucmVjb3JkaW5nZmlsZSA9PT0gbnVsbFxuXHRcdFx0XHR8fCByZWNvcmQucmVjb3JkaW5nZmlsZS5sZW5ndGggPT09IDApIHtcblxuXHRcdFx0XHRodG1sUGxheWVyICs9IGBcblxuPHRyIGNsYXNzPVwiZGV0YWlsLXJlY29yZC1yb3cgZGlzYWJsZWRcIiBpZD1cIiR7cmVjb3JkLmlkfVwiPlxuICAgXHQ8dGQgY2xhc3M9XCJvbmUgd2lkZVwiPjwvdGQ+XG4gICBcdDx0ZCBjbGFzcz1cIm9uZSB3aWRlIHJpZ2h0IGFsaWduZWRcIj5cbiAgIFx0XHQ8aSBjbGFzcz1cInVpIGljb24gcGxheVwiPjwvaT5cblx0ICAgXHQ8YXVkaW8gcHJlbG9hZD1cIm1ldGFkYXRhXCIgaWQ9XCJhdWRpby1wbGF5ZXItJHtyZWNvcmQuaWR9XCIgc3JjPVwiXCI+PC9hdWRpbz5cblx0PC90ZD5cbiAgICA8dGQgY2xhc3M9XCJmaXZlIHdpZGVcIj5cbiAgICBcdDxkaXYgY2xhc3M9XCJ1aSByYW5nZSBjZHItcGxheWVyXCIgZGF0YS12YWx1ZT1cIiR7cmVjb3JkLmlkfVwiPjwvZGl2PlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGVcIj48c3BhbiBjbGFzcz1cImNkci1kdXJhdGlvblwiPjwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlXCI+XG4gICAgXHQ8aSBjbGFzcz1cInVpIGljb24gZG93bmxvYWRcIiBkYXRhLXZhbHVlPVwiXCI+PC9pPlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ25lZFwiPjxzcGFuIGNsYXNzPVwibmVlZC11cGRhdGVcIj4ke3JlY29yZC5zcmNfbnVtfTwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlIGNlbnRlciBhbGlnbmVkXCI+PGkgY2xhc3M9XCJpY29uIGV4Y2hhbmdlXCI+PC9pPjwvdGQ+XG4gICBcdDx0ZCBjbGFzcz1cImxlZnQgYWxpZ25lZFwiPjxzcGFuIGNsYXNzPVwibmVlZC11cGRhdGVcIj4ke3JlY29yZC5kc3RfbnVtfTwvc3Bhbj48L3RkPlxuPC90cj5gO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bGV0IHJlY29yZEZpbGVOYW1lID0gYENhbGxfcmVjb3JkX2JldHdlZW5fJHtyZWNvcmQuc3JjX251bX1fYW5kXyR7cmVjb3JkLmRzdF9udW19X2Zyb21fJHtkYXRhWzBdfWA7XG5cdFx0XHRcdHJlY29yZEZpbGVOYW1lLnJlcGxhY2UoL1teXFx3XFxzIT9dL2csICcnKTtcblx0XHRcdFx0cmVjb3JkRmlsZU5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQocmVjb3JkRmlsZU5hbWUpO1xuXHRcdFx0XHRjb25zdCByZWNvcmRGaWxlVXJpID0gZW5jb2RlVVJJQ29tcG9uZW50KHJlY29yZC5yZWNvcmRpbmdmaWxlKTtcblx0XHRcdFx0aHRtbFBsYXllciArPSBgXG5cbjx0ciBjbGFzcz1cImRldGFpbC1yZWNvcmQtcm93XCIgaWQ9XCIke3JlY29yZC5pZH1cIj5cbiAgIFx0PHRkIGNsYXNzPVwib25lIHdpZGVcIj48L3RkPlxuICAgXHQ8dGQgY2xhc3M9XCJvbmUgd2lkZSByaWdodCBhbGlnbmVkXCI+XG4gICBcdFx0PGkgY2xhc3M9XCJ1aSBpY29uIHBsYXlcIj48L2k+XG5cdCAgIFx0PGF1ZGlvIHByZWxvYWQ9XCJtZXRhZGF0YVwiIGlkPVwiYXVkaW8tcGxheWVyLSR7cmVjb3JkLmlkfVwiIHNyYz1cIi9wYnhjb3JlL2FwaS9jZHIvcGxheWJhY2s/dmlldz0ke3JlY29yZEZpbGVVcml9XCI+PC9hdWRpbz5cblx0PC90ZD5cbiAgICA8dGQgY2xhc3M9XCJmaXZlIHdpZGVcIj5cbiAgICBcdDxkaXYgY2xhc3M9XCJ1aSByYW5nZSBjZHItcGxheWVyXCIgZGF0YS12YWx1ZT1cIiR7cmVjb3JkLmlkfVwiPjwvZGl2PlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGVcIj48c3BhbiBjbGFzcz1cImNkci1kdXJhdGlvblwiPjwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlXCI+XG4gICAgXHQ8aSBjbGFzcz1cInVpIGljb24gZG93bmxvYWRcIiBkYXRhLXZhbHVlPVwiL3BieGNvcmUvYXBpL2Nkci9wbGF5YmFjaz92aWV3PSR7cmVjb3JkRmlsZVVyaX0mZG93bmxvYWQ9MSZmaWxlbmFtZT0ke3JlY29yZEZpbGVOYW1lfS5tcDNcIj48L2k+XG4gICAgPC90ZD5cbiAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbmVkXCI+PHNwYW4gY2xhc3M9XCJuZWVkLXVwZGF0ZVwiPiR7cmVjb3JkLnNyY19udW19PC9zcGFuPjwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGUgY2VudGVyIGFsaWduZWRcIj48aSBjbGFzcz1cImljb24gZXhjaGFuZ2VcIj48L2k+PC90ZD5cbiAgIFx0PHRkIGNsYXNzPVwibGVmdCBhbGlnbmVkXCI+PHNwYW4gY2xhc3M9XCJuZWVkLXVwZGF0ZVwiPiR7cmVjb3JkLmRzdF9udW19PC9zcGFuPjwvdGQ+XG48L3RyPmA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aHRtbFBsYXllciArPSAnPC90Ym9keT48L3RhYmxlPic7XG5cdFx0cmV0dXJuIGh0bWxQbGF5ZXI7XG5cdH0sXG5cdC8qKlxuXHQgKlxuXHQgKi9cblx0aW5pdGlhbGl6ZURhdGVSYW5nZVNlbGVjdG9yKCkge1xuXHRcdGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuXHRcdG9wdGlvbnMucmFuZ2VzID0ge1xuXHRcdFx0W2dsb2JhbFRyYW5zbGF0ZS7RgWFsX1RvZGF5XTogW21vbWVudCgpLCBtb21lbnQoKV0sXG5cdFx0XHRbZ2xvYmFsVHJhbnNsYXRlLtGBYWxfWWVzdGVyZGF5XTogW21vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyldLFxuXHRcdFx0W2dsb2JhbFRyYW5zbGF0ZS7RgWFsX0xhc3RXZWVrXTogW21vbWVudCgpLnN1YnRyYWN0KDYsICdkYXlzJyksIG1vbWVudCgpXSxcblx0XHRcdFtnbG9iYWxUcmFuc2xhdGUu0YFhbF9MYXN0MzBEYXlzXTogW21vbWVudCgpLnN1YnRyYWN0KDI5LCAnZGF5cycpLCBtb21lbnQoKV0sXG5cdFx0XHRbZ2xvYmFsVHJhbnNsYXRlLtGBYWxfVGhpc01vbnRoXTogW21vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLmVuZE9mKCdtb250aCcpXSxcblx0XHRcdFtnbG9iYWxUcmFuc2xhdGUu0YFhbF9MYXN0TW9udGhdOiBbbW9tZW50KCkuc3VidHJhY3QoMSwgJ21vbnRoJykuc3RhcnRPZignbW9udGgnKSwgbW9tZW50KCkuc3VidHJhY3QoMSwgJ21vbnRoJykuZW5kT2YoJ21vbnRoJyldLFxuXHRcdH07XG5cdFx0b3B0aW9ucy5hbHdheXNTaG93Q2FsZW5kYXJzID0gdHJ1ZTtcblx0XHRvcHRpb25zLmF1dG9VcGRhdGVJbnB1dCA9IHRydWU7XG5cdFx0b3B0aW9ucy5saW5rZWRDYWxlbmRhcnMgPSB0cnVlO1xuXHRcdG9wdGlvbnMubWF4RGF0ZSA9IG1vbWVudCgpO1xuXHRcdG9wdGlvbnMubG9jYWxlID0ge1xuXHRcdFx0Zm9ybWF0OiAnREQvTU0vWVlZWScsXG5cdFx0XHRzZXBhcmF0b3I6ICcgLSAnLFxuXHRcdFx0YXBwbHlMYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfQXBwbHlCdG4sXG5cdFx0XHRjYW5jZWxMYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfQ2FuY2VsQnRuLFxuXHRcdFx0ZnJvbUxhYmVsOiBnbG9iYWxUcmFuc2xhdGUu0YFhbF9mcm9tLFxuXHRcdFx0dG9MYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfdG8sXG5cdFx0XHRjdXN0b21SYW5nZUxhYmVsOiBnbG9iYWxUcmFuc2xhdGUu0YFhbF9DdXN0b21QZXJpb2QsXG5cdFx0XHRkYXlzT2ZXZWVrOiBTZW1hbnRpY0xvY2FsaXphdGlvbi5jYWxlbmRhclRleHQuZGF5cyxcblx0XHRcdG1vbnRoTmFtZXM6IFNlbWFudGljTG9jYWxpemF0aW9uLmNhbGVuZGFyVGV4dC5tb250aHMsXG5cdFx0XHRmaXJzdERheTogMSxcblx0XHR9O1xuXHRcdG9wdGlvbnMuc3RhcnREYXRlID0gbW9tZW50KCk7XG5cdFx0b3B0aW9ucy5lbmREYXRlID0gbW9tZW50KCk7XG5cdFx0Y2FsbERldGFpbFJlY29yZHMuJGRhdGVSYW5nZVNlbGVjdG9yLmRhdGVyYW5nZXBpY2tlcihcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5jYkRhdGVSYW5nZVNlbGVjdG9yT25TZWxlY3QsXG5cdFx0KTtcblx0fSxcblx0LyoqXG5cdCAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INCy0YvQsdC+0YDQsCDQv9C10YDQuNC+0LTQsFxuXHQgKiBAcGFyYW0gc3RhcnRcblx0ICogQHBhcmFtIGVuZFxuXHQgKiBAcGFyYW0gbGFiZWxcblx0ICovXG5cdGNiRGF0ZVJhbmdlU2VsZWN0b3JPblNlbGVjdChzdGFydCwgZW5kLCBsYWJlbCkge1xuXHRcdGNvbnN0IHRleHQgPSBgJHtzdGFydC5mb3JtYXQoJ0REL01NL1lZWVknKX0gJHtlbmQuZm9ybWF0KCdERC9NTS9ZWVlZJyl9ICR7Y2FsbERldGFpbFJlY29yZHMuJGdsb2JhbFNlYXJjaC52YWwoKX1gO1xuXHRcdGNhbGxEZXRhaWxSZWNvcmRzLmFwcGx5RmlsdGVyKHRleHQpO1xuXHR9LFxuXHQvKipcblx0ICpcblx0ICovXG5cdGFwcGx5RmlsdGVyKHRleHQpIHtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUuc2VhcmNoKHRleHQpLmRyYXcoKTtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLmNsb3Nlc3QoJ2RpdicpLmFkZENsYXNzKCdsb2FkaW5nJyk7XG5cdH0sXG59O1xuJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuXHRjYWxsRGV0YWlsUmVjb3Jkcy5pbml0aWFsaXplKCk7XG59KTtcbiJdfQ==
\ No newline at end of file
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9DYWxsRGV0YWlsUmVjb3Jkcy9jYWxsLWRldGFpbC1yZWNvcmRzLWluZGV4LmpzIl0sIm5hbWVzIjpbIkNEUlBsYXllciIsImlkIiwiaHRtbDVBdWRpbyIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCIkcm93IiwiJCIsIiRwQnV0dG9uIiwiZmluZCIsIiRkQnV0dG9uIiwiJHNsaWRlciIsIiRzcGFuRHVyYXRpb24iLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY2JPbk1ldGFkYXRhTG9hZGVkIiwiY2JUaW1lVXBkYXRlIiwidW5iaW5kIiwib24iLCJlIiwicHJldmVudERlZmF1bHQiLCJwbGF5Iiwid2luZG93IiwibG9jYXRpb24iLCJ0YXJnZXQiLCJhdHRyIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNiT25TcmNNZWRpYUVycm9yIiwicmFuZ2UiLCJtaW4iLCJtYXgiLCJzdGFydCIsIm9uQ2hhbmdlIiwiY2JPblNsaWRlckNoYW5nZSIsInNwYW5EdXJhdGlvbiIsIk51bWJlciIsImlzRmluaXRlIiwiZHVyYXRpb24iLCJjbG9zZXN0IiwiZGF0ZSIsIkRhdGUiLCJzZXRTZWNvbmRzIiwicGFyc2VJbnQiLCJjdXJyZW50VGltZSIsInRvSVNPU3RyaW5nIiwic3Vic3RyIiwiZGF0ZVN0ciIsImhvdXJzIiwidGV4dCIsIm5ld1ZhbCIsIm1ldGEiLCJ0cmlnZ2VyZWRCeVVzZXIiLCJkYXRlQ3VycmVudCIsImRhdGVEdXJhdGlvbiIsInBlcmNlbnQiLCJyYW5nZVBvc2l0aW9uIiwiTWF0aCIsInJvdW5kIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsInBhdXNlZCIsInBhdXNlIiwiY2FsbERldGFpbFJlY29yZHMiLCIkY2RyVGFibGUiLCIkZ2xvYmFsU2VhcmNoIiwiJGRhdGVSYW5nZVNlbGVjdG9yIiwiZGF0YVRhYmxlIiwicGxheWVycyIsImluaXRpYWxpemUiLCJpbml0aWFsaXplRGF0ZVJhbmdlU2VsZWN0b3IiLCJrZXlDb2RlIiwidmFsIiwibGVuZ3RoIiwiYXBwbHlGaWx0ZXIiLCJzZWFyY2giLCJzZXJ2ZXJTaWRlIiwicHJvY2Vzc2luZyIsImFqYXgiLCJ1cmwiLCJnbG9iYWxSb290VXJsIiwidHlwZSIsInBhZ2luZyIsInNjcm9sbFkiLCJoZWlnaHQiLCJvZmZzZXQiLCJ0b3AiLCJzRG9tIiwiZGVmZXJSZW5kZXIiLCJwYWdlTGVuZ3RoIiwiY3JlYXRlZFJvdyIsInJvdyIsImRhdGEiLCJEVF9Sb3dDbGFzcyIsImVxIiwiaHRtbCIsImlkcyIsImRyYXdDYWxsYmFjayIsIkV4dGVuc2lvbnMiLCJVcGRhdGVQaG9uZXNSZXByZXNlbnQiLCJsYW5ndWFnZSIsIlNlbWFudGljTG9jYWxpemF0aW9uIiwiZGF0YVRhYmxlTG9jYWxpc2F0aW9uIiwib3JkZXJpbmciLCJEYXRhVGFibGUiLCJ1bmRlZmluZWQiLCJ0ciIsImNoaWxkIiwiaXNTaG93biIsImhpZGUiLCJzaG93UmVjb3JkcyIsInNob3ciLCJlYWNoIiwiaW5kZXgiLCJwbGF5ZXJSb3ciLCJodG1sUGxheWVyIiwiZm9yRWFjaCIsInJlY29yZCIsImkiLCJyZWNvcmRpbmdmaWxlIiwic3JjX251bSIsImRzdF9udW0iLCJyZWNvcmRGaWxlTmFtZSIsInJlcGxhY2UiLCJlbmNvZGVVUklDb21wb25lbnQiLCJyZWNvcmRGaWxlVXJpIiwib3B0aW9ucyIsInJhbmdlcyIsImdsb2JhbFRyYW5zbGF0ZSIsItGBYWxfVG9kYXkiLCJtb21lbnQiLCLRgWFsX1llc3RlcmRheSIsInN1YnRyYWN0Iiwi0YFhbF9MYXN0V2VlayIsItGBYWxfTGFzdDMwRGF5cyIsItGBYWxfVGhpc01vbnRoIiwic3RhcnRPZiIsImVuZE9mIiwi0YFhbF9MYXN0TW9udGgiLCJhbHdheXNTaG93Q2FsZW5kYXJzIiwiYXV0b1VwZGF0ZUlucHV0IiwibGlua2VkQ2FsZW5kYXJzIiwibWF4RGF0ZSIsImxvY2FsZSIsImZvcm1hdCIsInNlcGFyYXRvciIsImFwcGx5TGFiZWwiLCLRgWFsX0FwcGx5QnRuIiwiY2FuY2VsTGFiZWwiLCLRgWFsX0NhbmNlbEJ0biIsImZyb21MYWJlbCIsItGBYWxfZnJvbSIsInRvTGFiZWwiLCLRgWFsX3RvIiwiY3VzdG9tUmFuZ2VMYWJlbCIsItGBYWxfQ3VzdG9tUGVyaW9kIiwiZGF5c09mV2VlayIsImNhbGVuZGFyVGV4dCIsImRheXMiLCJtb250aE5hbWVzIiwibW9udGhzIiwiZmlyc3REYXkiLCJzdGFydERhdGUiLCJlbmREYXRlIiwiZGF0ZXJhbmdlcGlja2VyIiwiY2JEYXRlUmFuZ2VTZWxlY3Rvck9uU2VsZWN0IiwiZW5kIiwibGFiZWwiLCJkcmF3IiwicmVhZHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ01BLFM7QUFDTCxxQkFBWUMsRUFBWixFQUFnQjtBQUFBOztBQUFBOztBQUNmLFNBQUtBLEVBQUwsR0FBVUEsRUFBVjtBQUNBLFNBQUtDLFVBQUwsR0FBa0JDLFFBQVEsQ0FBQ0MsY0FBVCx3QkFBd0NILEVBQXhDLEVBQWxCO0FBQ0EsUUFBTUksSUFBSSxHQUFHQyxDQUFDLFlBQUtMLEVBQUwsRUFBZDtBQUNBLFNBQUtNLFFBQUwsR0FBZ0JGLElBQUksQ0FBQ0csSUFBTCxDQUFVLFFBQVYsQ0FBaEIsQ0FKZSxDQUlzQjs7QUFDckMsU0FBS0MsUUFBTCxHQUFnQkosSUFBSSxDQUFDRyxJQUFMLENBQVUsWUFBVixDQUFoQixDQUxlLENBSzBCOztBQUN6QyxTQUFLRSxPQUFMLEdBQWVMLElBQUksQ0FBQ0csSUFBTCxDQUFVLGdCQUFWLENBQWY7QUFDQSxTQUFLRyxhQUFMLEdBQXFCTixJQUFJLENBQUNHLElBQUwsQ0FBVSxtQkFBVixDQUFyQjtBQUNBLFNBQUtOLFVBQUwsQ0FBZ0JVLG1CQUFoQixDQUFvQyxZQUFwQyxFQUFrRCxLQUFLQyxrQkFBdkQsRUFBMkUsS0FBM0U7QUFD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MUIsT0FBaEMsQ0FBd0MsS0FBeEMsRUFBK0NxQixRQUEvQyxDQUF3RCxTQUF4RDtBQUNBO0FBL053QixDQUExQjtBQWlPQW5ELENBQUMsQ0FBQ0gsUUFBRCxDQUFELENBQVltSyxLQUFaLENBQWtCLFlBQU07QUFDdkIxRyxFQUFBQSxpQkFBaUIsQ0FBQ00sVUFBbEI7QUFDQSxDQUZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIE1pa29QQlggLSBmcmVlIHBob25lIHN5c3RlbSBmb3Igc21hbGwgYnVzaW5lc3NcbiAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFsZXhleSBQb3J0bm92IGFuZCBOaWtvbGF5IEJla2V0b3ZcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uXG4gKiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbi8qIGdsb2JhbCBnbG9iYWxSb290VXJsLCBTZW1hbnRpY0xvY2FsaXphdGlvbiwgRXh0ZW5zaW9ucywgbW9tZW50LCBnbG9iYWxUcmFuc2xhdGUgKi9cbi8qKlxuICog0JrQu9Cw0YHRgSDQtNC40L3QsNC80LjRh9C10YHQutC4INGB0L7Qt9C00LDQstCw0LXQvNGL0YUg0L/RgNC+0LjQs9GA0YvQstCw0LXRgtC10LvQuSDQtNC70Y8gQ0RSXG4gKlxuICovXG5jbGFzcyBDRFJQbGF5ZXIge1xuXHRjb25zdHJ1Y3RvcihpZCkge1xuXHRcdHRoaXMuaWQgPSBpZDtcblx0XHR0aGlzLmh0bWw1QXVkaW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgYXVkaW8tcGxheWVyLSR7aWR9YCk7XG5cdFx0Y29uc3QgJHJvdyA9ICQoYCMke2lkfWApO1xuXHRcdHRoaXMuJHBCdXR0b24gPSAkcm93LmZpbmQoJ2kucGxheScpOyAvLyBwbGF5IGJ1dHRvblxuXHRcdHRoaXMuJGRCdXR0b24gPSAkcm93LmZpbmQoJ2kuZG93bmxvYWQnKTsgLy8gZG93bmxvYWQgYnV0dG9uXG5cdFx0dGhpcy4kc2xpZGVyID0gJHJvdy5maW5kKCdkaXYuY2RyLXBsYXllcicpO1xuXHRcdHRoaXMuJHNwYW5EdXJhdGlvbiA9ICRyb3cuZmluZCgnc3Bhbi5jZHItZHVyYXRpb24nKTtcblx0XHR0aGlzLmh0bWw1QXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JPbk1ldGFkYXRhTG9hZGVkLCBmYWxzZSk7XG5cdFx0dGhpcy5odG1sNUF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWRlZG1ldGFkYXRhJywgdGhpcy5jYlRpbWVVcGRhdGUsIGZhbHNlKTtcblx0XHR0aGlzLiRwQnV0dG9uLnVuYmluZCgpO1xuXHRcdHRoaXMuJGRCdXR0b24udW5iaW5kKCk7XG5cblxuXHRcdC8vIHBsYXkgYnV0dG9uIGV2ZW50IGxpc3RlbnRlclxuXHRcdHRoaXMuJHBCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHRoaXMucGxheSgpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gZG93bmxvYWQgYnV0dG9uIGV2ZW50IGxpc3RlbnRlclxuXHRcdHRoaXMuJGRCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdHdpbmRvdy5sb2NhdGlvbiA9ICQoZS50YXJnZXQpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcblx0XHR9KTtcblxuXHRcdHRoaXMuaHRtbDVBdWRpby5hZGRFdmVudExpc3RlbmVyKCdsb2FkZWRtZXRhZGF0YScsIHRoaXMuY2JPbk1ldGFkYXRhTG9hZGVkLCBmYWxzZSk7XG5cblx0XHQvLyB0aW1ldXBkYXRlIGV2ZW50IGxpc3RlbmVyXG5cdFx0dGhpcy5odG1sNUF1ZGlvLmFkZEV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCB0aGlzLmNiVGltZVVwZGF0ZSwgZmFsc2UpO1xuXG5cdFx0Ly8gbm8gc3JjIGhhbmRsZXJcblx0XHR0aGlzLmh0bWw1QXVkaW8uYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCB0aGlzLmNiT25TcmNNZWRpYUVycm9yLCBmYWxzZSk7XG5cblx0XHR0aGlzLiRzbGlkZXIucmFuZ2Uoe1xuXHRcdFx0bWluOiAwLFxuXHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRzdGFydDogMCxcblx0XHRcdG9uQ2hhbmdlOiB0aGlzLmNiT25TbGlkZXJDaGFuZ2UsXG5cdFx0XHRodG1sNUF1ZGlvOiB0aGlzLmh0bWw1QXVkaW8sXG5cdFx0XHRjYlRpbWVVcGRhdGU6IHRoaXMuY2JUaW1lVXBkYXRlLFxuXHRcdFx0c3BhbkR1cmF0aW9uOiB0aGlzLiRzcGFuRHVyYXRpb24sXG5cdFx0fSk7XG5cdH1cblxuXHQvKipcblx0ICog0J7QsdGA0LDQsdC+0YLRh9C40Log0L/QvtC00LPRgNGD0LfQutC4INC80LXRgtCw0LTQsNC90L3Ri9GFXG5cdCAqL1xuXHRjYk9uTWV0YWRhdGFMb2FkZWQoKSB7XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZSh0aGlzLmR1cmF0aW9uKSkge1xuXHRcdFx0Y29uc3QgJHJvdyA9ICQodGhpcykuY2xvc2VzdCgndHInKTtcblx0XHRcdGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShudWxsKTtcblx0XHRcdGRhdGUuc2V0U2Vjb25kcyhwYXJzZUludCh0aGlzLmN1cnJlbnRUaW1lLCAxMCkpOyAvLyBzcGVjaWZ5IHZhbHVlIGZvciBTRUNPTkRTIGhlcmVcblx0XHRcdGNvbnN0IGN1cnJlbnRUaW1lID0gZGF0ZS50b0lTT1N0cmluZygpLnN1YnN0cigxNCwgNSk7XG5cdFx0XHRkYXRlLnNldFNlY29uZHMocGFyc2VJbnQodGhpcy5kdXJhdGlvbiwgMTApKTsgLy8gc3BlY2lmeSB2YWx1ZSBmb3IgU0VDT05EUyBoZXJlXG5cdFx0XHRjb25zdCBkYXRlU3RyID0gZGF0ZS50b0lTT1N0cmluZygpO1xuXHRcdFx0Y29uc3QgaG91cnMgPSBwYXJzZUludChkYXRlU3RyLnN1YnN0cigxMSwgMiksIDEwKTtcblx0XHRcdGxldCBkdXJhdGlvbjtcblx0XHRcdGlmIChob3VycyA9PT0gMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDE0LCA1KTtcblx0XHRcdH0gZWxzZSBpZiAoaG91cnMgPCAxMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDEyLCA3KTtcblx0XHRcdH0gZWxzZSBpZiAoaG91cnMgPj0gMTApIHtcblx0XHRcdFx0ZHVyYXRpb24gPSBkYXRlU3RyLnN1YnN0cigxMSwgOCk7XG5cdFx0XHR9XG5cdFx0XHQkcm93LmZpbmQoJ3NwYW4uY2RyLWR1cmF0aW9uJykudGV4dChgJHtjdXJyZW50VGltZX0vJHtkdXJhdGlvbn1gKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICog0JrQvtC70LHQtdC6INC90LAg0YHQtNCy0LjQsyDRgdC70LDQudC00LXRgNCwINC/0YDQvtC40LPRgNGL0LLQsNGC0LXQu9GPXG5cdCAqIEBwYXJhbSBuZXdWYWxcblx0ICogQHBhcmFtIG1ldGFcblx0ICovXG5cdGNiT25TbGlkZXJDaGFuZ2UobmV3VmFsLCBtZXRhKSB7XG5cdFx0aWYgKG1ldGEudHJpZ2dlcmVkQnlVc2VyICYmIE51bWJlci5pc0Zpbml0ZSh0aGlzLmh0bWw1QXVkaW8uZHVyYXRpb24pKSB7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JUaW1lVXBkYXRlLCBmYWxzZSk7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWUgPSAodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uICogbmV3VmFsKSAvIDEwMDtcblx0XHRcdHRoaXMuaHRtbDVBdWRpby5hZGRFdmVudExpc3RlbmVyKCd0aW1ldXBkYXRlJywgdGhpcy5jYlRpbWVVcGRhdGUsIGZhbHNlKTtcblx0XHR9XG5cdFx0aWYgKE51bWJlci5pc0Zpbml0ZSh0aGlzLmh0bWw1QXVkaW8uZHVyYXRpb24pKSB7XG5cdFx0XHRjb25zdCBkYXRlQ3VycmVudCA9IG5ldyBEYXRlKG51bGwpO1xuXHRcdFx0ZGF0ZUN1cnJlbnQuc2V0U2Vjb25kcyhwYXJzZUludCh0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWUsIDEwKSk7IC8vIHNwZWNpZnkgdmFsdWUgZm9yIFNFQ09ORFMgaGVyZVxuXHRcdFx0Y29uc3QgY3VycmVudFRpbWUgPSBkYXRlQ3VycmVudC50b0lTT1N0cmluZygpLnN1YnN0cigxNCwgNSk7XG5cdFx0XHRjb25zdCBkYXRlRHVyYXRpb24gPSBuZXcgRGF0ZShudWxsKTtcblx0XHRcdGRhdGVEdXJhdGlvbi5zZXRTZWNvbmRzKHBhcnNlSW50KHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbiwgMTApKTsgLy8gc3BlY2lmeSB2YWx1ZSBmb3IgU0VDT05EUyBoZXJlXG5cdFx0XHRjb25zdCBkYXRlU3RyID0gZGF0ZUR1cmF0aW9uLnRvSVNPU3RyaW5nKCk7XG5cdFx0XHRjb25zdCBob3VycyA9IHBhcnNlSW50KGRhdGVTdHIuc3Vic3RyKDExLCAyKSwgMTApO1xuXHRcdFx0bGV0IGR1cmF0aW9uO1xuXHRcdFx0aWYgKGhvdXJzID09PSAwKSB7XG5cdFx0XHRcdGR1cmF0aW9uID0gZGF0ZVN0ci5zdWJzdHIoMTQsIDUpO1xuXHRcdFx0fSBlbHNlIGlmIChob3VycyA8IDEwKSB7XG5cdFx0XHRcdGR1cmF0aW9uID0gZGF0ZVN0ci5zdWJzdHIoMTIsIDcpO1xuXHRcdFx0fSBlbHNlIGlmIChob3VycyA+PSAxMCkge1xuXHRcdFx0XHRkdXJhdGlvbiA9IGRhdGVTdHIuc3Vic3RyKDExLCA4KTtcblx0XHRcdH1cblx0XHRcdHRoaXMuc3BhbkR1cmF0aW9uLnRleHQoYCR7Y3VycmVudFRpbWV9LyR7ZHVyYXRpb259YCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqINCa0L7Qu9Cx0LXQuiDQvdCwINC40LfQvNC10L3QtdC90LjQtSDQv9C+0LfQuNGG0LjQuCDQv9GA0L7QuNCz0YDRi9Cy0LDQtdC80L7Qs9C+INGE0LDQudC70LAg0LjQtyBIVE1MNSDQsNGD0LTQuNC+0YLQtdCz0LBcblx0ICovXG5cdGNiVGltZVVwZGF0ZSgpIHtcblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKHRoaXMuZHVyYXRpb24pKSB7XG5cdFx0XHRjb25zdCBwZXJjZW50ID0gdGhpcy5jdXJyZW50VGltZSAvIHRoaXMuZHVyYXRpb247XG5cdFx0XHRjb25zdCByYW5nZVBvc2l0aW9uID0gTWF0aC5taW4oTWF0aC5yb3VuZCgocGVyY2VudCkgKiAxMDApLCAxMDApO1xuXHRcdFx0Y29uc3QgJHJvdyA9ICQodGhpcykuY2xvc2VzdCgndHInKTtcblx0XHRcdCRyb3cuZmluZCgnZGl2LmNkci1wbGF5ZXInKS5yYW5nZSgnc2V0IHZhbHVlJywgcmFuZ2VQb3NpdGlvbik7XG5cdFx0XHRpZiAodGhpcy5jdXJyZW50VGltZSA9PT0gdGhpcy5kdXJhdGlvbikge1xuXHRcdFx0XHQkcm93LmZpbmQoJ2kucGF1c2UnKS5yZW1vdmVDbGFzcygncGF1c2UnKS5hZGRDbGFzcygncGxheScpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiDQl9Cw0L/Rg9GB0Log0Lgg0L7RgdGC0LDQvdC+0LLQutCwINCy0L7RgdC/0YDQvtC40LfQstC10LTQtdC90LjRjyDQsNGD0LTQuNC+INGE0LDQudC70LBcblx0ICog0L/QviDQutC70LjQutGDINC90LAg0LjQutC+0L3QutGDIFBsYXlcblx0ICovXG5cdHBsYXkoKSB7XG5cdFx0Ly8gc3RhcnQgbXVzaWNcblx0XHRpZiAodGhpcy5odG1sNUF1ZGlvLnBhdXNlZCkge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBsYXkoKTtcblx0XHRcdC8vIHJlbW92ZSBwbGF5LCBhZGQgcGF1c2Vcblx0XHRcdHRoaXMuJHBCdXR0b24ucmVtb3ZlQ2xhc3MoJ3BsYXknKS5hZGRDbGFzcygncGF1c2UnKTtcblx0XHR9IGVsc2UgeyAvLyBwYXVzZSBtdXNpY1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBhdXNlKCk7XG5cdFx0XHQvLyByZW1vdmUgcGF1c2UsIGFkZCBwbGF5XG5cdFx0XHR0aGlzLiRwQnV0dG9uLnJlbW92ZUNsYXNzKCdwYXVzZScpLmFkZENsYXNzKCdwbGF5Jyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqINCe0LHRgNCw0LHQvtGC0LrQsCDQvtGI0LjQsdC60Lgg0L/QvtC70YPRh9C10L3RjyDQt9Cy0YPQutC+0LLQvtCz0L4g0YTQsNC50LvQsFxuXHQgKi9cblx0Y2JPblNyY01lZGlhRXJyb3IoKSB7XG5cdFx0JCh0aGlzKS5jbG9zZXN0KCd0cicpLmFkZENsYXNzKCdkaXNhYmxlZCcpO1xuXHR9XG59XG5cbi8qKlxuICog0JrQu9Cw0YHRgSDRgdGC0YDQsNC90LjRhtGLINGBIENEUlxuICovXG5jb25zdCBjYWxsRGV0YWlsUmVjb3JkcyA9IHtcblx0JGNkclRhYmxlOiAkKCcjY2RyLXRhYmxlJyksXG5cdCRnbG9iYWxTZWFyY2g6ICQoJyNnbG9iYWxzZWFyY2gnKSxcblx0JGRhdGVSYW5nZVNlbGVjdG9yOiAkKCcjZGF0ZS1yYW5nZS1zZWxlY3RvcicpLFxuXHRkYXRhVGFibGU6IHt9LFxuXHRwbGF5ZXJzOiBbXSxcblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5pbml0aWFsaXplRGF0ZVJhbmdlU2VsZWN0b3IoKTtcblxuXHRcdGNhbGxEZXRhaWxSZWNvcmRzLiRnbG9iYWxTZWFyY2gub24oJ2tleXVwJywgKGUpID0+IHtcblx0XHRcdGlmIChlLmtleUNvZGUgPT09IDEzXG5cdFx0XHRcdHx8IGUua2V5Q29kZSA9PT0gOFxuXHRcdFx0XHR8fCBjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLnZhbCgpLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gYCR7Y2FsbERldGFpbFJlY29yZHMuJGRhdGVSYW5nZVNlbGVjdG9yLnZhbCgpfSAke2NhbGxEZXRhaWxSZWNvcmRzLiRnbG9iYWxTZWFyY2gudmFsKCl9YDtcblx0XHRcdFx0Y2FsbERldGFpbFJlY29yZHMuYXBwbHlGaWx0ZXIodGV4dCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUuZGF0YVRhYmxlKHtcblx0XHRcdHNlYXJjaDoge1xuXHRcdFx0XHRzZWFyY2g6IGAke2NhbGxEZXRhaWxSZWNvcmRzLiRkYXRlUmFuZ2VTZWxlY3Rvci52YWwoKX0gJHtjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLnZhbCgpfWAsXG5cdFx0XHR9LFxuXHRcdFx0c2VydmVyU2lkZTogdHJ1ZSxcblx0XHRcdHByb2Nlc3Npbmc6IHRydWUsXG5cdFx0XHRhamF4OiB7XG5cdFx0XHRcdHVybDogYCR7Z2xvYmFsUm9vdFVybH1jYWxsLWRldGFpbC1yZWNvcmRzL2dldE5ld1JlY29yZHNgLFxuXHRcdFx0XHR0eXBlOiAnUE9TVCcsXG5cdFx0XHR9LFxuXHRcdFx0cGFnaW5nOiB0cnVlLFxuXHRcdFx0c2Nyb2xsWTogJCh3aW5kb3cpLmhlaWdodCgpIC0gY2FsbERldGFpbFJlY29yZHMuJGNkclRhYmxlLm9mZnNldCgpLnRvcCAtIDQyMCxcblx0XHRcdC8vIHN0YXRlU2F2ZTogdHJ1ZSxcblx0XHRcdHNEb206ICdydGlwJyxcblx0XHRcdGRlZmVyUmVuZGVyOiB0cnVlLFxuXHRcdFx0cGFnZUxlbmd0aDogMTcsXG5cdFx0XHQvLyBzY3JvbGxDb2xsYXBzZTogdHJ1ZSxcblx0XHRcdC8vIHNjcm9sbGVyOiB0cnVlLFxuXHRcdFx0LyoqXG5cdFx0XHQgKiDQmtC+0L3RgdGC0YDRg9C60YLQvtGAINGB0YLRgNC+0LrQuCBDRFJcblx0XHRcdCAqIEBwYXJhbSByb3dcblx0XHRcdCAqIEBwYXJhbSBkYXRhXG5cdFx0XHQgKi9cblx0XHRcdGNyZWF0ZWRSb3cocm93LCBkYXRhKSB7XG5cdFx0XHRcdGlmIChkYXRhLkRUX1Jvd0NsYXNzID09PSAnZGV0YWlsZWQnKSB7XG5cdFx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDApLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBjYXJldCBkb3duXCI+PC9pPicpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdCQoJ3RkJywgcm93KS5lcSgwKS5odG1sKCcnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHQkKCd0ZCcsIHJvdykuZXEoMSkuaHRtbChkYXRhWzBdKTtcblx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDIpXG5cdFx0XHRcdFx0Lmh0bWwoZGF0YVsxXSlcblx0XHRcdFx0XHQuYWRkQ2xhc3MoJ25lZWQtdXBkYXRlJyk7XG5cdFx0XHRcdCQoJ3RkJywgcm93KS5lcSgzKVxuXHRcdFx0XHRcdC5odG1sKGRhdGFbMl0pXG5cdFx0XHRcdFx0LmFkZENsYXNzKCduZWVkLXVwZGF0ZScpO1xuXG5cdFx0XHRcdGxldCBkdXJhdGlvbiA9IGRhdGFbM107XG5cdFx0XHRcdGlmKGRhdGEuaWRzICE9PSAnJyl7XG5cdFx0XHRcdFx0ZHVyYXRpb24gKz0gJzxpIGRhdGEtaWRzPVwiJysgZGF0YS5pZHMgKydcIiBjbGFzcz1cImZpbGUgYWx0ZXJuYXRlIG91dGxpbmUgaWNvblwiPic7XG5cdFx0XHRcdH1cblx0XHRcdFx0JCgndGQnLCByb3cpLmVxKDQpLmh0bWwoZHVyYXRpb24pLmFkZENsYXNzKCdyaWdodCBhbGlnbmVkJyk7XG5cdFx0XHR9LFxuXHRcdFx0LyoqXG5cdFx0XHQgKiBEcmF3IGV2ZW50IC0gZmlyZWQgb25jZSB0aGUgdGFibGUgaGFzIGNvbXBsZXRlZCBhIGRyYXcuXG5cdFx0XHQgKi9cblx0XHRcdGRyYXdDYWxsYmFjaygpIHtcblx0XHRcdFx0RXh0ZW5zaW9ucy5VcGRhdGVQaG9uZXNSZXByZXNlbnQoJ25lZWQtdXBkYXRlJyk7XG5cdFx0XHR9LFxuXHRcdFx0bGFuZ3VhZ2U6IFNlbWFudGljTG9jYWxpemF0aW9uLmRhdGFUYWJsZUxvY2FsaXNhdGlvbixcblx0XHRcdG9yZGVyaW5nOiBmYWxzZSxcblx0XHR9KTtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUgPSBjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUuRGF0YVRhYmxlKCk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUub24oJ2RyYXcnLCAoKSA9PiB7XG5cdFx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLmNsb3Nlc3QoJ2RpdicpLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cdFx0fSk7XG5cblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kY2RyVGFibGUub24oJ2NsaWNrJywgJ3RyLm5lZ2F0aXZlJywgKGUpID0+IHtcblx0XHRcdGxldCBpZHMgPSAkKGUudGFyZ2V0KS5hdHRyKCdkYXRhLWlkcycpO1xuXHRcdFx0aWYgKGlkcyAhPT0gdW5kZWZpbmVkICYmIGlkcyAhPT0gJycpIHtcblx0XHRcdFx0d2luZG93LmxvY2F0aW9uID0gYC9hZG1pbi1jYWJpbmV0L3N5c3RlbS1kaWFnbm9zdGljL2luZGV4Lz9maWxlbmFtZT1hc3Rlcmlzay92ZXJib3NlJmZpbHRlcj0ke2lkc31gO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdC8vIEFkZCBldmVudCBsaXN0ZW5lciBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBkZXRhaWxzXG5cdFx0Y2FsbERldGFpbFJlY29yZHMuJGNkclRhYmxlLm9uKCdjbGljaycsICd0ci5kZXRhaWxlZCcsIChlKSA9PiB7XG5cdFx0XHRsZXQgaWRzID0gJChlLnRhcmdldCkuYXR0cignZGF0YS1pZHMnKTtcblx0XHRcdGlmKGlkcyAhPT0gdW5kZWZpbmVkICYmIGlkcyAhPT0gJycpe1xuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24gPSBgL2FkbWluLWNhYmluZXQvc3lzdGVtLWRpYWdub3N0aWMvaW5kZXgvP2ZpbGVuYW1lPWFzdGVyaXNrL3ZlcmJvc2UmZmlsdGVyPSR7aWRzfWA7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHRyID0gJChlLnRhcmdldCkuY2xvc2VzdCgndHInKTtcblx0XHRcdGNvbnN0IHJvdyA9IGNhbGxEZXRhaWxSZWNvcmRzLmRhdGFUYWJsZS5yb3codHIpO1xuXG5cdFx0XHRpZiAocm93LmNoaWxkLmlzU2hvd24oKSkge1xuXHRcdFx0XHQvLyBUaGlzIHJvdyBpcyBhbHJlYWR5IG9wZW4gLSBjbG9zZSBpdFxuXHRcdFx0XHRyb3cuY2hpbGQuaGlkZSgpO1xuXHRcdFx0XHR0ci5yZW1vdmVDbGFzcygnc2hvd24nKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIE9wZW4gdGhpcyByb3dcblx0XHRcdFx0cm93LmNoaWxkKGNhbGxEZXRhaWxSZWNvcmRzLnNob3dSZWNvcmRzKHJvdy5kYXRhKCkpKS5zaG93KCk7XG5cdFx0XHRcdHRyLmFkZENsYXNzKCdzaG93bicpO1xuXHRcdFx0XHRyb3cuY2hpbGQoKS5maW5kKCcuZGV0YWlsLXJlY29yZC1yb3cnKS5lYWNoKChpbmRleCwgcGxheWVyUm93KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgaWQgPSAkKHBsYXllclJvdykuYXR0cignaWQnKTtcblx0XHRcdFx0XHRyZXR1cm4gbmV3IENEUlBsYXllcihpZCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRFeHRlbnNpb25zLlVwZGF0ZVBob25lc1JlcHJlc2VudCgnbmVlZC11cGRhdGUnKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fSxcblx0LyoqXG5cdCAqINCe0YLRgNC40YHQvtCy0YvQstCw0LXRgiDQvdCw0LHQvtGAINGBINC30LDQv9C40YHRj9C80Lgg0YDQsNC30LPQvtCy0L7RgNC+0LIg0L/RgNC4INC60LvQuNC60LUg0L3QsCDRgdGC0YDQvtC60YNcblx0ICovXG5cdHNob3dSZWNvcmRzKGRhdGEpIHtcblx0XHRsZXQgaHRtbFBsYXllciA9ICc8dGFibGUgY2xhc3M9XCJ1aSB2ZXJ5IGJhc2ljIHRhYmxlIGNkci1wbGF5ZXJcIj48dGJvZHk+Jztcblx0XHRkYXRhWzRdLmZvckVhY2goKHJlY29yZCwgaSkgPT4ge1xuXHRcdFx0aWYgKGkgPiAwKSB7XG5cdFx0XHRcdGh0bWxQbGF5ZXIgKz0gJzx0ZD48dHI+PC90cj48L3RkPic7XG5cdFx0XHRcdGh0bWxQbGF5ZXIgKz0gJzx0ZD48dHI+PC90cj48L3RkPic7XG5cdFx0XHR9XG5cdFx0XHRpZiAocmVjb3JkLnJlY29yZGluZ2ZpbGUgPT09IHVuZGVmaW5lZFxuXHRcdFx0XHR8fCByZWNvcmQucmVjb3JkaW5nZmlsZSA9PT0gbnVsbFxuXHRcdFx0XHR8fCByZWNvcmQucmVjb3JkaW5nZmlsZS5sZW5ndGggPT09IDApIHtcblxuXHRcdFx0XHRodG1sUGxheWVyICs9IGBcblxuPHRyIGNsYXNzPVwiZGV0YWlsLXJlY29yZC1yb3cgZGlzYWJsZWRcIiBpZD1cIiR7cmVjb3JkLmlkfVwiPlxuICAgXHQ8dGQgY2xhc3M9XCJvbmUgd2lkZVwiPjwvdGQ+XG4gICBcdDx0ZCBjbGFzcz1cIm9uZSB3aWRlIHJpZ2h0IGFsaWduZWRcIj5cbiAgIFx0XHQ8aSBjbGFzcz1cInVpIGljb24gcGxheVwiPjwvaT5cblx0ICAgXHQ8YXVkaW8gcHJlbG9hZD1cIm1ldGFkYXRhXCIgaWQ9XCJhdWRpby1wbGF5ZXItJHtyZWNvcmQuaWR9XCIgc3JjPVwiXCI+PC9hdWRpbz5cblx0PC90ZD5cbiAgICA8dGQgY2xhc3M9XCJmaXZlIHdpZGVcIj5cbiAgICBcdDxkaXYgY2xhc3M9XCJ1aSByYW5nZSBjZHItcGxheWVyXCIgZGF0YS12YWx1ZT1cIiR7cmVjb3JkLmlkfVwiPjwvZGl2PlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGVcIj48c3BhbiBjbGFzcz1cImNkci1kdXJhdGlvblwiPjwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlXCI+XG4gICAgXHQ8aSBjbGFzcz1cInVpIGljb24gZG93bmxvYWRcIiBkYXRhLXZhbHVlPVwiXCI+PC9pPlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwicmlnaHQgYWxpZ25lZFwiPjxzcGFuIGNsYXNzPVwibmVlZC11cGRhdGVcIj4ke3JlY29yZC5zcmNfbnVtfTwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlIGNlbnRlciBhbGlnbmVkXCI+PGkgY2xhc3M9XCJpY29uIGV4Y2hhbmdlXCI+PC9pPjwvdGQ+XG4gICBcdDx0ZCBjbGFzcz1cImxlZnQgYWxpZ25lZFwiPjxzcGFuIGNsYXNzPVwibmVlZC11cGRhdGVcIj4ke3JlY29yZC5kc3RfbnVtfTwvc3Bhbj48L3RkPlxuPC90cj5gO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bGV0IHJlY29yZEZpbGVOYW1lID0gYENhbGxfcmVjb3JkX2JldHdlZW5fJHtyZWNvcmQuc3JjX251bX1fYW5kXyR7cmVjb3JkLmRzdF9udW19X2Zyb21fJHtkYXRhWzBdfWA7XG5cdFx0XHRcdHJlY29yZEZpbGVOYW1lLnJlcGxhY2UoL1teXFx3XFxzIT9dL2csICcnKTtcblx0XHRcdFx0cmVjb3JkRmlsZU5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQocmVjb3JkRmlsZU5hbWUpO1xuXHRcdFx0XHRjb25zdCByZWNvcmRGaWxlVXJpID0gZW5jb2RlVVJJQ29tcG9uZW50KHJlY29yZC5yZWNvcmRpbmdmaWxlKTtcblx0XHRcdFx0aHRtbFBsYXllciArPSBgXG5cbjx0ciBjbGFzcz1cImRldGFpbC1yZWNvcmQtcm93XCIgaWQ9XCIke3JlY29yZC5pZH1cIj5cbiAgIFx0PHRkIGNsYXNzPVwib25lIHdpZGVcIj48L3RkPlxuICAgXHQ8dGQgY2xhc3M9XCJvbmUgd2lkZSByaWdodCBhbGlnbmVkXCI+XG4gICBcdFx0PGkgY2xhc3M9XCJ1aSBpY29uIHBsYXlcIj48L2k+XG5cdCAgIFx0PGF1ZGlvIHByZWxvYWQ9XCJtZXRhZGF0YVwiIGlkPVwiYXVkaW8tcGxheWVyLSR7cmVjb3JkLmlkfVwiIHNyYz1cIi9wYnhjb3JlL2FwaS9jZHIvdjIvcGxheWJhY2s/dmlldz0ke3JlY29yZEZpbGVVcml9XCI+PC9hdWRpbz5cblx0PC90ZD5cbiAgICA8dGQgY2xhc3M9XCJmaXZlIHdpZGVcIj5cbiAgICBcdDxkaXYgY2xhc3M9XCJ1aSByYW5nZSBjZHItcGxheWVyXCIgZGF0YS12YWx1ZT1cIiR7cmVjb3JkLmlkfVwiPjwvZGl2PlxuICAgIDwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGVcIj48c3BhbiBjbGFzcz1cImNkci1kdXJhdGlvblwiPjwvc3Bhbj48L3RkPlxuICAgIDx0ZCBjbGFzcz1cIm9uZSB3aWRlXCI+XG4gICAgXHQ8aSBjbGFzcz1cInVpIGljb24gZG93bmxvYWRcIiBkYXRhLXZhbHVlPVwiL3BieGNvcmUvYXBpL2Nkci92Mi9wbGF5YmFjaz92aWV3PSR7cmVjb3JkRmlsZVVyaX0mZG93bmxvYWQ9MSZmaWxlbmFtZT0ke3JlY29yZEZpbGVOYW1lfS5tcDNcIj48L2k+XG4gICAgPC90ZD5cbiAgICA8dGQgY2xhc3M9XCJyaWdodCBhbGlnbmVkXCI+PHNwYW4gY2xhc3M9XCJuZWVkLXVwZGF0ZVwiPiR7cmVjb3JkLnNyY19udW19PC9zcGFuPjwvdGQ+XG4gICAgPHRkIGNsYXNzPVwib25lIHdpZGUgY2VudGVyIGFsaWduZWRcIj48aSBjbGFzcz1cImljb24gZXhjaGFuZ2VcIj48L2k+PC90ZD5cbiAgIFx0PHRkIGNsYXNzPVwibGVmdCBhbGlnbmVkXCI+PHNwYW4gY2xhc3M9XCJuZWVkLXVwZGF0ZVwiPiR7cmVjb3JkLmRzdF9udW19PC9zcGFuPjwvdGQ+XG48L3RyPmA7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0aHRtbFBsYXllciArPSAnPC90Ym9keT48L3RhYmxlPic7XG5cdFx0cmV0dXJuIGh0bWxQbGF5ZXI7XG5cdH0sXG5cdC8qKlxuXHQgKlxuXHQgKi9cblx0aW5pdGlhbGl6ZURhdGVSYW5nZVNlbGVjdG9yKCkge1xuXHRcdGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuXHRcdG9wdGlvbnMucmFuZ2VzID0ge1xuXHRcdFx0W2dsb2JhbFRyYW5zbGF0ZS7RgWFsX1RvZGF5XTogW21vbWVudCgpLCBtb21lbnQoKV0sXG5cdFx0XHRbZ2xvYmFsVHJhbnNsYXRlLtGBYWxfWWVzdGVyZGF5XTogW21vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyksIG1vbWVudCgpLnN1YnRyYWN0KDEsICdkYXlzJyldLFxuXHRcdFx0W2dsb2JhbFRyYW5zbGF0ZS7RgWFsX0xhc3RXZWVrXTogW21vbWVudCgpLnN1YnRyYWN0KDYsICdkYXlzJyksIG1vbWVudCgpXSxcblx0XHRcdFtnbG9iYWxUcmFuc2xhdGUu0YFhbF9MYXN0MzBEYXlzXTogW21vbWVudCgpLnN1YnRyYWN0KDI5LCAnZGF5cycpLCBtb21lbnQoKV0sXG5cdFx0XHRbZ2xvYmFsVHJhbnNsYXRlLtGBYWxfVGhpc01vbnRoXTogW21vbWVudCgpLnN0YXJ0T2YoJ21vbnRoJyksIG1vbWVudCgpLmVuZE9mKCdtb250aCcpXSxcblx0XHRcdFtnbG9iYWxUcmFuc2xhdGUu0YFhbF9MYXN0TW9udGhdOiBbbW9tZW50KCkuc3VidHJhY3QoMSwgJ21vbnRoJykuc3RhcnRPZignbW9udGgnKSwgbW9tZW50KCkuc3VidHJhY3QoMSwgJ21vbnRoJykuZW5kT2YoJ21vbnRoJyldLFxuXHRcdH07XG5cdFx0b3B0aW9ucy5hbHdheXNTaG93Q2FsZW5kYXJzID0gdHJ1ZTtcblx0XHRvcHRpb25zLmF1dG9VcGRhdGVJbnB1dCA9IHRydWU7XG5cdFx0b3B0aW9ucy5saW5rZWRDYWxlbmRhcnMgPSB0cnVlO1xuXHRcdG9wdGlvbnMubWF4RGF0ZSA9IG1vbWVudCgpO1xuXHRcdG9wdGlvbnMubG9jYWxlID0ge1xuXHRcdFx0Zm9ybWF0OiAnREQvTU0vWVlZWScsXG5cdFx0XHRzZXBhcmF0b3I6ICcgLSAnLFxuXHRcdFx0YXBwbHlMYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfQXBwbHlCdG4sXG5cdFx0XHRjYW5jZWxMYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfQ2FuY2VsQnRuLFxuXHRcdFx0ZnJvbUxhYmVsOiBnbG9iYWxUcmFuc2xhdGUu0YFhbF9mcm9tLFxuXHRcdFx0dG9MYWJlbDogZ2xvYmFsVHJhbnNsYXRlLtGBYWxfdG8sXG5cdFx0XHRjdXN0b21SYW5nZUxhYmVsOiBnbG9iYWxUcmFuc2xhdGUu0YFhbF9DdXN0b21QZXJpb2QsXG5cdFx0XHRkYXlzT2ZXZWVrOiBTZW1hbnRpY0xvY2FsaXphdGlvbi5jYWxlbmRhclRleHQuZGF5cyxcblx0XHRcdG1vbnRoTmFtZXM6IFNlbWFudGljTG9jYWxpemF0aW9uLmNhbGVuZGFyVGV4dC5tb250aHMsXG5cdFx0XHRmaXJzdERheTogMSxcblx0XHR9O1xuXHRcdG9wdGlvbnMuc3RhcnREYXRlID0gbW9tZW50KCk7XG5cdFx0b3B0aW9ucy5lbmREYXRlID0gbW9tZW50KCk7XG5cdFx0Y2FsbERldGFpbFJlY29yZHMuJGRhdGVSYW5nZVNlbGVjdG9yLmRhdGVyYW5nZXBpY2tlcihcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5jYkRhdGVSYW5nZVNlbGVjdG9yT25TZWxlY3QsXG5cdFx0KTtcblx0fSxcblx0LyoqXG5cdCAqINCe0LHRgNCw0LHQvtGC0YfQuNC6INCy0YvQsdC+0YDQsCDQv9C10YDQuNC+0LTQsFxuXHQgKiBAcGFyYW0gc3RhcnRcblx0ICogQHBhcmFtIGVuZFxuXHQgKiBAcGFyYW0gbGFiZWxcblx0ICovXG5cdGNiRGF0ZVJhbmdlU2VsZWN0b3JPblNlbGVjdChzdGFydCwgZW5kLCBsYWJlbCkge1xuXHRcdGNvbnN0IHRleHQgPSBgJHtzdGFydC5mb3JtYXQoJ0REL01NL1lZWVknKX0gJHtlbmQuZm9ybWF0KCdERC9NTS9ZWVlZJyl9ICR7Y2FsbERldGFpbFJlY29yZHMuJGdsb2JhbFNlYXJjaC52YWwoKX1gO1xuXHRcdGNhbGxEZXRhaWxSZWNvcmRzLmFwcGx5RmlsdGVyKHRleHQpO1xuXHR9LFxuXHQvKipcblx0ICpcblx0ICovXG5cdGFwcGx5RmlsdGVyKHRleHQpIHtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy5kYXRhVGFibGUuc2VhcmNoKHRleHQpLmRyYXcoKTtcblx0XHRjYWxsRGV0YWlsUmVjb3Jkcy4kZ2xvYmFsU2VhcmNoLmNsb3Nlc3QoJ2RpdicpLmFkZENsYXNzKCdsb2FkaW5nJyk7XG5cdH0sXG59O1xuJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuXHRjYWxsRGV0YWlsUmVjb3Jkcy5pbml0aWFsaXplKCk7XG59KTtcbiJdfQ==
\ No newline at end of file
diff --git a/sites/admin-cabinet/assets/js/pbx/SoundFiles/one-button-sound-player.js b/sites/admin-cabinet/assets/js/pbx/SoundFiles/one-button-sound-player.js
index ce699c689..94543784b 100644
--- a/sites/admin-cabinet/assets/js/pbx/SoundFiles/one-button-sound-player.js
+++ b/sites/admin-cabinet/assets/js/pbx/SoundFiles/one-button-sound-player.js
@@ -4,7 +4,7 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
+function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
/*
* MikoPBX - free phone system for small business
@@ -87,7 +87,7 @@ var sndPlayerOneBtn = /*#__PURE__*/function () {
on: 'now',
onSuccess: function onSuccess(response) {
if (response.message !== undefined) {
- _this.html5Audio.getElementsByTagName('source')[0].src = "/pbxcore/api/cdr/playback?view=".concat(response.message);
+ _this.html5Audio.getElementsByTagName('source')[0].src = "/pbxcore/api/cdr/v2/playback?view=".concat(response.message);
_this.html5Audio.pause();
@@ -135,4 +135,4 @@ var sndPlayerOneBtn = /*#__PURE__*/function () {
return sndPlayerOneBtn;
}();
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Tb3VuZEZpbGVzL29uZS1idXR0b24tc291bmQtcGxheWVyLmpzIl0sIm5hbWVzIjpbIm9uZUJ1dHRvblBsYXllciIsImluaXRpYWxpemUiLCIkIiwiZWFjaCIsImluZGV4IiwiYnV0dG9uIiwiaWQiLCJhdHRyIiwic25kUGxheWVyT25lQnRuIiwiZG9jdW1lbnQiLCJyZWFkeSIsIiRwQnV0dG9uIiwic291bmRTZWxlY3RvckNsYXNzIiwiZHVyYXRpb24iLCJhdWRpb1BsYXllciIsImFmdGVyIiwiaHRtbDVBdWRpbyIsImdldEVsZW1lbnRCeUlkIiwib24iLCJ1cGRhdGVBdWRpb1NvdXJjZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInBhdXNlZCIsInBsYXkiLCJjdXJyZW50VGltZSIsImh0bWwiLCJwYXVzZSIsImF1ZGlvRmlsZUlkIiwiZm9ybSIsIl90aGlzIiwiYXBpIiwidXJsIiwiZ2xvYmFsUm9vdFVybCIsIm9uU3VjY2VzcyIsInJlc3BvbnNlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3JjIiwibG9hZCIsIm9uY2FucGxheXRocm91Z2giLCJjYkNhblBsYXlUaHJvdWdoIiwib25FcnJvciIsIm5ld1ZhbCIsIm1ldGEiLCJ0cmlnZ2VyZWRCeVVzZXIiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjYlRpbWVVcGRhdGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGVyY2VudCIsInJhbmdlUG9zaXRpb24iLCJNYXRoIiwicm91bmQiLCIkc2xpZGVyIiwicmFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBLElBQU1BLGVBQWUsR0FBRztBQUN2QkMsRUFBQUEsVUFEdUIsd0JBQ1Y7QUFDWkMsSUFB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LEtBQWIsQ0FBbUIsV0FBbkIsRUFBZ0NKLGFBQWhDOztBQUNBLFlBQUksS0FBS3BDLFVBQUwsQ0FBZ0JRLFdBQWhCLEtBQWdDLEtBQUtYLFFBQXpDLEVBQW1EO0FBQ2xELGVBQUtGLFFBQUwsQ0FBY2MsSUFBZCxDQUFtQiwyQkFBbkI7QUFDQTtBQUNEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTWlrb1BCWCAtIGZyZWUgcGhvbmUgc3lzdGVtIGZvciBzbWFsbCBidXNpbmVzc1xuICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQWxleGV5IFBvcnRub3YgYW5kIE5pa29sYXkgQmVrZXRvdlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS5cbiAqIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuLyogZ2xvYmFsIGdsb2JhbFJvb3RVcmwgKi9cblxuY29uc3Qgb25lQnV0dG9uUGxheWVyID0ge1xuXHRpbml0aWFsaXplKCkge1xuXHRcdCQoJ2Zvcm0gLmFjdGlvbi1wbGF5YmFjay1idXR0b24nKS5lYWNoKChpbmRleCwgYnV0dG9uKSA9PiB7XG5cdFx0XHRjb25zdCBpZCA9ICQoYnV0dG9uKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG5cdFx0XHRyZXR1cm4gbmV3IHNuZFBsYXllck9uZUJ0bihpZCk7XG5cdFx0fSk7XG5cdH1cbn1cblxuJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuXHRvbmVCdXR0b25QbGF5ZXIuaW5pdGlhbGl6ZSgpO1xufSk7XG5cbmNsYXNzIHNuZFBsYXllck9uZUJ0biB7XG5cdGNvbnN0cnVjdG9yKGlkKSB7XG5cdFx0dGhpcy4kcEJ1dHRvbiA9ICQoYC5hY3Rpb24tcGxheWJhY2stYnV0dG9uW2RhdGEtdmFsdWU9XCIke2lkfVwiXWApOyAvLyBwbGF5IGJ1dHRvblxuXHRcdHRoaXMuc291bmRTZWxlY3RvckNsYXNzID0gaWQ7XG5cdFx0dGhpcy5kdXJhdGlvbiA9IDA7XG5cdFx0dGhpcy5pZCA9IGlkO1xuXHRcdGNvbnN0IGF1ZGlvUGxheWVyID0gYDxhdWRpbyBpZD1cImF1ZGlvLXBsYXllci0ke2lkfVwiIHByZWxvYWQ9XCJhdXRvXCI+PHNvdXJjZSBzcmM9XCJcIiB0eXBlPVwiYXVkaW8vbXAzXCI+PC9hdWRpbz5gO1xuXHRcdHRoaXMuJHBCdXR0b24uYWZ0ZXIoYXVkaW9QbGF5ZXIpO1xuXHRcdHRoaXMuaHRtbDVBdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhdWRpby1wbGF5ZXItJHtpZH1gKTtcblx0XHQkKGAjJHt0aGlzLnNvdW5kU2VsZWN0b3JDbGFzc31gKS5vbignY2hhbmdlJywgKCkgPT4ge1xuXHRcdFx0dGhpcy51cGRhdGVBdWRpb1NvdXJjZSgpO1xuXHRcdH0pO1xuXHRcdHRoaXMuJHBCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGlmICh0aGlzLmh0bWw1QXVkaW8ucGF1c2VkICYmIHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbikge1xuXHRcdFx0XHR0aGlzLmh0bWw1QXVkaW8ucGxheSgpO1xuXHRcdFx0XHR0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWU9MDtcblx0XHRcdFx0Ly8gcmVtb3ZlIHBsYXksIGFkZCBwYXVzZVxuXHRcdFx0XHR0aGlzLiRwQnV0dG9uLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBwYXVzZVwiPjwvaT4nKTtcblx0XHRcdH0gZWxzZSB7IC8vIHBhdXNlIG11c2ljXG5cdFx0XHRcdHRoaXMuaHRtbDVBdWRpby5wYXVzZSgpO1xuXHRcdFx0XHQvLyByZW1vdmUgcGF1c2UsIGFkZCBwbGF5XG5cdFx0XHRcdHRoaXMuJHBCdXR0b24uaHRtbCgnPGkgY2xhc3M9XCJpY29uIHBsYXlcIj48L2k+Jyk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy51cGRhdGVBdWRpb1NvdXJjZSgpO1xuXHR9XG5cblx0dXBkYXRlQXVkaW9Tb3VyY2UoKSB7XG5cdFx0Y29uc3QgYXVkaW9GaWxlSWQgPSAkKCdmb3JtJykuZm9ybSgnZ2V0IHZhbHVlJywgdGhpcy5zb3VuZFNlbGVjdG9yQ2xhc3MpO1xuXHRcdGlmIChhdWRpb0ZpbGVJZCAhPT0gJycgJiYgYXVkaW9GaWxlSWQgIT09IFwiLTFcIikge1xuXHRcdFx0Y29uc3QgX3RoaXMgPSB0aGlzO1xuXHRcdFx0JC5hcGkoe1xuXHRcdFx0XHR1cmw6IGAke2dsb2JhbFJvb3RVcmx9c291bmQtZmlsZXMvZ2V0cGF0aGJ5aWQvJHthdWRpb0ZpbGVJZH1gLFxuXHRcdFx0XHRvbjogJ25vdycsXG5cdFx0XHRcdG9uU3VjY2VzcyhyZXNwb25zZSkge1xuXHRcdFx0XHRcdGlmIChyZXNwb25zZS5tZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdF90aGlzLmh0bWw1QXVkaW8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NvdXJjZScpWzBdLnNyY1xuXHRcdFx0XHRcdFx0XHQ9IGAvcGJ4Y29yZS9hcGkvY2RyL3BsYXliYWNrP3ZpZXc9JHtyZXNwb25zZS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0XHRfdGhpcy5odG1sNUF1ZGlvLnBhdXNlKCk7XG5cdFx0XHRcdFx0XHRfdGhpcy5odG1sNUF1ZGlvLmxvYWQoKTtcblx0XHRcdFx0XHRcdF90aGlzLmh0bWw1QXVkaW8ub25jYW5wbGF5dGhyb3VnaCA9IHRoaXMuY2JDYW5QbGF5VGhyb3VnaDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG9uRXJyb3IoKSB7XG5cdFx0XHRcdH0sXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0fVxuXG5cdGNiQ2FuUGxheVRocm91Z2goKSB7XG5cdFx0dGhpcy5kdXJhdGlvbiA9IHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbjtcblx0XHRpZiAodGhpcy4kcEJ1dHRvbi5odG1sKCkgPT09ICc8aSBjbGFzcz1cImljb24gcGF1c2VcIj48L2k+Jykge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBsYXkoKTtcblx0XHR9XG5cdH1cblxuXHRjYk9uU2xpZGVyQ2hhbmdlKG5ld1ZhbCwgbWV0YSkge1xuXHRcdGlmIChtZXRhLnRyaWdnZXJlZEJ5VXNlciAmJiBOdW1iZXIuaXNGaW5pdGUodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uKSkge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCB0aGlzLmNiVGltZVVwZGF0ZSwgZmFsc2UpO1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLmN1cnJlbnRUaW1lID0gKHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbiAqIG5ld1ZhbCkgLyAxMDA7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8uYWRkRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JUaW1lVXBkYXRlLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0Y2JUaW1lVXBkYXRlKCkge1xuXHRcdGlmIChOdW1iZXIuaXNGaW5pdGUodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uKSkge1xuXHRcdFx0Y29uc3QgcGVyY2VudCA9IHRoaXMuaHRtbDVBdWRpby5jdXJyZW50VGltZSAvIHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbjtcblx0XHRcdGNvbnN0IHJhbmdlUG9zaXRpb24gPSBNYXRoLnJvdW5kKChwZXJjZW50KSAqIDEwMCk7XG5cdFx0XHR0aGlzLiRzbGlkZXIucmFuZ2UoJ3NldCB2YWx1ZScsIHJhbmdlUG9zaXRpb24pO1xuXHRcdFx0aWYgKHRoaXMuaHRtbDVBdWRpby5jdXJyZW50VGltZSA9PT0gdGhpcy5kdXJhdGlvbikge1xuXHRcdFx0XHR0aGlzLiRwQnV0dG9uLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBwbGF5XCI+PC9pPicpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
\ No newline at end of file
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Tb3VuZEZpbGVzL29uZS1idXR0b24tc291bmQtcGxheWVyLmpzIl0sIm5hbWVzIjpbIm9uZUJ1dHRvblBsYXllciIsImluaXRpYWxpemUiLCIkIiwiZWFjaCIsImluZGV4IiwiYnV0dG9uIiwiaWQiLCJhdHRyIiwic25kUGxheWVyT25lQnRuIiwiZG9jdW1lbnQiLCJyZWFkeSIsIiRwQnV0dG9uIiwic291bmRTZWxlY3RvckNsYXNzIiwiZHVyYXRpb24iLCJhdWRpb1BsYXllciIsImFmdGVyIiwiaHRtbDVBdWRpbyIsImdldEVsZW1lbnRCeUlkIiwib24iLCJ1cGRhdGVBdWRpb1NvdXJjZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInBhdXNlZCIsInBsYXkiLCJjdXJyZW50VGltZSIsImh0bWwiLCJwYXVzZSIsImF1ZGlvRmlsZUlkIiwiZm9ybSIsIl90aGlzIiwiYXBpIiwidXJsIiwiZ2xvYmFsUm9vdFVybCIsIm9uU3VjY2VzcyIsInJlc3BvbnNlIiwibWVzc2FnZSIsInVuZGVmaW5lZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwic3JjIiwibG9hZCIsIm9uY2FucGxheXRocm91Z2giLCJjYkNhblBsYXlUaHJvdWdoIiwib25FcnJvciIsIm5ld1ZhbCIsIm1ldGEiLCJ0cmlnZ2VyZWRCeVVzZXIiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjYlRpbWVVcGRhdGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGVyY2VudCIsInJhbmdlUG9zaXRpb24iLCJNYXRoIiwicm91bmQiLCIkc2xpZGVyIiwicmFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUVBLElBQU1BLGVBQWUsR0FBRztBQUN2QkMsRUFBQUEsVUFEdUIsd0JBQ1Y7QUFDWkMsSUFB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LEtBQWIsQ0FBbUIsV0FBbkIsRUFBZ0NKLGFBQWhDOztBQUNBLFlBQUksS0FBS3BDLFVBQUwsQ0FBZ0JRLFdBQWhCLEtBQWdDLEtBQUtYLFFBQXpDLEVBQW1EO0FBQ2xELGVBQUtGLFFBQUwsQ0FBY2MsSUFBZCxDQUFtQiwyQkFBbkI7QUFDQTtBQUNEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogTWlrb1BCWCAtIGZyZWUgcGhvbmUgc3lzdGVtIGZvciBzbWFsbCBidXNpbmVzc1xuICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQWxleGV5IFBvcnRub3YgYW5kIE5pa29sYXkgQmVrZXRvdlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS5cbiAqIElmIG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuLyogZ2xvYmFsIGdsb2JhbFJvb3RVcmwgKi9cblxuY29uc3Qgb25lQnV0dG9uUGxheWVyID0ge1xuXHRpbml0aWFsaXplKCkge1xuXHRcdCQoJ2Zvcm0gLmFjdGlvbi1wbGF5YmFjay1idXR0b24nKS5lYWNoKChpbmRleCwgYnV0dG9uKSA9PiB7XG5cdFx0XHRjb25zdCBpZCA9ICQoYnV0dG9uKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG5cdFx0XHRyZXR1cm4gbmV3IHNuZFBsYXllck9uZUJ0bihpZCk7XG5cdFx0fSk7XG5cdH1cbn1cblxuJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuXHRvbmVCdXR0b25QbGF5ZXIuaW5pdGlhbGl6ZSgpO1xufSk7XG5cbmNsYXNzIHNuZFBsYXllck9uZUJ0biB7XG5cdGNvbnN0cnVjdG9yKGlkKSB7XG5cdFx0dGhpcy4kcEJ1dHRvbiA9ICQoYC5hY3Rpb24tcGxheWJhY2stYnV0dG9uW2RhdGEtdmFsdWU9XCIke2lkfVwiXWApOyAvLyBwbGF5IGJ1dHRvblxuXHRcdHRoaXMuc291bmRTZWxlY3RvckNsYXNzID0gaWQ7XG5cdFx0dGhpcy5kdXJhdGlvbiA9IDA7XG5cdFx0dGhpcy5pZCA9IGlkO1xuXHRcdGNvbnN0IGF1ZGlvUGxheWVyID0gYDxhdWRpbyBpZD1cImF1ZGlvLXBsYXllci0ke2lkfVwiIHByZWxvYWQ9XCJhdXRvXCI+PHNvdXJjZSBzcmM9XCJcIiB0eXBlPVwiYXVkaW8vbXAzXCI+PC9hdWRpbz5gO1xuXHRcdHRoaXMuJHBCdXR0b24uYWZ0ZXIoYXVkaW9QbGF5ZXIpO1xuXHRcdHRoaXMuaHRtbDVBdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhdWRpby1wbGF5ZXItJHtpZH1gKTtcblx0XHQkKGAjJHt0aGlzLnNvdW5kU2VsZWN0b3JDbGFzc31gKS5vbignY2hhbmdlJywgKCkgPT4ge1xuXHRcdFx0dGhpcy51cGRhdGVBdWRpb1NvdXJjZSgpO1xuXHRcdH0pO1xuXHRcdHRoaXMuJHBCdXR0b24ub24oJ2NsaWNrJywgKGUpID0+IHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGlmICh0aGlzLmh0bWw1QXVkaW8ucGF1c2VkICYmIHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbikge1xuXHRcdFx0XHR0aGlzLmh0bWw1QXVkaW8ucGxheSgpO1xuXHRcdFx0XHR0aGlzLmh0bWw1QXVkaW8uY3VycmVudFRpbWU9MDtcblx0XHRcdFx0Ly8gcmVtb3ZlIHBsYXksIGFkZCBwYXVzZVxuXHRcdFx0XHR0aGlzLiRwQnV0dG9uLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBwYXVzZVwiPjwvaT4nKTtcblx0XHRcdH0gZWxzZSB7IC8vIHBhdXNlIG11c2ljXG5cdFx0XHRcdHRoaXMuaHRtbDVBdWRpby5wYXVzZSgpO1xuXHRcdFx0XHQvLyByZW1vdmUgcGF1c2UsIGFkZCBwbGF5XG5cdFx0XHRcdHRoaXMuJHBCdXR0b24uaHRtbCgnPGkgY2xhc3M9XCJpY29uIHBsYXlcIj48L2k+Jyk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy51cGRhdGVBdWRpb1NvdXJjZSgpO1xuXHR9XG5cblx0dXBkYXRlQXVkaW9Tb3VyY2UoKSB7XG5cdFx0Y29uc3QgYXVkaW9GaWxlSWQgPSAkKCdmb3JtJykuZm9ybSgnZ2V0IHZhbHVlJywgdGhpcy5zb3VuZFNlbGVjdG9yQ2xhc3MpO1xuXHRcdGlmIChhdWRpb0ZpbGVJZCAhPT0gJycgJiYgYXVkaW9GaWxlSWQgIT09IFwiLTFcIikge1xuXHRcdFx0Y29uc3QgX3RoaXMgPSB0aGlzO1xuXHRcdFx0JC5hcGkoe1xuXHRcdFx0XHR1cmw6IGAke2dsb2JhbFJvb3RVcmx9c291bmQtZmlsZXMvZ2V0cGF0aGJ5aWQvJHthdWRpb0ZpbGVJZH1gLFxuXHRcdFx0XHRvbjogJ25vdycsXG5cdFx0XHRcdG9uU3VjY2VzcyhyZXNwb25zZSkge1xuXHRcdFx0XHRcdGlmIChyZXNwb25zZS5tZXNzYWdlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRcdF90aGlzLmh0bWw1QXVkaW8uZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NvdXJjZScpWzBdLnNyY1xuXHRcdFx0XHRcdFx0XHQ9IGAvcGJ4Y29yZS9hcGkvY2RyL3YyL3BsYXliYWNrP3ZpZXc9JHtyZXNwb25zZS5tZXNzYWdlfWA7XG5cdFx0XHRcdFx0XHRfdGhpcy5odG1sNUF1ZGlvLnBhdXNlKCk7XG5cdFx0XHRcdFx0XHRfdGhpcy5odG1sNUF1ZGlvLmxvYWQoKTtcblx0XHRcdFx0XHRcdF90aGlzLmh0bWw1QXVkaW8ub25jYW5wbGF5dGhyb3VnaCA9IHRoaXMuY2JDYW5QbGF5VGhyb3VnaDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdG9uRXJyb3IoKSB7XG5cdFx0XHRcdH0sXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0fVxuXG5cdGNiQ2FuUGxheVRocm91Z2goKSB7XG5cdFx0dGhpcy5kdXJhdGlvbiA9IHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbjtcblx0XHRpZiAodGhpcy4kcEJ1dHRvbi5odG1sKCkgPT09ICc8aSBjbGFzcz1cImljb24gcGF1c2VcIj48L2k+Jykge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnBsYXkoKTtcblx0XHR9XG5cdH1cblxuXHRjYk9uU2xpZGVyQ2hhbmdlKG5ld1ZhbCwgbWV0YSkge1xuXHRcdGlmIChtZXRhLnRyaWdnZXJlZEJ5VXNlciAmJiBOdW1iZXIuaXNGaW5pdGUodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uKSkge1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RpbWV1cGRhdGUnLCB0aGlzLmNiVGltZVVwZGF0ZSwgZmFsc2UpO1xuXHRcdFx0dGhpcy5odG1sNUF1ZGlvLmN1cnJlbnRUaW1lID0gKHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbiAqIG5ld1ZhbCkgLyAxMDA7XG5cdFx0XHR0aGlzLmh0bWw1QXVkaW8uYWRkRXZlbnRMaXN0ZW5lcigndGltZXVwZGF0ZScsIHRoaXMuY2JUaW1lVXBkYXRlLCBmYWxzZSk7XG5cdFx0fVxuXHR9XG5cblx0Y2JUaW1lVXBkYXRlKCkge1xuXHRcdGlmIChOdW1iZXIuaXNGaW5pdGUodGhpcy5odG1sNUF1ZGlvLmR1cmF0aW9uKSkge1xuXHRcdFx0Y29uc3QgcGVyY2VudCA9IHRoaXMuaHRtbDVBdWRpby5jdXJyZW50VGltZSAvIHRoaXMuaHRtbDVBdWRpby5kdXJhdGlvbjtcblx0XHRcdGNvbnN0IHJhbmdlUG9zaXRpb24gPSBNYXRoLnJvdW5kKChwZXJjZW50KSAqIDEwMCk7XG5cdFx0XHR0aGlzLiRzbGlkZXIucmFuZ2UoJ3NldCB2YWx1ZScsIHJhbmdlUG9zaXRpb24pO1xuXHRcdFx0aWYgKHRoaXMuaHRtbDVBdWRpby5jdXJyZW50VGltZSA9PT0gdGhpcy5kdXJhdGlvbikge1xuXHRcdFx0XHR0aGlzLiRwQnV0dG9uLmh0bWwoJzxpIGNsYXNzPVwiaWNvbiBwbGF5XCI+PC9pPicpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl19
\ No newline at end of file
diff --git a/sites/admin-cabinet/assets/js/pbx/SoundFiles/sound-file-modify.js b/sites/admin-cabinet/assets/js/pbx/SoundFiles/sound-file-modify.js
index 400d08d5a..77224db68 100644
--- a/sites/admin-cabinet/assets/js/pbx/SoundFiles/sound-file-modify.js
+++ b/sites/admin-cabinet/assets/js/pbx/SoundFiles/sound-file-modify.js
@@ -139,7 +139,7 @@ var soundFileModify = {
soundFileModify.trashBin.push(soundFileModify.$formObj.form('get value', 'path'));
soundFileModify.$formObj.form('set value', 'path', filename);
soundFileModify.$soundFileName.trigger('change');
- sndPlayer.UpdateSource("/pbxcore/api/cdr/playback?view=".concat(filename));
+ sndPlayer.UpdateSource("/pbxcore/api/cdr/v2/playback?view=".concat(filename));
soundFileModify.$submitButton.removeClass('loading');
soundFileModify.$formObj.removeClass('loading');
}
@@ -172,4 +172,4 @@ var soundFileModify = {
$(document).ready(function () {
soundFileModify.initialize();
});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Tb3VuZEZpbGVzL3NvdW5kLWZpbGUtbW9kaWZ5LmpzIl0sIm5hbWVzIjpbInNvdW5kRmlsZU1vZGlmeSIsInRyYXNoQmluIiwiJHNvdW5kVXBsb2FkQnV0dG9uIiwiJCIsIiRzb3VuZEZpbGVJbnB1dCIsIiRzb3VuZEZpbGVOYW1lIiwiJGF1ZGlvUGxheWVyIiwiJHN1Ym1pdEJ1dHRvbiIsImJsb2IiLCJ3aW5kb3ciLCJVUkwiLCJ3ZWJraXRVUkwiLCIkZm9ybU9iaiIsIiRkcm9wRG93bnMiLCJ2YWxpZGF0ZVJ1bGVzIiwiZGVzY3JpcHRpb24iLCJpZGVudGlmaWVyIiwicnVsZXMiLCJ0eXBlIiwicHJvbXB0IiwiZ2xvYmFsVHJhbnNsYXRlIiwic2ZfVmFsaWRhdGlvbkZpbGVOYW1lSXNFbXB0eSIsInBhdGgiLCJzZl9WYWxpZGF0aW9uRmlsZU5vdFNlbGVjdGVkIiwiaW5pdGlhbGl6ZSIsImRyb3Bkb3duIiwiaW5pdGlhbGl6ZUZvcm0iLCJvbiIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsInBhcmVudHMiLCJjbGljayIsImZpbGUiLCJmaWxlcyIsInVuZGVmaW5lZCIsInZhbCIsIm5hbWUiLCJyZXBsYWNlIiwiZmlsZVVSTCIsImNyZWF0ZU9iamVjdFVSTCIsInNuZFBsYXllciIsIlVwZGF0ZVNvdXJjZSIsIlBieEFwaSIsIkZpbGVzVXBsb2FkRmlsZSIsImNiVXBsb2FkUmVzdW1hYmxlIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNiT25EYXRhQ2hhbmdlZCIsInNlc3Npb25TdG9yYWdlIiwicmVtb3ZlSXRlbSIsImdsb2JhbFJvb3RVcmwiLCJhY3Rpb24iLCJwYXJhbXMiLCJyZXNwb25zZSIsInRyeVBhcnNlSlNPTiIsImRhdGEiLCJmaWxlbmFtZSIsImZpbGVOYW1lIiwiY2hlY2tTdGF0dXNGaWxlTWVyZ2luZyIsIlVzZXJNZXNzYWdlIiwic2hvd011bHRpU3RyaW5nIiwic2ZfVXBsb2FkRXJyb3IiLCJhZGRDbGFzcyIsInJlbW92ZUNsYXNzIiwianNvbiIsIkpTT04iLCJwYXJzZSIsImZpbGVJRCIsInVwbG9hZF9pZCIsImZpbGVQYXRoIiwibWVyZ2luZ0NoZWNrV29ya2VyIiwiY2JBZnRlckNvbnZlcnRGaWxlIiwicHVzaCIsImZvcm0iLCJ0cmlnZ2VyIiwiY2JCZWZvcmVTZW5kRm9ybSIsInNldHRpbmdzIiwicmVzdWx0IiwiY2JBZnRlclNlbmRGb3JtIiwiZm9yRWFjaCIsImZpbGVwYXRoIiwiRmlsZXNSZW1vdmVBdWRpb0ZpbGUiLCJldmVudCIsImRvY3VtZW50IiwiY3JlYXRlRXZlbnQiLCJpbml0RXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiY2F0ZWdvcnkiLCJGb3JtIiwidXJsIiwiYWZ0ZXJTdWJtaXRNb2RpZnlVcmwiLCJhZnRlclN1Ym1pdEluZGV4VXJsIiwicmVhZHkiXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUdBLElBQU1BLGVBQWUsR0FBRztBQUN2QkMsRUFBQUEsUUFBUSxFQUFFLEVBRGE7QUFFdkJDLEVBQUFBLGtCQUFrQixFQUFFQyxDQUFDLENBQUMsb0JBQUQsQ0FGRTtBQUd2QkMsRUFBQUEsZUFBZSxFQUFFRCxDQUFDLENBQUMsT0FBRCxDQUhLO0FBSXZCRSxFQUFBQSxjQUFjLEVBQUVGLENBQUMsQ0FBQyxPQUFELENBSk07QUFLdkJHLEVBQUFBLFlBQVksRUFBRUgsQ0FBQyxDQUFDLGVBQUQsQ0FMUTtBQU12QkksRUFBQUEsYUFBYSxFQUFFSixDQUFDLENBQUMsZUFBRCxDQU5PO0FBT3ZCSyxFQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsR0FBUCxJQUFjRCxNQUFNLENBQUNFLFNBUEo7QUFRdkJDLEVBQUFBLFFBQVEsRUFBRVQsQ0FBQyxDQUFDLGtCQUFELENBUlk7QUFTdkJVLEVBQUFBLFVBQVUsRUFBRVYsQ0FBQyxDQUFDLDRCQUFELENBVFU7QUFVdkJXLEVBQUFBLGFBQWEsRUFBRTtBQUNkQyxJQUFBQSxXQUFXLEVBQUU7QUFDWkMsTUFBQUEsVUFBVSxFQUFFLE1BREE7QUFFWkMsTUFBQUEsS0FBSyxFQUFFLENBQ047QUFDQ0MsUUFBQUEsSUFBSSxFQUFFLE9BRFA7QUFFQ0MsUUFBQUEsTUFBTSxFQUFFQyxlQUFlLENBQUNDO0FBRnpCLE9BRE07QUFGSyxLQURDO0FBVWRDLElBQUFBLElBQUksRUFBRTtBQUNMTixNQUFBQSxVQUFVLEVBQUUsTUFEUDtBQUVMQyxNQUFBQSxLQUFLLEVBQUUsQ0FDTjtBQUNDQyxRQUFBQSxJQUFJLEVBQUUsT0FEUDtBQUVDQyxRQUFBQSxNQUFNLEVBQUVDLGVBQWUsQ0FBQ0c7QUFGekIsT0FETTtBQUZGO0FBVlEsR0FWUTtBQThCdkJDLEVBQUFBLFVBOUJ1Qix3QkE4QlY7QUFDWnhCLElBQUFBLGVBQWUsQ0FBQ2EsVUFBaEIsQ0FBMkJZLFFBQTNCO0FBQ0F6QixJQUFBQSxlQUFlLENBQUMwQixjQUFoQjtBQUVBMUIsSUFBQUEsZUFBZSxDQUFDRSxrQkFBaEIsQ0FBbUN5QixFQUFuQyxDQUFzQyxPQUF0QyxFQUErQyxVQUFDQyxDQUFELEVBQU87QUFDckRBLE1BQUFBLENBQUMsQ0FBQ0MsY0FBRjtBQUNBMUIsTUFBQUEsQ0FBQyxDQUFDLFlBQUQsRUFBZUEsQ0FBQyxDQUFDeUIsQ0FBQyxDQUFDRSxNQUFILENBQUQsQ0FBWUMsT0FBWixFQUFmLENBQUQsQ0FBdUNDLEtBQXZDO0FBQ0EsS0FIRDtBQUtBaEMsSUFBQUEsZUFBZSxDQUFDSSxlQUFoQixDQUFnQ3VCLEVBQWhDLENBQW1DLFFBQW5DLEVBQTZDLFVBQUNDLENBQUQsRUFBTztBQUNuRCxVQUFNSyxJQUFJLEdBQUdMLENBQUMsQ0FBQ0UsTUFBRixDQUFTSSxLQUFULENBQWUsQ0FBZixDQUFiO0FBQ0EsVUFBSUQsSUFBSSxLQUFLRSxTQUFiLEVBQXdCO0FBQ3hCbkMsTUFBQUEsZUFBZSxDQUFDSyxjQUFoQixDQUErQitCLEdBQS9CLENBQW1DSCxJQUFJLENBQUNJLElBQUwsQ0FBVUMsT0FBVixDQUFrQixXQUFsQixFQUErQixFQUEvQixDQUFuQztBQUNBdEMsTUFBQUEsZUFBZSxDQUFDUSxJQUFoQixHQUF1QkMsTUFBTSxDQUFDQyxHQUFQLElBQWNELE1BQU0sQ0FBQ0UsU0FBNUM7QUFDQSxVQUFNNEIsT0FBTyxHQUFHdkMsZUFBZSxDQUFDUSxJQUFoQixDQUFxQmdDLGVBQXJCLENBQXFDUCxJQUFyQyxDQUFoQjtBQUNBUSxNQUFBQSxTQUFTLENBQUNDLFlBQVYsQ0FBdUJILE9BQXZCO0FBQ0FJLE1BQUFBLE1BQU0sQ0FBQ0MsZUFBUCxDQUF1QlgsSUFBdkIsRUFBNkJqQyxlQUFlLENBQUM2QyxpQkFBN0M7QUFFQSxLQVREO0FBVUFwQyxJQUFBQSxNQUFNLENBQUNxQyxnQkFBUCxDQUF3QixtQkFBeEIsRUFBNkM5QyxlQUFlLENBQUMrQyxlQUE3RDtBQUNBLEdBbERzQjs7QUFvRHZCO0FBQ0Q7QUFDQTtBQUNDQSxFQUFBQSxlQXZEdUIsNkJBdURMO0FBQ2pCQyxJQUFBQSxjQUFjLENBQUNDLFVBQWYsV0FBNkJDLGFBQTdCO0FBQ0FGLElBQUFBLGNBQWMsQ0FBQ0MsVUFBZixXQUE2QkMsYUFBN0I7QUFDQSxHQTFEc0I7O0FBNER2QjtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0NMLEVBQUFBLGlCQWpFdUIsNkJBaUVMTSxNQWpFSyxFQWlFR0MsTUFqRUgsRUFpRVU7QUFDaEMsWUFBUUQsTUFBUjtBQUNDLFdBQUssYUFBTDtBQUNDLFlBQU1FLFFBQVEsR0FBR1YsTUFBTSxDQUFDVyxZQUFQLENBQW9CRixNQUFNLENBQUNDLFFBQTNCLENBQWpCOztBQUNBLFlBQUlBLFFBQVEsS0FBSSxLQUFaLElBQXFCQSxRQUFRLENBQUNFLElBQVQsQ0FBY0MsUUFBZCxLQUF5QnJCLFNBQWxELEVBQTREO0FBQzNEbkMsVUFBQUEsZUFBZSxDQUFDSyxjQUFoQixDQUErQitCLEdBQS9CLENBQW1DZ0IsTUFBTSxDQUFDbkIsSUFBUCxDQUFZd0IsUUFBL0M7QUFDQXpELFVBQUFBLGVBQWUsQ0FBQzBELHNCQUFoQixDQUF1Q04sTUFBTSxDQUFDQyxRQUE5QztBQUNBLFNBSEQsTUFHTztBQUNOTSxVQUFBQSxXQUFXLENBQUNDLGVBQVosQ0FBNEJSLE1BQTVCLEVBQW9DaEMsZUFBZSxDQUFDeUMsY0FBcEQ7QUFDQTs7QUFFRDs7QUFDRCxXQUFLLGFBQUw7QUFDQzdELFFBQUFBLGVBQWUsQ0FBQ1ksUUFBaEIsQ0FBeUJrRCxRQUF6QixDQUFrQyxTQUFsQztBQUNBOztBQUNELFdBQUssT0FBTDtBQUNDOUQsUUFBQUEsZUFBZSxDQUFDTyxhQUFoQixDQUE4QndELFdBQTlCLENBQTBDLFNBQTFDO0FBQ0EvRCxRQUFBQSxlQUFlLENBQUNZLFFBQWhCLENBQXlCbUQsV0FBekIsQ0FBcUMsU0FBckM7QUFDQUosUUFBQUEsV0FBVyxDQUFDQyxlQUFaLENBQTRCUixNQUE1QixFQUFvQ2hDLGVBQWUsQ0FBQ3lDLGNBQXBEO0FBQ0E7O0FBQ0Q7QUFuQkQ7QUFxQkEsR0F2RnNCOztBQXdGdkI7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNDSCxFQUFBQSxzQkE3RnVCLGtDQTZGQUwsUUE3RkEsRUE2RlU7QUFDaEMsUUFBSUEsUUFBUSxLQUFLbEIsU0FBYixJQUEwQlEsTUFBTSxDQUFDVyxZQUFQLENBQW9CRCxRQUFwQixNQUFrQyxLQUFoRSxFQUF1RTtBQUN0RU0sTUFBQUEsV0FBVyxDQUFDQyxlQUFaLFdBQStCeEMsZUFBZSxDQUFDeUMsY0FBL0M7QUFDQTtBQUNBOztBQUNELFFBQU1HLElBQUksR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdiLFFBQVgsQ0FBYjs7QUFDQSxRQUFJVyxJQUFJLEtBQUs3QixTQUFULElBQXNCNkIsSUFBSSxDQUFDVCxJQUFMLEtBQWNwQixTQUF4QyxFQUFtRDtBQUNsRHdCLE1BQUFBLFdBQVcsQ0FBQ0MsZUFBWixXQUErQnhDLGVBQWUsQ0FBQ3lDLGNBQS9DO0FBQ0E7QUFDQTs7QUFDRCxRQUFNTSxNQUFNLEdBQUdILElBQUksQ0FBQ1QsSUFBTCxDQUFVYSxTQUF6QjtBQUNBLFFBQU1DLFFBQVEsR0FBR0wsSUFBSSxDQUFDVCxJQUFMLENBQVVDLFFBQTNCO0FBQ0FjLElBQUFBLGtCQUFrQixDQUFDOUMsVUFBbkIsQ0FBOEIyQyxNQUE5QixFQUFzQ0UsUUFBdEM7QUFDQSxHQTFHc0I7O0FBMkd2QjtBQUNEO0FBQ0E7QUFDQTtBQUNDRSxFQUFBQSxrQkEvR3VCLDhCQStHSmYsUUEvR0ksRUErR007QUFDNUIsUUFBSUEsUUFBUSxLQUFLLEtBQWpCLEVBQXVCO0FBQ3RCRyxNQUFBQSxXQUFXLENBQUNDLGVBQVosV0FBK0J4QyxlQUFlLENBQUN5QyxjQUEvQztBQUNBLEtBRkQsTUFFTztBQUNON0QsTUFBQUEsZUFBZSxDQUFDQyxRQUFoQixDQUF5QnVFLElBQXpCLENBQThCeEUsZUFBZSxDQUFDWSxRQUFoQixDQUF5QjZELElBQXpCLENBQThCLFdBQTlCLEVBQTJDLE1BQTNDLENBQTlCO0FBQ0F6RSxNQUFBQSxlQUFlLENBQUNZLFFBQWhCLENBQXlCNkQsSUFBekIsQ0FBOEIsV0FBOUIsRUFBMkMsTUFBM0MsRUFBbURqQixRQUFuRDtBQUNBeEQsTUFBQUEsZUFBZSxDQUFDSyxjQUFoQixDQUErQnFFLE9BQS9CLENBQXVDLFFBQXZDO0FBQ0FqQyxNQUFBQSxTQUFTLENBQUNDLFlBQVYsMENBQXlEYyxRQUF6RDtBQUNBeEQsTUFBQUEsZUFBZSxDQUFDTyxhQUFoQixDQUE4QndELFdBQTlCLENBQTBDLFNBQTFDO0FBQ0EvRCxNQUFBQSxlQUFlLENBQUNZLFFBQWhCLENBQXlCbUQsV0FBekIsQ0FBcUMsU0FBckM7QUFFQTtBQUNELEdBM0hzQjtBQTRIdkJZLEVBQUFBLGdCQTVIdUIsNEJBNEhOQyxRQTVITSxFQTRISTtBQUMxQixRQUFNQyxNQUFNLEdBQUdELFFBQWY7QUFDQUMsSUFBQUEsTUFBTSxDQUFDdEIsSUFBUCxHQUFjdkQsZUFBZSxDQUFDWSxRQUFoQixDQUF5QjZELElBQXpCLENBQThCLFlBQTlCLENBQWQ7QUFDQSxXQUFPSSxNQUFQO0FBQ0EsR0FoSXNCO0FBaUl2QkMsRUFBQUEsZUFqSXVCLDZCQWlJTDtBQUNqQjlFLElBQUFBLGVBQWUsQ0FBQ0MsUUFBaEIsQ0FBeUI4RSxPQUF6QixDQUFpQyxVQUFDQyxRQUFELEVBQWM7QUFDOUMsVUFBSUEsUUFBSixFQUFjckMsTUFBTSxDQUFDc0Msb0JBQVAsQ0FBNEJELFFBQTVCO0FBQ2QsS0FGRDtBQUdBLFFBQU1FLEtBQUssR0FBR0MsUUFBUSxDQUFDQyxXQUFULENBQXFCLE9BQXJCLENBQWQ7QUFDQUYsSUFBQUEsS0FBSyxDQUFDRyxTQUFOLENBQWdCLG1CQUFoQixFQUFxQyxLQUFyQyxFQUE0QyxJQUE1QztBQUNBNUUsSUFBQUEsTUFBTSxDQUFDNkUsYUFBUCxDQUFxQkosS0FBckI7QUFDQSxHQXhJc0I7QUF5SXZCeEQsRUFBQUEsY0F6SXVCLDRCQXlJTjtBQUNoQixRQUFNNkQsUUFBUSxHQUFHdkYsZUFBZSxDQUFDWSxRQUFoQixDQUF5QjZELElBQXpCLENBQThCLFdBQTlCLEVBQTJDLFVBQTNDLENBQWpCO0FBQ0FlLElBQUFBLElBQUksQ0FBQzVFLFFBQUwsR0FBZ0JaLGVBQWUsQ0FBQ1ksUUFBaEM7QUFDQTRFLElBQUFBLElBQUksQ0FBQ0MsR0FBTCxhQUFjdkMsYUFBZDtBQUNBc0MsSUFBQUEsSUFBSSxDQUFDMUUsYUFBTCxHQUFxQmQsZUFBZSxDQUFDYyxhQUFyQztBQUNBMEUsSUFBQUEsSUFBSSxDQUFDYixnQkFBTCxHQUF3QjNFLGVBQWUsQ0FBQzJFLGdCQUF4QztBQUNBYSxJQUFBQSxJQUFJLENBQUNWLGVBQUwsR0FBdUI5RSxlQUFlLENBQUM4RSxlQUF2QztBQUNBVSxJQUFBQSxJQUFJLENBQUNFLG9CQUFMLGFBQStCeEMsYUFBL0IsZ0NBQWtFcUMsUUFBbEU7QUFDQUMsSUFBQUEsSUFBSSxDQUFDRyxtQkFBTCxhQUE4QnpDLGFBQTlCLGlDQUFrRXFDLFFBQWxFO0FBQ0FDLElBQUFBLElBQUksQ0FBQ2hFLFVBQUw7QUFDQTtBQW5Kc0IsQ0FBeEI7QUF1SkFyQixDQUFDLENBQUNnRixRQUFELENBQUQsQ0FBWVMsS0FBWixDQUFrQixZQUFNO0FBQ3ZCNUYsRUFBQUEsZUFBZSxDQUFDd0IsVUFBaEI7QUFDQSxDQUZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIE1pa29QQlggLSBmcmVlIHBob25lIHN5c3RlbSBmb3Igc21hbGwgYnVzaW5lc3NcbiAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFsZXhleSBQb3J0bm92IGFuZCBOaWtvbGF5IEJla2V0b3ZcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uXG4gKiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbi8qIGdsb2JhbCBnbG9iYWxSb290VXJsLCBnbG9iYWxUcmFuc2xhdGUsIEZvcm0sIFBieEFwaSwgc25kUGxheWVyLCBtZXJnaW5nQ2hlY2tXb3JrZXIgKi9cblxuXG5jb25zdCBzb3VuZEZpbGVNb2RpZnkgPSB7XG5cdHRyYXNoQmluOiBbXSxcblx0JHNvdW5kVXBsb2FkQnV0dG9uOiAkKCcjdXBsb2FkLXNvdW5kLWZpbGUnKSxcblx0JHNvdW5kRmlsZUlucHV0OiAkKCcjZmlsZScpLFxuXHQkc291bmRGaWxlTmFtZTogJCgnI25hbWUnKSxcblx0JGF1ZGlvUGxheWVyOiAkKCcjYXVkaW8tcGxheWVyJyksXG5cdCRzdWJtaXRCdXR0b246ICQoJyNzdWJtaXRidXR0b24nKSxcblx0YmxvYjogd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMLFxuXHQkZm9ybU9iajogJCgnI3NvdW5kLWZpbGUtZm9ybScpLFxuXHQkZHJvcERvd25zOiAkKCcjc291bmQtZmlsZS1mb3JtIC5kcm9wZG93bicpLFxuXHR2YWxpZGF0ZVJ1bGVzOiB7XG5cdFx0ZGVzY3JpcHRpb246IHtcblx0XHRcdGlkZW50aWZpZXI6ICduYW1lJyxcblx0XHRcdHJ1bGVzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0eXBlOiAnZW1wdHknLFxuXHRcdFx0XHRcdHByb21wdDogZ2xvYmFsVHJhbnNsYXRlLnNmX1ZhbGlkYXRpb25GaWxlTmFtZUlzRW1wdHksXG5cdFx0XHRcdH0sXG5cdFx0XHRdLFxuXHRcdH0sXG5cdFx0cGF0aDoge1xuXHRcdFx0aWRlbnRpZmllcjogJ3BhdGgnLFxuXHRcdFx0cnVsZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHR5cGU6ICdlbXB0eScsXG5cdFx0XHRcdFx0cHJvbXB0OiBnbG9iYWxUcmFuc2xhdGUuc2ZfVmFsaWRhdGlvbkZpbGVOb3RTZWxlY3RlZCxcblx0XHRcdFx0fSxcblx0XHRcdF0sXG5cdFx0fSxcblx0fSxcblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRzb3VuZEZpbGVNb2RpZnkuJGRyb3BEb3ducy5kcm9wZG93bigpO1xuXHRcdHNvdW5kRmlsZU1vZGlmeS5pbml0aWFsaXplRm9ybSgpO1xuXG5cdFx0c291bmRGaWxlTW9kaWZ5LiRzb3VuZFVwbG9hZEJ1dHRvbi5vbignY2xpY2snLCAoZSkgPT4ge1xuXHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0JCgnaW5wdXQ6ZmlsZScsICQoZS50YXJnZXQpLnBhcmVudHMoKSkuY2xpY2soKTtcblx0XHR9KTtcblxuXHRcdHNvdW5kRmlsZU1vZGlmeS4kc291bmRGaWxlSW5wdXQub24oJ2NoYW5nZScsIChlKSA9PiB7XG5cdFx0XHRjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbMF07XG5cdFx0XHRpZiAoZmlsZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cdFx0XHRzb3VuZEZpbGVNb2RpZnkuJHNvdW5kRmlsZU5hbWUudmFsKGZpbGUubmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpKTtcblx0XHRcdHNvdW5kRmlsZU1vZGlmeS5ibG9iID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xuXHRcdFx0Y29uc3QgZmlsZVVSTCA9IHNvdW5kRmlsZU1vZGlmeS5ibG9iLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcblx0XHRcdHNuZFBsYXllci5VcGRhdGVTb3VyY2UoZmlsZVVSTCk7XG5cdFx0XHRQYnhBcGkuRmlsZXNVcGxvYWRGaWxlKGZpbGUsIHNvdW5kRmlsZU1vZGlmeS5jYlVwbG9hZFJlc3VtYWJsZSk7XG5cblx0XHR9KTtcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignQ29uZmlnRGF0YUNoYW5nZWQnLCBzb3VuZEZpbGVNb2RpZnkuY2JPbkRhdGFDaGFuZ2VkKTtcblx0fSxcblxuXHQvKipcblx0ICogV2Ugd2lsbCBkcm9wIGFsbCBjYWNoZXMgaWYgZGF0YSBjaGFuZ2VzXG5cdCAqL1xuXHRjYk9uRGF0YUNoYW5nZWQoKSB7XG5cdFx0c2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL2dldFNvdW5kRmlsZXMvY3VzdG9tYCk7XG5cdFx0c2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL2dldFNvdW5kRmlsZXMvbW9oYCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIGZpbGUgdXBsb2FkIHdpdGggY2h1bmtzIGFuZCBtZXJnZVxuXHQgKiBAcGFyYW0gYWN0aW9uXG5cdCAqIEBwYXJhbSBwYXJhbXNcblx0ICovXG5cdGNiVXBsb2FkUmVzdW1hYmxlKGFjdGlvbiwgcGFyYW1zKXtcblx0XHRzd2l0Y2ggKGFjdGlvbikge1xuXHRcdFx0Y2FzZSAnZmlsZVN1Y2Nlc3MnOlxuXHRcdFx0XHRjb25zdCByZXNwb25zZSA9IFBieEFwaS50cnlQYXJzZUpTT04ocGFyYW1zLnJlc3BvbnNlKTtcblx0XHRcdFx0aWYgKHJlc3BvbnNlICE9PWZhbHNlICYmIHJlc3BvbnNlLmRhdGEuZmlsZW5hbWUhPT11bmRlZmluZWQpe1xuXHRcdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kc291bmRGaWxlTmFtZS52YWwocGFyYW1zLmZpbGUuZmlsZU5hbWUpO1xuXHRcdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS5jaGVja1N0YXR1c0ZpbGVNZXJnaW5nKHBhcmFtcy5yZXNwb25zZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0VXNlck1lc3NhZ2Uuc2hvd011bHRpU3RyaW5nKHBhcmFtcywgZ2xvYmFsVHJhbnNsYXRlLnNmX1VwbG9hZEVycm9yKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAndXBsb2FkU3RhcnQnOlxuXHRcdFx0XHRzb3VuZEZpbGVNb2RpZnkuJGZvcm1PYmouYWRkQ2xhc3MoJ2xvYWRpbmcnKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdlcnJvcic6XG5cdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kc3VibWl0QnV0dG9uLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kZm9ybU9iai5yZW1vdmVDbGFzcygnbG9hZGluZycpO1xuXHRcdFx0XHRVc2VyTWVzc2FnZS5zaG93TXVsdGlTdHJpbmcocGFyYW1zLCBnbG9iYWxUcmFuc2xhdGUuc2ZfVXBsb2FkRXJyb3IpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0fVxuXHR9LFxuXHQvKipcblx0ICogV2FpdCBmb3IgZmlsZSByZWFkeSB0byB1c2Vcblx0ICpcblx0ICogQHBhcmFtIHJlc3BvbnNlINC+0YLQstC10YIg0YTRg9C90LrRhtC40LggL3BieGNvcmUvYXBpL3VwbG9hZC9zdGF0dXNcblx0ICovXG5cdGNoZWNrU3RhdHVzRmlsZU1lcmdpbmcocmVzcG9uc2UpIHtcblx0XHRpZiAocmVzcG9uc2UgPT09IHVuZGVmaW5lZCB8fCBQYnhBcGkudHJ5UGFyc2VKU09OKHJlc3BvbnNlKSA9PT0gZmFsc2UpIHtcblx0XHRcdFVzZXJNZXNzYWdlLnNob3dNdWx0aVN0cmluZyhgJHtnbG9iYWxUcmFuc2xhdGUuc2ZfVXBsb2FkRXJyb3J9YCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlKTtcblx0XHRpZiAoanNvbiA9PT0gdW5kZWZpbmVkIHx8IGpzb24uZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRVc2VyTWVzc2FnZS5zaG93TXVsdGlTdHJpbmcoYCR7Z2xvYmFsVHJhbnNsYXRlLnNmX1VwbG9hZEVycm9yfWApO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBmaWxlSUQgPSBqc29uLmRhdGEudXBsb2FkX2lkO1xuXHRcdGNvbnN0IGZpbGVQYXRoID0ganNvbi5kYXRhLmZpbGVuYW1lO1xuXHRcdG1lcmdpbmdDaGVja1dvcmtlci5pbml0aWFsaXplKGZpbGVJRCwgZmlsZVBhdGgpO1xuXHR9LFxuXHQvKipcblx0ICogQWZ0ZXIgZmlsZSBjb252ZXJ0ZWQgdG8gTVAzIGZvcm1hdFxuXHQgKiBAcGFyYW0gZmlsZW5hbWVcblx0ICovXG5cdGNiQWZ0ZXJDb252ZXJ0RmlsZShmaWxlbmFtZSkge1xuXHRcdGlmIChmaWxlbmFtZSA9PT0gZmFsc2Upe1xuXHRcdFx0VXNlck1lc3NhZ2Uuc2hvd011bHRpU3RyaW5nKGAke2dsb2JhbFRyYW5zbGF0ZS5zZl9VcGxvYWRFcnJvcn1gKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LnRyYXNoQmluLnB1c2goc291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ2dldCB2YWx1ZScsICdwYXRoJykpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ3NldCB2YWx1ZScsICdwYXRoJywgZmlsZW5hbWUpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRzb3VuZEZpbGVOYW1lLnRyaWdnZXIoJ2NoYW5nZScpO1xuXHRcdFx0c25kUGxheWVyLlVwZGF0ZVNvdXJjZShgL3BieGNvcmUvYXBpL2Nkci9wbGF5YmFjaz92aWV3PSR7ZmlsZW5hbWV9YCk7XG5cdFx0XHRzb3VuZEZpbGVNb2RpZnkuJHN1Ym1pdEJ1dHRvbi5yZW1vdmVDbGFzcygnbG9hZGluZycpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cblx0XHR9XG5cdH0sXG5cdGNiQmVmb3JlU2VuZEZvcm0oc2V0dGluZ3MpIHtcblx0XHRjb25zdCByZXN1bHQgPSBzZXR0aW5ncztcblx0XHRyZXN1bHQuZGF0YSA9IHNvdW5kRmlsZU1vZGlmeS4kZm9ybU9iai5mb3JtKCdnZXQgdmFsdWVzJyk7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblx0Y2JBZnRlclNlbmRGb3JtKCkge1xuXHRcdHNvdW5kRmlsZU1vZGlmeS50cmFzaEJpbi5mb3JFYWNoKChmaWxlcGF0aCkgPT4ge1xuXHRcdFx0aWYgKGZpbGVwYXRoKSBQYnhBcGkuRmlsZXNSZW1vdmVBdWRpb0ZpbGUoZmlsZXBhdGgpO1xuXHRcdH0pO1xuXHRcdGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG5cdFx0ZXZlbnQuaW5pdEV2ZW50KCdDb25maWdEYXRhQ2hhbmdlZCcsIGZhbHNlLCB0cnVlKTtcblx0XHR3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cdH0sXG5cdGluaXRpYWxpemVGb3JtKCkge1xuXHRcdGNvbnN0IGNhdGVnb3J5ID0gc291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ2dldCB2YWx1ZScsICdjYXRlZ29yeScpO1xuXHRcdEZvcm0uJGZvcm1PYmogPSBzb3VuZEZpbGVNb2RpZnkuJGZvcm1PYmo7XG5cdFx0Rm9ybS51cmwgPSBgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL3NhdmVgO1xuXHRcdEZvcm0udmFsaWRhdGVSdWxlcyA9IHNvdW5kRmlsZU1vZGlmeS52YWxpZGF0ZVJ1bGVzO1xuXHRcdEZvcm0uY2JCZWZvcmVTZW5kRm9ybSA9IHNvdW5kRmlsZU1vZGlmeS5jYkJlZm9yZVNlbmRGb3JtO1xuXHRcdEZvcm0uY2JBZnRlclNlbmRGb3JtID0gc291bmRGaWxlTW9kaWZ5LmNiQWZ0ZXJTZW5kRm9ybTtcblx0XHRGb3JtLmFmdGVyU3VibWl0TW9kaWZ5VXJsID0gYCR7Z2xvYmFsUm9vdFVybH1zb3VuZC1maWxlcy9tb2RpZnkvJHtjYXRlZ29yeX1gO1xuXHRcdEZvcm0uYWZ0ZXJTdWJtaXRJbmRleFVybCA9IGAke2dsb2JhbFJvb3RVcmx9c291bmQtZmlsZXMvaW5kZXgvIy8ke2NhdGVnb3J5fWA7XG5cdFx0Rm9ybS5pbml0aWFsaXplKCk7XG5cdH0sXG59O1xuXG5cbiQoZG9jdW1lbnQpLnJlYWR5KCgpID0+IHtcblx0c291bmRGaWxlTW9kaWZ5LmluaXRpYWxpemUoKTtcbn0pO1xuIl19
\ No newline at end of file
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Tb3VuZEZpbGVzL3NvdW5kLWZpbGUtbW9kaWZ5LmpzIl0sIm5hbWVzIjpbInNvdW5kRmlsZU1vZGlmeSIsInRyYXNoQmluIiwiJHNvdW5kVXBsb2FkQnV0dG9uIiwiJCIsIiRzb3VuZEZpbGVJbnB1dCIsIiRzb3VuZEZpbGVOYW1lIiwiJGF1ZGlvUGxheWVyIiwiJHN1Ym1pdEJ1dHRvbiIsImJsb2IiLCJ3aW5kb3ciLCJVUkwiLCJ3ZWJraXRVUkwiLCIkZm9ybU9iaiIsIiRkcm9wRG93bnMiLCJ2YWxpZGF0ZVJ1bGVzIiwiZGVzY3JpcHRpb24iLCJpZGVudGlmaWVyIiwicnVsZXMiLCJ0eXBlIiwicHJvbXB0IiwiZ2xvYmFsVHJhbnNsYXRlIiwic2ZfVmFsaWRhdGlvbkZpbGVOYW1lSXNFbXB0eSIsInBhdGgiLCJzZl9WYWxpZGF0aW9uRmlsZU5vdFNlbGVjdGVkIiwiaW5pdGlhbGl6ZSIsImRyb3Bkb3duIiwiaW5pdGlhbGl6ZUZvcm0iLCJvbiIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInRhcmdldCIsInBhcmVudHMiLCJjbGljayIsImZpbGUiLCJmaWxlcyIsInVuZGVmaW5lZCIsInZhbCIsIm5hbWUiLCJyZXBsYWNlIiwiZmlsZVVSTCIsImNyZWF0ZU9iamVjdFVSTCIsInNuZFBsYXllciIsIlVwZGF0ZVNvdXJjZSIsIlBieEFwaSIsIkZpbGVzVXBsb2FkRmlsZSIsImNiVXBsb2FkUmVzdW1hYmxlIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNiT25EYXRhQ2hhbmdlZCIsInNlc3Npb25TdG9yYWdlIiwicmVtb3ZlSXRlbSIsImdsb2JhbFJvb3RVcmwiLCJhY3Rpb24iLCJwYXJhbXMiLCJyZXNwb25zZSIsInRyeVBhcnNlSlNPTiIsImRhdGEiLCJmaWxlbmFtZSIsImZpbGVOYW1lIiwiY2hlY2tTdGF0dXNGaWxlTWVyZ2luZyIsIlVzZXJNZXNzYWdlIiwic2hvd011bHRpU3RyaW5nIiwic2ZfVXBsb2FkRXJyb3IiLCJhZGRDbGFzcyIsInJlbW92ZUNsYXNzIiwianNvbiIsIkpTT04iLCJwYXJzZSIsImZpbGVJRCIsInVwbG9hZF9pZCIsImZpbGVQYXRoIiwibWVyZ2luZ0NoZWNrV29ya2VyIiwiY2JBZnRlckNvbnZlcnRGaWxlIiwicHVzaCIsImZvcm0iLCJ0cmlnZ2VyIiwiY2JCZWZvcmVTZW5kRm9ybSIsInNldHRpbmdzIiwicmVzdWx0IiwiY2JBZnRlclNlbmRGb3JtIiwiZm9yRWFjaCIsImZpbGVwYXRoIiwiRmlsZXNSZW1vdmVBdWRpb0ZpbGUiLCJldmVudCIsImRvY3VtZW50IiwiY3JlYXRlRXZlbnQiLCJpbml0RXZlbnQiLCJkaXNwYXRjaEV2ZW50IiwiY2F0ZWdvcnkiLCJGb3JtIiwidXJsIiwiYWZ0ZXJTdWJtaXRNb2RpZnlVcmwiLCJhZnRlclN1Ym1pdEluZGV4VXJsIiwicmVhZHkiXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUdBLElBQU1BLGVBQWUsR0FBRztBQUN2QkMsRUFBQUEsUUFBUSxFQUFFLEVBRGE7QUFFdkJDLEVBQUFBLGtCQUFrQixFQUFFQyxDQUFDLENBQUMsb0JBQUQsQ0FGRTtBQUd2QkMsRUFBQUEsZUFBZSxFQUFFRCxDQUFDLENBQUMsT0FBRCxDQUhLO0FBSXZCRSxFQUFBQSxjQUFjLEVBQUVGLENBQUMsQ0FBQyxPQUFELENBSk07QUFLdkJHLEVBQUFBLFlBQVksRUFBRUgsQ0FBQyxDQUFDLGVBQUQsQ0FMUTtBQU12QkksRUFBQUEsYUFBYSxFQUFFSixDQUFDLENBQUMsZUFBRCxDQU5PO0FBT3ZCSyxFQUFBQSxJQUFJLEVBQUVDLE1BQU0sQ0FBQ0MsR0FBUCxJQUFjRCxNQUFNLENBQUNFLFNBUEo7QUFRdkJDLEVBQUFBLFFBQVEsRUFBRVQsQ0FBQyxDQUFDLGtCQUFELENBUlk7QUFTdkJVLEVBQUFBLFVBQVUsRUFBRVYsQ0FBQyxDQUFDLDRCQUFELENBVFU7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WixDQUFrQixZQUFNO0FBQ3ZCNUYsRUFBQUEsZUFBZSxDQUFDd0IsVUFBaEI7QUFDQSxDQUZEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIE1pa29QQlggLSBmcmVlIHBob25lIHN5c3RlbSBmb3Igc21hbGwgYnVzaW5lc3NcbiAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFsZXhleSBQb3J0bm92IGFuZCBOaWtvbGF5IEJla2V0b3ZcbiAqXG4gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uXG4gKiBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbi8qIGdsb2JhbCBnbG9iYWxSb290VXJsLCBnbG9iYWxUcmFuc2xhdGUsIEZvcm0sIFBieEFwaSwgc25kUGxheWVyLCBtZXJnaW5nQ2hlY2tXb3JrZXIgKi9cblxuXG5jb25zdCBzb3VuZEZpbGVNb2RpZnkgPSB7XG5cdHRyYXNoQmluOiBbXSxcblx0JHNvdW5kVXBsb2FkQnV0dG9uOiAkKCcjdXBsb2FkLXNvdW5kLWZpbGUnKSxcblx0JHNvdW5kRmlsZUlucHV0OiAkKCcjZmlsZScpLFxuXHQkc291bmRGaWxlTmFtZTogJCgnI25hbWUnKSxcblx0JGF1ZGlvUGxheWVyOiAkKCcjYXVkaW8tcGxheWVyJyksXG5cdCRzdWJtaXRCdXR0b246ICQoJyNzdWJtaXRidXR0b24nKSxcblx0YmxvYjogd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMLFxuXHQkZm9ybU9iajogJCgnI3NvdW5kLWZpbGUtZm9ybScpLFxuXHQkZHJvcERvd25zOiAkKCcjc291bmQtZmlsZS1mb3JtIC5kcm9wZG93bicpLFxuXHR2YWxpZGF0ZVJ1bGVzOiB7XG5cdFx0ZGVzY3JpcHRpb246IHtcblx0XHRcdGlkZW50aWZpZXI6ICduYW1lJyxcblx0XHRcdHJ1bGVzOiBbXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0eXBlOiAnZW1wdHknLFxuXHRcdFx0XHRcdHByb21wdDogZ2xvYmFsVHJhbnNsYXRlLnNmX1ZhbGlkYXRpb25GaWxlTmFtZUlzRW1wdHksXG5cdFx0XHRcdH0sXG5cdFx0XHRdLFxuXHRcdH0sXG5cdFx0cGF0aDoge1xuXHRcdFx0aWRlbnRpZmllcjogJ3BhdGgnLFxuXHRcdFx0cnVsZXM6IFtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHR5cGU6ICdlbXB0eScsXG5cdFx0XHRcdFx0cHJvbXB0OiBnbG9iYWxUcmFuc2xhdGUuc2ZfVmFsaWRhdGlvbkZpbGVOb3RTZWxlY3RlZCxcblx0XHRcdFx0fSxcblx0XHRcdF0sXG5cdFx0fSxcblx0fSxcblx0aW5pdGlhbGl6ZSgpIHtcblx0XHRzb3VuZEZpbGVNb2RpZnkuJGRyb3BEb3ducy5kcm9wZG93bigpO1xuXHRcdHNvdW5kRmlsZU1vZGlmeS5pbml0aWFsaXplRm9ybSgpO1xuXG5cdFx0c291bmRGaWxlTW9kaWZ5LiRzb3VuZFVwbG9hZEJ1dHRvbi5vbignY2xpY2snLCAoZSkgPT4ge1xuXHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0JCgnaW5wdXQ6ZmlsZScsICQoZS50YXJnZXQpLnBhcmVudHMoKSkuY2xpY2soKTtcblx0XHR9KTtcblxuXHRcdHNvdW5kRmlsZU1vZGlmeS4kc291bmRGaWxlSW5wdXQub24oJ2NoYW5nZScsIChlKSA9PiB7XG5cdFx0XHRjb25zdCBmaWxlID0gZS50YXJnZXQuZmlsZXNbMF07XG5cdFx0XHRpZiAoZmlsZSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cdFx0XHRzb3VuZEZpbGVNb2RpZnkuJHNvdW5kRmlsZU5hbWUudmFsKGZpbGUubmFtZS5yZXBsYWNlKC9cXC5bXi8uXSskLywgJycpKTtcblx0XHRcdHNvdW5kRmlsZU1vZGlmeS5ibG9iID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xuXHRcdFx0Y29uc3QgZmlsZVVSTCA9IHNvdW5kRmlsZU1vZGlmeS5ibG9iLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcblx0XHRcdHNuZFBsYXllci5VcGRhdGVTb3VyY2UoZmlsZVVSTCk7XG5cdFx0XHRQYnhBcGkuRmlsZXNVcGxvYWRGaWxlKGZpbGUsIHNvdW5kRmlsZU1vZGlmeS5jYlVwbG9hZFJlc3VtYWJsZSk7XG5cblx0XHR9KTtcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignQ29uZmlnRGF0YUNoYW5nZWQnLCBzb3VuZEZpbGVNb2RpZnkuY2JPbkRhdGFDaGFuZ2VkKTtcblx0fSxcblxuXHQvKipcblx0ICogV2Ugd2lsbCBkcm9wIGFsbCBjYWNoZXMgaWYgZGF0YSBjaGFuZ2VzXG5cdCAqL1xuXHRjYk9uRGF0YUNoYW5nZWQoKSB7XG5cdFx0c2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL2dldFNvdW5kRmlsZXMvY3VzdG9tYCk7XG5cdFx0c2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL2dldFNvdW5kRmlsZXMvbW9oYCk7XG5cdH0sXG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIGZpbGUgdXBsb2FkIHdpdGggY2h1bmtzIGFuZCBtZXJnZVxuXHQgKiBAcGFyYW0gYWN0aW9uXG5cdCAqIEBwYXJhbSBwYXJhbXNcblx0ICovXG5cdGNiVXBsb2FkUmVzdW1hYmxlKGFjdGlvbiwgcGFyYW1zKXtcblx0XHRzd2l0Y2ggKGFjdGlvbikge1xuXHRcdFx0Y2FzZSAnZmlsZVN1Y2Nlc3MnOlxuXHRcdFx0XHRjb25zdCByZXNwb25zZSA9IFBieEFwaS50cnlQYXJzZUpTT04ocGFyYW1zLnJlc3BvbnNlKTtcblx0XHRcdFx0aWYgKHJlc3BvbnNlICE9PWZhbHNlICYmIHJlc3BvbnNlLmRhdGEuZmlsZW5hbWUhPT11bmRlZmluZWQpe1xuXHRcdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kc291bmRGaWxlTmFtZS52YWwocGFyYW1zLmZpbGUuZmlsZU5hbWUpO1xuXHRcdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS5jaGVja1N0YXR1c0ZpbGVNZXJnaW5nKHBhcmFtcy5yZXNwb25zZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0VXNlck1lc3NhZ2Uuc2hvd011bHRpU3RyaW5nKHBhcmFtcywgZ2xvYmFsVHJhbnNsYXRlLnNmX1VwbG9hZEVycm9yKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0Y2FzZSAndXBsb2FkU3RhcnQnOlxuXHRcdFx0XHRzb3VuZEZpbGVNb2RpZnkuJGZvcm1PYmouYWRkQ2xhc3MoJ2xvYWRpbmcnKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdlcnJvcic6XG5cdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kc3VibWl0QnV0dG9uLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cdFx0XHRcdHNvdW5kRmlsZU1vZGlmeS4kZm9ybU9iai5yZW1vdmVDbGFzcygnbG9hZGluZycpO1xuXHRcdFx0XHRVc2VyTWVzc2FnZS5zaG93TXVsdGlTdHJpbmcocGFyYW1zLCBnbG9iYWxUcmFuc2xhdGUuc2ZfVXBsb2FkRXJyb3IpO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdGRlZmF1bHQ6XG5cdFx0fVxuXHR9LFxuXHQvKipcblx0ICogV2FpdCBmb3IgZmlsZSByZWFkeSB0byB1c2Vcblx0ICpcblx0ICogQHBhcmFtIHJlc3BvbnNlINC+0YLQstC10YIg0YTRg9C90LrRhtC40LggL3BieGNvcmUvYXBpL3VwbG9hZC9zdGF0dXNcblx0ICovXG5cdGNoZWNrU3RhdHVzRmlsZU1lcmdpbmcocmVzcG9uc2UpIHtcblx0XHRpZiAocmVzcG9uc2UgPT09IHVuZGVmaW5lZCB8fCBQYnhBcGkudHJ5UGFyc2VKU09OKHJlc3BvbnNlKSA9PT0gZmFsc2UpIHtcblx0XHRcdFVzZXJNZXNzYWdlLnNob3dNdWx0aVN0cmluZyhgJHtnbG9iYWxUcmFuc2xhdGUuc2ZfVXBsb2FkRXJyb3J9YCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlKTtcblx0XHRpZiAoanNvbiA9PT0gdW5kZWZpbmVkIHx8IGpzb24uZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRVc2VyTWVzc2FnZS5zaG93TXVsdGlTdHJpbmcoYCR7Z2xvYmFsVHJhbnNsYXRlLnNmX1VwbG9hZEVycm9yfWApO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBmaWxlSUQgPSBqc29uLmRhdGEudXBsb2FkX2lkO1xuXHRcdGNvbnN0IGZpbGVQYXRoID0ganNvbi5kYXRhLmZpbGVuYW1lO1xuXHRcdG1lcmdpbmdDaGVja1dvcmtlci5pbml0aWFsaXplKGZpbGVJRCwgZmlsZVBhdGgpO1xuXHR9LFxuXHQvKipcblx0ICogQWZ0ZXIgZmlsZSBjb252ZXJ0ZWQgdG8gTVAzIGZvcm1hdFxuXHQgKiBAcGFyYW0gZmlsZW5hbWVcblx0ICovXG5cdGNiQWZ0ZXJDb252ZXJ0RmlsZShmaWxlbmFtZSkge1xuXHRcdGlmIChmaWxlbmFtZSA9PT0gZmFsc2Upe1xuXHRcdFx0VXNlck1lc3NhZ2Uuc2hvd011bHRpU3RyaW5nKGAke2dsb2JhbFRyYW5zbGF0ZS5zZl9VcGxvYWRFcnJvcn1gKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LnRyYXNoQmluLnB1c2goc291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ2dldCB2YWx1ZScsICdwYXRoJykpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ3NldCB2YWx1ZScsICdwYXRoJywgZmlsZW5hbWUpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRzb3VuZEZpbGVOYW1lLnRyaWdnZXIoJ2NoYW5nZScpO1xuXHRcdFx0c25kUGxheWVyLlVwZGF0ZVNvdXJjZShgL3BieGNvcmUvYXBpL2Nkci92Mi9wbGF5YmFjaz92aWV3PSR7ZmlsZW5hbWV9YCk7XG5cdFx0XHRzb3VuZEZpbGVNb2RpZnkuJHN1Ym1pdEJ1dHRvbi5yZW1vdmVDbGFzcygnbG9hZGluZycpO1xuXHRcdFx0c291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLnJlbW92ZUNsYXNzKCdsb2FkaW5nJyk7XG5cblx0XHR9XG5cdH0sXG5cdGNiQmVmb3JlU2VuZEZvcm0oc2V0dGluZ3MpIHtcblx0XHRjb25zdCByZXN1bHQgPSBzZXR0aW5ncztcblx0XHRyZXN1bHQuZGF0YSA9IHNvdW5kRmlsZU1vZGlmeS4kZm9ybU9iai5mb3JtKCdnZXQgdmFsdWVzJyk7XG5cdFx0cmV0dXJuIHJlc3VsdDtcblx0fSxcblx0Y2JBZnRlclNlbmRGb3JtKCkge1xuXHRcdHNvdW5kRmlsZU1vZGlmeS50cmFzaEJpbi5mb3JFYWNoKChmaWxlcGF0aCkgPT4ge1xuXHRcdFx0aWYgKGZpbGVwYXRoKSBQYnhBcGkuRmlsZXNSZW1vdmVBdWRpb0ZpbGUoZmlsZXBhdGgpO1xuXHRcdH0pO1xuXHRcdGNvbnN0IGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0V2ZW50Jyk7XG5cdFx0ZXZlbnQuaW5pdEV2ZW50KCdDb25maWdEYXRhQ2hhbmdlZCcsIGZhbHNlLCB0cnVlKTtcblx0XHR3aW5kb3cuZGlzcGF0Y2hFdmVudChldmVudCk7XG5cdH0sXG5cdGluaXRpYWxpemVGb3JtKCkge1xuXHRcdGNvbnN0IGNhdGVnb3J5ID0gc291bmRGaWxlTW9kaWZ5LiRmb3JtT2JqLmZvcm0oJ2dldCB2YWx1ZScsICdjYXRlZ29yeScpO1xuXHRcdEZvcm0uJGZvcm1PYmogPSBzb3VuZEZpbGVNb2RpZnkuJGZvcm1PYmo7XG5cdFx0Rm9ybS51cmwgPSBgJHtnbG9iYWxSb290VXJsfXNvdW5kLWZpbGVzL3NhdmVgO1xuXHRcdEZvcm0udmFsaWRhdGVSdWxlcyA9IHNvdW5kRmlsZU1vZGlmeS52YWxpZGF0ZVJ1bGVzO1xuXHRcdEZvcm0uY2JCZWZvcmVTZW5kRm9ybSA9IHNvdW5kRmlsZU1vZGlmeS5jYkJlZm9yZVNlbmRGb3JtO1xuXHRcdEZvcm0uY2JBZnRlclNlbmRGb3JtID0gc291bmRGaWxlTW9kaWZ5LmNiQWZ0ZXJTZW5kRm9ybTtcblx0XHRGb3JtLmFmdGVyU3VibWl0TW9kaWZ5VXJsID0gYCR7Z2xvYmFsUm9vdFVybH1zb3VuZC1maWxlcy9tb2RpZnkvJHtjYXRlZ29yeX1gO1xuXHRcdEZvcm0uYWZ0ZXJTdWJtaXRJbmRleFVybCA9IGAke2dsb2JhbFJvb3RVcmx9c291bmQtZmlsZXMvaW5kZXgvIy8ke2NhdGVnb3J5fWA7XG5cdFx0Rm9ybS5pbml0aWFsaXplKCk7XG5cdH0sXG59O1xuXG5cbiQoZG9jdW1lbnQpLnJlYWR5KCgpID0+IHtcblx0c291bmRGaWxlTW9kaWZ5LmluaXRpYWxpemUoKTtcbn0pO1xuIl19
\ No newline at end of file
diff --git a/sites/admin-cabinet/assets/js/src/CallDetailRecords/call-detail-records-index.js b/sites/admin-cabinet/assets/js/src/CallDetailRecords/call-detail-records-index.js
index 630683e9c..c3c10f01e 100644
--- a/sites/admin-cabinet/assets/js/src/CallDetailRecords/call-detail-records-index.js
+++ b/sites/admin-cabinet/assets/js/src/CallDetailRecords/call-detail-records-index.js
@@ -317,14 +317,14 @@ const callDetailRecords = {
|
-
+
|
|
|
-
+
|
${record.src_num} |
|
diff --git a/sites/admin-cabinet/assets/js/src/SoundFiles/one-button-sound-player.js b/sites/admin-cabinet/assets/js/src/SoundFiles/one-button-sound-player.js
index 839066c40..ae1239f73 100644
--- a/sites/admin-cabinet/assets/js/src/SoundFiles/one-button-sound-player.js
+++ b/sites/admin-cabinet/assets/js/src/SoundFiles/one-button-sound-player.js
@@ -69,7 +69,7 @@ class sndPlayerOneBtn {
onSuccess(response) {
if (response.message !== undefined) {
_this.html5Audio.getElementsByTagName('source')[0].src
- = `/pbxcore/api/cdr/playback?view=${response.message}`;
+ = `/pbxcore/api/cdr/v2/playback?view=${response.message}`;
_this.html5Audio.pause();
_this.html5Audio.load();
_this.html5Audio.oncanplaythrough = this.cbCanPlayThrough;
diff --git a/sites/admin-cabinet/assets/js/src/SoundFiles/sound-file-modify.js b/sites/admin-cabinet/assets/js/src/SoundFiles/sound-file-modify.js
index d0acff2f0..3436c3e73 100644
--- a/sites/admin-cabinet/assets/js/src/SoundFiles/sound-file-modify.js
+++ b/sites/admin-cabinet/assets/js/src/SoundFiles/sound-file-modify.js
@@ -137,7 +137,7 @@ const soundFileModify = {
soundFileModify.trashBin.push(soundFileModify.$formObj.form('get value', 'path'));
soundFileModify.$formObj.form('set value', 'path', filename);
soundFileModify.$soundFileName.trigger('change');
- sndPlayer.UpdateSource(`/pbxcore/api/cdr/playback?view=${filename}`);
+ sndPlayer.UpdateSource(`/pbxcore/api/cdr/v2/playback?view=${filename}`);
soundFileModify.$submitButton.removeClass('loading');
soundFileModify.$formObj.removeClass('loading');
diff --git a/src/AdminCabinet/Controllers/SoundFilesController.php b/src/AdminCabinet/Controllers/SoundFilesController.php
index f973c9c88..c48e8d553 100644
--- a/src/AdminCabinet/Controllers/SoundFilesController.php
+++ b/src/AdminCabinet/Controllers/SoundFilesController.php
@@ -56,7 +56,7 @@ public function modifyAction(string $id = ''): void
$form = new SoundFilesEditForm($file);
$this->view->form = $form;
$this->view->category = $file->category;
- $this->view->audioPath = empty($file->path) ? '' : "/pbxcore/api/cdr/playback?view={$file->path}";
+ $this->view->audioPath = empty($file->path) ? '' : "/pbxcore/api/cdr/v2/playback?view={$file->path}";
$this->view->represent = $file->getRepresent();
}
diff --git a/src/AdminCabinet/Views/SoundFiles/customTab.volt b/src/AdminCabinet/Views/SoundFiles/customTab.volt
index aa39888be..1c2fb3784 100644
--- a/src/AdminCabinet/Views/SoundFiles/customTab.volt
+++ b/src/AdminCabinet/Views/SoundFiles/customTab.volt
@@ -24,7 +24,7 @@
{% else %}
{% endif %}
@@ -37,7 +37,7 @@
{% else %}
+ data-value="{{ '/pbxcore/api/cdr/v2/playback?view='~record.path~'&download=1&filename='~record.name~'.mp3' }}">
{% endif %}
diff --git a/src/AdminCabinet/Views/SoundFiles/mohTab.volt b/src/AdminCabinet/Views/SoundFiles/mohTab.volt
index 2c2a153f1..e086ef1c0 100644
--- a/src/AdminCabinet/Views/SoundFiles/mohTab.volt
+++ b/src/AdminCabinet/Views/SoundFiles/mohTab.volt
@@ -24,7 +24,7 @@
{% else %}
{% endif %}
@@ -37,7 +37,7 @@
{% else %}
+ data-value="{{ '/pbxcore/api/cdr/v2/playback?view='~record.path~'&download=1&filename='~record.name~'.mp3' }}">
{% endif %}
diff --git a/src/PBXCoreREST/Controllers/Cdr/GetController.php b/src/PBXCoreREST/Controllers/Cdr/GetController.php
index b776ee949..8683dc1af 100644
--- a/src/PBXCoreREST/Controllers/Cdr/GetController.php
+++ b/src/PBXCoreREST/Controllers/Cdr/GetController.php
@@ -65,10 +65,10 @@ public function callAction($actionName): void
/**
* Прослушивание файла записи с прокруткой.
- * /pbxcore/api/cdr/playback MIKO AJAM
- * http://172.16.156.212/pbxcore/api/cdr/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/05/11/16/mikopbx-1526043925.13_43T4MdXcpT.mp3
- * http://172.16.156.212/pbxcore/api/cdr/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/06/01/17/mikopbx-1527865189.0_qrQeNUixcV.wav
- * http://172.16.156.223/pbxcore/api/cdr/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/12/18/09/mikopbx-1545113960.4_gTvBUcLEYh.mp3&download=true&filename=test.mp3
+ * /pbxcore/api/cdr/v2/playback MIKO AJAM
+ * http://172.16.156.212/pbxcore/api/cdr/v2/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/05/11/16/mikopbx-1526043925.13_43T4MdXcpT.mp3
+ * http://172.16.156.212/pbxcore/api/cdr/v2/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/06/01/17/mikopbx-1527865189.0_qrQeNUixcV.wav
+ * http://172.16.156.223/pbxcore/api/cdr/v2/playback?view=/storage/usbdisk1/mikopbx/voicemailarchive/monitor/2018/12/18/09/mikopbx-1545113960.4_gTvBUcLEYh.mp3&download=true&filename=test.mp3
* Итого имеем следующий набор параметров API:
* * view* - полный путь к файлу записи разговора.
* download - опциональный параметр, скачивать записи или нет