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

@economist/component-blog-post

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@economist/component-blog-post - npm Package Compare versions

Comparing version 1.23.2 to 1.24.0

18

lib/index.js

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

BlogPost.prototype.addLocationCreated = function addLocationCreated(sectionDateAuthor, locationCreated) {
if (locationCreated) {
sectionDateAuthor = sectionDateAuthor.concat(_react2.default.createElement(
'span',
{
className: 'blog-post__location-created',
key: 'blog-post__location-created'
},
' | ' + locationCreated
));
}
return sectionDateAuthor;
};
BlogPost.prototype.addImage = function addImage(content) {

@@ -292,2 +306,3 @@ var image = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

sectionDateAuthor = this.addDateTime(sectionDateAuthor, this.props);
sectionDateAuthor = this.addLocationCreated(sectionDateAuthor, this.props.locationCreated);
sectionDateAuthor = this.addByLine(sectionDateAuthor, this.props.byline);

@@ -410,2 +425,3 @@ if (sectionDateAuthor.length) {

dateFormat: _react2.default.PropTypes.func,
locationCreated: _react2.default.PropTypes.string,
text: _react2.default.PropTypes.oneOfType([_react2.default.PropTypes.string, _react2.default.PropTypes.node]).isRequired,

@@ -477,2 +493,2 @@ afterText: _react2.default.PropTypes.node,

exports.default = BlogPost;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZW5lcmF0ZUJsb2dQb3N0Rmx5VGl0bGUiLCJ0d29EaWdpdHMiLCJpbnQiLCJzaG93U2libGluZ0FydGljbGVzTGlzdCIsInNpYmxpbmdMaXN0VGl0bGUiLCJmbHlUaXRsZSIsImJsb2dGbHlUaXRsZSIsIkJsb2dQb3N0IiwiYWRkRGF0ZVRpbWUiLCJzZWN0aW9uRGF0ZUF1dGhvciIsInByb3BzIiwiZGF0ZVRpbWUiLCJkYXRlRm9ybWF0IiwiZGF0ZVN0cmluZyIsInRpbWVzdGFtcElTTyIsInJlc3VsdCIsInNsaWNlIiwiY29uY2F0IiwiYWRkSW1hZ2UiLCJjb250ZW50IiwiaW1hZ2UiLCJibG9nSW1hZ2UiLCJzcmMiLCJjYXB0aW9uIiwiYWx0IiwiaW1hZ2VDYXB0aW9uIiwiYWRkUnVicmljIiwicnVicmljIiwiYWRkQmxvZ1Bvc3RTZWN0aW9uIiwic2VjdGlvbiIsInNlY3Rpb25VcmwiLCJ0ZXN0IiwiYmxvZ1Bvc3RTZWN0aW9uIiwiYWRkQnlMaW5lIiwiYnlsaW5lIiwiZmlsdGVyQmxvZ1Bvc3RUZXh0RWxlbWVudHMiLCJpbm5lckNvbnRlbnRFbGVtZW50cyIsImZpbHRlciIsImNvbnRlbnRFbGVtZW50IiwiaW5uZXJDb250ZW50Iiwia2V5IiwiY2hpbGRyZW4iLCJibG9nUG9zdFRleHRFbGVtZW50cyIsImJsb2dQb3N0VGV4dCIsInRleHQiLCJtb3ZlQm90dG9tTW9iaWxlQWQiLCJudW1iZXJPZlBhcmFncmFwaHMiLCJsZW5ndGgiLCJtb2JpbGVBZCIsInBvcCIsInB1c2giLCJhZGRTaWJsaW5nc0xpc3QiLCJzaWJsaW5nTGlzdFByb3BzIiwic2libGluZ3NMaXN0VGl0bGUiLCJlbGVtZW50Q2xhc3NOYW1lIiwiaXNzdWVTaWJsaW5nc0xpc3QiLCJhcnRpY2xlTGlzdFBvc2l0aW9uIiwibmV4dEFydGljbGVMaW5rIiwicHJpbnRFZGl0aW9uIiwic2libGluZ0FydGljbGVzIiwic2lkZVRleHQiLCJzaWJsaW5nTGlzdFNpZGVUaXRsZSIsImFydGljbGVGb290Tm90ZSIsInNpYmxpbmdMaXN0RGF0YSIsInNpYmxpbmdBcnRpY2xlc0xpc3QiLCJzcGxpY2UiLCJnZW5lcmF0ZVdyYXBwZWRJbm5lckNvbnRlbnQiLCJhc2lkZWFibGVDb250ZW50Iiwid3JhcHBlZElubmVyQ29udGVudCIsImF1dGhvciIsImFmdGVyVGV4dCIsInJlbmRlciIsInNlY3Rpb25OYW1lIiwiY2xhc3NOYW1lTW9kaWZpZXIiLCJzaGFyZUJhclB1YmxpY2F0ZURhdGUiLCJEYXRlIiwicHVibGljYXRpb25EYXRlIiwiU3RyaW5nIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJyZXBsYWNlIiwic2hhcmVCYXJEZWZhdWx0IiwidHlwZSIsInRpdGxlIiwiaWQiLCJjb21tZW50Q291bnQiLCJjb21tZW50U3RhdHVzIiwiY29tbWVudFNlY3Rpb24iLCJmaXJzdFRvQ29tbWVudExhYmVsIiwidmlld0NvbW1lbnRzTGFiZWwiLCJjb21tZW50c1VyaSIsIlRpdGxlQ29tcG9uZW50IiwiYXJ0aWNsZUhlYWRlciIsImNsYXNzTmFtZSIsIml0ZW1Qcm9wIiwiaXRlbVR5cGUiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJzaGFwZSIsIm5vZGUiLCJpc1JlcXVpcmVkIiwiZnVuYyIsImluc3RhbmNlT2YiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJvbmVPZiIsIm9iamVjdCIsImFycmF5T2YiLCJib29sIiwiZGF0ZSIsInRlbk1pbnV0ZXMiLCJhZGRQb3N0Rml4IiwiZGF5IiwiZGF5c3RyIiwidG9TdHJpbmciLCJsYXN0Q2hhciIsImNoYXJBdCIsInBvc3RGaXgiLCJzaG9ydE1vbnRoTGlzdCIsIm1pbnV0ZXMiLCJnZXRNaW51dGVzIiwiZ2V0SG91cnMiLCJqb2luIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7UUFrQmdCQSx3QixHQUFBQSx3Qjs7QUFsQmhCOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQUVBOzs7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVBLFNBQVNDLFNBQVQsQ0FBbUJDLEdBQW5CLEVBQXdCO0FBQ3RCLFNBQU9BLE1BQU0sQ0FBTixHQUFVLEtBQUtBLEdBQWYsR0FBcUIsTUFBTUEsR0FBbEMsQ0FEc0IsQ0FDaUI7QUFDeEM7O0FBRU0sU0FBU0Ysd0JBQVQsQ0FDTEcsdUJBREssRUFFTEMsZ0JBRkssRUFHTEMsUUFISyxFQUlMO0FBQ0EsTUFBSUMsZUFBZUQsUUFBbkI7QUFDQSxNQUFJRiwyQkFBMkJDLHFCQUFxQkMsUUFBcEQsRUFBOEQ7QUFDNURDLG1CQUFtQkYsZ0JBQW5CLFVBQTBDQyxRQUExQztBQUNEO0FBQ0QsU0FBT0MsWUFBUDtBQUNEOztJQUVvQkMsUTs7Ozs7Ozs7O3FCQWlHbkJDLFcsd0JBQVlDLGlCLEVBQW1CQyxLLEVBQU87QUFBQSxRQUM1QkMsUUFENEIsR0FDdUJELEtBRHZCLENBQzVCQyxRQUQ0QjtBQUFBLFFBQ2xCQyxVQURrQixHQUN1QkYsS0FEdkIsQ0FDbEJFLFVBRGtCO0FBQUEsUUFDTkMsVUFETSxHQUN1QkgsS0FEdkIsQ0FDTkcsVUFETTtBQUFBLFFBQ01DLFlBRE4sR0FDdUJKLEtBRHZCLENBQ01JLFlBRE47O0FBRXBDLFFBQUlDLFNBQVNOLGtCQUFrQk8sS0FBbEIsRUFBYjtBQUNBLFFBQUlMLFFBQUosRUFBYztBQUNaSSxlQUFTQSxPQUFPRSxNQUFQLENBQ1A7QUFBQTtBQUFBO0FBQ0UscUJBQVUscUJBRFo7QUFFRSxvQkFBUyxhQUZYO0FBR0Usb0JBQVUsS0FBS1AsS0FBTCxDQUFXQyxRQUh2QjtBQUlFLGVBQUk7QUFKTjtBQUtFQyxtQkFBV0QsUUFBWDtBQUxGLE9BRE8sQ0FBVDtBQU9EO0FBQ0QsUUFBSUUsY0FBY0MsWUFBbEIsRUFBZ0M7QUFDOUJDLGVBQVNBLE9BQU9FLE1BQVAsQ0FDUDtBQUFBO0FBQUE7QUFDRSxxQkFBVSxxQkFEWjtBQUVFLG9CQUFTLGFBRlg7QUFHRSxvQkFBVUgsWUFIWjtBQUlFLGVBQUk7QUFKTjtBQUtFRDtBQUxGLE9BRE8sQ0FBVDtBQU9EO0FBQ0QsV0FBT0UsTUFBUDtBQUNELEc7O3FCQUVERyxRLHFCQUFTQyxPLEVBQXFCO0FBQUEsUUFBWkMsS0FBWSx1RUFBSixFQUFJOztBQUM1QixRQUFJLEtBQUtWLEtBQUwsQ0FBV1csU0FBZixFQUEwQjtBQUN4Qix1QkFDS0YsT0FETCxFQUVLLEtBQUtULEtBQUwsQ0FBV1csU0FGaEI7QUFJRCxLQUxELE1BS08sSUFBSUQsS0FBSixFQUFXO0FBQUEsVUFDUkUsR0FEUSxHQUNjRixLQURkLENBQ1JFLEdBRFE7QUFBQSxVQUNIQyxPQURHLEdBQ2NILEtBRGQsQ0FDSEcsT0FERztBQUFBLFVBQ01DLEdBRE4sR0FDY0osS0FEZCxDQUNNSSxHQUROOztBQUVoQixVQUFJRixHQUFKLEVBQVM7QUFDUCxZQUFNRyxlQUFlRixVQUFVLHdEQUFjLFNBQVNBLE9BQXZCLEVBQWdDLEtBQUksMEJBQXBDLEdBQVYsR0FBOEUsSUFBbkc7QUFDQSxlQUFPSixRQUFRRixNQUFSLENBQ0w7QUFDRSxlQUFJLFNBRE47QUFFRSxtQkFBU1EsWUFGWDtBQUdFLGVBQUtILEdBSFA7QUFJRSxlQUFLRTtBQUpQLFVBREssQ0FBUDtBQVFEO0FBQ0Y7QUFDRCxXQUFPTCxPQUFQO0FBQ0QsRzs7cUJBRURPLFMsc0JBQVVQLE8sRUFBU1EsTSxFQUFRO0FBQ3pCLFFBQUlBLE1BQUosRUFBWTtBQUNWLGFBQU9SLFFBQVFGLE1BQVIsQ0FBZSxrREFBUSxRQUFRVSxNQUFoQixFQUF3QixLQUFJLG1CQUE1QixHQUFmLENBQVA7QUFDRDtBQUNELFdBQU9SLE9BQVA7QUFDRCxHOztxQkFFRFMsa0IsK0JBQW1CbkIsaUIsRUFBbUJvQixPLEVBQVNDLFUsRUFBWTtBQUN6RCxRQUFJRCxPQUFKLEVBQWE7QUFDWCxVQUFJQyxjQUFjLENBQUMsZUFBZUMsSUFBZixDQUFvQkQsVUFBcEIsQ0FBbkIsRUFBb0Q7QUFDbERBLHFCQUFhLHVCQUFRLEdBQVIsRUFBYUEsVUFBYixDQUFiO0FBQ0Q7QUFDRCxVQUFNRSxrQkFBa0JGLGFBQ3RCO0FBQUE7QUFBQSxVQUFHLE1BQU1BLFVBQVQsRUFBcUIsV0FBVSx5QkFBL0I7QUFDR0Q7QUFESCxPQURzQixHQUlwQkEsT0FKSjtBQUtBLGFBQU9wQixrQkFBa0JRLE1BQWxCLENBQ0wsMkRBQWlCLEtBQUksb0JBQXJCLEVBQTBDLFNBQVNlLGVBQW5ELEdBREssQ0FBUDtBQUdEO0FBQ0QsV0FBT3ZCLGlCQUFQO0FBQ0QsRzs7cUJBRUR3QixTLHNCQUFVeEIsaUIsRUFBbUJ5QixNLEVBQVE7QUFDbkMsUUFBSUEsTUFBSixFQUFZO0FBQ1YsYUFBT3pCLGtCQUFrQlEsTUFBbEIsQ0FDTDtBQUFBO0FBQUEsVUFBRyxXQUFVLDZCQUFiLEVBQTJDLEtBQUksNkJBQS9DO0FBQ0csYUFESDtBQUVFO0FBQUE7QUFBQTtBQUNFLHVCQUFVLG1CQURaO0FBRUUsc0JBQVM7QUFGWDtBQUdFaUI7QUFIRjtBQUZGLE9BREssQ0FBUDtBQVNEO0FBQ0QsV0FBT3pCLGlCQUFQO0FBQ0QsRzs7cUJBRUQwQiwwQix1Q0FBMkJoQixPLEVBQVM7QUFDbEMsUUFBTWlCLHVCQUF1QmpCLFFBQVFrQixNQUFSLENBQWUsVUFBQ0MsY0FBRCxFQUFvQjtBQUM5RCxVQUFNQyxlQUFlRCxlQUFlRSxHQUFmLEtBQXVCLGVBQTVDO0FBQ0EsYUFBT0QsWUFBUDtBQUNELEtBSDRCLEVBRzFCLENBSDBCLEVBR3ZCN0IsS0FIdUIsQ0FHakIrQixRQUhaO0FBSUEsUUFBTUMsdUJBQXVCTixxQkFBcUJDLE1BQXJCLENBQTRCLFVBQUNDLGNBQUQsRUFBb0I7QUFDM0UsVUFBTUssZUFBZUwsZUFBZUUsR0FBZixLQUF1QixpQkFBNUM7QUFDQSxhQUFPRyxZQUFQO0FBQ0QsS0FINEIsRUFHMUIsQ0FIMEIsRUFHdkJqQyxLQUh1QixDQUdqQmtDLElBSFo7QUFJQSxXQUFPRixvQkFBUDtBQUNELEc7O3FCQUVERyxrQiwrQkFBbUIxQixPLEVBQVM7QUFDMUIsUUFBTXdCLGVBQWUsS0FBS1IsMEJBQUwsQ0FBZ0NoQixPQUFoQyxDQUFyQjtBQUNBLFFBQU0yQixxQkFBcUJILGFBQWFJLE1BQXhDO0FBQ0EsUUFBTUMsV0FBV0wsYUFBYUcscUJBQXFCLENBQWxDLENBQWpCO0FBQ0EsUUFBSUUsUUFBSixFQUFjO0FBQ1pMLG1CQUFhTSxHQUFiO0FBQ0E5QixjQUFRK0IsSUFBUixDQUFhRixRQUFiO0FBQ0Q7QUFDRixHOztxQkFHREcsZSw0QkFBZ0JDLGdCLEVBQWtCO0FBQUEsUUFFOUJqRCx1QkFGOEIsR0FXNUJpRCxnQkFYNEIsQ0FFOUJqRCx1QkFGOEI7QUFBQSxRQUc5QkUsUUFIOEIsR0FXNUIrQyxnQkFYNEIsQ0FHOUIvQyxRQUg4QjtBQUFBLFFBSTlCZ0QsaUJBSjhCLEdBVzVCRCxnQkFYNEIsQ0FJOUJDLGlCQUo4QjtBQUFBLFFBSzlCQyxnQkFMOEIsR0FXNUJGLGdCQVg0QixDQUs5QkUsZ0JBTDhCO0FBQUEsUUFNOUJuQyxPQU44QixHQVc1QmlDLGdCQVg0QixDQU05QmpDLE9BTjhCO0FBQUEsUUFPOUJvQyxpQkFQOEIsR0FXNUJILGdCQVg0QixDQU85QkcsaUJBUDhCO0FBQUEsUUFROUJDLG1CQVI4QixHQVc1QkosZ0JBWDRCLENBUTlCSSxtQkFSOEI7QUFBQSxRQVM5QkMsZUFUOEIsR0FXNUJMLGdCQVg0QixDQVM5QkssZUFUOEI7QUFBQSxRQVU5QkMsWUFWOEIsR0FXNUJOLGdCQVg0QixDQVU5Qk0sWUFWOEI7O0FBWWhDLFFBQU1DLGtCQUFrQnhELDJCQUEyQm9ELGlCQUEzQixHQUN4QkEsaUJBRHdCLEdBQ0osSUFEcEI7QUFaZ0MsaUJBYzRCLEtBQUs3QyxLQWRqQztBQUFBLFFBY3hCa0QsUUFkd0IsVUFjeEJBLFFBZHdCO0FBQUEsUUFjZEMsb0JBZGMsVUFjZEEsb0JBZGM7QUFBQSxRQWNRQyxlQWRSLFVBY1FBLGVBZFI7O0FBZWhDLFFBQU1DLGtCQUFrQjtBQUN0Qkosc0NBRHNCO0FBRXRCdEQsd0JBRnNCO0FBR3RCaUQsd0NBSHNCO0FBSXRCRCwwQ0FKc0I7QUFLdEJPLHdCQUxzQjtBQU10QkM7QUFOc0IsS0FBeEI7QUFRQSxRQUFNRyxzQkFBc0I3RCwwQkFBMEIsdUNBQVk0RCxlQUFaLENBQTFCLEdBQXlELElBQXJGO0FBQ0EsUUFBSXJCLHVCQUF1QixJQUEzQjtBQUNBLFFBQUl2QywyQkFBMkIyRCxlQUEvQixFQUFnRDtBQUM5Q3BCLDZCQUF1QixLQUFLUCwwQkFBTCxDQUFnQ2hCLE9BQWhDLENBQXZCO0FBQ0Q7QUFDRCxRQUFJaEIsNEJBQTRCdUMsd0JBQXlCdkIsV0FBV3NDLGVBQWhFLENBQUosRUFBdUY7QUFDckZmLDJCQUFxQnVCLE1BQXJCLENBQTRCVCxtQkFBNUIsRUFBaUQsQ0FBakQsRUFBb0RRLG1CQUFwRDtBQUNBN0MsY0FBUThDLE1BQVIsQ0FBZTlDLFFBQVE0QixNQUFSLEdBQWlCLENBQWhDLEVBQW1DLENBQW5DLEVBQXNDVSxlQUF0QztBQUNEO0FBQ0QsUUFBSUssbUJBQW1CSixZQUF2QixFQUFxQztBQUNuQ2hCLDJCQUFxQlEsSUFBckIsQ0FBMEJZLGVBQTFCO0FBQ0Q7QUFDRixHOztxQkFFREksMkIsd0NBQTRCQyxnQixFQUFrQjtBQUM1QyxRQUFJQyxzQkFBc0IsRUFBMUI7QUFDQUEsMEJBQXNCLEtBQUtsRCxRQUFMLENBQWNrRCxtQkFBZCxFQUFtQyxLQUFLMUQsS0FBTCxDQUFXVSxLQUE5QyxDQUF0QjtBQUNBLFFBQUkrQyxpQkFBaUJwQixNQUFyQixFQUE2QjtBQUMzQnFCLDBCQUFvQmxCLElBQXBCLENBQ0U7QUFBQTtBQUFBLFVBQUssV0FBVSw4QkFBZixFQUE4QyxLQUFJLG1CQUFsRDtBQUNFLGVBQUk7QUFETjtBQUdFO0FBQUE7QUFBQSxZQUFLLFdBQVUsaUVBQWY7QUFDR2lCO0FBREg7QUFIRixPQURGO0FBU0Q7QUFDRCxRQUFJLEtBQUt6RCxLQUFMLENBQVcyRCxNQUFmLEVBQXVCO0FBQ3JCRCwwQkFBb0JsQixJQUFwQixDQUF5QixrREFBUSxLQUFJLG1CQUFaLEVBQWdDLFFBQVEsS0FBS3hDLEtBQUwsQ0FBVzJELE1BQW5ELEdBQXpCO0FBQ0Q7QUFDREQsd0JBQW9CbEIsSUFBcEIsQ0FBeUIsZ0RBQU0sTUFBTSxLQUFLeEMsS0FBTCxDQUFXa0MsSUFBdkIsRUFBNkIsS0FBSSxpQkFBakMsR0FBekI7QUFDQXdCLHdCQUFvQmxCLElBQXBCLENBQXlCO0FBQUE7QUFBQSxRQUFLLEtBQUksdUJBQVQ7QUFBa0MsV0FBS3hDLEtBQUwsQ0FBVzREO0FBQTdDLEtBQXpCO0FBQ0EsV0FBT0YsbUJBQVA7QUFDRCxHOztxQkFFREcsTSxxQkFBUztBQUFBLGtCQVNILEtBQUs3RCxLQVRGO0FBQUEsUUFFTEwsUUFGSyxXQUVMQSxRQUZLO0FBQUEsUUFHTEYsdUJBSEssV0FHTEEsdUJBSEs7QUFBQSxRQUlMMEQsb0JBSkssV0FJTEEsb0JBSks7QUFBQSxRQUtMTixpQkFMSyxXQUtMQSxpQkFMSztBQUFBLFFBTUxDLG1CQU5LLFdBTUxBLG1CQU5LO0FBQUEsUUFPTEMsZUFQSyxXQU9MQSxlQVBLO0FBQUEsUUFRTEMsWUFSSyxXQVFMQSxZQVJLOztBQVVQLFFBQU1MLG9CQUFvQixLQUFLM0MsS0FBTCxDQUFXOEQsV0FBckM7QUFDQSxRQUFNbEIsbUJBQW1CbkQsMkJBQTJCLEtBQUtPLEtBQUwsQ0FBVytELGlCQUF0QyxrQ0FDTyxLQUFLL0QsS0FBTCxDQUFXK0QsaUJBRGxCLEdBQ3lDLEVBRGxFO0FBRUEsUUFBSXRELFVBQVUsRUFBZDtBQUNBO0FBQ0E7QUFDQSxRQUFNZ0QsbUJBQW1CLEVBQXpCO0FBQ0EsUUFBSTFELG9CQUFvQixFQUF4QjtBQUNBVSxjQUFVLEtBQUtPLFNBQUwsQ0FBZVAsT0FBZixFQUF3QixLQUFLVCxLQUFMLENBQVdpQixNQUFuQyxDQUFWO0FBQ0FsQix3QkFBb0IsS0FBS21CLGtCQUFMLENBQXdCbkIsaUJBQXhCLEVBQTJDLEtBQUtDLEtBQUwsQ0FBV21CLE9BQXRELEVBQStELEtBQUtuQixLQUFMLENBQVdvQixVQUExRSxDQUFwQjtBQUNBckIsd0JBQW9CLEtBQUtELFdBQUwsQ0FBaUJDLGlCQUFqQixFQUFvQyxLQUFLQyxLQUF6QyxDQUFwQjtBQUNBRCx3QkFBb0IsS0FBS3dCLFNBQUwsQ0FBZXhCLGlCQUFmLEVBQWtDLEtBQUtDLEtBQUwsQ0FBV3dCLE1BQTdDLENBQXBCO0FBQ0EsUUFBSXpCLGtCQUFrQnNDLE1BQXRCLEVBQThCO0FBQzVCb0IsdUJBQWlCakIsSUFBakIsQ0FDRTtBQUFBO0FBQUE7QUFDRSxxQkFBVSxnQ0FEWjtBQUVFLGVBQUk7QUFGTjtBQUlHekM7QUFKSCxPQURGO0FBUUQ7O0FBRUQ7QUFDQSxRQUFJaUUsd0JBQXdCLElBQUlDLElBQUosQ0FBUyxLQUFLakUsS0FBTCxDQUFXa0UsZUFBWCxHQUE2QixJQUF0QyxDQUE1QixDQWxDTyxDQWtDaUU7QUFDeEVGLDRCQUF3QixDQUFJRyxPQUFPSCxzQkFBc0JJLFdBQXRCLEVBQVAsQ0FBSixjQUNyQkQsT0FBTzVFLFVBQVV5RSxzQkFBc0JLLFFBQXRCLEtBQW1DLENBQTdDLENBQVAsQ0FEcUIsY0FFckJGLE9BQU81RSxVQUFVeUUsc0JBQXNCTSxPQUF0QixFQUFWLENBQVAsQ0FGcUIsRUFFaUNDLE9BRmpDLENBRXlDLEtBRnpDLEVBRWdELEVBRmhELENBQXhCO0FBR0EsUUFBTUMsa0JBQ0g7QUFDQyxXQUFJLFVBREw7QUFFQyxZQUFNLEtBQUt4RSxLQUFMLENBQVd5RSxJQUFYLEtBQW9CLE1BQXBCLEdBQTZCLElBQTdCLEdBQW9DLEdBRjNDO0FBR0MsYUFBTyxLQUFLekUsS0FBTCxDQUFXMEUsS0FIbkI7QUFJQyxnQkFBVSxLQUFLMUUsS0FBTCxDQUFXTCxRQUp0QjtBQUtDLHVCQUFpQnFFLHFCQUxsQjtBQU1DLGlCQUFXLEtBQUtoRSxLQUFMLENBQVcyRTtBQU52QixNQURIO0FBU0FsQixxQkFBaUJqQixJQUFqQixDQUNFZ0MsZUFERjtBQUdBLFFBQU1kLHNCQUFzQixLQUFLRiwyQkFBTCxDQUFpQ0MsZ0JBQWpDLENBQTVCO0FBQ0FoRCxZQUFRK0IsSUFBUixDQUFhO0FBQUE7QUFBQSxRQUFLLFdBQVUsa0JBQWYsRUFBa0MsS0FBSSxlQUF0QztBQUF1RGtCO0FBQXZELEtBQWI7QUFuRE8sa0JBb0RpQyxLQUFLMUQsS0FwRHRDO0FBQUEsUUFvREM0RSxZQXBERCxXQW9EQ0EsWUFwREQ7QUFBQSxRQW9EZUMsYUFwRGYsV0FvRGVBLGFBcERmOztBQXFEUCxRQUFJQyxpQkFBaUIsSUFBckI7QUFDQSxRQUFJRCxrQkFBa0IsVUFBbEIsSUFBZ0MsRUFBRUEsa0JBQWtCLFVBQWxCLElBQWdDRCxpQkFBaUIsQ0FBbkQsQ0FBcEMsRUFBMkY7QUFDekZFLHVCQUNFO0FBQ0UsYUFBSSxxQkFETjtBQUVFLDZCQUFxQixLQUFLOUUsS0FBTCxDQUFXK0UsbUJBRmxDO0FBR0Usc0JBQWNILFlBSGhCO0FBSUUsMkJBQW1CLEtBQUs1RSxLQUFMLENBQVdnRixpQkFKaEM7QUFLRSxxQkFBYSxLQUFLaEYsS0FBTCxDQUFXaUY7QUFMMUIsUUFERjtBQVNEO0FBQ0R4RSxZQUFRK0IsSUFBUixDQUNFO0FBQUE7QUFBQSxRQUFLLFdBQVUseUJBQWYsRUFBeUMsS0FBSSx5QkFBN0M7QUFDR2dDLHFCQURIO0FBRUdNO0FBRkgsS0FERjtBQU1BLFNBQUszQyxrQkFBTCxDQUF3QjFCLE9BQXhCOztBQUVBLFFBQU15RSxpQkFBaUIsS0FBS2xGLEtBQUwsQ0FBV2tGLGNBQWxDO0FBQ0EsUUFBTUMsZ0JBQWdCMUYsMEJBQ3BCO0FBQUE7QUFBQSxRQUFNLGdEQUErQ21ELGdCQUFyRDtBQUNHRDtBQURILEtBRG9CLEdBSWxCLElBSko7QUFLQSxRQUFNRCxtQkFBbUI7QUFDdkJqRCxzREFEdUI7QUFFdkJFLHdCQUZ1QjtBQUd2QmdELDBDQUh1QjtBQUl2QkMsd0NBSnVCO0FBS3ZCbkMsc0JBTHVCO0FBTXZCb0MsMENBTnVCO0FBT3ZCQyw4Q0FQdUI7QUFRdkJDLHNDQVJ1QjtBQVN2QkM7QUFUdUIsS0FBekI7QUFXQSxTQUFLUCxlQUFMLENBQXFCQyxnQkFBckI7QUFDQSxXQUNFO0FBQUE7QUFBQTtBQUNFLHVCQURGO0FBRUUsbUJBQVcsMEJBQVcsV0FBWCxFQUF3QixLQUFLMUMsS0FBTCxDQUFXb0YsU0FBbkMsQ0FGYjtBQUdFLGtCQUFVLEtBQUtwRixLQUFMLENBQVdxRixRQUh2QjtBQUlFLGtCQUFVLEtBQUtyRixLQUFMLENBQVdzRixRQUp2QjtBQUtFLGNBQUssU0FMUDtBQU1FLGFBQUk7QUFOTjtBQVFHSCxtQkFSSDtBQVNFLG9DQUFDLGNBQUQ7QUFDRSxlQUFPLEtBQUtuRixLQUFMLENBQVcwRSxLQURwQjtBQUVFLGtCQUFVcEYseUJBQXlCRyx1QkFBekIsRUFBa0QwRCxvQkFBbEQsRUFBd0V4RCxRQUF4RSxDQUZaO0FBR0UsaUJBQVMsSUFIWDtBQUlFLHdCQUFnQkYsdUVBQzhCbUQsZ0JBRDlCLEdBQ29ELEVBTHRFO0FBTUUsMkJBQW1CbkQsMEVBQzhCbUQsZ0JBRDlCLEdBQ29EO0FBUHpFLFFBVEY7QUFrQkduQztBQWxCSCxLQURGO0FBc0JELEc7Ozs7d0JBelhzQjtBQUNyQixhQUFPO0FBQ0wyRSxtQkFBVyxnQkFBTUcsU0FBTixDQUFnQkMsTUFEdEI7QUFFTDlFLGVBQU8sZ0JBQU02RSxTQUFOLENBQWdCRSxLQUFoQixDQUFzQjtBQUMzQjdFLGVBQUssZ0JBQU0yRSxTQUFOLENBQWdCQyxNQURNO0FBRTNCM0UsbUJBQVMsZ0JBQU0wRSxTQUFOLENBQWdCQyxNQUZFO0FBRzNCMUUsZUFBSyxnQkFBTXlFLFNBQU4sQ0FBZ0JDO0FBSE0sU0FBdEIsQ0FGRjtBQU9MN0IsZ0JBQVEsZ0JBQU00QixTQUFOLENBQWdCQyxNQVBuQjtBQVFMaEUsZ0JBQVEsZ0JBQU0rRCxTQUFOLENBQWdCQyxNQVJuQjtBQVNMckUsaUJBQVMsZ0JBQU1vRSxTQUFOLENBQWdCRyxJQVRwQjtBQVVMdEUsb0JBQVksZ0JBQU1tRSxTQUFOLENBQWdCQyxNQVZ2QjtBQVdMN0Ysa0JBQVUsZ0JBQU00RixTQUFOLENBQWdCQyxNQVhyQjtBQVlMZCxlQUFPLGdCQUFNYSxTQUFOLENBQWdCQyxNQUFoQixDQUF1QkcsVUFaekI7QUFhTGxCLGNBQU0sZ0JBQU1jLFNBQU4sQ0FBZ0JDLE1BQWhCLENBQXVCRyxVQWJ4QjtBQWNMaEIsWUFBSSxnQkFBTVksU0FBTixDQUFnQkMsTUFBaEIsQ0FBdUJHLFVBZHRCO0FBZUx6Qix5QkFBaUIsZ0JBQU1xQixTQUFOLENBQWdCQyxNQUFoQixDQUF1QkcsVUFmbkM7QUFnQkxULHdCQUFnQixnQkFBTUssU0FBTixDQUFnQkssSUFBaEIsQ0FBcUJELFVBaEJoQztBQWlCTDFFLGdCQUFRLGdCQUFNc0UsU0FBTixDQUFnQkMsTUFqQm5CO0FBa0JMdkYsa0JBQVUsZ0JBQU1zRixTQUFOLENBQWdCTSxVQUFoQixDQUEyQjVCLElBQTNCLENBbEJMO0FBbUJMOUQsb0JBQVksZ0JBQU1vRixTQUFOLENBQWdCQyxNQW5CdkI7QUFvQkxwRixzQkFBYyxnQkFBTW1GLFNBQU4sQ0FBZ0JDLE1BcEJ6QjtBQXFCTHRGLG9CQUFZLGdCQUFNcUYsU0FBTixDQUFnQkssSUFyQnZCO0FBc0JMMUQsY0FBTSxnQkFBTXFELFNBQU4sQ0FBZ0JPLFNBQWhCLENBQTBCLENBQzlCLGdCQUFNUCxTQUFOLENBQWdCQyxNQURjLEVBRTlCLGdCQUFNRCxTQUFOLENBQWdCRyxJQUZjLENBQTFCLEVBR0hDLFVBekJFO0FBMEJML0IsbUJBQVcsZ0JBQU0yQixTQUFOLENBQWdCRyxJQTFCdEI7QUEyQkxKLGtCQUFVLGdCQUFNQyxTQUFOLENBQWdCQyxNQTNCckI7QUE0QkxILGtCQUFVLGdCQUFNRSxTQUFOLENBQWdCQyxNQTVCckI7QUE2QkxaLHNCQUFjLGdCQUFNVyxTQUFOLENBQWdCUSxNQUFoQixDQUF1QkosVUE3QmhDO0FBOEJMZCx1QkFBZSxnQkFBTVUsU0FBTixDQUFnQlMsS0FBaEIsQ0FBc0IsQ0FDbkMsVUFEbUMsRUFFbkMsVUFGbUMsRUFHbkMsV0FIbUMsRUFJbkMsaUJBSm1DLENBQXRCLEVBS1pMLFVBbkNFO0FBb0NMWiw2QkFBcUIsZ0JBQU1RLFNBQU4sQ0FBZ0JDLE1BQWhCLENBQXVCRyxVQXBDdkM7QUFxQ0xYLDJCQUFtQixnQkFBTU8sU0FBTixDQUFnQkMsTUFBaEIsQ0FBdUJHLFVBckNyQztBQXNDTFYscUJBQWEsZ0JBQU1NLFNBQU4sQ0FBZ0JDLE1BQWhCLENBQXVCRyxVQXRDL0I7QUF1Q0xoRixtQkFBVyxnQkFBTTRFLFNBQU4sQ0FBZ0JVLE1BdkN0QjtBQXdDTG5DLHFCQUFhLGdCQUFNeUIsU0FBTixDQUFnQkMsTUF4Q3hCO0FBeUNMM0MsMkJBQW1CLGdCQUFNMEMsU0FBTixDQUFnQlcsT0FBaEIsQ0FBd0IsZ0JBQU1YLFNBQU4sQ0FBZ0JVLE1BQXhDLENBekNkO0FBMENMeEcsaUNBQXlCLGdCQUFNOEYsU0FBTixDQUFnQlksSUExQ3BDO0FBMkNMakQsa0JBQVUsZ0JBQU1xQyxTQUFOLENBQWdCQyxNQTNDckI7QUE0Q0x6Qyx5QkFBaUIsZ0JBQU13QyxTQUFOLENBQWdCRyxJQTVDNUI7QUE2Q0x0Qyx5QkFBaUIsZ0JBQU1tQyxTQUFOLENBQWdCRyxJQTdDNUI7QUE4Q0w1Qyw2QkFBcUIsZ0JBQU15QyxTQUFOLENBQWdCUSxNQTlDaEM7QUErQ0xoQywyQkFBbUIsZ0JBQU13QixTQUFOLENBQWdCQyxNQS9DOUI7QUFnRExyQyw4QkFBc0IsZ0JBQU1vQyxTQUFOLENBQWdCQyxNQWhEakM7QUFpREx4QyxzQkFBYyxnQkFBTXVDLFNBQU4sQ0FBZ0JZO0FBakR6QixPQUFQO0FBbUREOzs7d0JBQ3lCO0FBQ3hCLGFBQU87QUFDTGIsa0JBQVUsK0JBREw7QUFFTEQsa0JBQVUsVUFGTDtBQUdMTiw2QkFBcUIseUJBSGhCO0FBSUxDLDJCQUFtQixlQUpkO0FBS0w5RSxvQkFBWSxvQkFBQ2tHLElBQUQsRUFBVTtBQUNwQixjQUFNQyxhQUFhLEVBQW5CO0FBQ0E7QUFDQSxtQkFBU0MsVUFBVCxDQUFvQkMsR0FBcEIsRUFBeUI7QUFDdkIsZ0JBQU1DLFNBQVNELElBQUlFLFFBQUosRUFBZjtBQUNBLGdCQUFNQyxXQUFXRixPQUFPRyxNQUFQLENBQWNILE9BQU9uRSxNQUFQLEdBQWdCLENBQTlCLENBQWpCO0FBQ0EsZ0JBQUl1RSxVQUFVLEVBQWQ7QUFDQSxvQkFBUUYsUUFBUjtBQUNFLG1CQUFLLEdBQUw7QUFDRUUsMEJBQVUsSUFBVjtBQUNBO0FBQ0YsbUJBQUssR0FBTDtBQUNFQSwwQkFBVSxJQUFWO0FBQ0E7QUFDRixtQkFBSyxHQUFMO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQUNGO0FBQ0VBLDBCQUFVLElBQVY7QUFDQTtBQVpKO0FBY0Esd0JBQVdMLEdBQVgsR0FBbUJLLE9BQW5CO0FBQ0Q7QUFDRCxjQUFNQyxpQkFBaUIsQ0FDckIsS0FEcUIsRUFDZCxLQURjLEVBQ1AsS0FETyxFQUNBLEtBREEsRUFDTyxLQURQLEVBQ2MsS0FEZCxFQUVyQixLQUZxQixFQUVkLEtBRmMsRUFFUCxLQUZPLEVBRUEsS0FGQSxFQUVPLEtBRlAsRUFFYyxLQUZkLENBQXZCO0FBSUEsY0FBSUMsVUFBVVYsS0FBS1csVUFBTCxLQUFvQlYsVUFBcEIsR0FBaUMsR0FBakMsR0FBdUMsRUFBckQ7QUFDQVMscUJBQVdWLEtBQUtXLFVBQUwsRUFBWDtBQUNBLGlCQUFPLE1BQU1GLGVBQWVULEtBQUsvQixRQUFMLEVBQWYsQ0FBTixPQUNEaUMsV0FBV0YsS0FBSzlCLE9BQUwsRUFBWCxDQURDLEVBRUQ4QixLQUFLaEMsV0FBTCxFQUZDLFFBR0RnQyxLQUFLWSxRQUFMLEVBSEMsU0FHb0JGLE9BSHBCLEVBR2lDRyxJQUhqQyxDQUdzQyxHQUh0QyxDQUFQO0FBSUQ7QUF0Q0ksT0FBUDtBQXdDRDs7OztFQS9GbUMsZ0JBQU1DLFM7O2tCQUF2QnJILFEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXV0aG9yIGZyb20gJy4vcGFydHMvYXV0aG9yJztcbmltcG9ydCBCbG9nUG9zdEltYWdlIGZyb20gJy4vcGFydHMvYmxvZy1wb3N0LWltYWdlJztcbmltcG9ydCBCbG9nUG9zdFNlY3Rpb24gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2VjdGlvbic7XG5pbXBvcnQgQ29tbWVudHMgZnJvbSAnLi9wYXJ0cy9jb21tZW50cyc7XG5pbXBvcnQgSW1hZ2VDYXB0aW9uIGZyb20gJy4vcGFydHMvaW1hZ2UtY2FwdGlvbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJ1YnJpYyBmcm9tICcuL3BhcnRzL3J1YnJpYyc7XG5pbXBvcnQgU2hhcmVCYXIgZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2hhcmViYXInO1xuaW1wb3J0IFRleHQgZnJvbSAnLi9wYXJ0cy90ZXh0JztcbmltcG9ydCB7IHNpYmxpbmdMaXN0IH0gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdCc7XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVybEpvaW4gZnJvbSAndXJsLWpvaW4nO1xuXG5mdW5jdGlvbiB0d29EaWdpdHMoaW50KSB7XG4gIHJldHVybiBpbnQgPiA5ID8gJycgKyBpbnQgOiAnMCcgKyBpbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQmxvZ1Bvc3RGbHlUaXRsZShcbiAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gIHNpYmxpbmdMaXN0VGl0bGUsXG4gIGZseVRpdGxlXG4pIHtcbiAgbGV0IGJsb2dGbHlUaXRsZSA9IGZseVRpdGxlO1xuICBpZiAoc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgc2libGluZ0xpc3RUaXRsZSAhPT0gZmx5VGl0bGUpIHtcbiAgICBibG9nRmx5VGl0bGUgPSBgJHsgc2libGluZ0xpc3RUaXRsZSB9OiAkeyBmbHlUaXRsZSB9YDtcbiAgfVxuICByZXR1cm4gYmxvZ0ZseVRpdGxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9nUG9zdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcFR5cGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjbGFzc05hbWU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBpbWFnZTogUmVhY3QuUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgc3JjOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjYXB0aW9uOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBhbHQ6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB9KSxcbiAgICAgIGF1dGhvcjogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGJ5bGluZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHNlY3Rpb246IFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgc2VjdGlvblVybDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGZseVRpdGxlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdGl0bGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHR5cGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGlkOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBwdWJsaWNhdGlvbkRhdGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIFRpdGxlQ29tcG9uZW50OiBSZWFjdC5Qcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgcnVicmljOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGF0ZVRpbWU6IFJlYWN0LlByb3BUeXBlcy5pbnN0YW5jZU9mKERhdGUpLFxuICAgICAgZGF0ZVN0cmluZzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHRpbWVzdGFtcElTTzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGRhdGVGb3JtYXQ6IFJlYWN0LlByb3BUeXBlcy5mdW5jLFxuICAgICAgdGV4dDogUmVhY3QuUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgXSkuaXNSZXF1aXJlZCxcbiAgICAgIGFmdGVyVGV4dDogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBpdGVtVHlwZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGl0ZW1Qcm9wOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY29tbWVudENvdW50OiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgICBjb21tZW50U3RhdHVzOiBSZWFjdC5Qcm9wVHlwZXMub25lT2YoW1xuICAgICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAncmVhZG9ubHknLFxuICAgICAgICAncmVhZHdyaXRlJyxcbiAgICAgICAgJ2ZiY29tbWVudHBsdWdpbicsXG4gICAgICBdKS5pc1JlcXVpcmVkLFxuICAgICAgZmlyc3RUb0NvbW1lbnRMYWJlbDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmlld0NvbW1lbnRzTGFiZWw6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGNvbW1lbnRzVXJpOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBibG9nSW1hZ2U6IFJlYWN0LlByb3BUeXBlcy5vYmplY3QsXG4gICAgICBzZWN0aW9uTmFtZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGlzc3VlU2libGluZ3NMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYXJyYXlPZihSZWFjdC5Qcm9wVHlwZXMub2JqZWN0KSxcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYm9vbCxcbiAgICAgIHNpZGVUZXh0OiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbmV4dEFydGljbGVMaW5rOiBSZWFjdC5Qcm9wVHlwZXMubm9kZSxcbiAgICAgIGFydGljbGVGb290Tm90ZTogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uOiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLFxuICAgICAgY2xhc3NOYW1lTW9kaWZpZXI6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzaWJsaW5nTGlzdFNpZGVUaXRsZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHByaW50RWRpdGlvbjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG4gICAgfTtcbiAgfVxuICBzdGF0aWMgZ2V0IGRlZmF1bHRQcm9wcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbVR5cGU6ICdodHRwOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZycsXG4gICAgICBpdGVtUHJvcDogJ2Jsb2dQb3N0JyxcbiAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw6ICdCZSB0aGUgZmlyc3QgdG8gY29tbWVudCcsXG4gICAgICB2aWV3Q29tbWVudHNMYWJlbDogJ1ZpZXcgY29tbWVudHMnLFxuICAgICAgZGF0ZUZvcm1hdDogKGRhdGUpID0+IHtcbiAgICAgICAgY29uc3QgdGVuTWludXRlcyA9IDEwO1xuICAgICAgICAvLyBTZXAgMTl0aCAyMDE1LCA5OjQ5XG4gICAgICAgIGZ1bmN0aW9uIGFkZFBvc3RGaXgoZGF5KSB7XG4gICAgICAgICAgY29uc3QgZGF5c3RyID0gZGF5LnRvU3RyaW5nKCk7XG4gICAgICAgICAgY29uc3QgbGFzdENoYXIgPSBkYXlzdHIuY2hhckF0KGRheXN0ci5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgcG9zdEZpeCA9ICcnO1xuICAgICAgICAgIHN3aXRjaCAobGFzdENoYXIpIHtcbiAgICAgICAgICAgIGNhc2UgJzEnOlxuICAgICAgICAgICAgICBwb3N0Rml4ID0gJ3N0JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgcG9zdEZpeCA9ICduZCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMyc6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAncmQnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAndGgnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGAkeyBkYXkgfSR7IHBvc3RGaXggfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2hvcnRNb250aExpc3QgPSBbXG4gICAgICAgICAgJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJyxcbiAgICAgICAgICAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnLFxuICAgICAgICBdO1xuICAgICAgICBsZXQgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpIDwgdGVuTWludXRlcyA/ICcwJyA6ICcnO1xuICAgICAgICBtaW51dGVzICs9IGRhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICByZXR1cm4gWyBgJHsgc2hvcnRNb250aExpc3RbZGF0ZS5nZXRNb250aCgpXSB9YCxcbiAgICAgICAgICBgJHsgYWRkUG9zdEZpeChkYXRlLmdldERhdGUoKSkgfWAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0RnVsbFllYXIoKSB9LGAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0SG91cnMoKSB9OiR7IG1pbnV0ZXMgfWAgXS5qb2luKCcgJyk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhZGREYXRlVGltZShzZWN0aW9uRGF0ZUF1dGhvciwgcHJvcHMpIHtcbiAgICBjb25zdCB7IGRhdGVUaW1lLCBkYXRlRm9ybWF0LCBkYXRlU3RyaW5nLCB0aW1lc3RhbXBJU08gfSA9IHByb3BzO1xuICAgIGxldCByZXN1bHQgPSBzZWN0aW9uRGF0ZUF1dGhvci5zbGljZSgpO1xuICAgIGlmIChkYXRlVGltZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCgoXG4gICAgICAgIDx0aW1lXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgICAgaXRlbVByb3A9XCJkYXRlQ3JlYXRlZFwiXG4gICAgICAgICAgZGF0ZVRpbWU9e3RoaXMucHJvcHMuZGF0ZVRpbWV9XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgID57ZGF0ZUZvcm1hdChkYXRlVGltZSl9PC90aW1lPikpO1xuICAgIH1cbiAgICBpZiAoZGF0ZVN0cmluZyAmJiB0aW1lc3RhbXBJU08pIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoKFxuICAgICAgICA8dGltZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVcIlxuICAgICAgICAgIGl0ZW1Qcm9wPVwiZGF0ZUNyZWF0ZWRcIlxuICAgICAgICAgIGRhdGVUaW1lPXt0aW1lc3RhbXBJU099XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZUlTT1wiXG4gICAgICAgID57ZGF0ZVN0cmluZ308L3RpbWU+KSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhZGRJbWFnZShjb250ZW50LCBpbWFnZSA9IHt9KSB7XG4gICAgaWYgKHRoaXMucHJvcHMuYmxvZ0ltYWdlKSB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5jb250ZW50LFxuICAgICAgICAuLi50aGlzLnByb3BzLmJsb2dJbWFnZSxcbiAgICAgIF07XG4gICAgfSBlbHNlIGlmIChpbWFnZSkge1xuICAgICAgY29uc3QgeyBzcmMsIGNhcHRpb24sIGFsdCB9ID0gaW1hZ2U7XG4gICAgICBpZiAoc3JjKSB7XG4gICAgICAgIGNvbnN0IGltYWdlQ2FwdGlvbiA9IGNhcHRpb24gPyA8SW1hZ2VDYXB0aW9uIGNhcHRpb249e2NhcHRpb259IGtleT1cImJsb2ctcG9zdF9faW1hZ2UtY2FwdGlvblwiIC8+IDogbnVsbDtcbiAgICAgICAgcmV0dXJuIGNvbnRlbnQuY29uY2F0KFxuICAgICAgICAgIDxCbG9nUG9zdEltYWdlXG4gICAgICAgICAgICBrZXk9XCJibG9naW1nXCJcbiAgICAgICAgICAgIGNhcHRpb249e2ltYWdlQ2FwdGlvbn1cbiAgICAgICAgICAgIHNyYz17c3JjfVxuICAgICAgICAgICAgYWx0PXthbHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBhZGRSdWJyaWMoY29udGVudCwgcnVicmljKSB7XG4gICAgaWYgKHJ1YnJpYykge1xuICAgICAgcmV0dXJuIGNvbnRlbnQuY29uY2F0KDxSdWJyaWMgcnVicmljPXtydWJyaWN9IGtleT1cImJsb2ctcG9zdF9fcnVicmljXCIgLz4pO1xuICAgIH1cbiAgICByZXR1cm4gY29udGVudDtcbiAgfVxuXG4gIGFkZEJsb2dQb3N0U2VjdGlvbihzZWN0aW9uRGF0ZUF1dGhvciwgc2VjdGlvbiwgc2VjdGlvblVybCkge1xuICAgIGlmIChzZWN0aW9uKSB7XG4gICAgICBpZiAoc2VjdGlvblVybCAmJiAhL14oXFx3KzopP1xcL1xcLy8udGVzdChzZWN0aW9uVXJsKSkge1xuICAgICAgICBzZWN0aW9uVXJsID0gdXJsSm9pbignLycsIHNlY3Rpb25VcmwpO1xuICAgICAgfVxuICAgICAgY29uc3QgYmxvZ1Bvc3RTZWN0aW9uID0gc2VjdGlvblVybCA/IChcbiAgICAgICAgPGEgaHJlZj17c2VjdGlvblVybH0gY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19zZWN0aW9uLWxpbmtcIj5cbiAgICAgICAgICB7c2VjdGlvbn1cbiAgICAgICAgPC9hPlxuICAgICAgKSA6IHNlY3Rpb247XG4gICAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3IuY29uY2F0KFxuICAgICAgICA8QmxvZ1Bvc3RTZWN0aW9uIGtleT1cImJsb2ctcG9zdF9fc2VjdGlvblwiIHNlY3Rpb249e2Jsb2dQb3N0U2VjdGlvbn0gLz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvcjtcbiAgfVxuXG4gIGFkZEJ5TGluZShzZWN0aW9uRGF0ZUF1dGhvciwgYnlsaW5lKSB7XG4gICAgaWYgKGJ5bGluZSkge1xuICAgICAgcmV0dXJuIHNlY3Rpb25EYXRlQXV0aG9yLmNvbmNhdChcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19ieWxpbmUtY29udGFpbmVyXCIga2V5PVwiYmxvZy1wb3N0X19ieWxpbmUtY29udGFpbmVyXCI+XG4gICAgICAgICAge1wiYnkgXCJ9XG4gICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYnlsaW5lXCJcbiAgICAgICAgICAgIGl0ZW1Qcm9wPVwiYXV0aG9yXCJcbiAgICAgICAgICA+e2J5bGluZX08L3NwYW4+XG4gICAgICAgIDwvcD5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvcjtcbiAgfVxuXG4gIGZpbHRlckJsb2dQb3N0VGV4dEVsZW1lbnRzKGNvbnRlbnQpIHtcbiAgICBjb25zdCBpbm5lckNvbnRlbnRFbGVtZW50cyA9IGNvbnRlbnQuZmlsdGVyKChjb250ZW50RWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgaW5uZXJDb250ZW50ID0gY29udGVudEVsZW1lbnQua2V5ID09PSAnaW5uZXItY29udGVudCc7XG4gICAgICByZXR1cm4gaW5uZXJDb250ZW50O1xuICAgIH0pWzBdLnByb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJsb2dQb3N0VGV4dEVsZW1lbnRzID0gaW5uZXJDb250ZW50RWxlbWVudHMuZmlsdGVyKChjb250ZW50RWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgYmxvZ1Bvc3RUZXh0ID0gY29udGVudEVsZW1lbnQua2V5ID09PSAnYmxvZy1wb3N0X190ZXh0JztcbiAgICAgIHJldHVybiBibG9nUG9zdFRleHQ7XG4gICAgfSlbMF0ucHJvcHMudGV4dDtcbiAgICByZXR1cm4gYmxvZ1Bvc3RUZXh0RWxlbWVudHM7XG4gIH1cblxuICBtb3ZlQm90dG9tTW9iaWxlQWQoY29udGVudCkge1xuICAgIGNvbnN0IGJsb2dQb3N0VGV4dCA9IHRoaXMuZmlsdGVyQmxvZ1Bvc3RUZXh0RWxlbWVudHMoY29udGVudCk7XG4gICAgY29uc3QgbnVtYmVyT2ZQYXJhZ3JhcGhzID0gYmxvZ1Bvc3RUZXh0Lmxlbmd0aDtcbiAgICBjb25zdCBtb2JpbGVBZCA9IGJsb2dQb3N0VGV4dFtudW1iZXJPZlBhcmFncmFwaHMgLSAxXTtcbiAgICBpZiAobW9iaWxlQWQpIHtcbiAgICAgIGJsb2dQb3N0VGV4dC5wb3AoKTtcbiAgICAgIGNvbnRlbnQucHVzaChtb2JpbGVBZCk7XG4gICAgfVxuICB9XG5cblxuICBhZGRTaWJsaW5nc0xpc3Qoc2libGluZ0xpc3RQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICBjb250ZW50LFxuICAgICAgaXNzdWVTaWJsaW5nc0xpc3QsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uLFxuICAgICAgbmV4dEFydGljbGVMaW5rLFxuICAgICAgcHJpbnRFZGl0aW9uLFxuICAgIH0gPSBzaWJsaW5nTGlzdFByb3BzO1xuICAgIGNvbnN0IHNpYmxpbmdBcnRpY2xlcyA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ICYmIGlzc3VlU2libGluZ3NMaXN0ID9cbiAgICBpc3N1ZVNpYmxpbmdzTGlzdCA6IG51bGw7XG4gICAgY29uc3QgeyBzaWRlVGV4dCwgc2libGluZ0xpc3RTaWRlVGl0bGUsIGFydGljbGVGb290Tm90ZSB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBzaWJsaW5nTGlzdERhdGEgPSB7XG4gICAgICBzaWJsaW5nQXJ0aWNsZXMsXG4gICAgICBmbHlUaXRsZSxcbiAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICAgIHNpZGVUZXh0LFxuICAgICAgc2libGluZ0xpc3RTaWRlVGl0bGUsXG4gICAgfTtcbiAgICBjb25zdCBzaWJsaW5nQXJ0aWNsZXNMaXN0ID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgPyBzaWJsaW5nTGlzdChzaWJsaW5nTGlzdERhdGEpIDogbnVsbDtcbiAgICBsZXQgYmxvZ1Bvc3RUZXh0RWxlbWVudHMgPSBudWxsO1xuICAgIGlmIChzaG93U2libGluZ0FydGljbGVzTGlzdCB8fCBhcnRpY2xlRm9vdE5vdGUpIHtcbiAgICAgIGJsb2dQb3N0VGV4dEVsZW1lbnRzID0gdGhpcy5maWx0ZXJCbG9nUG9zdFRleHRFbGVtZW50cyhjb250ZW50KTtcbiAgICB9XG4gICAgaWYgKHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ICYmIChibG9nUG9zdFRleHRFbGVtZW50cyB8fCAoY29udGVudCAmJiBuZXh0QXJ0aWNsZUxpbmspKSkge1xuICAgICAgYmxvZ1Bvc3RUZXh0RWxlbWVudHMuc3BsaWNlKGFydGljbGVMaXN0UG9zaXRpb24sIDAsIHNpYmxpbmdBcnRpY2xlc0xpc3QpO1xuICAgICAgY29udGVudC5zcGxpY2UoY29udGVudC5sZW5ndGggLSAxLCAwLCBuZXh0QXJ0aWNsZUxpbmspO1xuICAgIH1cbiAgICBpZiAoYXJ0aWNsZUZvb3ROb3RlICYmIHByaW50RWRpdGlvbikge1xuICAgICAgYmxvZ1Bvc3RUZXh0RWxlbWVudHMucHVzaChhcnRpY2xlRm9vdE5vdGUpO1xuICAgIH1cbiAgfVxuXG4gIGdlbmVyYXRlV3JhcHBlZElubmVyQ29udGVudChhc2lkZWFibGVDb250ZW50KSB7XG4gICAgbGV0IHdyYXBwZWRJbm5lckNvbnRlbnQgPSBbXTtcbiAgICB3cmFwcGVkSW5uZXJDb250ZW50ID0gdGhpcy5hZGRJbWFnZSh3cmFwcGVkSW5uZXJDb250ZW50LCB0aGlzLnByb3BzLmltYWdlKTtcbiAgICBpZiAoYXNpZGVhYmxlQ29udGVudC5sZW5ndGgpIHtcbiAgICAgIHdyYXBwZWRJbm5lckNvbnRlbnQucHVzaCgoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19hc2lkZWFibGUtd3JhcHBlclwiIGtleT1cImFzaWRlYWJsZS1jb250ZW50XCJcbiAgICAgICAgICByZWY9XCJhc2lkZWFibGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2FzaWRlYWJsZS1jb250ZW50IGJsb2ctcG9zdF9fYXNpZGVhYmxlLWNvbnRlbnQtLW1ldGFcIj5cbiAgICAgICAgICAgIHthc2lkZWFibGVDb250ZW50fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5hdXRob3IpIHtcbiAgICAgIHdyYXBwZWRJbm5lckNvbnRlbnQucHVzaCg8QXV0aG9yIGtleT1cImJsb2ctcG9zdF9fYXV0aG9yXCIgYXV0aG9yPXt0aGlzLnByb3BzLmF1dGhvcn0gLz4pO1xuICAgIH1cbiAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goPFRleHQgdGV4dD17dGhpcy5wcm9wcy50ZXh0fSBrZXk9XCJibG9nLXBvc3RfX3RleHRcIiAvPik7XG4gICAgd3JhcHBlZElubmVyQ29udGVudC5wdXNoKDxkaXYga2V5PVwiYmxvZy1wb3N0X19hZnRlci10ZXh0XCI+e3RoaXMucHJvcHMuYWZ0ZXJUZXh0fTwvZGl2Pik7XG4gICAgcmV0dXJuIHdyYXBwZWRJbm5lckNvbnRlbnQ7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaG93U2libGluZ0FydGljbGVzTGlzdCxcbiAgICAgIHNpYmxpbmdMaXN0U2lkZVRpdGxlLFxuICAgICAgaXNzdWVTaWJsaW5nc0xpc3QsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uLFxuICAgICAgbmV4dEFydGljbGVMaW5rLFxuICAgICAgcHJpbnRFZGl0aW9uLFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHNpYmxpbmdzTGlzdFRpdGxlID0gdGhpcy5wcm9wcy5zZWN0aW9uTmFtZTtcbiAgICBjb25zdCBlbGVtZW50Q2xhc3NOYW1lID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgdGhpcy5wcm9wcy5jbGFzc05hbWVNb2RpZmllciA/XG4gICAgICBgYmxvZy1wb3N0X19zaWJsaW5ncy1saXN0LS0keyB0aGlzLnByb3BzLmNsYXNzTmFtZU1vZGlmaWVyIH1gIDogJyc7XG4gICAgbGV0IGNvbnRlbnQgPSBbXTtcbiAgICAvLyBhc2lkZSBhbmQgdGV4dCBjb250ZW50IGFyZSB3cmFwcGVkIHRvZ2V0aGVyIGludG8gYSBjb21wb25lbnQuXG4gICAgLy8gdGhhdCBtYWtlcyBpdCBlYXNpZXIgdG8gbW92ZSB0aGUgYXNpZGUgYXJvdW5kIHJlbGF0aXZlbHkgdG8gaXRzIGNvbnRhaW50ZXJcbiAgICBjb25zdCBhc2lkZWFibGVDb250ZW50ID0gW107XG4gICAgbGV0IHNlY3Rpb25EYXRlQXV0aG9yID0gW107XG4gICAgY29udGVudCA9IHRoaXMuYWRkUnVicmljKGNvbnRlbnQsIHRoaXMucHJvcHMucnVicmljKTtcbiAgICBzZWN0aW9uRGF0ZUF1dGhvciA9IHRoaXMuYWRkQmxvZ1Bvc3RTZWN0aW9uKHNlY3Rpb25EYXRlQXV0aG9yLCB0aGlzLnByb3BzLnNlY3Rpb24sIHRoaXMucHJvcHMuc2VjdGlvblVybCk7XG4gICAgc2VjdGlvbkRhdGVBdXRob3IgPSB0aGlzLmFkZERhdGVUaW1lKHNlY3Rpb25EYXRlQXV0aG9yLCB0aGlzLnByb3BzKTtcbiAgICBzZWN0aW9uRGF0ZUF1dGhvciA9IHRoaXMuYWRkQnlMaW5lKHNlY3Rpb25EYXRlQXV0aG9yLCB0aGlzLnByb3BzLmJ5bGluZSk7XG4gICAgaWYgKHNlY3Rpb25EYXRlQXV0aG9yLmxlbmd0aCkge1xuICAgICAgYXNpZGVhYmxlQ29udGVudC5wdXNoKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19zZWN0aW9uLWRhdGUtYXV0aG9yXCJcbiAgICAgICAgICBrZXk9XCJibG9nLXBvc3RfX3NlY3Rpb24tZGF0ZS1hdXRob3JcIlxuICAgICAgICA+XG4gICAgICAgICAge3NlY3Rpb25EYXRlQXV0aG9yfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gU2hhcmUgYmFyIHB1YmxpY2F0aW9uRGF0ZSBmb3JtYXR0ZWRcbiAgICBsZXQgc2hhcmVCYXJQdWJsaWNhdGVEYXRlID0gbmV3IERhdGUodGhpcy5wcm9wcy5wdWJsaWNhdGlvbkRhdGUgKiAxMDAwKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgc2hhcmVCYXJQdWJsaWNhdGVEYXRlID0gYCR7IFN0cmluZyhzaGFyZUJhclB1YmxpY2F0ZURhdGUuZ2V0RnVsbFllYXIoKSkgfVxuICAgICR7IFN0cmluZyh0d29EaWdpdHMoc2hhcmVCYXJQdWJsaWNhdGVEYXRlLmdldE1vbnRoKCkgKyAxKSkgfVxuICAgICR7IFN0cmluZyh0d29EaWdpdHMoc2hhcmVCYXJQdWJsaWNhdGVEYXRlLmdldERhdGUoKSkpIH1gLnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gICAgY29uc3Qgc2hhcmVCYXJEZWZhdWx0ID1cbiAgICAgICg8U2hhcmVCYXJcbiAgICAgICAga2V5PVwic2hhcmViYXJcIlxuICAgICAgICB0eXBlPXt0aGlzLnByb3BzLnR5cGUgPT09ICdwb3N0JyA/ICdCTCcgOiAnQSd9XG4gICAgICAgIHRpdGxlPXt0aGlzLnByb3BzLnRpdGxlfVxuICAgICAgICBmbHlUaXRsZT17dGhpcy5wcm9wcy5mbHlUaXRsZX1cbiAgICAgICAgcHVibGljYXRpb25EYXRlPXtzaGFyZUJhclB1YmxpY2F0ZURhdGV9XG4gICAgICAgIGNvbnRlbnRJRD17dGhpcy5wcm9wcy5pZH1cbiAgICAgICAvPik7XG4gICAgYXNpZGVhYmxlQ29udGVudC5wdXNoKFxuICAgICAgc2hhcmVCYXJEZWZhdWx0XG4gICAgKTtcbiAgICBjb25zdCB3cmFwcGVkSW5uZXJDb250ZW50ID0gdGhpcy5nZW5lcmF0ZVdyYXBwZWRJbm5lckNvbnRlbnQoYXNpZGVhYmxlQ29udGVudCk7XG4gICAgY29udGVudC5wdXNoKDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19pbm5lclwiIGtleT1cImlubmVyLWNvbnRlbnRcIj57d3JhcHBlZElubmVyQ29udGVudH08L2Rpdj4pO1xuICAgIGNvbnN0IHsgY29tbWVudENvdW50LCBjb21tZW50U3RhdHVzIH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBjb21tZW50U2VjdGlvbiA9IG51bGw7XG4gICAgaWYgKGNvbW1lbnRTdGF0dXMgIT09ICdkaXNhYmxlZCcgJiYgIShjb21tZW50U3RhdHVzID09PSAncmVhZG9ubHknICYmIGNvbW1lbnRDb3VudCA9PT0gMCkpIHtcbiAgICAgIGNvbW1lbnRTZWN0aW9uID0gKFxuICAgICAgICA8Q29tbWVudHNcbiAgICAgICAgICBrZXk9XCJibG9nLXBvc3RfX2NvbW1lbnRzXCJcbiAgICAgICAgICBmaXJzdFRvQ29tbWVudExhYmVsPXt0aGlzLnByb3BzLmZpcnN0VG9Db21tZW50TGFiZWx9XG4gICAgICAgICAgY29tbWVudENvdW50PXtjb21tZW50Q291bnR9XG4gICAgICAgICAgdmlld0NvbW1lbnRzTGFiZWw9e3RoaXMucHJvcHMudmlld0NvbW1lbnRzTGFiZWx9XG4gICAgICAgICAgY29tbWVudHNVcmk9e3RoaXMucHJvcHMuY29tbWVudHNVcml9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICBjb250ZW50LnB1c2goXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYm90dG9tLXBhbmVsXCIga2V5PVwiYmxvZy1wb3N0X19ib3R0b20tcGFuZWxcIj5cbiAgICAgICAge3NoYXJlQmFyRGVmYXVsdH1cbiAgICAgICAge2NvbW1lbnRTZWN0aW9ufVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgICB0aGlzLm1vdmVCb3R0b21Nb2JpbGVBZChjb250ZW50KTtcblxuICAgIGNvbnN0IFRpdGxlQ29tcG9uZW50ID0gdGhpcy5wcm9wcy5UaXRsZUNvbXBvbmVudDtcbiAgICBjb25zdCBhcnRpY2xlSGVhZGVyID0gc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgPyAoXG4gICAgICA8c3BhbiBjbGFzc05hbWU9e2BibG9nLXBvc3RfX3NpYmxpbmdzLWxpc3QtaGVhZGVyICR7IGVsZW1lbnRDbGFzc05hbWUgfWB9PlxuICAgICAgICB7c2libGluZ3NMaXN0VGl0bGV9XG4gICAgICA8L3NwYW4+XG4gICAgKSA6IG51bGw7XG4gICAgY29uc3Qgc2libGluZ0xpc3RQcm9wcyA9IHtcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBzaWJsaW5nc0xpc3RUaXRsZSxcbiAgICAgIGVsZW1lbnRDbGFzc05hbWUsXG4gICAgICBjb250ZW50LFxuICAgICAgaXNzdWVTaWJsaW5nc0xpc3QsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uLFxuICAgICAgbmV4dEFydGljbGVMaW5rLFxuICAgICAgcHJpbnRFZGl0aW9uLFxuICAgIH07XG4gICAgdGhpcy5hZGRTaWJsaW5nc0xpc3Qoc2libGluZ0xpc3RQcm9wcyk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhcnRpY2xlXG4gICAgICAgIGl0ZW1TY29wZVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2Jsb2ctcG9zdCcsIHRoaXMucHJvcHMuY2xhc3NOYW1lKX1cbiAgICAgICAgaXRlbVByb3A9e3RoaXMucHJvcHMuaXRlbVByb3B9XG4gICAgICAgIGl0ZW1UeXBlPXt0aGlzLnByb3BzLml0ZW1UeXBlfVxuICAgICAgICByb2xlPVwiYXJ0aWNsZVwiXG4gICAgICAgIHJlZj1cImFydGljbGVcIlxuICAgICAgPlxuICAgICAgICB7YXJ0aWNsZUhlYWRlcn1cbiAgICAgICAgPFRpdGxlQ29tcG9uZW50XG4gICAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMudGl0bGV9XG4gICAgICAgICAgZmx5VGl0bGU9e2dlbmVyYXRlQmxvZ1Bvc3RGbHlUaXRsZShzaG93U2libGluZ0FydGljbGVzTGlzdCwgc2libGluZ0xpc3RTaWRlVGl0bGUsIGZseVRpdGxlKX1cbiAgICAgICAgICBIZWFkaW5nPXtcImgxXCJ9XG4gICAgICAgICAgdGl0bGVDbGFzc05hbWU9e3Nob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID9cbiAgICAgICAgICAgIGBmbHl0aXRsZS1hbmQtdGl0bGVfX3NpYmxpbmdzLWxpc3QtdGl0bGUgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnfVxuICAgICAgICAgIGZseVRpdGxlQ2xhc3NOYW1lPXtzaG93U2libGluZ0FydGljbGVzTGlzdCA/XG4gICAgICAgICAgICBgZmx5dGl0bGUtYW5kLXRpdGxlX19zaWJsaW5ncy1saXN0LWZseXRpdGxlICR7IGVsZW1lbnRDbGFzc05hbWUgfWAgOiAnJ31cbiAgICAgICAgLz5cbiAgICAgICAge2NvbnRlbnR9XG4gICAgICA8L2FydGljbGU+XG4gICAgKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZW5lcmF0ZUJsb2dQb3N0Rmx5VGl0bGUiLCJ0d29EaWdpdHMiLCJpbnQiLCJzaG93U2libGluZ0FydGljbGVzTGlzdCIsInNpYmxpbmdMaXN0VGl0bGUiLCJmbHlUaXRsZSIsImJsb2dGbHlUaXRsZSIsIkJsb2dQb3N0IiwiYWRkRGF0ZVRpbWUiLCJzZWN0aW9uRGF0ZUF1dGhvciIsInByb3BzIiwiZGF0ZVRpbWUiLCJkYXRlRm9ybWF0IiwiZGF0ZVN0cmluZyIsInRpbWVzdGFtcElTTyIsInJlc3VsdCIsInNsaWNlIiwiY29uY2F0IiwiYWRkTG9jYXRpb25DcmVhdGVkIiwibG9jYXRpb25DcmVhdGVkIiwiYWRkSW1hZ2UiLCJjb250ZW50IiwiaW1hZ2UiLCJibG9nSW1hZ2UiLCJzcmMiLCJjYXB0aW9uIiwiYWx0IiwiaW1hZ2VDYXB0aW9uIiwiYWRkUnVicmljIiwicnVicmljIiwiYWRkQmxvZ1Bvc3RTZWN0aW9uIiwic2VjdGlvbiIsInNlY3Rpb25VcmwiLCJ0ZXN0IiwiYmxvZ1Bvc3RTZWN0aW9uIiwiYWRkQnlMaW5lIiwiYnlsaW5lIiwiZmlsdGVyQmxvZ1Bvc3RUZXh0RWxlbWVudHMiLCJpbm5lckNvbnRlbnRFbGVtZW50cyIsImZpbHRlciIsImNvbnRlbnRFbGVtZW50IiwiaW5uZXJDb250ZW50Iiwia2V5IiwiY2hpbGRyZW4iLCJibG9nUG9zdFRleHRFbGVtZW50cyIsImJsb2dQb3N0VGV4dCIsInRleHQiLCJtb3ZlQm90dG9tTW9iaWxlQWQiLCJudW1iZXJPZlBhcmFncmFwaHMiLCJsZW5ndGgiLCJtb2JpbGVBZCIsInBvcCIsInB1c2giLCJhZGRTaWJsaW5nc0xpc3QiLCJzaWJsaW5nTGlzdFByb3BzIiwic2libGluZ3NMaXN0VGl0bGUiLCJlbGVtZW50Q2xhc3NOYW1lIiwiaXNzdWVTaWJsaW5nc0xpc3QiLCJhcnRpY2xlTGlzdFBvc2l0aW9uIiwibmV4dEFydGljbGVMaW5rIiwicHJpbnRFZGl0aW9uIiwic2libGluZ0FydGljbGVzIiwic2lkZVRleHQiLCJzaWJsaW5nTGlzdFNpZGVUaXRsZSIsImFydGljbGVGb290Tm90ZSIsInNpYmxpbmdMaXN0RGF0YSIsInNpYmxpbmdBcnRpY2xlc0xpc3QiLCJzcGxpY2UiLCJnZW5lcmF0ZVdyYXBwZWRJbm5lckNvbnRlbnQiLCJhc2lkZWFibGVDb250ZW50Iiwid3JhcHBlZElubmVyQ29udGVudCIsImF1dGhvciIsImFmdGVyVGV4dCIsInJlbmRlciIsInNlY3Rpb25OYW1lIiwiY2xhc3NOYW1lTW9kaWZpZXIiLCJzaGFyZUJhclB1YmxpY2F0ZURhdGUiLCJEYXRlIiwicHVibGljYXRpb25EYXRlIiwiU3RyaW5nIiwiZ2V0RnVsbFllYXIiLCJnZXRNb250aCIsImdldERhdGUiLCJyZXBsYWNlIiwic2hhcmVCYXJEZWZhdWx0IiwidHlwZSIsInRpdGxlIiwiaWQiLCJjb21tZW50Q291bnQiLCJjb21tZW50U3RhdHVzIiwiY29tbWVudFNlY3Rpb24iLCJmaXJzdFRvQ29tbWVudExhYmVsIiwidmlld0NvbW1lbnRzTGFiZWwiLCJjb21tZW50c1VyaSIsIlRpdGxlQ29tcG9uZW50IiwiYXJ0aWNsZUhlYWRlciIsImNsYXNzTmFtZSIsIml0ZW1Qcm9wIiwiaXRlbVR5cGUiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJzaGFwZSIsIm5vZGUiLCJpc1JlcXVpcmVkIiwiZnVuYyIsImluc3RhbmNlT2YiLCJvbmVPZlR5cGUiLCJudW1iZXIiLCJvbmVPZiIsIm9iamVjdCIsImFycmF5T2YiLCJib29sIiwiZGF0ZSIsInRlbk1pbnV0ZXMiLCJhZGRQb3N0Rml4IiwiZGF5IiwiZGF5c3RyIiwidG9TdHJpbmciLCJsYXN0Q2hhciIsImNoYXJBdCIsInBvc3RGaXgiLCJzaG9ydE1vbnRoTGlzdCIsIm1pbnV0ZXMiLCJnZXRNaW51dGVzIiwiZ2V0SG91cnMiLCJqb2luIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7UUFrQmdCQSx3QixHQUFBQSx3Qjs7QUFs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O0FBSUQ7QUF0Q0ksT0FBUDtBQXdDRDs7OztFQWhHbUMsZ0JBQU1DLFM7O2tCQUF2QnZILFEiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXV0aG9yIGZyb20gJy4vcGFydHMvYXV0aG9yJztcbmltcG9ydCBCbG9nUG9zdEltYWdlIGZyb20gJy4vcGFydHMvYmxvZy1wb3N0LWltYWdlJztcbmltcG9ydCBCbG9nUG9zdFNlY3Rpb24gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2VjdGlvbic7XG5pbXBvcnQgQ29tbWVudHMgZnJvbSAnLi9wYXJ0cy9jb21tZW50cyc7XG5pbXBvcnQgSW1hZ2VDYXB0aW9uIGZyb20gJy4vcGFydHMvaW1hZ2UtY2FwdGlvbic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJ1YnJpYyBmcm9tICcuL3BhcnRzL3J1YnJpYyc7XG5pbXBvcnQgU2hhcmVCYXIgZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2hhcmViYXInO1xuaW1wb3J0IFRleHQgZnJvbSAnLi9wYXJ0cy90ZXh0JztcbmltcG9ydCB7IHNpYmxpbmdMaXN0IH0gZnJvbSAnLi9wYXJ0cy9ibG9nLXBvc3Qtc2libGluZ3MtbGlzdCc7XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVybEpvaW4gZnJvbSAndXJsLWpvaW4nO1xuXG5mdW5jdGlvbiB0d29EaWdpdHMoaW50KSB7XG4gIHJldHVybiBpbnQgPiA5ID8gJycgKyBpbnQgOiAnMCcgKyBpbnQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQmxvZ1Bvc3RGbHlUaXRsZShcbiAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gIHNpYmxpbmdMaXN0VGl0bGUsXG4gIGZseVRpdGxlXG4pIHtcbiAgbGV0IGJsb2dGbHlUaXRsZSA9IGZseVRpdGxlO1xuICBpZiAoc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgJiYgc2libGluZ0xpc3RUaXRsZSAhPT0gZmx5VGl0bGUpIHtcbiAgICBibG9nRmx5VGl0bGUgPSBgJHsgc2libGluZ0xpc3RUaXRsZSB9OiAkeyBmbHlUaXRsZSB9YDtcbiAgfVxuICByZXR1cm4gYmxvZ0ZseVRpdGxlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCbG9nUG9zdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcFR5cGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjbGFzc05hbWU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBpbWFnZTogUmVhY3QuUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgc3JjOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBjYXB0aW9uOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBhbHQ6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB9KSxcbiAgICAgIGF1dGhvcjogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGJ5bGluZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHNlY3Rpb246IFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgc2VjdGlvblVybDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGZseVRpdGxlOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdGl0bGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHR5cGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGlkOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBwdWJsaWNhdGlvbkRhdGU6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIFRpdGxlQ29tcG9uZW50OiBSZWFjdC5Qcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgICAgcnVicmljOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgZGF0ZVRpbWU6IFJlYWN0LlByb3BUeXBlcy5pbnN0YW5jZU9mKERhdGUpLFxuICAgICAgZGF0ZVN0cmluZzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHRpbWVzdGFtcElTTzogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGRhdGVGb3JtYXQ6IFJlYWN0LlByb3BUeXBlcy5mdW5jLFxuICAgICAgbG9jYXRpb25DcmVhdGVkOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdGV4dDogUmVhY3QuUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIFJlYWN0LlByb3BUeXBlcy5ub2RlLFxuICAgICAgXSkuaXNSZXF1aXJlZCxcbiAgICAgIGFmdGVyVGV4dDogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBpdGVtVHlwZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGl0ZW1Qcm9wOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgY29tbWVudENvdW50OiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gICAgICBjb21tZW50U3RhdHVzOiBSZWFjdC5Qcm9wVHlwZXMub25lT2YoW1xuICAgICAgICAnZGlzYWJsZWQnLFxuICAgICAgICAncmVhZG9ubHknLFxuICAgICAgICAncmVhZHdyaXRlJyxcbiAgICAgICAgJ2ZiY29tbWVudHBsdWdpbicsXG4gICAgICBdKS5pc1JlcXVpcmVkLFxuICAgICAgZmlyc3RUb0NvbW1lbnRMYWJlbDogUmVhY3QuUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgICAgdmlld0NvbW1lbnRzTGFiZWw6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIGNvbW1lbnRzVXJpOiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgICBibG9nSW1hZ2U6IFJlYWN0LlByb3BUeXBlcy5vYmplY3QsXG4gICAgICBzZWN0aW9uTmFtZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGlzc3VlU2libGluZ3NMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYXJyYXlPZihSZWFjdC5Qcm9wVHlwZXMub2JqZWN0KSxcbiAgICAgIHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0OiBSZWFjdC5Qcm9wVHlwZXMuYm9vbCxcbiAgICAgIHNpZGVUZXh0OiBSZWFjdC5Qcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbmV4dEFydGljbGVMaW5rOiBSZWFjdC5Qcm9wVHlwZXMubm9kZSxcbiAgICAgIGFydGljbGVGb290Tm90ZTogUmVhY3QuUHJvcFR5cGVzLm5vZGUsXG4gICAgICBhcnRpY2xlTGlzdFBvc2l0aW9uOiBSZWFjdC5Qcm9wVHlwZXMubnVtYmVyLFxuICAgICAgY2xhc3NOYW1lTW9kaWZpZXI6IFJlYWN0LlByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBzaWJsaW5nTGlzdFNpZGVUaXRsZTogUmVhY3QuUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHByaW50RWRpdGlvbjogUmVhY3QuUHJvcFR5cGVzLmJvb2wsXG4gICAgfTtcbiAgfVxuICBzdGF0aWMgZ2V0IGRlZmF1bHRQcm9wcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXRlbVR5cGU6ICdodHRwOi8vc2NoZW1hLm9yZy9CbG9nUG9zdGluZycsXG4gICAgICBpdGVtUHJvcDogJ2Jsb2dQb3N0JyxcbiAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw6ICdCZSB0aGUgZmlyc3QgdG8gY29tbWVudCcsXG4gICAgICB2aWV3Q29tbWVudHNMYWJlbDogJ1ZpZXcgY29tbWVudHMnLFxuICAgICAgZGF0ZUZvcm1hdDogKGRhdGUpID0+IHtcbiAgICAgICAgY29uc3QgdGVuTWludXRlcyA9IDEwO1xuICAgICAgICAvLyBTZXAgMTl0aCAyMDE1LCA5OjQ5XG4gICAgICAgIGZ1bmN0aW9uIGFkZFBvc3RGaXgoZGF5KSB7XG4gICAgICAgICAgY29uc3QgZGF5c3RyID0gZGF5LnRvU3RyaW5nKCk7XG4gICAgICAgICAgY29uc3QgbGFzdENoYXIgPSBkYXlzdHIuY2hhckF0KGRheXN0ci5sZW5ndGggLSAxKTtcbiAgICAgICAgICBsZXQgcG9zdEZpeCA9ICcnO1xuICAgICAgICAgIHN3aXRjaCAobGFzdENoYXIpIHtcbiAgICAgICAgICAgIGNhc2UgJzEnOlxuICAgICAgICAgICAgICBwb3N0Rml4ID0gJ3N0JztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICcyJzpcbiAgICAgICAgICAgICAgcG9zdEZpeCA9ICduZCc7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMyc6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAncmQnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHBvc3RGaXggPSAndGgnO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGAkeyBkYXkgfSR7IHBvc3RGaXggfWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2hvcnRNb250aExpc3QgPSBbXG4gICAgICAgICAgJ0phbicsICdGZWInLCAnTWFyJywgJ0FwcicsICdNYXknLCAnSnVuJyxcbiAgICAgICAgICAnSnVsJywgJ0F1ZycsICdTZXAnLCAnT2N0JywgJ05vdicsICdEZWMnLFxuICAgICAgICBdO1xuICAgICAgICBsZXQgbWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpIDwgdGVuTWludXRlcyA/ICcwJyA6ICcnO1xuICAgICAgICBtaW51dGVzICs9IGRhdGUuZ2V0TWludXRlcygpO1xuICAgICAgICByZXR1cm4gWyBgJHsgc2hvcnRNb250aExpc3RbZGF0ZS5nZXRNb250aCgpXSB9YCxcbiAgICAgICAgICBgJHsgYWRkUG9zdEZpeChkYXRlLmdldERhdGUoKSkgfWAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0RnVsbFllYXIoKSB9LGAsXG4gICAgICAgICAgYCR7IGRhdGUuZ2V0SG91cnMoKSB9OiR7IG1pbnV0ZXMgfWAgXS5qb2luKCcgJyk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhZGREYXRlVGltZShzZWN0aW9uRGF0ZUF1dGhvciwgcHJvcHMpIHtcbiAgICBjb25zdCB7IGRhdGVUaW1lLCBkYXRlRm9ybWF0LCBkYXRlU3RyaW5nLCB0aW1lc3RhbXBJU08gfSA9IHByb3BzO1xuICAgIGxldCByZXN1bHQgPSBzZWN0aW9uRGF0ZUF1dGhvci5zbGljZSgpO1xuICAgIGlmIChkYXRlVGltZSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LmNvbmNhdCgoXG4gICAgICAgIDx0aW1lXG4gICAgICAgICAgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgICAgaXRlbVByb3A9XCJkYXRlQ3JlYXRlZFwiXG4gICAgICAgICAgZGF0ZVRpbWU9e3RoaXMucHJvcHMuZGF0ZVRpbWV9XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZVwiXG4gICAgICAgID57ZGF0ZUZvcm1hdChkYXRlVGltZSl9PC90aW1lPikpO1xuICAgIH1cbiAgICBpZiAoZGF0ZVN0cmluZyAmJiB0aW1lc3RhbXBJU08pIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoKFxuICAgICAgICA8dGltZVxuICAgICAgICAgIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fZGF0ZXRpbWVcIlxuICAgICAgICAgIGl0ZW1Qcm9wPVwiZGF0ZUNyZWF0ZWRcIlxuICAgICAgICAgIGRhdGVUaW1lPXt0aW1lc3RhbXBJU099XG4gICAgICAgICAga2V5PVwiYmxvZy1wb3N0X19kYXRldGltZUlTT1wiXG4gICAgICAgID57ZGF0ZVN0cmluZ308L3RpbWU+KSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhZGRMb2NhdGlvbkNyZWF0ZWQoc2VjdGlvbkRhdGVBdXRob3IsIGxvY2F0aW9uQ3JlYXRlZCkge1xuICAgIGlmIChsb2NhdGlvbkNyZWF0ZWQpIHtcbiAgICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gc2VjdGlvbkRhdGVBdXRob3IuY29uY2F0KChcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2xvY2F0aW9uLWNyZWF0ZWRcIlxuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fbG9jYXRpb24tY3JlYXRlZFwiXG4gICAgICAgID57YCB8ICR7IGxvY2F0aW9uQ3JlYXRlZCB9YH08L3NwYW4+XG4gICAgICApKTtcbiAgICB9XG4gICAgcmV0dXJuIHNlY3Rpb25EYXRlQXV0aG9yO1xuICB9XG5cbiAgYWRkSW1hZ2UoY29udGVudCwgaW1hZ2UgPSB7fSkge1xuICAgIGlmICh0aGlzLnByb3BzLmJsb2dJbWFnZSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uY29udGVudCxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5ibG9nSW1hZ2UsXG4gICAgICBdO1xuICAgIH0gZWxzZSBpZiAoaW1hZ2UpIHtcbiAgICAgIGNvbnN0IHsgc3JjLCBjYXB0aW9uLCBhbHQgfSA9IGltYWdlO1xuICAgICAgaWYgKHNyYykge1xuICAgICAgICBjb25zdCBpbWFnZUNhcHRpb24gPSBjYXB0aW9uID8gPEltYWdlQ2FwdGlvbiBjYXB0aW9uPXtjYXB0aW9ufSBrZXk9XCJibG9nLXBvc3RfX2ltYWdlLWNhcHRpb25cIiAvPiA6IG51bGw7XG4gICAgICAgIHJldHVybiBjb250ZW50LmNvbmNhdChcbiAgICAgICAgICA8QmxvZ1Bvc3RJbWFnZVxuICAgICAgICAgICAga2V5PVwiYmxvZ2ltZ1wiXG4gICAgICAgICAgICBjYXB0aW9uPXtpbWFnZUNhcHRpb259XG4gICAgICAgICAgICBzcmM9e3NyY31cbiAgICAgICAgICAgIGFsdD17YWx0fVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgYWRkUnVicmljKGNvbnRlbnQsIHJ1YnJpYykge1xuICAgIGlmIChydWJyaWMpIHtcbiAgICAgIHJldHVybiBjb250ZW50LmNvbmNhdCg8UnVicmljIHJ1YnJpYz17cnVicmljfSBrZXk9XCJibG9nLXBvc3RfX3J1YnJpY1wiIC8+KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICBhZGRCbG9nUG9zdFNlY3Rpb24oc2VjdGlvbkRhdGVBdXRob3IsIHNlY3Rpb24sIHNlY3Rpb25VcmwpIHtcbiAgICBpZiAoc2VjdGlvbikge1xuICAgICAgaWYgKHNlY3Rpb25VcmwgJiYgIS9eKFxcdys6KT9cXC9cXC8vLnRlc3Qoc2VjdGlvblVybCkpIHtcbiAgICAgICAgc2VjdGlvblVybCA9IHVybEpvaW4oJy8nLCBzZWN0aW9uVXJsKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGJsb2dQb3N0U2VjdGlvbiA9IHNlY3Rpb25VcmwgPyAoXG4gICAgICAgIDxhIGhyZWY9e3NlY3Rpb25Vcmx9IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fc2VjdGlvbi1saW5rXCI+XG4gICAgICAgICAge3NlY3Rpb259XG4gICAgICAgIDwvYT5cbiAgICAgICkgOiBzZWN0aW9uO1xuICAgICAgcmV0dXJuIHNlY3Rpb25EYXRlQXV0aG9yLmNvbmNhdChcbiAgICAgICAgPEJsb2dQb3N0U2VjdGlvbiBrZXk9XCJibG9nLXBvc3RfX3NlY3Rpb25cIiBzZWN0aW9uPXtibG9nUG9zdFNlY3Rpb259IC8+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3I7XG4gIH1cblxuICBhZGRCeUxpbmUoc2VjdGlvbkRhdGVBdXRob3IsIGJ5bGluZSkge1xuICAgIGlmIChieWxpbmUpIHtcbiAgICAgIHJldHVybiBzZWN0aW9uRGF0ZUF1dGhvci5jb25jYXQoXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYnlsaW5lLWNvbnRhaW5lclwiIGtleT1cImJsb2ctcG9zdF9fYnlsaW5lLWNvbnRhaW5lclwiPlxuICAgICAgICAgIHtcImJ5IFwifVxuICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2J5bGluZVwiXG4gICAgICAgICAgICBpdGVtUHJvcD1cImF1dGhvclwiXG4gICAgICAgICAgPntieWxpbmV9PC9zcGFuPlxuICAgICAgICA8L3A+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc2VjdGlvbkRhdGVBdXRob3I7XG4gIH1cblxuICBmaWx0ZXJCbG9nUG9zdFRleHRFbGVtZW50cyhjb250ZW50KSB7XG4gICAgY29uc3QgaW5uZXJDb250ZW50RWxlbWVudHMgPSBjb250ZW50LmZpbHRlcigoY29udGVudEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGlubmVyQ29udGVudCA9IGNvbnRlbnRFbGVtZW50LmtleSA9PT0gJ2lubmVyLWNvbnRlbnQnO1xuICAgICAgcmV0dXJuIGlubmVyQ29udGVudDtcbiAgICB9KVswXS5wcm9wcy5jaGlsZHJlbjtcbiAgICBjb25zdCBibG9nUG9zdFRleHRFbGVtZW50cyA9IGlubmVyQ29udGVudEVsZW1lbnRzLmZpbHRlcigoY29udGVudEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IGJsb2dQb3N0VGV4dCA9IGNvbnRlbnRFbGVtZW50LmtleSA9PT0gJ2Jsb2ctcG9zdF9fdGV4dCc7XG4gICAgICByZXR1cm4gYmxvZ1Bvc3RUZXh0O1xuICAgIH0pWzBdLnByb3BzLnRleHQ7XG4gICAgcmV0dXJuIGJsb2dQb3N0VGV4dEVsZW1lbnRzO1xuICB9XG5cbiAgbW92ZUJvdHRvbU1vYmlsZUFkKGNvbnRlbnQpIHtcbiAgICBjb25zdCBibG9nUG9zdFRleHQgPSB0aGlzLmZpbHRlckJsb2dQb3N0VGV4dEVsZW1lbnRzKGNvbnRlbnQpO1xuICAgIGNvbnN0IG51bWJlck9mUGFyYWdyYXBocyA9IGJsb2dQb3N0VGV4dC5sZW5ndGg7XG4gICAgY29uc3QgbW9iaWxlQWQgPSBibG9nUG9zdFRleHRbbnVtYmVyT2ZQYXJhZ3JhcGhzIC0gMV07XG4gICAgaWYgKG1vYmlsZUFkKSB7XG4gICAgICBibG9nUG9zdFRleHQucG9wKCk7XG4gICAgICBjb250ZW50LnB1c2gobW9iaWxlQWQpO1xuICAgIH1cbiAgfVxuXG5cbiAgYWRkU2libGluZ3NMaXN0KHNpYmxpbmdMaXN0UHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBzaG93U2libGluZ0FydGljbGVzTGlzdCxcbiAgICAgIGZseVRpdGxlLFxuICAgICAgc2libGluZ3NMaXN0VGl0bGUsXG4gICAgICBlbGVtZW50Q2xhc3NOYW1lLFxuICAgICAgY29udGVudCxcbiAgICAgIGlzc3VlU2libGluZ3NMaXN0LFxuICAgICAgYXJ0aWNsZUxpc3RQb3NpdGlvbixcbiAgICAgIG5leHRBcnRpY2xlTGluayxcbiAgICAgIHByaW50RWRpdGlvbixcbiAgICB9ID0gc2libGluZ0xpc3RQcm9wcztcbiAgICBjb25zdCBzaWJsaW5nQXJ0aWNsZXMgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCAmJiBpc3N1ZVNpYmxpbmdzTGlzdCA/XG4gICAgaXNzdWVTaWJsaW5nc0xpc3QgOiBudWxsO1xuICAgIGNvbnN0IHsgc2lkZVRleHQsIHNpYmxpbmdMaXN0U2lkZVRpdGxlLCBhcnRpY2xlRm9vdE5vdGUgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qgc2libGluZ0xpc3REYXRhID0ge1xuICAgICAgc2libGluZ0FydGljbGVzLFxuICAgICAgZmx5VGl0bGUsXG4gICAgICBlbGVtZW50Q2xhc3NOYW1lLFxuICAgICAgc2libGluZ3NMaXN0VGl0bGUsXG4gICAgICBzaWRlVGV4dCxcbiAgICAgIHNpYmxpbmdMaXN0U2lkZVRpdGxlLFxuICAgIH07XG4gICAgY29uc3Qgc2libGluZ0FydGljbGVzTGlzdCA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID8gc2libGluZ0xpc3Qoc2libGluZ0xpc3REYXRhKSA6IG51bGw7XG4gICAgbGV0IGJsb2dQb3N0VGV4dEVsZW1lbnRzID0gbnVsbDtcbiAgICBpZiAoc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgfHwgYXJ0aWNsZUZvb3ROb3RlKSB7XG4gICAgICBibG9nUG9zdFRleHRFbGVtZW50cyA9IHRoaXMuZmlsdGVyQmxvZ1Bvc3RUZXh0RWxlbWVudHMoY29udGVudCk7XG4gICAgfVxuICAgIGlmIChzaG93U2libGluZ0FydGljbGVzTGlzdCAmJiAoYmxvZ1Bvc3RUZXh0RWxlbWVudHMgfHwgKGNvbnRlbnQgJiYgbmV4dEFydGljbGVMaW5rKSkpIHtcbiAgICAgIGJsb2dQb3N0VGV4dEVsZW1lbnRzLnNwbGljZShhcnRpY2xlTGlzdFBvc2l0aW9uLCAwLCBzaWJsaW5nQXJ0aWNsZXNMaXN0KTtcbiAgICAgIGNvbnRlbnQuc3BsaWNlKGNvbnRlbnQubGVuZ3RoIC0gMSwgMCwgbmV4dEFydGljbGVMaW5rKTtcbiAgICB9XG4gICAgaWYgKGFydGljbGVGb290Tm90ZSAmJiBwcmludEVkaXRpb24pIHtcbiAgICAgIGJsb2dQb3N0VGV4dEVsZW1lbnRzLnB1c2goYXJ0aWNsZUZvb3ROb3RlKTtcbiAgICB9XG4gIH1cblxuICBnZW5lcmF0ZVdyYXBwZWRJbm5lckNvbnRlbnQoYXNpZGVhYmxlQ29udGVudCkge1xuICAgIGxldCB3cmFwcGVkSW5uZXJDb250ZW50ID0gW107XG4gICAgd3JhcHBlZElubmVyQ29udGVudCA9IHRoaXMuYWRkSW1hZ2Uod3JhcHBlZElubmVyQ29udGVudCwgdGhpcy5wcm9wcy5pbWFnZSk7XG4gICAgaWYgKGFzaWRlYWJsZUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2ctcG9zdF9fYXNpZGVhYmxlLXdyYXBwZXJcIiBrZXk9XCJhc2lkZWFibGUtY29udGVudFwiXG4gICAgICAgICAgcmVmPVwiYXNpZGVhYmxlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19hc2lkZWFibGUtY29udGVudCBibG9nLXBvc3RfX2FzaWRlYWJsZS1jb250ZW50LS1tZXRhXCI+XG4gICAgICAgICAgICB7YXNpZGVhYmxlQ29udGVudH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuYXV0aG9yKSB7XG4gICAgICB3cmFwcGVkSW5uZXJDb250ZW50LnB1c2goPEF1dGhvciBrZXk9XCJibG9nLXBvc3RfX2F1dGhvclwiIGF1dGhvcj17dGhpcy5wcm9wcy5hdXRob3J9IC8+KTtcbiAgICB9XG4gICAgd3JhcHBlZElubmVyQ29udGVudC5wdXNoKDxUZXh0IHRleHQ9e3RoaXMucHJvcHMudGV4dH0ga2V5PVwiYmxvZy1wb3N0X190ZXh0XCIgLz4pO1xuICAgIHdyYXBwZWRJbm5lckNvbnRlbnQucHVzaCg8ZGl2IGtleT1cImJsb2ctcG9zdF9fYWZ0ZXItdGV4dFwiPnt0aGlzLnByb3BzLmFmdGVyVGV4dH08L2Rpdj4pO1xuICAgIHJldHVybiB3cmFwcGVkSW5uZXJDb250ZW50O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGZseVRpdGxlLFxuICAgICAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gICAgICBzaWJsaW5nTGlzdFNpZGVUaXRsZSxcbiAgICAgIGlzc3VlU2libGluZ3NMaXN0LFxuICAgICAgYXJ0aWNsZUxpc3RQb3NpdGlvbixcbiAgICAgIG5leHRBcnRpY2xlTGluayxcbiAgICAgIHByaW50RWRpdGlvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBzaWJsaW5nc0xpc3RUaXRsZSA9IHRoaXMucHJvcHMuc2VjdGlvbk5hbWU7XG4gICAgY29uc3QgZWxlbWVudENsYXNzTmFtZSA9IHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ICYmIHRoaXMucHJvcHMuY2xhc3NOYW1lTW9kaWZpZXIgP1xuICAgICAgYGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC0tJHsgdGhpcy5wcm9wcy5jbGFzc05hbWVNb2RpZmllciB9YCA6ICcnO1xuICAgIGxldCBjb250ZW50ID0gW107XG4gICAgLy8gYXNpZGUgYW5kIHRleHQgY29udGVudCBhcmUgd3JhcHBlZCB0b2dldGhlciBpbnRvIGEgY29tcG9uZW50LlxuICAgIC8vIHRoYXQgbWFrZXMgaXQgZWFzaWVyIHRvIG1vdmUgdGhlIGFzaWRlIGFyb3VuZCByZWxhdGl2ZWx5IHRvIGl0cyBjb250YWludGVyXG4gICAgY29uc3QgYXNpZGVhYmxlQ29udGVudCA9IFtdO1xuICAgIGxldCBzZWN0aW9uRGF0ZUF1dGhvciA9IFtdO1xuICAgIGNvbnRlbnQgPSB0aGlzLmFkZFJ1YnJpYyhjb250ZW50LCB0aGlzLnByb3BzLnJ1YnJpYyk7XG4gICAgc2VjdGlvbkRhdGVBdXRob3IgPSB0aGlzLmFkZEJsb2dQb3N0U2VjdGlvbihzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcy5zZWN0aW9uLCB0aGlzLnByb3BzLnNlY3Rpb25VcmwpO1xuICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gdGhpcy5hZGREYXRlVGltZShzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcyk7XG4gICAgc2VjdGlvbkRhdGVBdXRob3IgPSB0aGlzLmFkZExvY2F0aW9uQ3JlYXRlZChzZWN0aW9uRGF0ZUF1dGhvciwgdGhpcy5wcm9wcy5sb2NhdGlvbkNyZWF0ZWQpO1xuICAgIHNlY3Rpb25EYXRlQXV0aG9yID0gdGhpcy5hZGRCeUxpbmUoc2VjdGlvbkRhdGVBdXRob3IsIHRoaXMucHJvcHMuYnlsaW5lKTtcbiAgICBpZiAoc2VjdGlvbkRhdGVBdXRob3IubGVuZ3RoKSB7XG4gICAgICBhc2lkZWFibGVDb250ZW50LnB1c2goXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzc05hbWU9XCJibG9nLXBvc3RfX3NlY3Rpb24tZGF0ZS1hdXRob3JcIlxuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fc2VjdGlvbi1kYXRlLWF1dGhvclwiXG4gICAgICAgID5cbiAgICAgICAgICB7c2VjdGlvbkRhdGVBdXRob3J9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTaGFyZSBiYXIgcHVibGljYXRpb25EYXRlIGZvcm1hdHRlZFxuICAgIGxldCBzaGFyZUJhclB1YmxpY2F0ZURhdGUgPSBuZXcgRGF0ZSh0aGlzLnByb3BzLnB1YmxpY2F0aW9uRGF0ZSAqIDEwMDApIC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbiAgICBzaGFyZUJhclB1YmxpY2F0ZURhdGUgPSBgJHsgU3RyaW5nKHNoYXJlQmFyUHVibGljYXRlRGF0ZS5nZXRGdWxsWWVhcigpKSB9XG4gICAgJHsgU3RyaW5nKHR3b0RpZ2l0cyhzaGFyZUJhclB1YmxpY2F0ZURhdGUuZ2V0TW9udGgoKSArIDEpKSB9XG4gICAgJHsgU3RyaW5nKHR3b0RpZ2l0cyhzaGFyZUJhclB1YmxpY2F0ZURhdGUuZ2V0RGF0ZSgpKSkgfWAucmVwbGFjZSgvXFxzL2csICcnKTtcbiAgICBjb25zdCBzaGFyZUJhckRlZmF1bHQgPVxuICAgICAgKDxTaGFyZUJhclxuICAgICAgICBrZXk9XCJzaGFyZWJhclwiXG4gICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZSA9PT0gJ3Bvc3QnID8gJ0JMJyA6ICdBJ31cbiAgICAgICAgdGl0bGU9e3RoaXMucHJvcHMudGl0bGV9XG4gICAgICAgIGZseVRpdGxlPXt0aGlzLnByb3BzLmZseVRpdGxlfVxuICAgICAgICBwdWJsaWNhdGlvbkRhdGU9e3NoYXJlQmFyUHVibGljYXRlRGF0ZX1cbiAgICAgICAgY29udGVudElEPXt0aGlzLnByb3BzLmlkfVxuICAgICAgIC8+KTtcbiAgICBhc2lkZWFibGVDb250ZW50LnB1c2goXG4gICAgICBzaGFyZUJhckRlZmF1bHRcbiAgICApO1xuICAgIGNvbnN0IHdyYXBwZWRJbm5lckNvbnRlbnQgPSB0aGlzLmdlbmVyYXRlV3JhcHBlZElubmVyQ29udGVudChhc2lkZWFibGVDb250ZW50KTtcbiAgICBjb250ZW50LnB1c2goPGRpdiBjbGFzc05hbWU9XCJibG9nLXBvc3RfX2lubmVyXCIga2V5PVwiaW5uZXItY29udGVudFwiPnt3cmFwcGVkSW5uZXJDb250ZW50fTwvZGl2Pik7XG4gICAgY29uc3QgeyBjb21tZW50Q291bnQsIGNvbW1lbnRTdGF0dXMgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IGNvbW1lbnRTZWN0aW9uID0gbnVsbDtcbiAgICBpZiAoY29tbWVudFN0YXR1cyAhPT0gJ2Rpc2FibGVkJyAmJiAhKGNvbW1lbnRTdGF0dXMgPT09ICdyZWFkb25seScgJiYgY29tbWVudENvdW50ID09PSAwKSkge1xuICAgICAgY29tbWVudFNlY3Rpb24gPSAoXG4gICAgICAgIDxDb21tZW50c1xuICAgICAgICAgIGtleT1cImJsb2ctcG9zdF9fY29tbWVudHNcIlxuICAgICAgICAgIGZpcnN0VG9Db21tZW50TGFiZWw9e3RoaXMucHJvcHMuZmlyc3RUb0NvbW1lbnRMYWJlbH1cbiAgICAgICAgICBjb21tZW50Q291bnQ9e2NvbW1lbnRDb3VudH1cbiAgICAgICAgICB2aWV3Q29tbWVudHNMYWJlbD17dGhpcy5wcm9wcy52aWV3Q29tbWVudHNMYWJlbH1cbiAgICAgICAgICBjb21tZW50c1VyaT17dGhpcy5wcm9wcy5jb21tZW50c1VyaX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnRlbnQucHVzaChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvZy1wb3N0X19ib3R0b20tcGFuZWxcIiBrZXk9XCJibG9nLXBvc3RfX2JvdHRvbS1wYW5lbFwiPlxuICAgICAgICB7c2hhcmVCYXJEZWZhdWx0fVxuICAgICAgICB7Y29tbWVudFNlY3Rpb259XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICAgIHRoaXMubW92ZUJvdHRvbU1vYmlsZUFkKGNvbnRlbnQpO1xuXG4gICAgY29uc3QgVGl0bGVDb21wb25lbnQgPSB0aGlzLnByb3BzLlRpdGxlQ29tcG9uZW50O1xuICAgIGNvbnN0IGFydGljbGVIZWFkZXIgPSBzaG93U2libGluZ0FydGljbGVzTGlzdCA/IChcbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17YGJsb2ctcG9zdF9fc2libGluZ3MtbGlzdC1oZWFkZXIgJHsgZWxlbWVudENsYXNzTmFtZSB9YH0+XG4gICAgICAgIHtzaWJsaW5nc0xpc3RUaXRsZX1cbiAgICAgIDwvc3Bhbj5cbiAgICApIDogbnVsbDtcbiAgICBjb25zdCBzaWJsaW5nTGlzdFByb3BzID0ge1xuICAgICAgc2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QsXG4gICAgICBmbHlUaXRsZSxcbiAgICAgIHNpYmxpbmdzTGlzdFRpdGxlLFxuICAgICAgZWxlbWVudENsYXNzTmFtZSxcbiAgICAgIGNvbnRlbnQsXG4gICAgICBpc3N1ZVNpYmxpbmdzTGlzdCxcbiAgICAgIGFydGljbGVMaXN0UG9zaXRpb24sXG4gICAgICBuZXh0QXJ0aWNsZUxpbmssXG4gICAgICBwcmludEVkaXRpb24sXG4gICAgfTtcbiAgICB0aGlzLmFkZFNpYmxpbmdzTGlzdChzaWJsaW5nTGlzdFByb3BzKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGFydGljbGVcbiAgICAgICAgaXRlbVNjb3BlXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnYmxvZy1wb3N0JywgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgICBpdGVtUHJvcD17dGhpcy5wcm9wcy5pdGVtUHJvcH1cbiAgICAgICAgaXRlbVR5cGU9e3RoaXMucHJvcHMuaXRlbVR5cGV9XG4gICAgICAgIHJvbGU9XCJhcnRpY2xlXCJcbiAgICAgICAgcmVmPVwiYXJ0aWNsZVwiXG4gICAgICA+XG4gICAgICAgIHthcnRpY2xlSGVhZGVyfVxuICAgICAgICA8VGl0bGVDb21wb25lbnRcbiAgICAgICAgICB0aXRsZT17dGhpcy5wcm9wcy50aXRsZX1cbiAgICAgICAgICBmbHlUaXRsZT17Z2VuZXJhdGVCbG9nUG9zdEZseVRpdGxlKHNob3dTaWJsaW5nQXJ0aWNsZXNMaXN0LCBzaWJsaW5nTGlzdFNpZGVUaXRsZSwgZmx5VGl0bGUpfVxuICAgICAgICAgIEhlYWRpbmc9e1wiaDFcIn1cbiAgICAgICAgICB0aXRsZUNsYXNzTmFtZT17c2hvd1NpYmxpbmdBcnRpY2xlc0xpc3QgP1xuICAgICAgICAgICAgYGZseXRpdGxlLWFuZC10aXRsZV9fc2libGluZ3MtbGlzdC10aXRsZSAkeyBlbGVtZW50Q2xhc3NOYW1lIH1gIDogJyd9XG4gICAgICAgICAgZmx5VGl0bGVDbGFzc05hbWU9e3Nob3dTaWJsaW5nQXJ0aWNsZXNMaXN0ID9cbiAgICAgICAgICAgIGBmbHl0aXRsZS1hbmQtdGl0bGVfX3NpYmxpbmdzLWxpc3QtZmx5dGl0bGUgJHsgZWxlbWVudENsYXNzTmFtZSB9YCA6ICcnfVxuICAgICAgICAvPlxuICAgICAgICB7Y29udGVudH1cbiAgICAgIDwvYXJ0aWNsZT5cbiAgICApO1xuICB9XG59XG4iXX0=

2

package.json
{
"name": "@economist/component-blog-post",
"version": "1.23.2",
"version": "1.24.0",
"description": "Blog post",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/economist-components/component-blog-post",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc