@discordeno/bot 22.0.1-next.70da0ac → 22.0.1-next.720c0da
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -382,4 +382,4 @@ function transformCheckboxComponent(bot, payload) {
|
|
|
382
382
|
return checkbox;
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGVja2JveENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hHcm91cENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hHcm91cEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFL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
|
|
385
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRDaGVja2JveEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZExhYmVsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRMYWJlbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlLFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkU2VwYXJhdG9yQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0RGlzcGxheUludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSxcbiAgdHlwZSBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIE1lc3NhZ2VDb21wb25lbnRUeXBlcyxcbn0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudCwgTWVkaWFHYWxsZXJ5SXRlbSwgVW5mdXJsZWRNZWRpYUl0ZW0gfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2VDb21wb25lbnQgfCBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UpOiBDb21wb25lbnQge1xuICBsZXQgY29tcG9uZW50OiBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICAvLyBUaGlzIHN3aXRjaCBpcyBleGhhdXN0aXZlLCBzbyB3ZSBkb250IG5lZWQgdGhlIGRlZmF1bHQgY2FzZSBhbmQgVFMgZG9lcyBub3QgZXJyb3Igb3V0IGZvciB0aGUgdW4taW5pdGlhbGl6ZWQgY29tcG9uZW50IHZhcmlhYmxlXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtQWN0aW9uUm93KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5CdXR0b246XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5TdHJpbmdTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtVXNlclNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVudGlvbmFibGVTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoYW5uZWxTZWxlY3Q6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGFubmVsU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtU2VwYXJhdG9yQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0RGlzcGxheTpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVRleHREaXNwbGF5Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUxhYmVsQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5GaWxlVXBsb2FkOlxuICAgICAgY29tcG9uZW50ID0gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUmFkaW9Hcm91cDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybVJhZGlvR3JvdXBDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICBjb21wb25lbnQgPSB0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGVja2JveDpcbiAgICAgIGNvbXBvbmVudCA9IHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQsIGNvbXBvbmVudCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKTogVW5mdXJsZWRNZWRpYUl0ZW0ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMudW5mdXJsZWRNZWRpYUl0ZW07XG4gIGNvbnN0IG1lZGlhSXRlbSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFVuZnVybGVkTWVkaWFJdGVtLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnVybCAmJiBwYXlsb2FkLnVybCkgbWVkaWFJdGVtLnVybCA9IHBheWxvYWQudXJsO1xuICBpZiAocHJvcHMucHJveHlVcmwgJiYgcGF5bG9hZC5wcm94eV91cmwpIG1lZGlhSXRlbS5wcm94eVVybCA9IHBheWxvYWQucHJveHlfdXJsO1xuICBpZiAocHJvcHMuaGVpZ2h0ICYmIHBheWxvYWQuaGVpZ2h0KSBtZWRpYUl0ZW0uaGVpZ2h0ID0gcGF5bG9hZC5oZWlnaHQ7XG4gIGlmIChwcm9wcy53aWR0aCAmJiBwYXlsb2FkLndpZHRoKSBtZWRpYUl0ZW0ud2lkdGggPSBwYXlsb2FkLndpZHRoO1xuICBpZiAocHJvcHMuY29udGVudFR5cGUgJiYgcGF5bG9hZC5jb250ZW50X3R5cGUpIG1lZGlhSXRlbS5jb250ZW50VHlwZSA9IHBheWxvYWQuY29udGVudF90eXBlO1xuICBpZiAocHJvcHMuYXR0YWNobWVudElkICYmIHBheWxvYWQuYXR0YWNobWVudF9pZCkgbWVkaWFJdGVtLmF0dGFjaG1lbnRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudF9pZCk7XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLCBtZWRpYUl0ZW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0pOiBNZWRpYUdhbGxlcnlJdGVtIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lZGlhR2FsbGVyeUl0ZW07XG4gIGNvbnN0IGdhbGxlcnlJdGVtID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVkaWFHYWxsZXJ5SXRlbSwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5tZWRpYSAmJiBwYXlsb2FkLm1lZGlhKSBnYWxsZXJ5SXRlbS5tZWRpYSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKTtcbiAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGdhbGxlcnlJdGVtLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBnYWxsZXJ5SXRlbS5zcG9pbGVyID0gcGF5bG9hZC5zcG9pbGVyO1xuXG4gIHJldHVybiBib3QudHJhbnNmb3JtZXJzLmN1c3RvbWl6ZXJzLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBwYXlsb2FkLCBnYWxsZXJ5SXRlbSk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEFjdGlvblJvdykge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBhY3Rpb25Sb3cgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGFjdGlvblJvdy50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYWN0aW9uUm93LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGFjdGlvblJvdy5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBhY3Rpb25Sb3c7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjb250YWluZXIgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNvbnRhaW5lci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgY29udGFpbmVyLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmFjY2VudENvbG9yICYmIHBheWxvYWQuYWNjZW50X2NvbG9yKSBjb250YWluZXIuYWNjZW50Q29sb3IgPSBwYXlsb2FkLmFjY2VudF9jb2xvcjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSBjb250YWluZXIuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzKVxuICAgIGNvbnRhaW5lci5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpO1xuXG4gIHJldHVybiBjb250YWluZXI7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBidXR0b24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGJ1dHRvbi50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgYnV0dG9uLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGJ1dHRvbi5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgYnV0dG9uLmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG4gIGlmIChwcm9wcy5zdHlsZSAmJiBwYXlsb2FkLnN0eWxlKSBidXR0b24uc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgYnV0dG9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpO1xuICBpZiAocHJvcHMudXJsICYmIHBheWxvYWQudXJsKSBidXR0b24udXJsID0gcGF5bG9hZC51cmw7XG4gIGlmIChwcm9wcy5kaXNhYmxlZCAmJiBwYXlsb2FkLmRpc2FibGVkKSBidXR0b24uZGlzYWJsZWQgPSBwYXlsb2FkLmRpc2FibGVkO1xuICBpZiAocHJvcHMuc2t1SWQgJiYgcGF5bG9hZC5za3VfaWQpIGJ1dHRvbi5za3VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuc2t1X2lkKTtcblxuICByZXR1cm4gYnV0dG9uO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dFRleHRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQgfCBEaXNjb3JkVGV4dElucHV0SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBpbnB1dCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgaW5wdXQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGlucHV0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLnZhbHVlICYmIHBheWxvYWQudmFsdWUpIGlucHV0LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBpbnB1dC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIGl0IGlzIHRoZSBjb21wb25lbnQgb3IgdGhlIHJlc3BvbnNlXG4gIGlmICgnc3R5bGUnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuc3R5bGUgJiYgcGF5bG9hZC5zdHlsZSkgaW5wdXQuc3R5bGUgPSBwYXlsb2FkLnN0eWxlO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBpbnB1dC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gICAgaWYgKHByb3BzLmxhYmVsICYmIHBheWxvYWQubGFiZWwpIGlucHV0LmxhYmVsID0gcGF5bG9hZC5sYWJlbDtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgaW5wdXQucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5MZW5ndGggJiYgcGF5bG9hZC5taW5fbGVuZ3RoKSBpbnB1dC5taW5MZW5ndGggPSBwYXlsb2FkLm1pbl9sZW5ndGg7XG4gICAgaWYgKHByb3BzLm1heExlbmd0aCAmJiBwYXlsb2FkLm1heF9sZW5ndGgpIGlucHV0Lm1heExlbmd0aCA9IHBheWxvYWQubWF4X2xlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFN0cmluZ1NlbGVjdENvbXBvbmVudCB8IERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIHN0cmluZyBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnBsYWNlaG9sZGVyICYmIHBheWxvYWQucGxhY2Vob2xkZXIpIHNlbGVjdC5wbGFjZWhvbGRlciA9IHBheWxvYWQucGxhY2Vob2xkZXI7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIHNlbGVjdC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMpIHNlbGVjdC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKVxuICAgICAgc2VsZWN0Lm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnMubWFwKChvcHRpb24pID0+ICh7XG4gICAgICAgIGxhYmVsOiBvcHRpb24ubGFiZWwsXG4gICAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBvcHRpb24uZGVzY3JpcHRpb24sXG4gICAgICAgIGVtb2ppOiBvcHRpb24uZW1vamlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgaWQ6IG9wdGlvbi5lbW9qaS5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgIG5hbWU6IG9wdGlvbi5lbW9qaS5uYW1lID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgYW5pbWF0ZWQ6IG9wdGlvbi5lbW9qaS5hbmltYXRlZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdDogb3B0aW9uLmRlZmF1bHQsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgdXNlciBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3Qgc2VsZWN0ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBzZWxlY3QudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlbGVjdC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgc2VsZWN0LmN1c3RvbUlkID0gcGF5bG9hZC5jdXN0b21faWQ7XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyB0aGUgcm9sZSBzZWxlY3QgcmVzcG9uc2VcbiAgaWYgKCd2YWx1ZXMnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudmFsdWVzICYmIHBheWxvYWQudmFsdWVzKSBzZWxlY3QudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlc29sdmVkICYmIHBheWxvYWQucmVzb2x2ZWQpIHNlbGVjdC5yZXNvbHZlZCA9IGJvdC50cmFuc2Zvcm1lcnMuaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQoYm90LCBwYXlsb2FkLnJlc29sdmVkKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMucGxhY2Vob2xkZXIgJiYgcGF5bG9hZC5wbGFjZWhvbGRlcikgc2VsZWN0LnBsYWNlaG9sZGVyID0gcGF5bG9hZC5wbGFjZWhvbGRlcjtcbiAgICBpZiAocHJvcHMubWluVmFsdWVzICYmIHBheWxvYWQubWluX3ZhbHVlcykgc2VsZWN0Lm1pblZhbHVlcyA9IHBheWxvYWQubWluX3ZhbHVlcztcbiAgICBpZiAocHJvcHMubWF4VmFsdWVzICYmIHBheWxvYWQubWF4X3ZhbHVlcykgc2VsZWN0Lm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlcyAmJiBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzKVxuICAgICAgc2VsZWN0LmRlZmF1bHRWYWx1ZXMgPSBwYXlsb2FkLmRlZmF1bHRfdmFsdWVzLm1hcCgoZGVmYXVsdFZhbHVlKSA9PiAoe1xuICAgICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoZGVmYXVsdFZhbHVlLmlkKSxcbiAgICAgICAgdHlwZTogZGVmYXVsdFZhbHVlLnR5cGUsXG4gICAgICB9KSk7XG4gICAgaWYgKHByb3BzLmRpc2FibGVkICYmIHBheWxvYWQuZGlzYWJsZWQpIHNlbGVjdC5kaXNhYmxlZCA9IHBheWxvYWQuZGlzYWJsZWQ7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQgfCBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlbGVjdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgc2VsZWN0LnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBzZWxlY3QuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIHNlbGVjdC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1lbnRpb25hYmxlIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZWxlY3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlbGVjdC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VsZWN0LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBzZWxlY3QuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjaGFubmVsIHNlbGVjdCByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIHNlbGVjdC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgICBpZiAocHJvcHMucmVzb2x2ZWQgJiYgcGF5bG9hZC5yZXNvbHZlZCkgc2VsZWN0LnJlc29sdmVkID0gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3QsIHBheWxvYWQucmVzb2x2ZWQpO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy5wbGFjZWhvbGRlciAmJiBwYXlsb2FkLnBsYWNlaG9sZGVyKSBzZWxlY3QucGxhY2Vob2xkZXIgPSBwYXlsb2FkLnBsYWNlaG9sZGVyO1xuICAgIGlmIChwcm9wcy5taW5WYWx1ZXMgJiYgcGF5bG9hZC5taW5fdmFsdWVzKSBzZWxlY3QubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBzZWxlY3QubWF4VmFsdWVzID0gcGF5bG9hZC5tYXhfdmFsdWVzO1xuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWVzICYmIHBheWxvYWQuZGVmYXVsdF92YWx1ZXMpXG4gICAgICBzZWxlY3QuZGVmYXVsdFZhbHVlcyA9IHBheWxvYWQuZGVmYXVsdF92YWx1ZXMubWFwKChkZWZhdWx0VmFsdWUpID0+ICh7XG4gICAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShkZWZhdWx0VmFsdWUuaWQpLFxuICAgICAgICB0eXBlOiBkZWZhdWx0VmFsdWUudHlwZSxcbiAgICAgIH0pKTtcbiAgICBpZiAocHJvcHMuY2hhbm5lbFR5cGVzICYmIHBheWxvYWQuY2hhbm5lbF90eXBlcykgc2VsZWN0LmNoYW5uZWxUeXBlcyA9IHBheWxvYWQuY2hhbm5lbF90eXBlcztcbiAgICBpZiAocHJvcHMuZGlzYWJsZWQgJiYgcGF5bG9hZC5kaXNhYmxlZCkgc2VsZWN0LmRpc2FibGVkID0gcGF5bG9hZC5kaXNhYmxlZDtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Q7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHNlY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlY3Rpb24udHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHNlY3Rpb24uaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHMpIHNlY3Rpb24uY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wb25lbnQpKTtcbiAgaWYgKHByb3BzLmFjY2Vzc29yeSAmJiBwYXlsb2FkLmFjY2Vzc29yeSkgc2VjdGlvbi5hY2Nlc3NvcnkgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuYWNjZXNzb3J5KTtcblxuICByZXR1cm4gc2VjdGlvbjtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtVGh1bWJuYWlsQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkVGh1bWJuYWlsQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IHRodW1ibmFpbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGh1bWJuYWlsLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSB0aHVtYm5haWwuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMubWVkaWEgJiYgcGF5bG9hZC5tZWRpYSkgdGh1bWJuYWlsLm1lZGlhID0gYm90LnRyYW5zZm9ybWVycy51bmZ1cmxlZE1lZGlhSXRlbShib3QsIHBheWxvYWQubWVkaWEpO1xuICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgcGF5bG9hZC5kZXNjcmlwdGlvbikgdGh1bWJuYWlsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgaWYgKHByb3BzLnNwb2lsZXIgJiYgcGF5bG9hZC5zcG9pbGVyKSB0aHVtYm5haWwuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcblxuICByZXR1cm4gdGh1bWJuYWlsO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgbWVkaWFHYWxsZXJ5ID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8Q29tcG9uZW50LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlKSBtZWRpYUdhbGxlcnkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lZGlhR2FsbGVyeS5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5pdGVtcyAmJiBwYXlsb2FkLml0ZW1zKSBtZWRpYUdhbGxlcnkuaXRlbXMgPSBwYXlsb2FkLml0ZW1zLm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5tZWRpYUdhbGxlcnlJdGVtKGJvdCwgaXRlbSkpO1xuXG4gIHJldHVybiBtZWRpYUdhbGxlcnk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlQ29tcG9uZW50KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGUgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGUudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGUuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuZmlsZSAmJiBwYXlsb2FkLmZpbGUpIGZpbGUuZmlsZSA9IGJvdC50cmFuc2Zvcm1lcnMudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUpO1xuICBpZiAocHJvcHMuc3BvaWxlciAmJiBwYXlsb2FkLnNwb2lsZXIpIGZpbGUuc3BvaWxlciA9IHBheWxvYWQuc3BvaWxlcjtcbiAgaWYgKHByb3BzLm5hbWUgJiYgcGF5bG9hZC5uYW1lKSBmaWxlLm5hbWUgPSBwYXlsb2FkLm5hbWU7XG4gIGlmIChwcm9wcy5zaXplICYmIHBheWxvYWQuc2l6ZSkgZmlsZS5zaXplID0gcGF5bG9hZC5zaXplO1xuXG4gIHJldHVybiBmaWxlO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1UZXh0RGlzcGxheUNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50IHwgRGlzY29yZFRleHREaXNwbGF5SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCB0ZXh0RGlzcGxheSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgdGV4dERpc3BsYXkudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHRleHREaXNwbGF5LmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gVGhhdCB0aGF0IHRoaXMgaXNuJ3QgYSByZXNwb25zZVxuICBpZiAoJ2NvbnRlbnQnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMuY29udGVudCAmJiBwYXlsb2FkLmNvbnRlbnQpIHRleHREaXNwbGF5LmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQ7XG4gIH1cblxuICByZXR1cm4gdGV4dERpc3BsYXk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFNlcGFyYXRvckNvbXBvbmVudCkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBzZXBhcmF0b3IgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIHNlcGFyYXRvci50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgc2VwYXJhdG9yLmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmRpdmlkZXIgJiYgcGF5bG9hZC5kaXZpZGVyKSBzZXBhcmF0b3IuZGl2aWRlciA9IHBheWxvYWQuZGl2aWRlcjtcbiAgaWYgKHByb3BzLnNwYWNpbmcgJiYgcGF5bG9hZC5zcGFjaW5nKSBzZXBhcmF0b3Iuc3BhY2luZyA9IHBheWxvYWQuc3BhY2luZztcblxuICByZXR1cm4gc2VwYXJhdG9yO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZExhYmVsQ29tcG9uZW50IHwgRGlzY29yZExhYmVsSW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBsYWJlbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgbGFiZWwudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGxhYmVsLmlkID0gcGF5bG9hZC5pZDtcbiAgLy8gQ2hlY2sgdGhhdCB0aGlzIGlzbid0IGEgcmVzcG9uc2VcbiAgaWYgKCdsYWJlbCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5sYWJlbCAmJiBwYXlsb2FkLmxhYmVsKSBsYWJlbC5sYWJlbCA9IHBheWxvYWQubGFiZWw7XG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmIHBheWxvYWQuZGVzY3JpcHRpb24pIGxhYmVsLmRlc2NyaXB0aW9uID0gcGF5bG9hZC5kZXNjcmlwdGlvbjtcbiAgfVxuICBpZiAocHJvcHMuY29tcG9uZW50ICYmIHBheWxvYWQuY29tcG9uZW50KSBsYWJlbC5jb21wb25lbnQgPSBib3QudHJhbnNmb3JtZXJzLmNvbXBvbmVudChib3QsIHBheWxvYWQuY29tcG9uZW50KTtcblxuICByZXR1cm4gbGFiZWw7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHwgRGlzY29yZEZpbGVVcGxvYWRJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGZpbGVVcGxvYWQgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGZpbGVVcGxvYWQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGZpbGVVcGxvYWQuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGZpbGVVcGxvYWQuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayB0aGF0IHRoaXMgaXMgYSByZXNwb25zZVxuICBpZiAoJ3ZhbHVlcycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy52YWx1ZXMgJiYgcGF5bG9hZC52YWx1ZXMpIGZpbGVVcGxvYWQudmFsdWVzID0gcGF5bG9hZC52YWx1ZXM7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMpIGZpbGVVcGxvYWQubWluVmFsdWVzID0gcGF5bG9hZC5taW5fdmFsdWVzO1xuICAgIGlmIChwcm9wcy5tYXhWYWx1ZXMgJiYgcGF5bG9hZC5tYXhfdmFsdWVzKSBmaWxlVXBsb2FkLm1heFZhbHVlcyA9IHBheWxvYWQubWF4X3ZhbHVlcztcbiAgICBpZiAocHJvcHMucmVxdWlyZWQgJiYgcGF5bG9hZC5yZXF1aXJlZCkgZmlsZVVwbG9hZC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH1cblxuICByZXR1cm4gZmlsZVVwbG9hZDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQgfCBEaXNjb3JkUmFkaW9Hcm91cEludGVyYWN0aW9uUmVzcG9uc2UpIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmNvbXBvbmVudDtcbiAgY29uc3QgcmFkaW9Hcm91cCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgcmFkaW9Hcm91cC50eXBlID0gcGF5bG9hZC50eXBlO1xuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgcmFkaW9Hcm91cC5pZCA9IHBheWxvYWQuaWQ7XG4gIGlmIChwcm9wcy5jdXN0b21JZCAmJiBwYXlsb2FkLmN1c3RvbV9pZCkgcmFkaW9Hcm91cC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgdGhlIGNvbXBvbmVudCAoaGFzIG9wdGlvbnMpIG9yIHRoZSBpbnRlcmFjdGlvbiByZXNwb25zZSAobW9kYWwgc3VibWl0LCBoYXMgdmFsdWUpXG4gIGlmICgnb3B0aW9ucycgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5vcHRpb25zICYmIHBheWxvYWQub3B0aW9ucykgcmFkaW9Hcm91cC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zO1xuICAgIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkICE9PSB1bmRlZmluZWQpIHJhZGlvR3JvdXAucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICB9IGVsc2Uge1xuICAgIGlmIChwcm9wcy52YWx1ZSkgcmFkaW9Hcm91cC52YWx1ZSA9IHBheWxvYWQudmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG5cbiAgcmV0dXJuIHJhZGlvR3JvdXA7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94R3JvdXBJbnRlcmFjdGlvblJlc3BvbnNlKSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5jb21wb25lbnQ7XG4gIGNvbnN0IGNoZWNrYm94R3JvdXAgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxDb21wb25lbnQsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMudHlwZSAmJiBwYXlsb2FkLnR5cGUpIGNoZWNrYm94R3JvdXAudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94R3JvdXAuaWQgPSBwYXlsb2FkLmlkO1xuICBpZiAocHJvcHMuY3VzdG9tSWQgJiYgcGF5bG9hZC5jdXN0b21faWQpIGNoZWNrYm94R3JvdXAuY3VzdG9tSWQgPSBwYXlsb2FkLmN1c3RvbV9pZDtcblxuICAvLyBDaGVjayBpZiB0aGlzIGlzIHRoZSBjb21wb25lbnQgKGhhcyBvcHRpb25zKSBvciB0aGUgaW50ZXJhY3Rpb24gcmVzcG9uc2UgKG1vZGFsIHN1Ym1pdCwgaGFzIHZhbHVlcylcbiAgaWYgKCdvcHRpb25zJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBjaGVja2JveEdyb3VwLm9wdGlvbnMgPSBwYXlsb2FkLm9wdGlvbnM7XG4gICAgaWYgKHByb3BzLm1pblZhbHVlcyAmJiBwYXlsb2FkLm1pbl92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5taW5WYWx1ZXMgPSBwYXlsb2FkLm1pbl92YWx1ZXM7XG4gICAgaWYgKHByb3BzLm1heFZhbHVlcyAmJiBwYXlsb2FkLm1heF92YWx1ZXMgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5tYXhWYWx1ZXMgPSBwYXlsb2FkLm1heF92YWx1ZXM7XG4gICAgaWYgKHByb3BzLnJlcXVpcmVkICYmIHBheWxvYWQucmVxdWlyZWQgIT09IHVuZGVmaW5lZCkgY2hlY2tib3hHcm91cC5yZXF1aXJlZCA9IHBheWxvYWQucmVxdWlyZWQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHByb3BzLnZhbHVlcyAmJiBwYXlsb2FkLnZhbHVlcykgY2hlY2tib3hHcm91cC52YWx1ZXMgPSBwYXlsb2FkLnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBjaGVja2JveEdyb3VwO1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZENoZWNrYm94Q29tcG9uZW50IHwgRGlzY29yZENoZWNrYm94SW50ZXJhY3Rpb25SZXNwb25zZSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuY29tcG9uZW50O1xuICBjb25zdCBjaGVja2JveCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPENvbXBvbmVudCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSkgY2hlY2tib3gudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIGNoZWNrYm94LmlkID0gcGF5bG9hZC5pZDtcbiAgaWYgKHByb3BzLmN1c3RvbUlkICYmIHBheWxvYWQuY3VzdG9tX2lkKSBjaGVja2JveC5jdXN0b21JZCA9IHBheWxvYWQuY3VzdG9tX2lkO1xuXG4gIGlmIChwcm9wcy52YWx1ZSAmJiAndmFsdWUnIGluIHBheWxvYWQpIGNoZWNrYm94LnZhbHVlID0gcGF5bG9hZC52YWx1ZTtcbiAgaWYgKHByb3BzLmRlZmF1bHQgJiYgJ2RlZmF1bHQnIGluIHBheWxvYWQpIGNoZWNrYm94LmRlZmF1bHQgPSBwYXlsb2FkLmRlZmF1bHQ7XG5cbiAgcmV0dXJuIGNoZWNrYm94O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJjb21wb25lbnQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJUaHVtYm5haWwiLCJ0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQiLCJNZWRpYUdhbGxlcnkiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIlNlcGFyYXRvciIsInRyYW5zZm9ybVNlcGFyYXRvckNvbXBvbmVudCIsIlRleHREaXNwbGF5IiwidHJhbnNmb3JtVGV4dERpc3BsYXlDb21wb25lbnQiLCJMYWJlbCIsInRyYW5zZm9ybUxhYmVsQ29tcG9uZW50IiwiRmlsZVVwbG9hZCIsInRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQiLCJSYWRpb0dyb3VwIiwidHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudCIsIkNoZWNrYm94R3JvdXAiLCJ0cmFuc2Zvcm1DaGVja2JveEdyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3giLCJ0cmFuc2Zvcm1DaGVja2JveENvbXBvbmVudCIsInRyYW5zZm9ybWVycyIsImN1c3RvbWl6ZXJzIiwidHJhbnNmb3JtVW5mdXJsZWRNZWRpYUl0ZW0iLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJtZWRpYUl0ZW0iLCJ1cmwiLCJwcm94eVVybCIsInByb3h5X3VybCIsImhlaWdodCIsIndpZHRoIiwiY29udGVudFR5cGUiLCJjb250ZW50X3R5cGUiLCJhdHRhY2htZW50SWQiLCJhdHRhY2htZW50X2lkIiwic25vd2ZsYWtlIiwidHJhbnNmb3JtTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iLCJnYWxsZXJ5SXRlbSIsIm1lZGlhIiwiZGVzY3JpcHRpb24iLCJzcG9pbGVyIiwiYWN0aW9uUm93IiwiaWQiLCJjb21wb25lbnRzIiwibWFwIiwiY29udGFpbmVyIiwiYWNjZW50Q29sb3IiLCJhY2NlbnRfY29sb3IiLCJidXR0b24iLCJsYWJlbCIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwic3R5bGUiLCJlbW9qaSIsImRpc2FibGVkIiwic2t1SWQiLCJza3VfaWQiLCJpbnB1dCIsInZhbHVlIiwicmVxdWlyZWQiLCJwbGFjZWhvbGRlciIsIm1pbkxlbmd0aCIsIm1pbl9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtYXhfbGVuZ3RoIiwic2VsZWN0IiwidmFsdWVzIiwibWluVmFsdWVzIiwibWluX3ZhbHVlcyIsIm1heFZhbHVlcyIsIm1heF92YWx1ZXMiLCJvcHRpb25zIiwib3B0aW9uIiwidW5kZWZpbmVkIiwibmFtZSIsImFuaW1hdGVkIiwiZGVmYXVsdCIsInJlc29sdmVkIiwiaW50ZXJhY3Rpb25EYXRhUmVzb2x2ZWQiLCJkZWZhdWx0VmFsdWVzIiwiZGVmYXVsdF92YWx1ZXMiLCJkZWZhdWx0VmFsdWUiLCJjaGFubmVsVHlwZXMiLCJjaGFubmVsX3R5cGVzIiwic2VjdGlvbiIsImFjY2Vzc29yeSIsInRodW1ibmFpbCIsIm1lZGlhR2FsbGVyeSIsIml0ZW1zIiwiaXRlbSIsImZpbGUiLCJzaXplIiwidGV4dERpc3BsYXkiLCJjb250ZW50Iiwic2VwYXJhdG9yIiwiZGl2aWRlciIsInNwYWNpbmciLCJmaWxlVXBsb2FkIiwicmFkaW9Hcm91cCIsImNoZWNrYm94R3JvdXAiLCJjaGVja2JveCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FxQ0VBLHFCQUFxQixRQUNoQixvQkFBb0I7QUFLM0IsT0FBTyxTQUFTQyxtQkFBbUJDLEdBQVEsRUFBRUMsT0FBc0Y7SUFDakksSUFBSUM7SUFFSixrSUFBa0k7SUFDbEksT0FBUUQsUUFBUUUsSUFBSTtRQUNsQixLQUFLTCxzQkFBc0JNLFNBQVM7WUFDbENGLFlBQVlHLG1CQUFtQkwsS0FBS0M7WUFDcEM7UUFDRixLQUFLSCxzQkFBc0JRLE1BQU07WUFDL0JKLFlBQVlLLHlCQUF5QlAsS0FBS0M7WUFDMUM7UUFDRixLQUFL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
|
|
@@ -329,4 +329,4 @@ function transformCheckboxComponent(bot, payload) {
|
|
|
329
329
|
};
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGVja2JveENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hHcm91cENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgU2VsZWN0T3B0aW9uLFxuICB0eXBlIFRleHRTdHlsZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gVGhpcyBzd2l0Y2ggc2hvdWxkIGluY2x1ZGUgYWxsIGNhc2VzXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgVGV4dFN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogKHBheWxvYWQub3B0aW9ucyBhcyBTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCk/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSEsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVVzZXJTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvbGVTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgICAvLyBUT0RPOiBBZGQgcmVzb2x2ZWQgcmV2ZXJzZSB0cmFuc2Zvcm1lclxuICAgICAgcmVzb2x2ZWQ6IHt9LFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hhbm5lbFNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZENoYW5uZWxTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXAsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnMgPz8gW10sXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucyA/PyBbXSxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hlY2tib3hDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGVmYXVsdDogcGF5bG9hZC5kZWZhdWx0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsIlJhZGlvR3JvdXAiLCJ0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3hHcm91cCIsInRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQiLCJDaGVja2JveCIsInRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidXJsIiwicHJveHlfdXJsIiwicHJveHlVcmwiLCJoZWlnaHQiLCJ3aWR0aCIsImNvbnRlbnRfdHlwZSIsImNvbnRlbnRUeXBlIiwiYXR0YWNobWVudF9pZCIsImF0dGFjaG1lbnRJZCIsInRyYW5zZm9ybWVycyIsInJldmVyc2UiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsIl9ib3QiLCJ2YWx1ZSIsIm1heF9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWluTGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsInZhbHVlcyIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBK0JFQSxxQkFBcUIsUUFHaEIsb0JBQW9CO0FBSTNCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1lBQ3JDLE9BQU9DLG1DQUFtQ1osS0FBS0M7UUFDakQsS0FBS0gsc0JBQXNCZSxVQUFVO1lBQ25DLE9BQU9DLGlDQUFpQ2QsS0FBS0M7UUFDL0MsS0FBS0gsc0JBQXNCaUIsVUFBVTtZQUNuQyxPQUFPQyxpQ0FBaUNoQixLQUFLQztRQUMvQyxLQUFLSCxzQkFBc0JtQixpQkFBaUI7WUFDMUMsT0FBT0Msd0NBQXdDbEIsS0FBS0M7UUFDdEQsS0FBS0gs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
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcmV2ZXJzZS9jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBCdXR0b25TdHlsZXMsXG4gIHR5cGUgRGlzY29yZEFjdGlvblJvdyxcbiAgdHlwZSBEaXNjb3JkQnV0dG9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkQ2hlY2tib3hDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENoZWNrYm94R3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkRmlsZVVwbG9hZENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTGFiZWxDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lZGlhR2FsbGVyeUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSxcbiAgdHlwZSBEaXNjb3JkTWVudGlvbmFibGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZE1lbnRpb25hYmxlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZUNvbXBvbmVudEZyb21Nb2RhbEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFJhZGlvR3JvdXBDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFJvbGVTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICB0eXBlIERpc2NvcmRTZWN0aW9uQ29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwsXG4gIHR5cGUgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50LFxuICB0eXBlIERpc2NvcmRUZXh0SW5wdXRDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFRleHRJbnB1dEludGVyYWN0aW9uUmVzcG9uc2UsXG4gIHR5cGUgRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCxcbiAgdHlwZSBEaXNjb3JkVW5mdXJsZWRNZWRpYUl0ZW0sXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQsXG4gIHR5cGUgRGlzY29yZFVzZXJTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsLFxuICBNZXNzYWdlQ29tcG9uZW50VHlwZXMsXG4gIHR5cGUgU2VsZWN0T3B0aW9uLFxuICB0eXBlIFRleHRTdHlsZXMsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vLi4vYm90LmpzJztcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50LCBNZWRpYUdhbGxlcnlJdGVtLCBVbmZ1cmxlZE1lZGlhSXRlbSB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZXNzYWdlQ29tcG9uZW50IHwgRGlzY29yZE1lc3NhZ2VDb21wb25lbnRGcm9tTW9kYWxJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gVGhpcyBzd2l0Y2ggc2hvdWxkIGluY2x1ZGUgYWxsIGNhc2VzXG4gIHN3aXRjaCAocGF5bG9hZC50eXBlKSB7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQWN0aW9uUm93OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUFjdGlvblJvdyhib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkJ1dHRvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1CdXR0b25Db21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Db250YWluZXI6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVGV4dElucHV0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUlucHV0VGV4dENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TdHJpbmdTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJvbGVTZWxlY3Q6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUm9sZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NZW50aW9uYWJsZVNlbGVjdE1lbnVDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbjpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1TZWN0aW9uQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZTpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1GaWxlQ29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuTWVkaWFHYWxsZXJ5OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1UaHVtYm5haWxDb21wb25lbnQoYm90LCBwYXlsb2FkKTtcbiAgICBjYXNlIE1lc3NhZ2VDb21wb25lbnRUeXBlcy5MYWJlbDpcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1MYWJlbENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkZpbGVVcGxvYWQ6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUmFkaW9Hcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94R3JvdXA6XG4gICAgICByZXR1cm4gdHJhbnNmb3JtQ2hlY2tib3hHcm91cENvbXBvbmVudChib3QsIHBheWxvYWQpO1xuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94OlxuICAgICAgcmV0dXJuIHRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50KGJvdCwgcGF5bG9hZCk7XG4gICAgY2FzZSBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VwYXJhdG9yOlxuICAgIGNhc2UgTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRleHREaXNwbGF5OlxuICAgICAgLy8gQXMgb2Ygbm93IHRoZXkgYXJlIGNvbXBhdGlibGVcbiAgICAgIHJldHVybiBwYXlsb2FkIGFzIERpc2NvcmRNZXNzYWdlQ29tcG9uZW50O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBVbmZ1cmxlZE1lZGlhSXRlbSk6IERpc2NvcmRVbmZ1cmxlZE1lZGlhSXRlbSB7XG4gIHJldHVybiB7XG4gICAgdXJsOiBwYXlsb2FkLnVybCxcbiAgICBwcm94eV91cmw6IHBheWxvYWQucHJveHlVcmwsXG4gICAgaGVpZ2h0OiBwYXlsb2FkLmhlaWdodCxcbiAgICB3aWR0aDogcGF5bG9hZC53aWR0aCxcbiAgICBjb250ZW50X3R5cGU6IHBheWxvYWQuY29udGVudFR5cGUsXG4gICAgYXR0YWNobWVudF9pZDogcGF5bG9hZC5hdHRhY2htZW50SWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHBheWxvYWQuYXR0YWNobWVudElkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lZGlhR2FsbGVyeUl0ZW1Ub0Rpc2NvcmRNZWRpYUdhbGxlcnlJdGVtKGJvdDogQm90LCBwYXlsb2FkOiBNZWRpYUdhbGxlcnlJdGVtKTogRGlzY29yZE1lZGlhR2FsbGVyeUl0ZW0ge1xuICByZXR1cm4ge1xuICAgIG1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLm1lZGlhKSxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUFjdGlvblJvdyhib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEFjdGlvblJvdyB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkFjdGlvblJvdyxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICAvLyBUaGUgYWN0aW9uUm93LmNvbXBvbmVudHMgdHlwZSBpcyBraW5kYSBhbm5veWluZywgc28gd2UgbmVlZCBhIGNhc3QgZm9yIHRoaXNcbiAgICBjb21wb25lbnRzOiAocGF5bG9hZC5jb21wb25lbnRzPy5tYXAoKGNvbXBvbmVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLmNvbXBvbmVudChib3QsIGNvbXBvbmVudCkpID8/IFtdKSBhcyBEaXNjb3JkQWN0aW9uUm93Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNvbnRhaW5lckNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZENvbnRhaW5lckNvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNvbnRhaW5lcixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBhY2NlbnRfY29sb3I6IHBheWxvYWQuYWNjZW50Q29sb3IsXG4gICAgc3BvaWxlcjogcGF5bG9hZC5zcG9pbGVyLFxuICAgIGNvbXBvbmVudHM6IChwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgPz9cbiAgICAgIFtdKSBhcyBEaXNjb3JkQ29udGFpbmVyQ29tcG9uZW50Wydjb21wb25lbnRzJ10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUJ1dHRvbkNvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZEJ1dHRvbkNvbXBvbmVudCB7XG4gIC8vIFNpbmNlIENvbXBvbmVudCBpcyBhIG1lcmdlIG9mIGFsbCBjb21wb25lbnRzLCBzb21lIGNhc3RzIGFyZSBuZWNlc3NhcnlcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQnV0dG9uLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIHN0eWxlOiBwYXlsb2FkLnN0eWxlIGFzIEJ1dHRvblN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgZW1vamk6IHBheWxvYWQuZW1vamlcbiAgICAgID8ge1xuICAgICAgICAgIGlkOiBwYXlsb2FkLmVtb2ppLmlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLmVtb2ppLmlkKSA6IG51bGwsXG4gICAgICAgICAgbmFtZTogcGF5bG9hZC5lbW9qaS5uYW1lID8/IG51bGwsXG4gICAgICAgICAgYW5pbWF0ZWQ6IHBheWxvYWQuZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsLFxuICAgIHVybDogcGF5bG9hZC51cmwsXG4gICAgc2t1X2lkOiBwYXlsb2FkLnNrdUlkID8gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnNub3dmbGFrZShwYXlsb2FkLnNrdUlkKSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50KF9ib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRleHRJbnB1dENvbXBvbmVudCB8IERpc2NvcmRUZXh0SW5wdXRJbnRlcmFjdGlvblJlc3BvbnNlIHtcbiAgLy8gU2luY2UgQ29tcG9uZW50IGlzIGEgbWVyZ2Ugb2YgYWxsIGNvbXBvbmVudHMsIHNvbWUgY2FzdHMgYXJlIG5lY2Vzc2FyeVxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5UZXh0SW5wdXQsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgc3R5bGU6IHBheWxvYWQuc3R5bGUgYXMgVGV4dFN0eWxlcyxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICB2YWx1ZTogcGF5bG9hZC52YWx1ZSBhcyBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgbWF4X2xlbmd0aDogcGF5bG9hZC5tYXhMZW5ndGgsXG4gICAgbWluX2xlbmd0aDogcGF5bG9hZC5taW5MZW5ndGgsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVN0cmluZ1NlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkU3RyaW5nU2VsZWN0Q29tcG9uZW50IHwgRGlzY29yZFN0cmluZ1NlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlN0cmluZ1NlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RJbnRlcmFjdGlvblJlc3BvbnNlRnJvbU1vZGFsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU3RyaW5nU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgb3B0aW9uczogKHBheWxvYWQub3B0aW9ucyBhcyBTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCk/Lm1hcCgob3B0aW9uKSA9PiAoe1xuICAgICAgbGFiZWw6IG9wdGlvbi5sYWJlbCxcbiAgICAgIHZhbHVlOiBvcHRpb24udmFsdWUsXG4gICAgICBkZXNjcmlwdGlvbjogb3B0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgZW1vamk6IG9wdGlvbi5lbW9qaVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIGlkOiBvcHRpb24uZW1vamkuaWQgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKG9wdGlvbi5lbW9qaS5pZCkgOiBudWxsLFxuICAgICAgICAgICAgbmFtZTogb3B0aW9uLmVtb2ppLm5hbWUgPz8gbnVsbCxcbiAgICAgICAgICAgIGFuaW1hdGVkOiBvcHRpb24uZW1vamkuYW5pbWF0ZWQsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIGRlZmF1bHQ6IG9wdGlvbi5kZWZhdWx0LFxuICAgIH0pKSEsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRTdHJpbmdTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVVzZXJTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkVXNlclNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRVc2VyU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuVXNlclNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkVXNlclNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Vc2VyU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFVzZXJTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVJvbGVTZWxlY3RNZW51Q29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUm9sZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRSb2xlU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuUm9sZVNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkUm9sZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5Sb2xlU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgcGxhY2Vob2xkZXI6IHBheWxvYWQucGxhY2Vob2xkZXIsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZFJvbGVTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybU1lbnRpb25hYmxlU2VsZWN0TWVudUNvbXBvbmVudChcbiAgYm90OiBCb3QsXG4gIHBheWxvYWQ6IENvbXBvbmVudCxcbik6IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWwge1xuICBpZiAocGF5bG9hZC52YWx1ZXMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLk1lbnRpb25hYmxlU2VsZWN0LFxuICAgICAgdmFsdWVzOiBwYXlsb2FkLnZhbHVlcyxcbiAgICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgICBpZDogcGF5bG9hZC5pZCEsXG4gICAgICAvLyBUT0RPOiBBZGQgcmVzb2x2ZWQgcmV2ZXJzZSB0cmFuc2Zvcm1lclxuICAgICAgcmVzb2x2ZWQ6IHt9LFxuICAgIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZW50aW9uYWJsZVNlbGVjdCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIGRpc2FibGVkOiBwYXlsb2FkLmRpc2FibGVkLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHBsYWNlaG9sZGVyOiBwYXlsb2FkLnBsYWNlaG9sZGVyLFxuICAgIGRlZmF1bHRfdmFsdWVzOiBwYXlsb2FkLmRlZmF1bHRWYWx1ZXM/Lm1hcCgodmFsdWUpID0+ICh7IGlkOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2Uuc25vd2ZsYWtlKHZhbHVlLmlkKSwgdHlwZTogdmFsdWUudHlwZSB9KSksXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH0gc2F0aXNmaWVzIERpc2NvcmRNZW50aW9uYWJsZVNlbGVjdENvbXBvbmVudDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hhbm5lbFNlbGVjdE1lbnVDb21wb25lbnQoXG4gIGJvdDogQm90LFxuICBwYXlsb2FkOiBDb21wb25lbnQsXG4pOiBEaXNjb3JkQ2hhbm5lbFNlbGVjdENvbXBvbmVudCB8IERpc2NvcmRDaGFubmVsU2VsZWN0SW50ZXJhY3Rpb25SZXNwb25zZUZyb21Nb2RhbCB7XG4gIGlmIChwYXlsb2FkLnZhbHVlcykge1xuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hhbm5lbFNlbGVjdCxcbiAgICAgIHZhbHVlczogcGF5bG9hZC52YWx1ZXMsXG4gICAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgICAgaWQ6IHBheWxvYWQuaWQhLFxuICAgICAgLy8gVE9ETzogQWRkIHJlc29sdmVkIHJldmVyc2UgdHJhbnNmb3JtZXJcbiAgICAgIHJlc29sdmVkOiB7fSxcbiAgICB9IHNhdGlzZmllcyBEaXNjb3JkQ2hhbm5lbFNlbGVjdEludGVyYWN0aW9uUmVzcG9uc2VGcm9tTW9kYWw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5DaGFubmVsU2VsZWN0LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGlzYWJsZWQ6IHBheWxvYWQuZGlzYWJsZWQsXG4gICAgbWF4X3ZhbHVlczogcGF5bG9hZC5tYXhWYWx1ZXMsXG4gICAgbWluX3ZhbHVlczogcGF5bG9hZC5taW5WYWx1ZXMsXG4gICAgZGVmYXVsdF92YWx1ZXM6IHBheWxvYWQuZGVmYXVsdFZhbHVlcz8ubWFwKCh2YWx1ZSkgPT4gKHsgaWQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5zbm93Zmxha2UodmFsdWUuaWQpLCB0eXBlOiB2YWx1ZS50eXBlIH0pKSxcbiAgICBwbGFjZWhvbGRlcjogcGF5bG9hZC5wbGFjZWhvbGRlcixcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgICBjaGFubmVsX3R5cGVzOiBwYXlsb2FkLmNoYW5uZWxUeXBlcyxcbiAgfSBzYXRpc2ZpZXMgRGlzY29yZENoYW5uZWxTZWxlY3RDb21wb25lbnQ7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRTZWN0aW9uQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuU2VjdGlvbixcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjb21wb25lbnRzOiBwYXlsb2FkLmNvbXBvbmVudHM/Lm1hcCgoY29tcG9uZW50KSA9PiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSkgYXMgRGlzY29yZFRleHREaXNwbGF5Q29tcG9uZW50W10sXG4gICAgYWNjZXNzb3J5OiAocGF5bG9hZC5hY2Nlc3NvcnkgPyBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UuY29tcG9uZW50KGJvdCwgcGF5bG9hZC5hY2Nlc3NvcnkpIDogdW5kZWZpbmVkKSBhcyBEaXNjb3JkU2VjdGlvbkNvbXBvbmVudFsnYWNjZXNzb3J5J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZSxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBmaWxlOiBib3QudHJhbnNmb3JtZXJzLnJldmVyc2UudW5mdXJsZWRNZWRpYUl0ZW0oYm90LCBwYXlsb2FkLmZpbGUhKSxcbiAgICBzcG9pbGVyOiBwYXlsb2FkLnNwb2lsZXIsXG4gICAgbmFtZTogcGF5bG9hZC5uYW1lISxcbiAgICBzaXplOiBwYXlsb2FkLnNpemUhLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1NZWRpYUdhbGxlcnlDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRNZWRpYUdhbGxlcnlDb21wb25lbnQge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IE1lc3NhZ2VDb21wb25lbnRUeXBlcy5NZWRpYUdhbGxlcnksXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgaXRlbXM6IHBheWxvYWQuaXRlbXM/Lm1hcCgoaXRlbSkgPT4gYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLm1lZGlhR2FsbGVyeUl0ZW0oYm90LCBpdGVtKSkgPz8gW10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudChib3Q6IEJvdCwgcGF5bG9hZDogQ29tcG9uZW50KTogRGlzY29yZFRodW1ibmFpbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlRodW1ibmFpbCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBtZWRpYTogYm90LnRyYW5zZm9ybWVycy5yZXZlcnNlLnVuZnVybGVkTWVkaWFJdGVtKGJvdCwgcGF5bG9hZC5tZWRpYSEpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXlsb2FkLmRlc2NyaXB0aW9uLFxuICAgIHNwb2lsZXI6IHBheWxvYWQuc3BvaWxlcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtTGFiZWxDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRMYWJlbENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkxhYmVsLFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGxhYmVsOiBwYXlsb2FkLmxhYmVsISxcbiAgICBkZXNjcmlwdGlvbjogcGF5bG9hZC5kZXNjcmlwdGlvbixcbiAgICBjb21wb25lbnQ6IGJvdC50cmFuc2Zvcm1lcnMucmV2ZXJzZS5jb21wb25lbnQoYm90LCBwYXlsb2FkLmNvbXBvbmVudCEpIGFzIERpc2NvcmRMYWJlbENvbXBvbmVudFsnY29tcG9uZW50J10sXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUZpbGVVcGxvYWRDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuRmlsZVVwbG9hZCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG1heF92YWx1ZXM6IHBheWxvYWQubWF4VmFsdWVzLFxuICAgIG1pbl92YWx1ZXM6IHBheWxvYWQubWluVmFsdWVzLFxuICAgIHJlcXVpcmVkOiBwYXlsb2FkLnJlcXVpcmVkLFxuICB9O1xufVxuXG5mdW5jdGlvbiB0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50KGJvdDogQm90LCBwYXlsb2FkOiBDb21wb25lbnQpOiBEaXNjb3JkUmFkaW9Hcm91cENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLlJhZGlvR3JvdXAsXG4gICAgaWQ6IHBheWxvYWQuaWQsXG4gICAgY3VzdG9tX2lkOiBwYXlsb2FkLmN1c3RvbUlkISxcbiAgICBvcHRpb25zOiBwYXlsb2FkLm9wdGlvbnMgPz8gW10sXG4gICAgcmVxdWlyZWQ6IHBheWxvYWQucmVxdWlyZWQsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveEdyb3VwQ29tcG9uZW50IHtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBNZXNzYWdlQ29tcG9uZW50VHlwZXMuQ2hlY2tib3hHcm91cCxcbiAgICBpZDogcGF5bG9hZC5pZCxcbiAgICBjdXN0b21faWQ6IHBheWxvYWQuY3VzdG9tSWQhLFxuICAgIG9wdGlvbnM6IHBheWxvYWQub3B0aW9ucyA/PyBbXSxcbiAgICBtaW5fdmFsdWVzOiBwYXlsb2FkLm1pblZhbHVlcyxcbiAgICBtYXhfdmFsdWVzOiBwYXlsb2FkLm1heFZhbHVlcyxcbiAgICByZXF1aXJlZDogcGF5bG9hZC5yZXF1aXJlZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtQ2hlY2tib3hDb21wb25lbnQoYm90OiBCb3QsIHBheWxvYWQ6IENvbXBvbmVudCk6IERpc2NvcmRDaGVja2JveENvbXBvbmVudCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogTWVzc2FnZUNvbXBvbmVudFR5cGVzLkNoZWNrYm94LFxuICAgIGlkOiBwYXlsb2FkLmlkLFxuICAgIGN1c3RvbV9pZDogcGF5bG9hZC5jdXN0b21JZCEsXG4gICAgZGVmYXVsdDogcGF5bG9hZC5kZWZhdWx0LFxuICB9O1xufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VDb21wb25lbnRUeXBlcyIsInRyYW5zZm9ybUNvbXBvbmVudFRvRGlzY29yZENvbXBvbmVudCIsImJvdCIsInBheWxvYWQiLCJ0eXBlIiwiQWN0aW9uUm93IiwidHJhbnNmb3JtQWN0aW9uUm93IiwiQnV0dG9uIiwidHJhbnNmb3JtQnV0dG9uQ29tcG9uZW50IiwiQ29udGFpbmVyIiwidHJhbnNmb3JtQ29udGFpbmVyQ29tcG9uZW50IiwiVGV4dElucHV0IiwidHJhbnNmb3JtSW5wdXRUZXh0Q29tcG9uZW50IiwiU3RyaW5nU2VsZWN0IiwidHJhbnNmb3JtU3RyaW5nU2VsZWN0TWVudUNvbXBvbmVudCIsIlVzZXJTZWxlY3QiLCJ0cmFuc2Zvcm1Vc2VyU2VsZWN0TWVudUNvbXBvbmVudCIsIlJvbGVTZWxlY3QiLCJ0cmFuc2Zvcm1Sb2xlU2VsZWN0TWVudUNvbXBvbmVudCIsIk1lbnRpb25hYmxlU2VsZWN0IiwidHJhbnNmb3JtTWVudGlvbmFibGVTZWxlY3RNZW51Q29tcG9uZW50IiwiQ2hhbm5lbFNlbGVjdCIsInRyYW5zZm9ybUNoYW5uZWxTZWxlY3RNZW51Q29tcG9uZW50IiwiU2VjdGlvbiIsInRyYW5zZm9ybVNlY3Rpb25Db21wb25lbnQiLCJGaWxlIiwidHJhbnNmb3JtRmlsZUNvbXBvbmVudCIsIk1lZGlhR2FsbGVyeSIsInRyYW5zZm9ybU1lZGlhR2FsbGVyeUNvbXBvbmVudCIsIlRodW1ibmFpbCIsInRyYW5zZm9ybVRodW1ibmFpbENvbXBvbmVudCIsIkxhYmVsIiwidHJhbnNmb3JtTGFiZWxDb21wb25lbnQiLCJGaWxlVXBsb2FkIiwidHJhbnNmb3JtRmlsZVVwbG9hZENvbXBvbmVudCIsIlJhZGlvR3JvdXAiLCJ0cmFuc2Zvcm1SYWRpb0dyb3VwQ29tcG9uZW50IiwiQ2hlY2tib3hHcm91cCIsInRyYW5zZm9ybUNoZWNrYm94R3JvdXBDb21wb25lbnQiLCJDaGVja2JveCIsInRyYW5zZm9ybUNoZWNrYm94Q29tcG9uZW50IiwiU2VwYXJhdG9yIiwiVGV4dERpc3BsYXkiLCJ0cmFuc2Zvcm1VbmZ1cmxlZE1lZGlhSXRlbVRvRGlzY29yZFVuZnVybGVkTWVkaWFJdGVtIiwidXJsIiwicHJveHlfdXJsIiwicHJveHlVcmwiLCJoZWlnaHQiLCJ3aWR0aCIsImNvbnRlbnRfdHlwZSIsImNvbnRlbnRUeXBlIiwiYXR0YWNobWVudF9pZCIsImF0dGFjaG1lbnRJZCIsInRyYW5zZm9ybWVycyIsInJldmVyc2UiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ0cmFuc2Zvcm1NZWRpYUdhbGxlcnlJdGVtVG9EaXNjb3JkTWVkaWFHYWxsZXJ5SXRlbSIsIm1lZGlhIiwidW5mdXJsZWRNZWRpYUl0ZW0iLCJkZXNjcmlwdGlvbiIsInNwb2lsZXIiLCJpZCIsImNvbXBvbmVudHMiLCJtYXAiLCJjb21wb25lbnQiLCJhY2NlbnRfY29sb3IiLCJhY2NlbnRDb2xvciIsInN0eWxlIiwiY3VzdG9tX2lkIiwiY3VzdG9tSWQiLCJkaXNhYmxlZCIsImVtb2ppIiwibmFtZSIsImFuaW1hdGVkIiwibGFiZWwiLCJza3VfaWQiLCJza3VJZCIsIl9ib3QiLCJ2YWx1ZSIsIm1heF9sZW5ndGgiLCJtYXhMZW5ndGgiLCJtaW5fbGVuZ3RoIiwibWluTGVuZ3RoIiwicGxhY2Vob2xkZXIiLCJyZXF1aXJlZCIsInZhbHVlcyIsIm1heF92YWx1ZXMiLCJtYXhWYWx1ZXMiLCJtaW5fdmFsdWVzIiwibWluVmFsdWVzIiwib3B0aW9ucyIsIm9wdGlvbiIsImRlZmF1bHQiLCJyZXNvbHZlZCIsImRlZmF1bHRfdmFsdWVzIiwiZGVmYXVsdFZhbHVlcyIsImNoYW5uZWxfdHlwZXMiLCJjaGFubmVsVHlwZXMiLCJhY2Nlc3NvcnkiLCJmaWxlIiwic2l6ZSIsIml0ZW1zIiwiaXRlbSIsIm1lZGlhR2FsbGVyeUl0ZW0iXSwibWFwcGluZ3MiOiJBQUFBLFNBK0JFQSxxQkFBcUIsUUFHaEIsb0JBQW9CO0FBSTNCLE9BQU8sU0FBU0MscUNBQ2RDLEdBQVEsRUFDUkMsT0FBa0I7SUFFbEIsdUNBQXVDO0lBQ3ZDLE9BQVFBLFFBQVFDLElBQUk7UUFDbEIsS0FBS0osc0JBQXNCSyxTQUFTO1lBQ2xDLE9BQU9DLG1CQUFtQkosS0FBS0M7UUFDakMsS0FBS0gsc0JBQXNCTyxNQUFNO1lBQy9CLE9BQU9DLHlCQUF5Qk4sS0FBS0M7UUFDdkMsS0FBS0gsc0JBQXNCUyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlIsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCVyxTQUFTO1lBQ2xDLE9BQU9DLDRCQUE0QlYsS0FBS0M7UUFDMUMsS0FBS0gsc0JBQXNCYSxZQUFZO1lBQ3JDLE9BQU9DLG1DQUFtQ1osS0FBS0M7UUFDakQsS0FBS0gsc0JBQXNCZSxVQUFVO1lBQ25DLE9BQU9DLGlDQUFpQ2QsS0FBS0M7UUFDL0MsS0FBS0gsc0JBQXNCaUIsVUFBVTtZQUNuQyxPQUFPQyxpQ0FBaUNoQixLQUFLQztRQUMvQyxLQUFLSCxzQkFBc0JtQixpQkFBaUI7WUFDMUMsT0FBT0Msd0NBQXdDbEIsS0FBS0M7UUFDdEQsS0FBS0gs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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@discordeno/bot",
|
|
3
|
-
"version": "22.0.1-next.
|
|
3
|
+
"version": "22.0.1-next.720c0da",
|
|
4
4
|
"exports": "./dist/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -25,18 +25,18 @@
|
|
|
25
25
|
"test:type": "tsc --noEmit"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@discordeno/gateway": "22.0.1-next.
|
|
29
|
-
"@discordeno/rest": "22.0.1-next.
|
|
30
|
-
"@discordeno/types": "22.0.1-next.
|
|
31
|
-
"@discordeno/utils": "22.0.1-next.
|
|
28
|
+
"@discordeno/gateway": "22.0.1-next.720c0da",
|
|
29
|
+
"@discordeno/rest": "22.0.1-next.720c0da",
|
|
30
|
+
"@discordeno/types": "22.0.1-next.720c0da",
|
|
31
|
+
"@discordeno/utils": "22.0.1-next.720c0da"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@biomejs/biome": "2.4.
|
|
34
|
+
"@biomejs/biome": "2.4.4",
|
|
35
35
|
"@swc/cli": "^0.8.0",
|
|
36
|
-
"@swc/core": "^1.15.
|
|
36
|
+
"@swc/core": "^1.15.18",
|
|
37
37
|
"@types/chai": "^5.2.3",
|
|
38
38
|
"@types/mocha": "^10.0.10",
|
|
39
|
-
"@types/node": "^25.
|
|
39
|
+
"@types/node": "^25.3.3",
|
|
40
40
|
"@types/sinon": "^21.0.0",
|
|
41
41
|
"c8": "^10.1.3",
|
|
42
42
|
"chai": "^6.2.2",
|