single-scripture-rcl 3.2.1-beta.2 → 3.2.1

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.
@@ -611,4 +611,4 @@ ScriptureCard.propTypes = {
611
611
  /** index for current book (e.g. '01' for 'gen')*/
612
612
  bookIndex: PropTypes.string
613
613
  };
614
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZUNhcmQvU2NyaXB0dXJlQ2FyZC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQcm9wVHlwZXMiLCJSeExpbmsyIiwiUnhMaW5rQnJlYWsyIiwiQ2FyZCIsInVzZUNhcmRTdGF0ZSIsInVzZVVzZXJCcmFuY2giLCJFUlJPUl9TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJXb3JkQWxpZ25lciIsIkNoZWNrT3V0bGluZWRJY29uIiwiQ2FuY2VsT3V0bGluZWRJY29uIiwiSWNvbkJ1dHRvbiIsIlNjcmlwdHVyZVBhbmUiLCJTY3JpcHR1cmVTZWxlY3RvciIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiZ2V0UmVzb3VyY2VMaW5rIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwiaXNPcmlnaW5hbEJpYmxlIiwiVGl0bGUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkciLCJ1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0IiwiS0VZX0ZPTlRfU0laRV9CQVNFIiwibGFiZWwiLCJzdHlsZSIsIm1hcmdpblRvcCIsIndpZHRoIiwiU2NyaXB0dXJlQ2FyZCIsImlkIiwiaXNOVCIsInRpdGxlIiwic2VydmVyIiwiYXBwUmVmIiwiY2FyZE51bSIsImNsYXNzZXMiLCJyZXNvdXJjZSIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJnZXRMYW5ndWFnZSIsInJlZmVyZW5jZSIsInZlcnNlIiwiY2hhcHRlciIsImJvb2tJZCIsInByb2plY3RJZCIsInJlc291cmNlTGluayIsInVzZVVzZXJMb2NhbFN0b3JhZ2UiLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJvblJlc291cmNlRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImdldExleGljb25EYXRhIiwiZmV0Y2hHbG9zc2VzRm9yVmVyc2UiLCJ0cmFuc2xhdGUiLCJvbk1pbmltaXplIiwibG9nZ2VkSW5Vc2VyIiwiYXV0aGVudGljYXRpb24iLCJzZXRTYXZlZENoYW5nZXMiLCJib29rSW5kZXgiLCJ1c2VTdGF0ZSIsImN1cnJlbnRWZXJzZU51bSIsInJlZiIsInVybEVycm9yIiwidXNpbmdVc2VyQnJhbmNoIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJmb250U2l6ZSIsInNldEZvbnRTaXplIiwiaXNOVF8iLCJzZXRTdGF0ZSIsIm5ld1N0YXRlIiwicHJldlN0YXRlIiwiY2FjaGUiLCJtYXhBZ2UiLCJzZXRVcmxFcnJvciIsImVycm9yIiwid2hvbGVCb29rIiwiaXNOZXdUZXN0YW1lbnQiLCJzY3JpcHR1cmVDb25maWciLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVTZXR0aW5ncyIsInNjcmlwdHVyZVZlcnNpb25IaXN0IiwiY2FyZFJlc291cmNlSWQiLCJjdXJyZW50VmVyc2VEYXRhXyIsInZlcnNlc0ZvclJlZiIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJ2ZXJzZURhdGEiLCJ2ZXJzZU9iamVjdHMiLCJyZWZfIiwiY2FuVXNlRWRpdEJyYW5jaCIsInN1YnN0cmluZyIsImxlbmd0aCIsImNhcmRJZCIsIndvcmtpbmdSZXNvdXJjZUJyYW5jaCIsInVzaW5nVXNlckJyYW5jaF8iLCJzdGFydEVkaXRCcmFuY2giLCJhY3Rpb25zIiwic3RhcnRFZGl0Iiwid29ya2luZ1JlZiIsInJlZmVyZW5jZV8iLCJzY3JpcHR1cmVUaXRsZSIsInVzZUVmZmVjdCIsIndvcmtpbmdSZWZfIiwicmVzb3VyY2VTdGF0dXMiLCJtZXNzYWdlIiwiaXNBY2Nlc3NFcnJvciIsInZlcnNpb24iLCJ1cGRhdGVUaXRsZSIsImdldFNjcmlwdHVyZVNlbGVjdG9yIiwic2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnIiwib25NZW51Q2xvc2UiLCJsYW5ndWFnZUlkXyIsImxhbmd1YWdlIiwiZGlyZWN0aW9uIiwiaXNIZWJyZXciLCJmb250RmFjdG9yIiwic2NhbGVkRm9udFNpemUiLCJtYXRjaGVkVmVyc2UiLCJpdGVtcyIsImhlYWRlcnMiLCJmaWx0ZXJzIiwiaXRlbUluZGV4IiwibWFya2Rvd25WaWV3Iiwic2V0RmlsdGVycyIsInNldEl0ZW1JbmRleCIsInNldE1hcmtkb3duVmlldyIsInJlZlN0eWxlIiwidXNlTWVtbyIsImZvbnRGYW1pbHkiLCJNYXRoIiwicm91bmQiLCJjb250ZW50U3R5bGUiLCJzY3JpcHR1cmVMYWJlbCIsImRpc2FibGVXb3JkUG9wb3Zlcl8iLCJ1c2luZ09yaWdpbmFsQmlibGUiLCJ1bmRlZmluZWQiLCJmZXRjaEdsb3NzRGF0YUZvclZlcnNlIiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsIm9yaWdpbmFsUmVwb1VybCIsImNhbmNlbEFsaWdubWVudCIsImN1cnJlbnRWZXJzZU9iamVjdHMiLCJoYW5kbGVBbGlnbm1lbnRDbGljayIsIm9uQWxpZ25tZW50c0NoYW5nZSIsInNhdmVBbGlnbm1lbnQiLCJzZXRFZGl0aW5nIiwic2V0VmVyc2VDaGFuZ2VkIiwic2F2ZUNoYW5nZXNUb0Nsb3VkIiwiYWxpZ25lZCIsImFsaWduZXJEYXRhIiwiZWRpdGluZyIsInVuc2F2ZWRDaGFuZ2VzIiwidW5zYXZlZENoYW5nZXNfIiwic2hvd1BvcG92ZXIiLCJQb3BvdmVyVGl0bGUiLCJ3b3JkRGV0YWlscyIsInBvc2l0aW9uQ29vcmQiLCJyYXdEYXRhIiwiY29uc29sZSIsImxvZyIsIndpbmRvdyIsInByb21wdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0b2tlbiIsImNoZWNraW5nU3RhdGUiLCJ0aXRsZVRleHQiLCJvblJlbmRlclRvb2xiYXIiLCJtYXJnaW4iLCJjdXJzb3IiLCJmbGV4RGlyZWN0aW9uIiwibWF4SGVpZ2h0Iiwib3ZlcmZsb3dZIiwiYWxpZ25tZW50cyIsIndvcmRCYW5rIiwicmVzdWx0cyIsInByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwibnVt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QUNFcEksRUFBQUEsZUFBZSxFQUFFbkQsU0FBUyxDQUFDc0wsSUE5Q0g7O0FBK0N4QjtBQUNBbEksRUFBQUEsVUFBVSxFQUFFcEQsU0FBUyxDQUFDNEwsTUFoREU7O0FBaUR4QjtBQUNBdkksRUFBQUEsWUFBWSxFQUFFckQsU0FBUyxDQUFDcUwsTUFsREE7O0FBbUR4QjtBQUNBL0gsRUFBQUEsYUFBYSxFQUFFdEQsU0FBUyxDQUFDcUwsTUFwREQ7O0FBcUR4QjtBQUNBOUgsRUFBQUEsY0FBYyxFQUFFdkQsU0FBUyxDQUFDc0wsSUF0REY7O0FBdUR4QjtBQUNBOUgsRUFBQUEsb0JBQW9CLEVBQUV4RCxTQUFTLENBQUNzTCxJQXhEUjs7QUF5RHhCO0FBQ0E3SCxFQUFBQSxTQUFTLEVBQUV6RCxTQUFTLENBQUNzTCxJQTFERzs7QUEyRHhCO0FBQ0E1SCxFQUFBQSxVQUFVLEVBQUUxRCxTQUFTLENBQUNzTCxJQTVERTs7QUE2RHhCO0FBQ0EzSCxFQUFBQSxZQUFZLEVBQUUzRCxTQUFTLENBQUNxTCxNQTlEQTs7QUErRHhCO0FBQ0F6SCxFQUFBQSxjQUFjLEVBQUU1RCxTQUFTLENBQUM0TCxNQWhFRjs7QUFpRXhCO0FBQ0EvSCxFQUFBQSxlQUFlLEVBQUU3RCxTQUFTLENBQUNzTCxJQWxFSDs7QUFtRXhCO0FBQ0F4SCxFQUFBQSxTQUFTLEVBQUU5RCxTQUFTLENBQUNxTDtBQXBFRyxDQUExQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5pbXBvcnQgeyBSeExpbmsyLCBSeExpbmtCcmVhazIgfSBmcm9tICdyZWFjdC1pY29ucy9yeCdcblxuaW1wb3J0IHtcbiAgQ2FyZCxcbiAgdXNlQ2FyZFN0YXRlLFxuICB1c2VVc2VyQnJhbmNoLFxuICBFUlJPUl9TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgV29yZEFsaWduZXIgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IENoZWNrT3V0bGluZWRJY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2hlY2tPdXRsaW5lZCdcbmltcG9ydCBDYW5jZWxPdXRsaW5lZEljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9DYW5jZWxPdXRsaW5lZCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUGFuZSwgU2NyaXB0dXJlU2VsZWN0b3IgfSBmcm9tICcuLidcbmltcG9ydCB7IHVzZVNjcmlwdHVyZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2NyaXB0dXJlU2V0dGluZ3MnXG5pbXBvcnQge1xuICBnZXRSZXNvdXJjZUxpbmssXG4gIGdldFJlc291cmNlTWVzc2FnZSxcbiAgZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzLFxuICBpc09yaWdpbmFsQmlibGUsXG59IGZyb20gJy4uLy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICcuLi9TY3JpcHR1cmVQYW5lL3N0eWxlZCdcbmltcG9ydCB7XG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG59IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQnXG5cbmNvbnN0IEtFWV9GT05UX1NJWkVfQkFTRSA9ICdzY3JpcHR1cmVQYW5lRm9udFNpemVfJ1xuY29uc3QgbGFiZWwgPSAnVmVyc2lvbidcbmNvbnN0IHN0eWxlID0geyBtYXJnaW5Ub3A6ICcxNnB4Jywgd2lkdGg6ICc1MDBweCcgfVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTY3JpcHR1cmVDYXJkKHtcbiAgaWQsXG4gIGlzTlQsXG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIGFwcFJlZixcbiAgY2FyZE51bSxcbiAgY2xhc3NlcyxcbiAgcmVzb3VyY2U6IHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICB9LFxuICBnZXRMYW5ndWFnZSxcbiAgcmVmZXJlbmNlOiB7XG4gICAgdmVyc2UsXG4gICAgY2hhcHRlcixcbiAgICBwcm9qZWN0SWQ6IGJvb2tJZCxcbiAgfSxcbiAgcmVzb3VyY2VMaW5rLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIG9uUmVzb3VyY2VFcnJvcixcbiAgaHR0cENvbmZpZyxcbiAgZ3JlZWtSZXBvVXJsLFxuICBoZWJyZXdSZXBvVXJsLFxuICBnZXRMZXhpY29uRGF0YSxcbiAgZmV0Y2hHbG9zc2VzRm9yVmVyc2UsXG4gIHRyYW5zbGF0ZSxcbiAgb25NaW5pbWl6ZSxcbiAgbG9nZ2VkSW5Vc2VyLFxuICBhdXRoZW50aWNhdGlvbixcbiAgc2V0U2F2ZWRDaGFuZ2VzLFxuICBib29rSW5kZXgsXG59KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVfXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICBjdXJyZW50VmVyc2VOdW06IDAsIC8vVE9ETyB3aWxsIGJlIHVzZWQgaW4gZnV0dXJlIHdoZW4gbmVlZCB0byBzdXBwb3J0IG11bHRpcGxlIHZlcnNlcyBpbiBjYXJkXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgdXJsRXJyb3I6IG51bGwsXG4gICAgdXNpbmdVc2VyQnJhbmNoOiBmYWxzZSxcbiAgfSlcbiAgY29uc3Qge1xuICAgIGN1cnJlbnRWZXJzZU51bSxcbiAgICByZWYsXG4gICAgdXJsRXJyb3IsXG4gICAgdXNpbmdVc2VyQnJhbmNoLFxuICB9ID0gc3RhdGVcblxuICBjb25zdCBbZm9udFNpemUsIHNldEZvbnRTaXplXSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX0ZPTlRfU0laRV9CQVNFICsgY2FyZE51bSwgMTAwKVxuICBjb25zdCBpc05UXyA9IGlzTlQoYm9va0lkKVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgc2V0U3RhdGVfKHByZXZTdGF0ZSA9PiAoeyAuLi5wcmV2U3RhdGUsIC4uLm5ld1N0YXRlIH0pKVxuICB9XG5cbiAgaWYgKHVzaW5nVXNlckJyYW5jaCkge1xuICAgIGh0dHBDb25maWcgPSB7IC4uLmh0dHBDb25maWcsIGNhY2hlOiB7IG1heEFnZTogMCB9IH0gLy8gZGlzYWJsZSBodHRwIGNhY2hpbmdcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2V0U2NyaXB0dXJlLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICB9ID0gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICAgIGlzTlQsXG4gICAgdGl0bGUsXG4gICAgdmVyc2UsXG4gICAgb3duZXIsXG4gICAgYm9va0lkLFxuICAgIGFwcFJlZjogcmVmLFxuICAgIHNlcnZlcixcbiAgICBjYXJkTnVtLFxuICAgIGNoYXB0ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgc2V0VXJsRXJyb3I6IChlcnJvcikgPT4gc2V0U3RhdGUoeyB1cmxFcnJvcjogZXJyb3IgfSksXG4gICAgaHR0cENvbmZpZyxcbiAgICBncmVla1JlcG9VcmwsXG4gICAgaGVicmV3UmVwb1VybCxcbiAgICB3aG9sZUJvb2s6IHRydWUsXG4gIH0pXG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBjYXJkUmVzb3VyY2VJZCA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/LnByb2plY3RJZCB8fCByZXNvdXJjZUlkXG4gIGNvbnN0IGN1cnJlbnRWZXJzZURhdGFfID0gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LltjdXJyZW50VmVyc2VOdW1dIHx8IG51bGxcbiAgY29uc3QgaW5pdGlhbFZlcnNlT2JqZWN0cyA9IGN1cnJlbnRWZXJzZURhdGFfPy52ZXJzZURhdGE/LnZlcnNlT2JqZWN0cyB8fCBudWxsXG4gIC8vIEB0cy1pZ25vcmVcbiAgbGV0IHJlZl8gPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5yZWYgfHwgYXBwUmVmXG4gIGNvbnN0IGNhblVzZUVkaXRCcmFuY2ggPSBsb2dnZWRJblVzZXIgJiYgYXV0aGVudGljYXRpb24gJiZcbiAgICAocmVzb3VyY2VJZCAhPT0gT1JJR0lOQUxfU09VUkNFKSAmJlxuICAgICgocmVmXyA9PT0gJ21hc3RlcicpIHx8IChyZWZfLnN1YnN0cmluZygwLCBsb2dnZWRJblVzZXIubGVuZ3RoKSA9PT0gbG9nZ2VkSW5Vc2VyKSApIC8vIG5vdCB0YWdcblxuICBjb25zdCB7XG4gICAgc3RhdGU6IHsgd29ya2luZ1Jlc291cmNlQnJhbmNoLCB1c2luZ1VzZXJCcmFuY2g6IHVzaW5nVXNlckJyYW5jaF8gfSxcbiAgICBhY3Rpb25zOiB7IHN0YXJ0RWRpdDogc3RhcnRFZGl0QnJhbmNoIH0sXG4gIH0gPSB1c2VVc2VyQnJhbmNoKHtcbiAgICBvd25lcixcbiAgICBzZXJ2ZXIsXG4gICAgYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgY2FyZElkOiBpZCxcbiAgICBsb2dnZWRJblVzZXI6IGNhblVzZUVkaXRCcmFuY2ggPyBsb2dnZWRJblVzZXIgOiBudWxsLFxuICAgIGF1dGhlbnRpY2F0aW9uOiBjYW5Vc2VFZGl0QnJhbmNoID8gYXV0aGVudGljYXRpb24gOiBudWxsLFxuICAgIGNhcmRSZXNvdXJjZUlkLFxuICAgIG9uUmVzb3VyY2VFcnJvcixcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICB9KVxuXG4gIGNvbnN0IHdvcmtpbmdSZWYgPSBjYW5Vc2VFZGl0QnJhbmNoID8gd29ya2luZ1Jlc291cmNlQnJhbmNoIDogYXBwUmVmXG4gIGNvbnN0IHJlZmVyZW5jZV8gPSB7IGJvb2tJZCwgY2hhcHRlciwgdmVyc2UgfVxuICBsZXQgc2NyaXB0dXJlVGl0bGVcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyBzZWxlY3QgY29ycmVjdCB3b3JraW5nIHJlZiAtIGNvdWxkIGJlIG1hc3RlciwgdXNlciBicmFuY2gsIG9yIHJlbGVhc2VcbiAgICBpZiAodXNpbmdVc2VyQnJhbmNoXyAhPT0gdXNpbmdVc2VyQnJhbmNoKSB7XG4gICAgICBzZXRTdGF0ZSh7IHVzaW5nVXNlckJyYW5jaDogdXNpbmdVc2VyQnJhbmNoXyB9KVxuICAgIH1cbiAgfSwgW3VzaW5nVXNlckJyYW5jaF8sIHVzaW5nVXNlckJyYW5jaF0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gc2VsZWN0IGNvcnJlY3Qgd29ya2luZyByZWYgLSBjb3VsZCBiZSBtYXN0ZXIsIHVzZXIgYnJhbmNoLCBvciByZWxlYXNlXG4gICAgbGV0IHdvcmtpbmdSZWZfID0gd29ya2luZ1JlZiB8fCBhcHBSZWZcblxuICAgIGlmIChyZWYgIT09IHdvcmtpbmdSZWZfKSB7XG4gICAgICBzZXRTdGF0ZSh7IHJlZjogd29ya2luZ1JlZl8gfSlcbiAgICB9XG4gIH0sIFt3b3JraW5nUmVmLCByZWYsIGFwcFJlZl0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gdXBkYXRlIGRpc3BsYXkgc3RhdHVzIGlmIGVycm9yXG4gICAgY29uc3QgZXJyb3IgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlU3RhdHVzPy5bRVJST1JfU1RBVEVdXG5cbiAgICBpZiAoZXJyb3IpIHsgLy8gaWYgZXJyb3Igd2FzIGZvdW5kIGRvIGNhbGxiYWNrXG4gICAgICBjb25zdCByZXNvdXJjZVN0YXR1cyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2VTdGF0dXNcbiAgICAgIGNvbnN0IHJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVDb25maWcpXG4gICAgICBjb25zdCBtZXNzYWdlID0gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzLCBzZXJ2ZXIsIHJlc291cmNlTGluaywgaXNOVF8pXG4gICAgICBjb25zdCBpc0FjY2Vzc0Vycm9yID0gcmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl1cbiAgICAgIG9uUmVzb3VyY2VFcnJvciAmJiBvblJlc291cmNlRXJyb3IobWVzc2FnZSwgaXNBY2Nlc3NFcnJvciwgcmVzb3VyY2VTdGF0dXMpXG4gICAgfVxuICB9LCBbc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZVN0YXR1cz8uW0VSUk9SX1NUQVRFXSwgb25SZXNvdXJjZUVycm9yXSlcblxuICBpZiAoc2NyaXB0dXJlQ29uZmlnLnRpdGxlICYmIHNjcmlwdHVyZUNvbmZpZy52ZXJzaW9uKSB7XG4gICAgc2NyaXB0dXJlVGl0bGUgPSBgJHtzY3JpcHR1cmVDb25maWcudGl0bGV9IHYke3NjcmlwdHVyZUNvbmZpZy52ZXJzaW9ufWBcbiAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC51cGRhdGVUaXRsZShzY3JpcHR1cmVDb25maWcucmVzb3VyY2VMaW5rLCBzY3JpcHR1cmVUaXRsZSlcbiAgfSBlbHNlIHtcbiAgICBzY3JpcHR1cmVUaXRsZSA9IGBUaXRsZSBtaXNzaW5nIGZyb20gcHJvamVjdCBtYW5pZmVzdGBcbiAgfVxuXG4gIC8qKiBEeW5hbWljYWxseSBjcmVhdGVzIHRoZSBzY3JpcHR1cmUgc2VsZWN0aW9uIGRyb3Bkb3duIHRvIGJlIGluc2VydGVkIGludG8gY2FyZCBzZXR0aW5ncyAqL1xuICBmdW5jdGlvbiBnZXRTY3JpcHR1cmVTZWxlY3RvcigpIHtcbiAgICBjb25zdCBzY3JpcHR1cmVTZWxlY3Rpb25Db25maWcgPSBnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3Moe1xuICAgICAgbGFiZWwsXG4gICAgICByZXNvdXJjZUxpbms6IHNjcmlwdHVyZUNvbmZpZy5yZXNvdXJjZUxpbmssXG4gICAgICBzZXRTY3JpcHR1cmUsXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbiAgICB9KVxuXG4gICAgcmV0dXJuIDxTY3JpcHR1cmVTZWxlY3RvciB7Li4uc2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnfSBzdHlsZT17c3R5bGV9IGVycm9yTWVzc2FnZT17dXJsRXJyb3J9IC8+XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lbnVDbG9zZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgb25NZW51Q2xvc2UoKWApXG4gICAgc2V0U3RhdGUoeyB1cmxFcnJvcjogbnVsbCB9KVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBsYW5ndWFnZUlkXyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/Lmxhbmd1YWdlSWRcbiAgY29uc3QgbGFuZ3VhZ2UgPSBnZXRMYW5ndWFnZSh7IGxhbmd1YWdlSWQ6IGxhbmd1YWdlSWRfIH0pXG4gIGNvbnN0IGRpcmVjdGlvbiA9IChsYW5ndWFnZT8uZGlyZWN0aW9uKSB8fCAnbHRyJ1xuICBjb25zdCByZWZlcmVuY2UgPSB7IC4uLnNjcmlwdHVyZUNvbmZpZy5yZWZlcmVuY2UgfVxuXG4gIGNvbnN0IGlzSGVicmV3ID0gKGxhbmd1YWdlSWRfID09PSAnaGJvJylcbiAgY29uc3QgZm9udEZhY3RvciA9IGlzSGVicmV3ID8gMS40IDogMSAvLyB3ZSBhdXRvbWF0aWNhbGx5IHNjYWxlIHVwIGZvbnQgc2l6ZSBmb3IgSGVicmV3XG4gIGNvbnN0IHNjYWxlZEZvbnRTaXplID0gZm9udFNpemUgKiBmb250RmFjdG9yXG5cbiAgaWYgKHNjcmlwdHVyZUNvbmZpZy5tYXRjaGVkVmVyc2UpIHsgLy8gc3VwcG9ydCB2ZXJzZSByYW5nZXNcbiAgICByZWZlcmVuY2UudmVyc2UgPSBzY3JpcHR1cmVDb25maWcubWF0Y2hlZFZlcnNlXG4gIH1cblxuICBjb25zdCBpdGVtcyA9IG51bGxcbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICBoZWFkZXJzLCBmaWx0ZXJzLCBpdGVtSW5kZXgsIG1hcmtkb3duVmlldyxcbiAgICB9LFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHNldEZpbHRlcnMsIHNldEl0ZW1JbmRleCwgc2V0TWFya2Rvd25WaWV3LFxuICAgIH0sXG4gIH0gPSB1c2VDYXJkU3RhdGUoeyBpdGVtcyB9KVxuXG4gIGNvbnN0IHJlZlN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtNYXRoLnJvdW5kKHNjYWxlZEZvbnRTaXplICogMC45KX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3QgY29udGVudFN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtzY2FsZWRGb250U2l6ZX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3Qgc2NyaXB0dXJlTGFiZWwgPSA8VGl0bGU+e3NjcmlwdHVyZVRpdGxlfTwvVGl0bGU+XG4gIGxldCBkaXNhYmxlV29yZFBvcG92ZXJfID0gZGlzYWJsZVdvcmRQb3BvdmVyXG4gIGNvbnN0IHVzaW5nT3JpZ2luYWxCaWJsZSA9IGlzT3JpZ2luYWxCaWJsZShzY3JpcHR1cmVDb25maWdbJ3Jlc291cmNlJ10/LnByb2plY3RJZClcblxuICBpZiAoZGlzYWJsZVdvcmRQb3BvdmVyID09PSB1bmRlZmluZWQpIHsgLy8gaWYgbm90IHNwZWNpZmllZCwgdGhlbiBkZXRlcm1pbmUgaWYgb3JpZ2luYWwgbGFuZ3VhZ2UgcmVzb3VyY2VcbiAgICBkaXNhYmxlV29yZFBvcG92ZXJfID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gcHJlLWNhY2hlIGdsb3NzZXMgb24gdmVyc2UgY2hhbmdlXG4gICAgY29uc3QgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGlmICghZGlzYWJsZVdvcmRQb3BvdmVyICYmIGluaXRpYWxWZXJzZU9iamVjdHMgJiYgZmV0Y2hHbG9zc2VzRm9yVmVyc2UpIHtcbiAgICAgICAgYXdhaXQgZmV0Y2hHbG9zc2VzRm9yVmVyc2UoaW5pdGlhbFZlcnNlT2JqZWN0cywgbGFuZ3VhZ2VJZF8pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSgpXG4gIH0sIFsgaW5pdGlhbFZlcnNlT2JqZWN0cywgZGlzYWJsZVdvcmRQb3BvdmVyLCBsYW5ndWFnZUlkXywgZmV0Y2hHbG9zc2VzRm9yVmVyc2UgXSlcblxuICBjb25zdCBlbmFibGVFZGl0ID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICBjb25zdCBlbmFibGVBbGlnbm1lbnQgPSAhdXNpbmdPcmlnaW5hbEJpYmxlXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCB7XG4gICAgYWN0aW9uczoge1xuICAgICAgY2FuY2VsQWxpZ25tZW50LFxuICAgICAgY3VycmVudFZlcnNlT2JqZWN0cyxcbiAgICAgIGhhbmRsZUFsaWdubWVudENsaWNrLFxuICAgICAgb25BbGlnbm1lbnRzQ2hhbmdlLFxuICAgICAgc2F2ZUFsaWdubWVudCxcbiAgICAgIHNldEVkaXRpbmcsXG4gICAgICBzZXRWZXJzZUNoYW5nZWQsXG4gICAgICBzYXZlQ2hhbmdlc1RvQ2xvdWQsXG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgYWxpZ25lZCxcbiAgICAgIGFsaWduZXJEYXRhLFxuICAgICAgZWRpdGluZyxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgIH0sXG4gIH0gPSB1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0KHtcbiAgICBhdXRoZW50aWNhdGlvbjogY2FuVXNlRWRpdEJyYW5jaCA/IGF1dGhlbnRpY2F0aW9uIDogbnVsbCxcbiAgICBlbmFibGVFZGl0LFxuICAgIGVuYWJsZUFsaWdubWVudCxcbiAgICBodHRwQ29uZmlnLFxuICAgIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gICAgaXNOZXdUZXN0YW1lbnQsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxvZ2dlZEluVXNlcjogY2FuVXNlRWRpdEJyYW5jaCA/IGxvZ2dlZEluVXNlciA6IG51bGwsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2NyaXB0dXJlQ29uZmlnLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHN0YXJ0RWRpdEJyYW5jaCxcbiAgICBib29rSW5kZXgsXG4gICAgd29ya2luZ1Jlc291cmNlQnJhbmNoOiByZWYsXG4gICAgY3VycmVudFZlcnNlTnVtLFxuICB9KVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHNldCBzYXZlZCBjaGFuZ2VzIHdoZW5ldmVyIHVzZXIgZWRpdHMgdmVyc2UgdGV4dCBvciBhbGlnbm1lbnRzIG9yIGlmIGFsaWdubWVudHMgYXJlIG9wZW5cbiAgICBjb25zdCB1bnNhdmVkQ2hhbmdlc18gPSB1bnNhdmVkQ2hhbmdlcyB8fCBhbGlnbmVyRGF0YVxuICAgIHNldFNhdmVkQ2hhbmdlcyAmJiBzZXRTYXZlZENoYW5nZXMocmVzb3VyY2VJZCwgIXVuc2F2ZWRDaGFuZ2VzXylcbiAgfSwgW3Vuc2F2ZWRDaGFuZ2VzLCBhbGlnbmVyRGF0YV0pXG5cbiAgZnVuY3Rpb24gc2hvd1BvcG92ZXIoUG9wb3ZlclRpdGxlLCB3b3JkRGV0YWlscywgcG9zaXRpb25Db29yZCwgcmF3RGF0YSkge1xuICAgIC8vIFRPRE86IG1ha2Ugc2hvdyBwb3BvdmVyIHByZXR0eVxuICAgIGNvbnNvbGUubG9nKGBzaG93UG9wb3ZlcmAsIHJhd0RhdGEpXG4gICAgd2luZG93LnByb21wdChgVXNlciBjbGlja2VkIG9uICR7SlNPTi5zdHJpbmdpZnkocmF3RGF0YS50b2tlbil9YClcbiAgfVxuXG4gIGNvbnN0IGNoZWNraW5nU3RhdGUgPSBhbGlnbmVkID8gJ3ZhbGlkJyA6ICdpbnZhbGlkJ1xuICBjb25zdCB0aXRsZVRleHQgPSBjaGVja2luZ1N0YXRlID09PSAndmFsaWQnID8gJ0FsaWdubWVudCBpcyBWYWxpZCcgOiAnQWxpZ25tZW50IGlzIEludmFsaWQnO1xuICBjb25zdCBvblJlbmRlclRvb2xiYXIgPSAoeyBpdGVtcyB9KSA9PiBbXG4gICAgLi4uaXRlbXMsXG4gICAgPEljb25CdXR0b25cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJnaW59XG4gICAgICBrZXk9J2NoZWNraW5nLWJ1dHRvbidcbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUFsaWdubWVudENsaWNrKCl9XG4gICAgICB0aXRsZT17dGl0bGVUZXh0fVxuICAgICAgYXJpYS1sYWJlbD17dGl0bGVUZXh0fVxuICAgICAgc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX1cbiAgICA+XG4gICAgICB7Y2hlY2tpbmdTdGF0ZSA9PT0gJ3ZhbGlkJyA/IChcbiAgICAgICAgPFJ4TGluazIgaWQ9J3ZhbGlkX2ljb24nIGNvbG9yPScjQkJCJyAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFJ4TGlua0JyZWFrMiBpZD0naW52YWxpZF9pY29uJyBjb2xvcj0nIzAwMCcgLz5cbiAgICAgICl9XG4gICAgPC9JY29uQnV0dG9uPixcbiAgXVxuXG4gIHJldHVybiAoXG4gICAgPENhcmRcbiAgICAgIGlkPXtgc2NyaXB0dXJlX2NhcmRfJHtjYXJkTnVtfWB9XG4gICAgICB0aXRsZT17c2NyaXB0dXJlTGFiZWx9XG4gICAgICBzZXR0aW5nc1RpdGxlPXtzY3JpcHR1cmVUaXRsZSArICcgU2V0dGluZ3MnfVxuICAgICAgaXRlbXM9e2l0ZW1zfVxuICAgICAgY2xhc3Nlcz17Y2xhc3Nlc31cbiAgICAgIGhlYWRlcnM9e2hlYWRlcnN9XG4gICAgICBmaWx0ZXJzPXtmaWx0ZXJzfVxuICAgICAgZm9udFNpemU9e2ZvbnRTaXplfVxuICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICBzZXRGaWx0ZXJzPXtzZXRGaWx0ZXJzfVxuICAgICAgc2V0Rm9udFNpemU9e3NldEZvbnRTaXplfVxuICAgICAgc2V0SXRlbUluZGV4PXtzZXRJdGVtSW5kZXh9XG4gICAgICBtYXJrZG93blZpZXc9e21hcmtkb3duVmlld31cbiAgICAgIHNldE1hcmtkb3duVmlldz17c2V0TWFya2Rvd25WaWV3fVxuICAgICAgZ2V0Q3VzdG9tQ29tcG9uZW50PXtnZXRTY3JpcHR1cmVTZWxlY3Rvcn1cbiAgICAgIGhpZGVNYXJrZG93blRvZ2dsZVxuICAgICAgb25NZW51Q2xvc2U9e29uTWVudUNsb3NlfVxuICAgICAgb25NaW5pbWl6ZT17b25NaW5pbWl6ZSA/ICgpID0+IG9uTWluaW1pemUoaWQpIDogbnVsbH1cbiAgICAgIGVkaXRhYmxlPXtlbmFibGVFZGl0IHx8IGVuYWJsZUFsaWdubWVudH1cbiAgICAgIHNhdmVkPXshdW5zYXZlZENoYW5nZXN9XG4gICAgICBvblNhdmVFZGl0PXtzYXZlQ2hhbmdlc1RvQ2xvdWR9XG4gICAgICBvbkJsdXI9eygpID0+IHNldEVkaXRpbmcoZmFsc2UpfVxuICAgICAgb25SZW5kZXJUb29sYmFyPXtvblJlbmRlclRvb2xiYXJ9XG4gICAgPlxuICAgICAge2FsaWduZXJEYXRhID9cbiAgICAgICAgPGRpdiBzdHlsZT17eyBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyB9fT5cbiAgICAgICAgICA8V29yZEFsaWduZXJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1heEhlaWdodDogJzQ1MHB4Jywgb3ZlcmZsb3dZOiAnYXV0bycgfX1cbiAgICAgICAgICAgIHZlcnNlQWxpZ25tZW50cz17YWxpZ25lckRhdGEuYWxpZ25tZW50c31cbiAgICAgICAgICAgIHRhcmdldFdvcmRzPXthbGlnbmVyRGF0YS53b3JkQmFua31cbiAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgY29udGV4dElkPXt7IHJlZmVyZW5jZTogcmVmZXJlbmNlXyB9fVxuICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2U9e2xhbmd1YWdlfVxuICAgICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VGb250PXsnJ31cbiAgICAgICAgICAgIHNvdXJjZUxhbmd1YWdlPXtpc05UXyA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFOR31cbiAgICAgICAgICAgIHNob3dQb3BvdmVyPXtzaG93UG9wb3Zlcn1cbiAgICAgICAgICAgIGxleGljb25zPXt7fX1cbiAgICAgICAgICAgIGxvYWRMZXhpY29uRW50cnk9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhyZXN1bHRzKSA9PiBvbkFsaWdubWVudHNDaGFuZ2UocmVzdWx0cyl9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX0+XG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJnaW59XG4gICAgICAgICAgICAgIGtleT0nYWxpZ25tZW50LXNhdmUnXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNhdmVBbGlnbm1lbnQoKX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17J0FsaWdubWVudCBTYXZlJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPENoZWNrT3V0bGluZWRJY29uIGlkPSdhbGlnbm1lbnQtc2F2ZS1pY29uJyBodG1sQ29sb3I9JyMwMDAnIC8+XG4gICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJnaW59XG4gICAgICAgICAgICAgIGtleT0nYWxpZ25tZW50LWNhbmNlbCdcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2FuY2VsQWxpZ25tZW50KCl9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9eydBbGlnbm1lbnQgQ2FuY2VsJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPENhbmNlbE91dGxpbmVkSWNvbiBpZD0nYWxpZ25tZW50LWNhbmNlbC1pY29uJyBodG1sQ29sb3I9JyMwMDAnIC8+XG4gICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxTY3JpcHR1cmVQYW5lXG4gICAgICAgICAgcmVmU3R5bGU9e3JlZlN0eWxlfVxuICAgICAgICAgIHsuLi5zY3JpcHR1cmVDb25maWd9XG4gICAgICAgICAgdmVyc2VPYmplY3RzPXtjdXJyZW50VmVyc2VPYmplY3RzfVxuICAgICAgICAgIGlzTlQ9e2lzTlRffVxuICAgICAgICAgIHNlcnZlcj17c2VydmVyfVxuICAgICAgICAgIHJlZmVyZW5jZT17cmVmZXJlbmNlfVxuICAgICAgICAgIGRpcmVjdGlvbj17ZGlyZWN0aW9ufVxuICAgICAgICAgIGNvbnRlbnRTdHlsZT17Y29udGVudFN0eWxlfVxuICAgICAgICAgIGZvbnRTaXplPXtmb250U2l6ZX1cbiAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXI9e2Rpc2FibGVXb3JkUG9wb3Zlcl99XG4gICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgIGVkaXRpbmc9e2VkaXRpbmd9XG4gICAgICAgICAgc2V0RWRpdGluZz17c2V0RWRpdGluZ31cbiAgICAgICAgICBzZXRWZXJzZUNoYW5nZWQ9e3NldFZlcnNlQ2hhbmdlZH1cbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICA8L0NhcmQ+XG4gIClcbn1cblxuU2NyaXB0dXJlQ2FyZC5wcm9wVHlwZXMgPSB7XG4gIC8qKiBodG1sIGlkZW50aWZpZXIgdG8gdXNlIGZvciBjYXJkICovXG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogbWV0aG9kIHRvIGRldGVybWluZSBpZiBOVCBvciBPVCAqL1xuICBpc05UOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAvKiogdGl0bGUgZm9yIHNjcmlwdHVyZSBjYXJkICovXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiBnZXQgbGFuZ3VhZ2UgZGV0YWlscyAqL1xuICBnZXRMYW5ndWFnZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIHNjcmlwdHVyZSBjYXJkIG51bWJlciAoMCB0byAyIGZvciBleGFtcGxlKSAqL1xuICBjYXJkTnVtOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiByZXNvdXJjZSBvYmplY3QgKi9cbiAgcmVzb3VyY2U6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgLyoqIHJlc291cmNlIGxhbmd1YWdlIHRvIHVzZSAqL1xuICAgIGxhbmd1YWdlSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogcmVwbyBvd25lciBzdWNoIGFzIHVuZm9sZGluZ1dvcmQgKi9cbiAgICBvd25lcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIC8qKiByZXNvdXJjZUlkIHRvIHVzZSAoZS5nLiB1Z250KSAqL1xuICAgIHJlc291cmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogcmVwbyBvd25lciBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VzIHN1Y2ggYXMgdW5mb2xkaW5nV29yZCAqL1xuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9KSxcbiAgcmVmZXJlbmNlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIC8qKiBwcm9qZWN0SWQgKGJvb2tJRCkgdG8gdXNlICovXG4gICAgcHJvamVjdElkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIGN1cnJlbnQgY2hhcHRlciBudW1iZXIgKi9cbiAgICBjaGFwdGVyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSkuaXNSZXF1aXJlZCxcbiAgICAvKiogY3VycmVudCB2ZXJzZSBudW1iZXIgKi9cbiAgICB2ZXJzZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLmlzUmVxdWlyZWQsXG4gIH0pLFxuICAvKiogc2VydmVyIChlLmcuICdodHRwczovL2dpdC5kb29yNDMub3JnJykgKi9cbiAgc2VydmVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiByZXBvIGJyYW5jaCBvciB0YWcgc3VjaCBhcyBtYXN0ZXIgKi9cbiAgYXBwUmVmOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiBpZiB0cnVlIHRoZW4gd29yZCBkYXRhIGhvdmVyIGlzIHNob3duICovXG4gIGRpc2FibGVXb3JkUG9wb3ZlcjogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKiBDU1MgY2xhc3NlcyAqL1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKiogcmVzb3VyY2VMaW5rICovXG4gIHJlc291cmNlTGluazogUHJvcFR5cGVzLmFueSxcbiAgLyoqIHVzZSBtZXRob2QgZm9yIHVzaW5nIGxvY2FsIHN0b3JhZ2Ugc3BlY2lmaWMgZm9yIHVzZXIgKi9cbiAgdXNlVXNlckxvY2FsU3RvcmFnZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIG9wdGlvbmFsIGNhbGxiYWNrIGlmIGVycm9yIGxvYWRpbmcgcmVzb3VyY2UsIHBhcmFtZXRlciByZXR1cm5lZCBhcmU6XG4gICAqICAgICh7c3RyaW5nfSBlcnJvck1lc3NhZ2UsIHtib29sZWFufSBpc0FjY2Vzc0Vycm9yLCB7b2JqZWN0fSByZXNvdXJjZVN0YXR1cylcbiAgICogICAgICAtIGlzQWNjZXNzRXJyb3IgLSBpcyB0cnVlIGlmIHRoaXMgd2FzIGFuIGVycm9yIHRyeWluZyB0byBhY2Nlc3MgZmlsZVxuICAgKiAgICAgIC0gcmVzb3VyY2VTdGF0dXMgLSBpcyBvYmplY3QgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IHByb2JsZW1zIGZldGNoaW5nIHJlc291cmNlICovXG4gIG9uUmVzb3VyY2VFcnJvcjogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBvcHRpb25hbCBodHRwIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIGZvciBmZXRjaGluZyByZXNvdXJjZXMsIGRlZmF1bHQgaXMgMCAodmVyeSBsb25nIHdhaXQpICovXG4gIGh0dHBDb25maWc6IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKiBvcHRpb25hbCB1cmwgZm9yIGdyZWVrIHJlcG8gKi9cbiAgZ3JlZWtSZXBvVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogb3B0aW9uYWwgdXJsIGZvciBoZWJyZXcgcmVwbyAqL1xuICBoZWJyZXdSZXBvVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogZnVuY3Rpb24gdG8gcHJlLWxvYWQgbGV4aWNvbiBkYXRhIGZvciB2ZXJzZSAqL1xuICBmZXRjaEdsb3NzZXNGb3JWZXJzZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBmdW5jdGlvbiB0byBtaW5pbWl6ZSB0aGUgY2FyZCAob3B0aW9uYWwpICovXG4gIG9uTWluaW1pemU6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogdXNlci1uYW1lICovXG4gIGxvZ2dlZEluVXNlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqIGF1dGhlbnRpY2F0aW9uIGluZm8gKi9cbiAgYXV0aGVudGljYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKiBmdW5jdGlvbiB0byBzZXQgc3RhdGUgaW4gYXBwIHRoYXQgdGhlcmUgYXJlIHVuc2F2ZWQgY2hhbmdlcyAqL1xuICBzZXRTYXZlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogaW5kZXggZm9yIGN1cnJlbnQgYm9vayAoZS5nLiAnMDEnIGZvciAnZ2VuJykqL1xuICBib29rSW5kZXg6IFByb3BUeXBlcy5zdHJpbmcsXG59XG4iXX0=
614
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZUNhcmQvU2NyaXB0dXJlQ2FyZC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQcm9wVHlwZXMiLCJSeExpbmsyIiwiUnhMaW5rQnJlYWsyIiwiQ2FyZCIsInVzZUNhcmRTdGF0ZSIsInVzZVVzZXJCcmFuY2giLCJFUlJPUl9TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJXb3JkQWxpZ25lciIsIkNoZWNrT3V0bGluZWRJY29uIiwiQ2FuY2VsT3V0bGluZWRJY29uIiwiSWNvbkJ1dHRvbiIsIlNjcmlwdHVyZVBhbmUiLCJTY3JpcHR1cmVTZWxlY3RvciIsInVzZVNjcmlwdHVyZVNldHRpbmdzIiwiZ2V0UmVzb3VyY2VMaW5rIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzIiwiaXNPcmlnaW5hbEJpYmxlIiwiVGl0bGUiLCJOVF9PUklHX0xBTkciLCJPUklHSU5BTF9TT1VSQ0UiLCJPVF9PUklHX0xBTkciLCJ1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0IiwiS0VZX0ZPTlRfU0laRV9CQVNFIiwibGFiZWwiLCJzdHlsZSIsIm1hcmdpblRvcCIsIndpZHRoIiwiU2NyaXB0dXJlQ2FyZCIsImlkIiwiaXNOVCIsInRpdGxlIiwic2VydmVyIiwiYXBwUmVmIiwiY2FyZE51bSIsImNsYXNzZXMiLCJyZXNvdXJjZSIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJnZXRMYW5ndWFnZSIsInJlZmVyZW5jZSIsInZlcnNlIiwiY2hhcHRlciIsImJvb2tJZCIsInByb2plY3RJZCIsInJlc291cmNlTGluayIsInVzZVVzZXJMb2NhbFN0b3JhZ2UiLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJvblJlc291cmNlRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImdldExleGljb25EYXRhIiwiZmV0Y2hHbG9zc2VzRm9yVmVyc2UiLCJ0cmFuc2xhdGUiLCJvbk1pbmltaXplIiwibG9nZ2VkSW5Vc2VyIiwiYXV0aGVudGljYXRpb24iLCJzZXRTYXZlZENoYW5nZXMiLCJib29rSW5kZXgiLCJ1c2VTdGF0ZSIsImN1cnJlbnRWZXJzZU51bSIsInJlZiIsInVybEVycm9yIiwidXNpbmdVc2VyQnJhbmNoIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJmb250U2l6ZSIsInNldEZvbnRTaXplIiwiaXNOVF8iLCJzZXRTdGF0ZSIsIm5ld1N0YXRlIiwicHJldlN0YXRlIiwiY2FjaGUiLCJtYXhBZ2UiLCJzZXRVcmxFcnJvciIsImVycm9yIiwid2hvbGVCb29rIiwiaXNOZXdUZXN0YW1lbnQiLCJzY3JpcHR1cmVDb25maWciLCJzZXRTY3JpcHR1cmUiLCJzY3JpcHR1cmVTZXR0aW5ncyIsInNjcmlwdHVyZVZlcnNpb25IaXN0IiwiY2FyZFJlc291cmNlSWQiLCJjdXJyZW50VmVyc2VEYXRhXyIsInZlcnNlc0ZvclJlZiIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJ2ZXJzZURhdGEiLCJ2ZXJzZU9iamVjdHMiLCJyZWZfIiwiY2FuVXNlRWRpdEJyYW5jaCIsInN1YnN0cmluZyIsImxlbmd0aCIsImNhcmRJZCIsIndvcmtpbmdSZXNvdXJjZUJyYW5jaCIsInVzaW5nVXNlckJyYW5jaF8iLCJzdGFydEVkaXRCcmFuY2giLCJhY3Rpb25zIiwic3RhcnRFZGl0Iiwid29ya2luZ1JlZiIsInJlZmVyZW5jZV8iLCJzY3JpcHR1cmVUaXRsZSIsInVzZUVmZmVjdCIsIndvcmtpbmdSZWZfIiwicmVzb3VyY2VTdGF0dXMiLCJtZXNzYWdlIiwiaXNBY2Nlc3NFcnJvciIsInZlcnNpb24iLCJ1cGRhdGVUaXRsZSIsImdldFNjcmlwdHVyZVNlbGVjdG9yIiwic2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnIiwib25NZW51Q2xvc2UiLCJsYW5ndWFnZUlkXyIsImxhbmd1YWdlIiwiZGlyZWN0aW9uIiwiaXNIZWJyZXciLCJmb250RmFjdG9yIiwic2NhbGVkRm9udFNpemUiLCJtYXRjaGVkVmVyc2UiLCJpdGVtcyIsImhlYWRlcnMiLCJmaWx0ZXJzIiwiaXRlbUluZGV4IiwibWFya2Rvd25WaWV3Iiwic2V0RmlsdGVycyIsInNldEl0ZW1JbmRleCIsInNldE1hcmtkb3duVmlldyIsInJlZlN0eWxlIiwidXNlTWVtbyIsImZvbnRGYW1pbHkiLCJNYXRoIiwicm91bmQiLCJjb250ZW50U3R5bGUiLCJzY3JpcHR1cmVMYWJlbCIsImRpc2FibGVXb3JkUG9wb3Zlcl8iLCJ1c2luZ09yaWdpbmFsQmlibGUiLCJ1bmRlZmluZWQiLCJmZXRjaEdsb3NzRGF0YUZvclZlcnNlIiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsIm9yaWdpbmFsUmVwb1VybCIsImNhbmNlbEFsaWdubWVudCIsImN1cnJlbnRWZXJzZU9iamVjdHMiLCJoYW5kbGVBbGlnbm1lbnRDbGljayIsIm9uQWxpZ25tZW50c0NoYW5nZSIsInNhdmVBbGlnbm1lbnQiLCJzZXRFZGl0aW5nIiwic2V0VmVyc2VDaGFuZ2VkIiwic2F2ZUNoYW5nZXNUb0Nsb3VkIiwiYWxpZ25lZCIsImFsaWduZXJEYXRhIiwiZWRpdGluZyIsInVuc2F2ZWRDaGFuZ2VzIiwidW5zYXZlZENoYW5nZXNfIiwic2hvd1BvcG92ZXIiLCJQb3BvdmVyVGl0bGUiLCJ3b3JkRGV0YWlscyIsInBvc2l0aW9uQ29vcmQiLCJyYXdEYXRhIiwiY29uc29sZSIsImxvZyIsIndpbmRvdyIsInByb21wdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ0b2tlbiIsImNoZWNraW5nU3RhdGUiLCJ0aXRsZVRleHQiLCJvblJlbmRlclRvb2xiYXIiLCJtYXJnaW4iLCJjdXJzb3IiLCJmbGV4RGlyZWN0aW9uIiwibWF4SGVpZ2h0Iiwib3ZlcmZsb3dZIiwiYWxpZ25tZW50cyIsIndvcmRCYW5rIiwicmVzdWx0cyIsInByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwibnVt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QUNFcEksRUFBQUEsZUFBZSxFQUFFbkQsU0FBUyxDQUFDc0wsSUE5Q0g7O0FBK0N4QjtBQUNBbEksRUFBQUEsVUFBVSxFQUFFcEQsU0FBUyxDQUFDNEwsTUFoREU7O0FBaUR4QjtBQUNBdkksRUFBQUEsWUFBWSxFQUFFckQsU0FBUyxDQUFDcUwsTUFsREE7O0FBbUR4QjtBQUNBL0gsRUFBQUEsYUFBYSxFQUFFdEQsU0FBUyxDQUFDcUwsTUFwREQ7O0FBcUR4QjtBQUNBOUgsRUFBQUEsY0FBYyxFQUFFdkQsU0FBUyxDQUFDc0wsSUF0REY7O0FBdUR4QjtBQUNBOUgsRUFBQUEsb0JBQW9CLEVBQUV4RCxTQUFTLENBQUNzTCxJQXhEUjs7QUF5RHhCO0FBQ0E3SCxFQUFBQSxTQUFTLEVBQUV6RCxTQUFTLENBQUNzTCxJQTFERzs7QUEyRHhCO0FBQ0E1SCxFQUFBQSxVQUFVLEVBQUUxRCxTQUFTLENBQUNzTCxJQTVERTs7QUE2RHhCO0FBQ0EzSCxFQUFBQSxZQUFZLEVBQUUzRCxTQUFTLENBQUNxTCxNQTlEQTs7QUErRHhCO0FBQ0F6SCxFQUFBQSxjQUFjLEVBQUU1RCxTQUFTLENBQUM0TCxNQWhFRjs7QUFpRXhCO0FBQ0EvSCxFQUFBQSxlQUFlLEVBQUU3RCxTQUFTLENBQUNzTCxJQWxFSDs7QUFtRXhCO0FBQ0F4SCxFQUFBQSxTQUFTLEVBQUU5RCxTQUFTLENBQUNxTDtBQXBFRyxDQUExQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnXG5pbXBvcnQgeyBSeExpbmsyLCBSeExpbmtCcmVhazIgfSBmcm9tICdyZWFjdC1pY29ucy9yeCdcblxuaW1wb3J0IHtcbiAgQ2FyZCxcbiAgdXNlQ2FyZFN0YXRlLFxuICB1c2VVc2VyQnJhbmNoLFxuICBFUlJPUl9TVEFURSxcbiAgTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUixcbn0gZnJvbSAndHJhbnNsYXRpb24taGVscHMtcmNsJ1xuaW1wb3J0IHsgV29yZEFsaWduZXIgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IENoZWNrT3V0bGluZWRJY29uIGZyb20gJ0BtdWkvaWNvbnMtbWF0ZXJpYWwvQ2hlY2tPdXRsaW5lZCdcbmltcG9ydCBDYW5jZWxPdXRsaW5lZEljb24gZnJvbSAnQG11aS9pY29ucy1tYXRlcmlhbC9DYW5jZWxPdXRsaW5lZCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUGFuZSwgU2NyaXB0dXJlU2VsZWN0b3IgfSBmcm9tICcuLidcbmltcG9ydCB7IHVzZVNjcmlwdHVyZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2NyaXB0dXJlU2V0dGluZ3MnXG5pbXBvcnQge1xuICBnZXRSZXNvdXJjZUxpbmssXG4gIGdldFJlc291cmNlTWVzc2FnZSxcbiAgZ2V0U2NyaXB0dXJlVmVyc2lvblNldHRpbmdzLFxuICBpc09yaWdpbmFsQmlibGUsXG59IGZyb20gJy4uLy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICcuLi9TY3JpcHR1cmVQYW5lL3N0eWxlZCdcbmltcG9ydCB7XG4gIE5UX09SSUdfTEFORyxcbiAgT1JJR0lOQUxfU09VUkNFLFxuICBPVF9PUklHX0xBTkcsXG59IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQnXG5cbmNvbnN0IEtFWV9GT05UX1NJWkVfQkFTRSA9ICdzY3JpcHR1cmVQYW5lRm9udFNpemVfJ1xuY29uc3QgbGFiZWwgPSAnVmVyc2lvbidcbmNvbnN0IHN0eWxlID0geyBtYXJnaW5Ub3A6ICcxNnB4Jywgd2lkdGg6ICc1MDBweCcgfVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBTY3JpcHR1cmVDYXJkKHtcbiAgaWQsXG4gIGlzTlQsXG4gIHRpdGxlLFxuICBzZXJ2ZXIsXG4gIGFwcFJlZixcbiAgY2FyZE51bSxcbiAgY2xhc3NlcyxcbiAgcmVzb3VyY2U6IHtcbiAgICBvd25lcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIHJlc291cmNlSWQsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICB9LFxuICBnZXRMYW5ndWFnZSxcbiAgcmVmZXJlbmNlOiB7XG4gICAgdmVyc2UsXG4gICAgY2hhcHRlcixcbiAgICBwcm9qZWN0SWQ6IGJvb2tJZCxcbiAgfSxcbiAgcmVzb3VyY2VMaW5rLFxuICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIG9uUmVzb3VyY2VFcnJvcixcbiAgaHR0cENvbmZpZyxcbiAgZ3JlZWtSZXBvVXJsLFxuICBoZWJyZXdSZXBvVXJsLFxuICBnZXRMZXhpY29uRGF0YSxcbiAgZmV0Y2hHbG9zc2VzRm9yVmVyc2UsXG4gIHRyYW5zbGF0ZSxcbiAgb25NaW5pbWl6ZSxcbiAgbG9nZ2VkSW5Vc2VyLFxuICBhdXRoZW50aWNhdGlvbixcbiAgc2V0U2F2ZWRDaGFuZ2VzLFxuICBib29rSW5kZXgsXG59KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVfXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICBjdXJyZW50VmVyc2VOdW06IDAsIC8vVE9ETyB3aWxsIGJlIHVzZWQgaW4gZnV0dXJlIHdoZW4gbmVlZCB0byBzdXBwb3J0IG11bHRpcGxlIHZlcnNlcyBpbiBjYXJkXG4gICAgcmVmOiBhcHBSZWYsXG4gICAgdXJsRXJyb3I6IG51bGwsXG4gICAgdXNpbmdVc2VyQnJhbmNoOiBmYWxzZSxcbiAgfSlcbiAgY29uc3Qge1xuICAgIGN1cnJlbnRWZXJzZU51bSxcbiAgICByZWYsXG4gICAgdXJsRXJyb3IsXG4gICAgdXNpbmdVc2VyQnJhbmNoLFxuICB9ID0gc3RhdGVcblxuICBjb25zdCBbZm9udFNpemUsIHNldEZvbnRTaXplXSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX0ZPTlRfU0laRV9CQVNFICsgY2FyZE51bSwgMTAwKVxuICBjb25zdCBpc05UXyA9IGlzTlQoYm9va0lkKVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgc2V0U3RhdGVfKHByZXZTdGF0ZSA9PiAoeyAuLi5wcmV2U3RhdGUsIC4uLm5ld1N0YXRlIH0pKVxuICB9XG5cbiAgaWYgKHVzaW5nVXNlckJyYW5jaCkge1xuICAgIGh0dHBDb25maWcgPSB7IC4uLmh0dHBDb25maWcsIGNhY2hlOiB7IG1heEFnZTogMCB9IH0gLy8gZGlzYWJsZSBodHRwIGNhY2hpbmdcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2V0U2NyaXB0dXJlLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICB9ID0gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICAgIGlzTlQsXG4gICAgdGl0bGUsXG4gICAgdmVyc2UsXG4gICAgb3duZXIsXG4gICAgYm9va0lkLFxuICAgIGFwcFJlZjogcmVmLFxuICAgIHNlcnZlcixcbiAgICBjYXJkTnVtLFxuICAgIGNoYXB0ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgc2V0VXJsRXJyb3I6IChlcnJvcikgPT4gc2V0U3RhdGUoeyB1cmxFcnJvcjogZXJyb3IgfSksXG4gICAgaHR0cENvbmZpZyxcbiAgICBncmVla1JlcG9VcmwsXG4gICAgaGVicmV3UmVwb1VybCxcbiAgICB3aG9sZUJvb2s6IHRydWUsXG4gIH0pXG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBjYXJkUmVzb3VyY2VJZCA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/LnByb2plY3RJZCB8fCByZXNvdXJjZUlkXG4gIGNvbnN0IGN1cnJlbnRWZXJzZURhdGFfID0gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LltjdXJyZW50VmVyc2VOdW1dIHx8IG51bGxcbiAgY29uc3QgaW5pdGlhbFZlcnNlT2JqZWN0cyA9IGN1cnJlbnRWZXJzZURhdGFfPy52ZXJzZURhdGE/LnZlcnNlT2JqZWN0cyB8fCBudWxsXG4gIC8vIEB0cy1pZ25vcmVcbiAgbGV0IHJlZl8gPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5yZWYgfHwgYXBwUmVmXG4gIGNvbnN0IGNhblVzZUVkaXRCcmFuY2ggPSBsb2dnZWRJblVzZXIgJiYgYXV0aGVudGljYXRpb24gJiZcbiAgICAocmVzb3VyY2VJZCAhPT0gT1JJR0lOQUxfU09VUkNFKSAmJlxuICAgICgocmVmXyA9PT0gJ21hc3RlcicpIHx8IChyZWZfLnN1YnN0cmluZygwLCBsb2dnZWRJblVzZXIubGVuZ3RoKSA9PT0gbG9nZ2VkSW5Vc2VyKSApIC8vIG5vdCB0YWdcblxuICBjb25zdCB7XG4gICAgc3RhdGU6IHsgd29ya2luZ1Jlc291cmNlQnJhbmNoLCB1c2luZ1VzZXJCcmFuY2g6IHVzaW5nVXNlckJyYW5jaF8gfSxcbiAgICBhY3Rpb25zOiB7IHN0YXJ0RWRpdDogc3RhcnRFZGl0QnJhbmNoIH0sXG4gIH0gPSB1c2VVc2VyQnJhbmNoKHtcbiAgICBvd25lcixcbiAgICBzZXJ2ZXIsXG4gICAgYXBwUmVmLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgY2FyZElkOiBpZCxcbiAgICBsb2dnZWRJblVzZXI6IGNhblVzZUVkaXRCcmFuY2ggPyBsb2dnZWRJblVzZXIgOiBudWxsLFxuICAgIGF1dGhlbnRpY2F0aW9uOiBjYW5Vc2VFZGl0QnJhbmNoID8gYXV0aGVudGljYXRpb24gOiBudWxsLFxuICAgIGNhcmRSZXNvdXJjZUlkLFxuICAgIG9uUmVzb3VyY2VFcnJvcixcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICB9KVxuXG4gIGNvbnN0IHdvcmtpbmdSZWYgPSBjYW5Vc2VFZGl0QnJhbmNoID8gd29ya2luZ1Jlc291cmNlQnJhbmNoIDogYXBwUmVmXG4gIGNvbnN0IHJlZmVyZW5jZV8gPSB7IGJvb2tJZCwgY2hhcHRlciwgdmVyc2UgfVxuICBsZXQgc2NyaXB0dXJlVGl0bGVcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyBzZWxlY3QgY29ycmVjdCB3b3JraW5nIHJlZiAtIGNvdWxkIGJlIG1hc3RlciwgdXNlciBicmFuY2gsIG9yIHJlbGVhc2VcbiAgICBpZiAodXNpbmdVc2VyQnJhbmNoXyAhPT0gdXNpbmdVc2VyQnJhbmNoKSB7XG4gICAgICBzZXRTdGF0ZSh7IHVzaW5nVXNlckJyYW5jaDogdXNpbmdVc2VyQnJhbmNoXyB9KVxuICAgIH1cbiAgfSwgW3VzaW5nVXNlckJyYW5jaF8sIHVzaW5nVXNlckJyYW5jaF0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gc2VsZWN0IGNvcnJlY3Qgd29ya2luZyByZWYgLSBjb3VsZCBiZSBtYXN0ZXIsIHVzZXIgYnJhbmNoLCBvciByZWxlYXNlXG4gICAgbGV0IHdvcmtpbmdSZWZfID0gd29ya2luZ1JlZiB8fCBhcHBSZWZcblxuICAgIGlmIChyZWYgIT09IHdvcmtpbmdSZWZfKSB7XG4gICAgICBzZXRTdGF0ZSh7IHJlZjogd29ya2luZ1JlZl8gfSlcbiAgICB9XG4gIH0sIFt3b3JraW5nUmVmLCByZWYsIGFwcFJlZl0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gdXBkYXRlIGRpc3BsYXkgc3RhdHVzIGlmIGVycm9yXG4gICAgY29uc3QgZXJyb3IgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlU3RhdHVzPy5bRVJST1JfU1RBVEVdXG5cbiAgICBpZiAoZXJyb3IpIHsgLy8gaWYgZXJyb3Igd2FzIGZvdW5kIGRvIGNhbGxiYWNrXG4gICAgICBjb25zdCByZXNvdXJjZVN0YXR1cyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2VTdGF0dXNcbiAgICAgIGNvbnN0IHJlc291cmNlTGluayA9IGdldFJlc291cmNlTGluayhzY3JpcHR1cmVDb25maWcpXG4gICAgICBjb25zdCBtZXNzYWdlID0gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzLCBzZXJ2ZXIsIHJlc291cmNlTGluaywgaXNOVF8pXG4gICAgICBjb25zdCBpc0FjY2Vzc0Vycm9yID0gcmVzb3VyY2VTdGF0dXNbTUFOSUZFU1RfTk9UX0xPQURFRF9FUlJPUl1cbiAgICAgIG9uUmVzb3VyY2VFcnJvciAmJiBvblJlc291cmNlRXJyb3IobWVzc2FnZSwgaXNBY2Nlc3NFcnJvciwgcmVzb3VyY2VTdGF0dXMpXG4gICAgfVxuICB9LCBbc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZVN0YXR1cz8uW0VSUk9SX1NUQVRFXSwgb25SZXNvdXJjZUVycm9yXSlcblxuICBpZiAoc2NyaXB0dXJlQ29uZmlnLnRpdGxlICYmIHNjcmlwdHVyZUNvbmZpZy52ZXJzaW9uKSB7XG4gICAgc2NyaXB0dXJlVGl0bGUgPSBgJHtzY3JpcHR1cmVDb25maWcudGl0bGV9IHYke3NjcmlwdHVyZUNvbmZpZy52ZXJzaW9ufWBcbiAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC51cGRhdGVUaXRsZShzY3JpcHR1cmVDb25maWcucmVzb3VyY2VMaW5rLCBzY3JpcHR1cmVUaXRsZSlcbiAgfSBlbHNlIHtcbiAgICBzY3JpcHR1cmVUaXRsZSA9IGBUaXRsZSBtaXNzaW5nIGZyb20gcHJvamVjdCBtYW5pZmVzdGBcbiAgfVxuXG4gIC8qKiBEeW5hbWljYWxseSBjcmVhdGVzIHRoZSBzY3JpcHR1cmUgc2VsZWN0aW9uIGRyb3Bkb3duIHRvIGJlIGluc2VydGVkIGludG8gY2FyZCBzZXR0aW5ncyAqL1xuICBmdW5jdGlvbiBnZXRTY3JpcHR1cmVTZWxlY3RvcigpIHtcbiAgICBjb25zdCBzY3JpcHR1cmVTZWxlY3Rpb25Db25maWcgPSBnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3Moe1xuICAgICAgbGFiZWwsXG4gICAgICByZXNvdXJjZUxpbms6IHNjcmlwdHVyZUNvbmZpZy5yZXNvdXJjZUxpbmssXG4gICAgICBzZXRTY3JpcHR1cmUsXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbiAgICB9KVxuXG4gICAgcmV0dXJuIDxTY3JpcHR1cmVTZWxlY3RvciB7Li4uc2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnfSBzdHlsZT17c3R5bGV9IGVycm9yTWVzc2FnZT17dXJsRXJyb3J9IC8+XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lbnVDbG9zZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgb25NZW51Q2xvc2UoKWApXG4gICAgc2V0U3RhdGUoeyB1cmxFcnJvcjogbnVsbCB9KVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBsYW5ndWFnZUlkXyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/Lmxhbmd1YWdlSWRcbiAgY29uc3QgbGFuZ3VhZ2UgPSBnZXRMYW5ndWFnZSh7IGxhbmd1YWdlSWQ6IGxhbmd1YWdlSWRfIH0pXG4gIGNvbnN0IGRpcmVjdGlvbiA9IChsYW5ndWFnZT8uZGlyZWN0aW9uKSB8fCAnbHRyJ1xuICBjb25zdCByZWZlcmVuY2UgPSB7IC4uLnNjcmlwdHVyZUNvbmZpZy5yZWZlcmVuY2UgfVxuXG4gIGNvbnN0IGlzSGVicmV3ID0gKGxhbmd1YWdlSWRfID09PSAnaGJvJylcbiAgY29uc3QgZm9udEZhY3RvciA9IGlzSGVicmV3ID8gMS40IDogMSAvLyB3ZSBhdXRvbWF0aWNhbGx5IHNjYWxlIHVwIGZvbnQgc2l6ZSBmb3IgSGVicmV3XG4gIGNvbnN0IHNjYWxlZEZvbnRTaXplID0gZm9udFNpemUgKiBmb250RmFjdG9yXG5cbiAgaWYgKHNjcmlwdHVyZUNvbmZpZy5tYXRjaGVkVmVyc2UpIHsgLy8gc3VwcG9ydCB2ZXJzZSByYW5nZXNcbiAgICByZWZlcmVuY2UudmVyc2UgPSBzY3JpcHR1cmVDb25maWcubWF0Y2hlZFZlcnNlXG4gIH1cblxuICBjb25zdCBpdGVtcyA9IG51bGxcbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICBoZWFkZXJzLCBmaWx0ZXJzLCBpdGVtSW5kZXgsIG1hcmtkb3duVmlldyxcbiAgICB9LFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHNldEZpbHRlcnMsIHNldEl0ZW1JbmRleCwgc2V0TWFya2Rvd25WaWV3LFxuICAgIH0sXG4gIH0gPSB1c2VDYXJkU3RhdGUoeyBpdGVtcyB9KVxuXG4gIGNvbnN0IHJlZlN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtNYXRoLnJvdW5kKHNjYWxlZEZvbnRTaXplICogMC45KX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3QgY29udGVudFN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtzY2FsZWRGb250U2l6ZX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3Qgc2NyaXB0dXJlTGFiZWwgPSA8VGl0bGU+e3NjcmlwdHVyZVRpdGxlfTwvVGl0bGU+XG4gIGxldCBkaXNhYmxlV29yZFBvcG92ZXJfID0gZGlzYWJsZVdvcmRQb3BvdmVyXG4gIGNvbnN0IHVzaW5nT3JpZ2luYWxCaWJsZSA9IGlzT3JpZ2luYWxCaWJsZShzY3JpcHR1cmVDb25maWdbJ3Jlc291cmNlJ10/LnByb2plY3RJZClcblxuICBpZiAoZGlzYWJsZVdvcmRQb3BvdmVyID09PSB1bmRlZmluZWQpIHsgLy8gaWYgbm90IHNwZWNpZmllZCwgdGhlbiBkZXRlcm1pbmUgaWYgb3JpZ2luYWwgbGFuZ3VhZ2UgcmVzb3VyY2VcbiAgICBkaXNhYmxlV29yZFBvcG92ZXJfID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gcHJlLWNhY2hlIGdsb3NzZXMgb24gdmVyc2UgY2hhbmdlXG4gICAgY29uc3QgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGlmICghZGlzYWJsZVdvcmRQb3BvdmVyICYmIGluaXRpYWxWZXJzZU9iamVjdHMgJiYgZmV0Y2hHbG9zc2VzRm9yVmVyc2UpIHtcbiAgICAgICAgYXdhaXQgZmV0Y2hHbG9zc2VzRm9yVmVyc2UoaW5pdGlhbFZlcnNlT2JqZWN0cywgbGFuZ3VhZ2VJZF8pXG4gICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSgpXG4gIH0sIFsgaW5pdGlhbFZlcnNlT2JqZWN0cywgZGlzYWJsZVdvcmRQb3BvdmVyLCBsYW5ndWFnZUlkXywgZmV0Y2hHbG9zc2VzRm9yVmVyc2UgXSlcblxuICBjb25zdCBlbmFibGVFZGl0ID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICBjb25zdCBlbmFibGVBbGlnbm1lbnQgPSAhdXNpbmdPcmlnaW5hbEJpYmxlXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCB7XG4gICAgYWN0aW9uczoge1xuICAgICAgY2FuY2VsQWxpZ25tZW50LFxuICAgICAgY3VycmVudFZlcnNlT2JqZWN0cyxcbiAgICAgIGhhbmRsZUFsaWdubWVudENsaWNrLFxuICAgICAgb25BbGlnbm1lbnRzQ2hhbmdlLFxuICAgICAgc2F2ZUFsaWdubWVudCxcbiAgICAgIHNldEVkaXRpbmcsXG4gICAgICBzZXRWZXJzZUNoYW5nZWQsXG4gICAgICBzYXZlQ2hhbmdlc1RvQ2xvdWQsXG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgYWxpZ25lZCxcbiAgICAgIGFsaWduZXJEYXRhLFxuICAgICAgZWRpdGluZyxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgIH0sXG4gIH0gPSB1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0KHtcbiAgICBhdXRoZW50aWNhdGlvbjogY2FuVXNlRWRpdEJyYW5jaCA/IGF1dGhlbnRpY2F0aW9uIDogbnVsbCxcbiAgICBlbmFibGVFZGl0LFxuICAgIGVuYWJsZUFsaWdubWVudCxcbiAgICBodHRwQ29uZmlnLFxuICAgIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gICAgaXNOZXdUZXN0YW1lbnQsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGxvZ2dlZEluVXNlcjogY2FuVXNlRWRpdEJyYW5jaCA/IGxvZ2dlZEluVXNlciA6IG51bGwsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgc2NyaXB0dXJlQ29uZmlnLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHN0YXJ0RWRpdEJyYW5jaCxcbiAgICBib29rSW5kZXgsXG4gICAgd29ya2luZ1Jlc291cmNlQnJhbmNoOiByZWYsXG4gICAgY3VycmVudFZlcnNlTnVtLFxuICB9KVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHNldCBzYXZlZCBjaGFuZ2VzIHdoZW5ldmVyIHVzZXIgZWRpdHMgdmVyc2UgdGV4dCBvciBhbGlnbm1lbnRzIG9yIGlmIGFsaWdubWVudHMgYXJlIG9wZW5cbiAgICBjb25zdCB1bnNhdmVkQ2hhbmdlc18gPSB1bnNhdmVkQ2hhbmdlcyB8fCBhbGlnbmVyRGF0YVxuICAgIHNldFNhdmVkQ2hhbmdlcyAmJiBzZXRTYXZlZENoYW5nZXMocmVzb3VyY2VJZCwgIXVuc2F2ZWRDaGFuZ2VzXylcbiAgfSwgW3Vuc2F2ZWRDaGFuZ2VzLCBhbGlnbmVyRGF0YV0pXG5cbiAgZnVuY3Rpb24gc2hvd1BvcG92ZXIoUG9wb3ZlclRpdGxlLCB3b3JkRGV0YWlscywgcG9zaXRpb25Db29yZCwgcmF3RGF0YSkge1xuICAgIC8vIFRPRE86IG1ha2Ugc2hvdyBwb3BvdmVyIHByZXR0eVxuICAgIGNvbnNvbGUubG9nKGBzaG93UG9wb3ZlcmAsIHJhd0RhdGEpXG4gICAgd2luZG93LnByb21wdChgVXNlciBjbGlja2VkIG9uICR7SlNPTi5zdHJpbmdpZnkocmF3RGF0YS50b2tlbil9YClcbiAgfVxuXG4gIGNvbnN0IGNoZWNraW5nU3RhdGUgPSBhbGlnbmVkID8gJ3ZhbGlkJyA6ICdpbnZhbGlkJ1xuICBjb25zdCB0aXRsZVRleHQgPSBjaGVja2luZ1N0YXRlID09PSAndmFsaWQnID8gJ0FsaWdubWVudCBpcyBWYWxpZCcgOiAnQWxpZ25tZW50IGlzIEludmFsaWQnXG4gIGNvbnN0IG9uUmVuZGVyVG9vbGJhciA9ICh7IGl0ZW1zIH0pID0+IFtcbiAgICAuLi5pdGVtcyxcbiAgICA8SWNvbkJ1dHRvblxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1hcmdpbn1cbiAgICAgIGtleT0nY2hlY2tpbmctYnV0dG9uJ1xuICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWxpZ25tZW50Q2xpY2soKX1cbiAgICAgIHRpdGxlPXt0aXRsZVRleHR9XG4gICAgICBhcmlhLWxhYmVsPXt0aXRsZVRleHR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6ICdwb2ludGVyJyB9fVxuICAgID5cbiAgICAgIHtjaGVja2luZ1N0YXRlID09PSAndmFsaWQnID8gKFxuICAgICAgICA8UnhMaW5rMiBpZD0ndmFsaWRfaWNvbicgY29sb3I9JyNCQkInIC8+XG4gICAgICApIDogKFxuICAgICAgICA8UnhMaW5rQnJlYWsyIGlkPSdpbnZhbGlkX2ljb24nIGNvbG9yPScjMDAwJyAvPlxuICAgICAgKX1cbiAgICA8L0ljb25CdXR0b24+LFxuICBdXG5cbiAgcmV0dXJuIChcbiAgICA8Q2FyZFxuICAgICAgaWQ9e2BzY3JpcHR1cmVfY2FyZF8ke2NhcmROdW19YH1cbiAgICAgIHRpdGxlPXtzY3JpcHR1cmVMYWJlbH1cbiAgICAgIHNldHRpbmdzVGl0bGU9e3NjcmlwdHVyZVRpdGxlICsgJyBTZXR0aW5ncyd9XG4gICAgICBpdGVtcz17aXRlbXN9XG4gICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgaGVhZGVycz17aGVhZGVyc31cbiAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICBmb250U2l6ZT17Zm9udFNpemV9XG4gICAgICBpdGVtSW5kZXg9e2l0ZW1JbmRleH1cbiAgICAgIHNldEZpbHRlcnM9e3NldEZpbHRlcnN9XG4gICAgICBzZXRGb250U2l6ZT17c2V0Rm9udFNpemV9XG4gICAgICBzZXRJdGVtSW5kZXg9e3NldEl0ZW1JbmRleH1cbiAgICAgIG1hcmtkb3duVmlldz17bWFya2Rvd25WaWV3fVxuICAgICAgc2V0TWFya2Rvd25WaWV3PXtzZXRNYXJrZG93blZpZXd9XG4gICAgICBnZXRDdXN0b21Db21wb25lbnQ9e2dldFNjcmlwdHVyZVNlbGVjdG9yfVxuICAgICAgaGlkZU1hcmtkb3duVG9nZ2xlXG4gICAgICBvbk1lbnVDbG9zZT17b25NZW51Q2xvc2V9XG4gICAgICBvbk1pbmltaXplPXtvbk1pbmltaXplID8gKCkgPT4gb25NaW5pbWl6ZShpZCkgOiBudWxsfVxuICAgICAgZWRpdGFibGU9e2VuYWJsZUVkaXQgfHwgZW5hYmxlQWxpZ25tZW50fVxuICAgICAgc2F2ZWQ9eyF1bnNhdmVkQ2hhbmdlc31cbiAgICAgIG9uU2F2ZUVkaXQ9e3NhdmVDaGFuZ2VzVG9DbG91ZH1cbiAgICAgIG9uQmx1cj17KCkgPT4gc2V0RWRpdGluZyhmYWxzZSl9XG4gICAgICBvblJlbmRlclRvb2xiYXI9e29uUmVuZGVyVG9vbGJhcn1cbiAgICA+XG4gICAgICB7YWxpZ25lckRhdGEgP1xuICAgICAgICA8ZGl2IHN0eWxlPXt7IGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nIH19PlxuICAgICAgICAgIDxXb3JkQWxpZ25lclxuICAgICAgICAgICAgc3R5bGU9e3sgbWF4SGVpZ2h0OiAnNDUwcHgnLCBvdmVyZmxvd1k6ICdhdXRvJyB9fVxuICAgICAgICAgICAgdmVyc2VBbGlnbm1lbnRzPXthbGlnbmVyRGF0YS5hbGlnbm1lbnRzfVxuICAgICAgICAgICAgdGFyZ2V0V29yZHM9e2FsaWduZXJEYXRhLndvcmRCYW5rfVxuICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICBjb250ZXh0SWQ9e3sgcmVmZXJlbmNlOiByZWZlcmVuY2VfIH19XG4gICAgICAgICAgICB0YXJnZXRMYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICB0YXJnZXRMYW5ndWFnZUZvbnQ9eycnfVxuICAgICAgICAgICAgc291cmNlTGFuZ3VhZ2U9e2lzTlRfID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HfVxuICAgICAgICAgICAgc2hvd1BvcG92ZXI9e3Nob3dQb3BvdmVyfVxuICAgICAgICAgICAgbGV4aWNvbnM9e3t9fVxuICAgICAgICAgICAgbG9hZExleGljb25FbnRyeT17Z2V0TGV4aWNvbkRhdGF9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHJlc3VsdHMpID0+IG9uQWxpZ25tZW50c0NoYW5nZShyZXN1bHRzKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxiciAvPlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1hcmdpbn1cbiAgICAgICAgICAgICAga2V5PSdhbGlnbm1lbnQtc2F2ZSdcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2F2ZUFsaWdubWVudCgpfVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXsnQWxpZ25tZW50IFNhdmUnfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Q2hlY2tPdXRsaW5lZEljb24gaWQ9J2FsaWdubWVudC1zYXZlLWljb24nIGh0bWxDb2xvcj0nIzAwMCcgLz5cbiAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1hcmdpbn1cbiAgICAgICAgICAgICAga2V5PSdhbGlnbm1lbnQtY2FuY2VsJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjYW5jZWxBbGlnbm1lbnQoKX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17J0FsaWdubWVudCBDYW5jZWwnfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Q2FuY2VsT3V0bGluZWRJY29uIGlkPSdhbGlnbm1lbnQtY2FuY2VsLWljb24nIGh0bWxDb2xvcj0nIzAwMCcgLz5cbiAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDpcbiAgICAgICAgPFNjcmlwdHVyZVBhbmVcbiAgICAgICAgICByZWZTdHlsZT17cmVmU3R5bGV9XG4gICAgICAgICAgey4uLnNjcmlwdHVyZUNvbmZpZ31cbiAgICAgICAgICB2ZXJzZU9iamVjdHM9e2N1cnJlbnRWZXJzZU9iamVjdHN9XG4gICAgICAgICAgaXNOVD17aXNOVF99XG4gICAgICAgICAgc2VydmVyPXtzZXJ2ZXJ9XG4gICAgICAgICAgcmVmZXJlbmNlPXtyZWZlcmVuY2V9XG4gICAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgICAgY29udGVudFN0eWxlPXtjb250ZW50U3R5bGV9XG4gICAgICAgICAgZm9udFNpemU9e2ZvbnRTaXplfVxuICAgICAgICAgIGRpc2FibGVXb3JkUG9wb3Zlcj17ZGlzYWJsZVdvcmRQb3BvdmVyX31cbiAgICAgICAgICBnZXRMZXhpY29uRGF0YT17Z2V0TGV4aWNvbkRhdGF9XG4gICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgZWRpdGluZz17ZWRpdGluZ31cbiAgICAgICAgICBzZXRFZGl0aW5nPXtzZXRFZGl0aW5nfVxuICAgICAgICAgIHNldFZlcnNlQ2hhbmdlZD17c2V0VmVyc2VDaGFuZ2VkfVxuICAgICAgICAvPlxuICAgICAgfVxuICAgIDwvQ2FyZD5cbiAgKVxufVxuXG5TY3JpcHR1cmVDYXJkLnByb3BUeXBlcyA9IHtcbiAgLyoqIGh0bWwgaWRlbnRpZmllciB0byB1c2UgZm9yIGNhcmQgKi9cbiAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKiBtZXRob2QgdG8gZGV0ZXJtaW5lIGlmIE5UIG9yIE9UICovXG4gIGlzTlQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIC8qKiB0aXRsZSBmb3Igc2NyaXB0dXJlIGNhcmQgKi9cbiAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgLyoqIGdldCBsYW5ndWFnZSBkZXRhaWxzICovXG4gIGdldExhbmd1YWdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAvKiogc2NyaXB0dXJlIGNhcmQgbnVtYmVyICgwIHRvIDIgZm9yIGV4YW1wbGUpICovXG4gIGNhcmROdW06IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgLyoqIHJlc291cmNlIG9iamVjdCAqL1xuICByZXNvdXJjZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAvKiogcmVzb3VyY2UgbGFuZ3VhZ2UgdG8gdXNlICovXG4gICAgbGFuZ3VhZ2VJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIC8qKiByZXBvIG93bmVyIHN1Y2ggYXMgdW5mb2xkaW5nV29yZCAqL1xuICAgIG93bmVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIHJlc291cmNlSWQgdG8gdXNlIChlLmcuIHVnbnQpICovXG4gICAgcmVzb3VyY2VJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIC8qKiByZXBvIG93bmVyIGZvciBvcmlnaW5hbCBsYW5ndWFnZXMgc3VjaCBhcyB1bmZvbGRpbmdXb3JkICovXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIH0pLFxuICByZWZlcmVuY2U6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgLyoqIHByb2plY3RJZCAoYm9va0lEKSB0byB1c2UgKi9cbiAgICBwcm9qZWN0SWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogY3VycmVudCBjaGFwdGVyIG51bWJlciAqL1xuICAgIGNoYXB0ZXI6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKS5pc1JlcXVpcmVkLFxuICAgIC8qKiBjdXJyZW50IHZlcnNlIG51bWJlciAqL1xuICAgIHZlcnNlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSkuaXNSZXF1aXJlZCxcbiAgfSksXG4gIC8qKiBzZXJ2ZXIgKGUuZy4gJ2h0dHBzOi8vZ2l0LmRvb3I0My5vcmcnKSAqL1xuICBzZXJ2ZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgLyoqIHJlcG8gYnJhbmNoIG9yIHRhZyBzdWNoIGFzIG1hc3RlciAqL1xuICBhcHBSZWY6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgLyoqIGlmIHRydWUgdGhlbiB3b3JkIGRhdGEgaG92ZXIgaXMgc2hvd24gKi9cbiAgZGlzYWJsZVdvcmRQb3BvdmVyOiBQcm9wVHlwZXMuYm9vbCxcbiAgLyoqIENTUyBjbGFzc2VzICovXG4gIGNsYXNzZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKiByZXNvdXJjZUxpbmsgKi9cbiAgcmVzb3VyY2VMaW5rOiBQcm9wVHlwZXMuYW55LFxuICAvKiogdXNlIG1ldGhvZCBmb3IgdXNpbmcgbG9jYWwgc3RvcmFnZSBzcGVjaWZpYyBmb3IgdXNlciAqL1xuICB1c2VVc2VyTG9jYWxTdG9yYWdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAvKiogb3B0aW9uYWwgY2FsbGJhY2sgaWYgZXJyb3IgbG9hZGluZyByZXNvdXJjZSwgcGFyYW1ldGVyIHJldHVybmVkIGFyZTpcbiAgICogICAgKHtzdHJpbmd9IGVycm9yTWVzc2FnZSwge2Jvb2xlYW59IGlzQWNjZXNzRXJyb3IsIHtvYmplY3R9IHJlc291cmNlU3RhdHVzKVxuICAgKiAgICAgIC0gaXNBY2Nlc3NFcnJvciAtIGlzIHRydWUgaWYgdGhpcyB3YXMgYW4gZXJyb3IgdHJ5aW5nIHRvIGFjY2VzcyBmaWxlXG4gICAqICAgICAgLSByZXNvdXJjZVN0YXR1cyAtIGlzIG9iamVjdCBjb250YWluaW5nIGRldGFpbHMgYWJvdXQgcHJvYmxlbXMgZmV0Y2hpbmcgcmVzb3VyY2UgKi9cbiAgb25SZXNvdXJjZUVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIG9wdGlvbmFsIGh0dHAgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgZm9yIGZldGNoaW5nIHJlc291cmNlcywgZGVmYXVsdCBpcyAwICh2ZXJ5IGxvbmcgd2FpdCkgKi9cbiAgaHR0cENvbmZpZzogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqIG9wdGlvbmFsIHVybCBmb3IgZ3JlZWsgcmVwbyAqL1xuICBncmVla1JlcG9Vcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKiBvcHRpb25hbCB1cmwgZm9yIGhlYnJldyByZXBvICovXG4gIGhlYnJld1JlcG9Vcmw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKiBmdW5jdGlvbiB0byBnZXQgbGF0ZXN0IGxleGljb24gZGF0YSAqL1xuICBnZXRMZXhpY29uRGF0YTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBmdW5jdGlvbiB0byBwcmUtbG9hZCBsZXhpY29uIGRhdGEgZm9yIHZlcnNlICovXG4gIGZldGNoR2xvc3Nlc0ZvclZlcnNlOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIG9wdGlvbmFsIGZ1bmN0aW9uIGZvciBsb2NhbGl6YXRpb24gKi9cbiAgdHJhbnNsYXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIGZ1bmN0aW9uIHRvIG1pbmltaXplIHRoZSBjYXJkIChvcHRpb25hbCkgKi9cbiAgb25NaW5pbWl6ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiB1c2VyLW5hbWUgKi9cbiAgbG9nZ2VkSW5Vc2VyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogYXV0aGVudGljYXRpb24gaW5mbyAqL1xuICBhdXRoZW50aWNhdGlvbjogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqIGZ1bmN0aW9uIHRvIHNldCBzdGF0ZSBpbiBhcHAgdGhhdCB0aGVyZSBhcmUgdW5zYXZlZCBjaGFuZ2VzICovXG4gIHNldFNhdmVkQ2hhbmdlczogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBpbmRleCBmb3IgY3VycmVudCBib29rIChlLmcuICcwMScgZm9yICdnZW4nKSovXG4gIGJvb2tJbmRleDogUHJvcFR5cGVzLnN0cmluZyxcbn1cbiJdfQ==
@@ -102,14 +102,12 @@ function ScripturePane(_ref) {
102
102
  function onTextChange(event) {
103
103
  var _event$target;
104
104
 
105
- // console.log(`onTextChange`, event)
106
105
  var newText = event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value;
107
106
  var changed = newText !== initialVerseText;
108
- setVerseChanged(changed, newText, initialVerseText); // console.log(`onTextChange: new text ${changed ? 'changed' : 'unchanged'}: `, newText)
107
+ setVerseChanged(changed, newText, initialVerseText);
109
108
  }
110
109
 
111
110
  function onBlur(event) {
112
- // console.log(`onTextChange`, event)
113
111
  setEditing(false);
114
112
  }
115
113
 
@@ -153,4 +151,4 @@ ScripturePane.defaultProps = {
153
151
  verseObjects: []
154
152
  };
155
153
  export default ScripturePane;
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJWZXJzZU9iamVjdHNUeXBlIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiQ29udGFpbmVyIiwiQ29udGVudCIsIk1lc3NhZ2VTdHlsZSIsImRpcmVjdGlvbiIsIndoaXRlU3BhY2UiLCJsaW5lSGVpZ2h0IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIlRleHRBcmVhU3R5bGUiLCJtaW5XaWR0aCIsIlNjcmlwdHVyZVBhbmUiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsImNvbnRlbnRTdHlsZSIsInZlcnNlT2JqZWN0cyIsImRpc2FibGVXb3JkUG9wb3ZlciIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2VydmVyIiwiaXNOVCIsImdldExleGljb25EYXRhIiwidHJhbnNsYXRlIiwiZWRpdGluZyIsInNldEVkaXRpbmciLCJzZXRWZXJzZUNoYW5nZWQiLCJ1c2VTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJjYWxjdWxhdGVkRm9udFNpemUiLCJ1c2VNZW1vIiwicGFyc2VGbG9hdCIsInRleHRBcmVhU3R5bGUiLCJ2ZXJzZVRleHQiLCJnZXRVc2ZtRm9yVmVyc2VDb250ZW50Iiwib25UZXh0Q2hhbmdlIiwiZXZlbnQiLCJuZXdUZXh0IiwidGFyZ2V0IiwidmFsdWUiLCJjaGFuZ2VkIiwib25CbHVyIiwiZGVmYXVsdFByb3BzIl0sIm1h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QUFBSyxJQUFBLEtBQUssRUFBRTtBQUFFUyxNQUFBQSxRQUFRLFlBQUtBLFFBQUw7QUFBVjtBQUFaLFVBQTRDdUIsV0FBNUMsTUFERixDQUZVLGdCQU1WLG9CQUFDLE9BQUQscUJBQ0U7QUFBTSxJQUFBLEtBQUssRUFBRWhCO0FBQWIsVUFBeUJpQixPQUF6QixPQUFtQ0MsS0FBbkMsU0FERixlQUVFO0FBQU0sSUFBQSxLQUFLLEVBQUVqQixZQUFiO0FBQTJCLElBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ3hDVSxNQUFBQSxVQUFVLElBQUlBLFVBQVUsQ0FBQyxJQUFELENBQXhCO0FBQ0Q7QUFGRCxLQUlHRCxPQUFPLGdCQUNOO0FBQ0UsSUFBQSxZQUFZLEVBQUVJLGdCQURoQjtBQUVFLElBQUEsUUFBUSxFQUFFVyxZQUZaO0FBR0UsSUFBQSxNQUFNLEVBQUVNLE1BSFY7QUFJRSxJQUFBLEtBQUssRUFBRVQsYUFKVDtBQUtFLElBQUEsU0FBUztBQUxYLElBRE0sZ0JBU04sb0JBQUMsWUFBRDtBQUNFLElBQUEsWUFBWSxFQUFFcEIsWUFEaEI7QUFFRSxJQUFBLGtCQUFrQixFQUFFQyxrQkFGdEI7QUFHRSxJQUFBLGNBQWMsRUFBRUssY0FIbEI7QUFJRSxJQUFBLFNBQVMsRUFBRUM7QUFKYixJQWJKLENBRkYsQ0FQSixDQURGO0FBbUNEOztBQUVEWCxhQUFhLENBQUNrQyxZQUFkLEdBQTZCO0FBQUU5QixFQUFBQSxZQUFZLEVBQUU7QUFBaEIsQ0FBN0I7QUFFQSxlQUFlSixhQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlRGVlcENvbXBhcmVFZmZlY3QgZnJvbSAndXNlLWRlZXAtY29tcGFyZS1lZmZlY3QnXG5pbXBvcnQgeyBWZXJzZU9iamVjdHMgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCB7IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUmVmZXJlbmNlLCBWZXJzZU9iamVjdHNUeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IENvbnRhaW5lciwgQ29udGVudCB9IGZyb20gJy4vc3R5bGVkJ1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvKiogY3VycmVudCByZWZlcmVuY2UgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgcmVmZXJlbmNlICoqL1xuICByZWZTdHlsZTogYW55O1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgY29udGVudCAqKi9cbiAgY29udGVudFN0eWxlOiBhbnk7XG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gdG8gdXNlICoqL1xuICBkaXJlY3Rpb246IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiB2ZXJzZU9iamVjdHMgKiovXG4gIHZlcnNlT2JqZWN0czogVmVyc2VPYmplY3RzVHlwZXx1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZG8gbm90IGRpc3BsYXkgbGV4aWNvbiBwb3BvdmVyIG9uIGhvdmVyICoqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IGJvb2xlYW58dW5kZWZpbmVkO1xuICAvKiogb2JqZWN0IHRoYXQgY29udGFpbnMgcmVzb3VyY2UgbG9hZGluZyBzdGF0dXMgb3IgZmV0Y2hpbmcgZXJyb3JzICovXG4gIHJlc291cmNlU3RhdHVzOiBvYmplY3R8dW5kZWZpbmVkO1xuICAvKiogcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkICovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHNlcnZlciAqL1xuICBzZXJ2ZXI6IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiB0cnVlIGlmIGJyb3dzaW5nIE5UICovXG4gIGlzTlQ6IGJvb2xlYW47XG4gIC8qKiBmb250IHNpemUgZm9yIG1lc3NhZ2VzICovXG4gIGZvbnRTaXplOiBudW1iZXI7XG4gIC8qKiBmdW5jdGlvbiB0byBnZXQgbGF0ZXN0IGxleGljb24gZGF0YSAqL1xuICBnZXRMZXhpY29uRGF0YTogRnVuY3Rpb247XG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogRnVuY3Rpb247XG4gIC8qKiB0cnVlIGlmIGluIGVkaXQgbW9kZSAqL1xuICBlZGl0aW5nOiBib29sZWFuO1xuICAvKiogY2FsbGJhY2sgdG8gc2V0IGVkaXQgbW9kZSAqL1xuICBzZXRFZGl0aW5nOiBGdW5jdGlvbjtcbiAgLyoqIGNhbGxiYWNrIHRvIHNldCB0aGF0IHZlcnNlIGhhcyBjaGFuZ2VkICovXG4gIHNldFZlcnNlQ2hhbmdlZDogRnVuY3Rpb247XG59XG5cbmNvbnN0IE1lc3NhZ2VTdHlsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG59XG5cbmNvbnN0IFRleHRBcmVhU3R5bGUgPSB7XG4gIGhlaWdodDogJzYwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1pbldpZHRoOiAnMjIwcHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxufVxuXG5cbmZ1bmN0aW9uIFNjcmlwdHVyZVBhbmUoe1xuICByZWZlcmVuY2UsXG4gIHJlZlN0eWxlLFxuICBkaXJlY3Rpb24sXG4gIGNvbnRlbnRTdHlsZSxcbiAgdmVyc2VPYmplY3RzLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIHJlc291cmNlU3RhdHVzLFxuICByZXNvdXJjZUxpbmssXG4gIHNlcnZlcixcbiAgaXNOVCxcbiAgZm9udFNpemUsXG4gIGdldExleGljb25EYXRhLFxuICB0cmFuc2xhdGUsXG4gIGVkaXRpbmcsXG4gIHNldEVkaXRpbmcsXG4gIHNldFZlcnNlQ2hhbmdlZCxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuICBjb25zdCByZXNvdXJjZU1zZyA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlQpXG4gIGNvbnN0IHsgY2hhcHRlciwgdmVyc2UgfSA9IHJlZmVyZW5jZVxuICBkaXJlY3Rpb24gPSBkaXJlY3Rpb24gfHwgJ2x0cidcblxuICByZWZTdHlsZSA9IHJlZlN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzkwJScsXG4gIH1cblxuICBjb250ZW50U3R5bGUgPSBjb250ZW50U3R5bGUgfHwge1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTAwJScsXG4gIH1cblxuICAvLyBkeW5hbWljYWxseSBhZGp1c3QgZm9udCBzaXplXG4gIGNvbnN0IGNhbGN1bGF0ZWRGb250U2l6ZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKFxuICAgIHBhcnNlRmxvYXQoVGV4dEFyZWFTdHlsZS5mb250U2l6ZSkgKiBmb250U2l6ZSAvIDEwMCArICdweCdcbiAgKSwgW2ZvbnRTaXplXSlcblxuICBjb25zdCB0ZXh0QXJlYVN0eWxlID0ge1xuICAgIC4uLmNvbnRlbnRTdHlsZSxcbiAgICAuLi5UZXh0QXJlYVN0eWxlLFxuICAgIGZvbnRTaXplOiBjYWxjdWxhdGVkRm9udFNpemUsXG4gIH1cblxuICB1c2VEZWVwQ29tcGFyZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmVyc2VUZXh0ID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5nZXRVc2ZtRm9yVmVyc2VDb250ZW50KHsgdmVyc2VPYmplY3RzIH0pXG4gICAgc2V0SW5pdGlhbFZlcnNlVGV4dCh2ZXJzZVRleHQpXG4gIH0sIFt7IHZlcnNlT2JqZWN0cyB9XSlcblxuICBmdW5jdGlvbiBvblRleHRDaGFuZ2UoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgLy8gY29uc29sZS5sb2coYG9uVGV4dENoYW5nZWAsIGV2ZW50KVxuICAgIGNvbnN0IG5ld1RleHQgPSBldmVudD8udGFyZ2V0Py52YWx1ZVxuICAgIGNvbnN0IGNoYW5nZWQgPSBuZXdUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0XG4gICAgc2V0VmVyc2VDaGFuZ2VkKGNoYW5nZWQsIG5ld1RleHQsIGluaXRpYWxWZXJzZVRleHQpXG4gICAgLy8gY29uc29sZS5sb2coYG9uVGV4dENoYW5nZTogbmV3IHRleHQgJHtjaGFuZ2VkID8gJ2NoYW5nZWQnIDogJ3VuY2hhbmdlZCd9OiBgLCBuZXdUZXh0KVxuICB9XG5cbiAgZnVuY3Rpb24gb25CbHVyKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIC8vIGNvbnNvbGUubG9nKGBvblRleHRDaGFuZ2VgLCBldmVudClcbiAgICBzZXRFZGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIHN0eWxlPXt7IGRpcmVjdGlvbiwgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfX0+XG4gICAgICB7cmVzb3VyY2VNc2cgP1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIDxkaXYgc3R5bGU9e01lc3NhZ2VTdHlsZX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogYCR7Zm9udFNpemV9JWAgfX0+IHtyZXNvdXJjZU1zZ30gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxDb250ZW50PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtyZWZTdHlsZX0+IHtjaGFwdGVyfTp7dmVyc2V9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtjb250ZW50U3R5bGV9IG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEVkaXRpbmcgJiYgc2V0RWRpdGluZyh0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2VkaXRpbmcgP1xuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2luaXRpYWxWZXJzZVRleHR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVGV4dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGV4dEFyZWFTdHlsZX1cbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICA8VmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgdmVyc2VPYmplY3RzPXt2ZXJzZU9iamVjdHN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Db250ZW50PlxuICAgICAgfVxuICAgIDwvQ29udGFpbmVyPlxuICApXG59XG5cblNjcmlwdHVyZVBhbmUuZGVmYXVsdFByb3BzID0geyB2ZXJzZU9iamVjdHM6IFtdIH1cblxuZXhwb3J0IGRlZmF1bHQgU2NyaXB0dXJlUGFuZVxuIl19
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJWZXJzZU9iamVjdHNUeXBlIiwiZ2V0UmVzb3VyY2VNZXNzYWdlIiwiQ29udGFpbmVyIiwiQ29udGVudCIsIk1lc3NhZ2VTdHlsZSIsImRpcmVjdGlvbiIsIndoaXRlU3BhY2UiLCJsaW5lSGVpZ2h0IiwiZGlzcGxheSIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsImhlaWdodCIsIndpZHRoIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsIlRleHRBcmVhU3R5bGUiLCJtaW5XaWR0aCIsIlNjcmlwdHVyZVBhbmUiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsImNvbnRlbnRTdHlsZSIsInZlcnNlT2JqZWN0cyIsImRpc2FibGVXb3JkUG9wb3ZlciIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2VydmVyIiwiaXNOVCIsImdldExleGljb25EYXRhIiwidHJhbnNsYXRlIiwiZWRpdGluZyIsInNldEVkaXRpbmciLCJzZXRWZXJzZUNoYW5nZWQiLCJ1c2VTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJjYWxjdWxhdGVkRm9udFNpemUiLCJ1c2VNZW1vIiwicGFyc2VGbG9hdCIsInRleHRBcmVhU3R5bGUiLCJ2ZXJzZVRleHQiLCJnZXRVc2ZtRm9yVmVyc2VDb250ZW50Iiwib25UZXh0Q2hhbmdlIiwiZXZlbnQiLCJuZXdUZXh0IiwidGFyZ2V0IiwidmFsdWUiLCJjaGFuZ2VkIiwib25CbHVyIiwiZGVmYXVsdFByb3BzIl0sIm1h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QUVTLE1BQUFBLFFBQVEsWUFBS0EsUUFBTDtBQUFWO0FBQVosVUFBNEN1QixXQUE1QyxNQURGLENBRlUsZ0JBTVYsb0JBQUMsT0FBRCxxQkFDRTtBQUFNLElBQUEsS0FBSyxFQUFFaEI7QUFBYixVQUF5QmlCLE9BQXpCLE9BQW1DQyxLQUFuQyxTQURGLGVBRUU7QUFBTSxJQUFBLEtBQUssRUFBRWpCLFlBQWI7QUFBMkIsSUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDeENVLE1BQUFBLFVBQVUsSUFBSUEsVUFBVSxDQUFDLElBQUQsQ0FBeEI7QUFDRDtBQUZELEtBSUdELE9BQU8sZ0JBQ047QUFDRSxJQUFBLFlBQVksRUFBRUksZ0JBRGhCO0FBRUUsSUFBQSxRQUFRLEVBQUVXLFlBRlo7QUFHRSxJQUFBLE1BQU0sRUFBRU0sTUFIVjtBQUlFLElBQUEsS0FBSyxFQUFFVCxhQUpUO0FBS0UsSUFBQSxTQUFTO0FBTFgsSUFETSxnQkFTTixvQkFBQyxZQUFEO0FBQ0UsSUFBQSxZQUFZLEVBQUVwQixZQURoQjtBQUVFLElBQUEsa0JBQWtCLEVBQUVDLGtCQUZ0QjtBQUdFLElBQUEsY0FBYyxFQUFFSyxjQUhsQjtBQUlFLElBQUEsU0FBUyxFQUFFQztBQUpiLElBYkosQ0FGRixDQVBKLENBREY7QUFtQ0Q7O0FBRURYLGFBQWEsQ0FBQ2tDLFlBQWQsR0FBNkI7QUFBRTlCLEVBQUFBLFlBQVksRUFBRTtBQUFoQixDQUE3QjtBQUVBLGVBQWVKLGFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB1c2VEZWVwQ29tcGFyZUVmZmVjdCBmcm9tICd1c2UtZGVlcC1jb21wYXJlLWVmZmVjdCdcbmltcG9ydCB7IFZlcnNlT2JqZWN0cyB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHsgVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyB9IGZyb20gJ3dvcmQtYWxpZ25lci1yY2wnXG5pbXBvcnQgeyBTY3JpcHR1cmVSZWZlcmVuY2UsIFZlcnNlT2JqZWN0c1R5cGUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB7IGdldFJlc291cmNlTWVzc2FnZSB9IGZyb20gJy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgQ29udGFpbmVyLCBDb250ZW50IH0gZnJvbSAnLi9zdHlsZWQnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8qKiBjdXJyZW50IHJlZmVyZW5jZSAqKi9cbiAgcmVmZXJlbmNlOiBTY3JpcHR1cmVSZWZlcmVuY2U7XG4gIC8qKiBvcHRpb25hbCBzdHlsZXMgdG8gdXNlIGZvciByZWZlcmVuY2UgKiovXG4gIHJlZlN0eWxlOiBhbnk7XG4gIC8qKiBvcHRpb25hbCBzdHlsZXMgdG8gdXNlIGZvciBjb250ZW50ICoqL1xuICBjb250ZW50U3R5bGU6IGFueTtcbiAgLyoqIGxhbmd1YWdlIGRpcmVjdGlvbiB0byB1c2UgKiovXG4gIGRpcmVjdGlvbjogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHZlcnNlT2JqZWN0cyAqKi9cbiAgdmVyc2VPYmplY3RzOiBWZXJzZU9iamVjdHNUeXBlfHVuZGVmaW5lZDtcbiAgLyoqIGlmIHRydWUgdGhlbiBkbyBub3QgZGlzcGxheSBsZXhpY29uIHBvcG92ZXIgb24gaG92ZXIgKiovXG4gIGRpc2FibGVXb3JkUG9wb3ZlcjogYm9vbGVhbnx1bmRlZmluZWQ7XG4gIC8qKiBvYmplY3QgdGhhdCBjb250YWlucyByZXNvdXJjZSBsb2FkaW5nIHN0YXR1cyBvciBmZXRjaGluZyBlcnJvcnMgKi9cbiAgcmVzb3VyY2VTdGF0dXM6IG9iamVjdHx1bmRlZmluZWQ7XG4gIC8qKiByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQgKi9cbiAgcmVzb3VyY2VMaW5rOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogc2VydmVyICovXG4gIHNlcnZlcjogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHRydWUgaWYgYnJvd3NpbmcgTlQgKi9cbiAgaXNOVDogYm9vbGVhbjtcbiAgLyoqIGZvbnQgc2l6ZSBmb3IgbWVzc2FnZXMgKi9cbiAgZm9udFNpemU6IG51bWJlcjtcbiAgLyoqIGZ1bmN0aW9uIHRvIGdldCBsYXRlc3QgbGV4aWNvbiBkYXRhICovXG4gIGdldExleGljb25EYXRhOiBGdW5jdGlvbjtcbiAgLyoqIG9wdGlvbmFsIGZ1bmN0aW9uIGZvciBsb2NhbGl6YXRpb24gKi9cbiAgdHJhbnNsYXRlOiBGdW5jdGlvbjtcbiAgLyoqIHRydWUgaWYgaW4gZWRpdCBtb2RlICovXG4gIGVkaXRpbmc6IGJvb2xlYW47XG4gIC8qKiBjYWxsYmFjayB0byBzZXQgZWRpdCBtb2RlICovXG4gIHNldEVkaXRpbmc6IEZ1bmN0aW9uO1xuICAvKiogY2FsbGJhY2sgdG8gc2V0IHRoYXQgdmVyc2UgaGFzIGNoYW5nZWQgKi9cbiAgc2V0VmVyc2VDaGFuZ2VkOiBGdW5jdGlvbjtcbn1cblxuY29uc3QgTWVzc2FnZVN0eWxlID0ge1xuICBkaXJlY3Rpb246ICdsdHInLFxuICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICBsaW5lSGVpZ2h0OiAnbm9ybWFsJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgZm9udEZhbWlseTogJ05vdG8gU2FucycsXG4gIGZvbnRXZWlnaHQ6ICdib2xkJyxcbn1cblxuY29uc3QgVGV4dEFyZWFTdHlsZSA9IHtcbiAgaGVpZ2h0OiAnNjAlJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgbWluV2lkdGg6ICcyMjBweCcsXG4gIGZvbnRTaXplOiAnMTZweCcsXG59XG5cbmZ1bmN0aW9uIFNjcmlwdHVyZVBhbmUoe1xuICByZWZlcmVuY2UsXG4gIHJlZlN0eWxlLFxuICBkaXJlY3Rpb24sXG4gIGNvbnRlbnRTdHlsZSxcbiAgdmVyc2VPYmplY3RzLFxuICBkaXNhYmxlV29yZFBvcG92ZXIsXG4gIHJlc291cmNlU3RhdHVzLFxuICByZXNvdXJjZUxpbmssXG4gIHNlcnZlcixcbiAgaXNOVCxcbiAgZm9udFNpemUsXG4gIGdldExleGljb25EYXRhLFxuICB0cmFuc2xhdGUsXG4gIGVkaXRpbmcsXG4gIHNldEVkaXRpbmcsXG4gIHNldFZlcnNlQ2hhbmdlZCxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuICBjb25zdCByZXNvdXJjZU1zZyA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlQpXG4gIGNvbnN0IHsgY2hhcHRlciwgdmVyc2UgfSA9IHJlZmVyZW5jZVxuICBkaXJlY3Rpb24gPSBkaXJlY3Rpb24gfHwgJ2x0cidcblxuICByZWZTdHlsZSA9IHJlZlN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzkwJScsXG4gIH1cblxuICBjb250ZW50U3R5bGUgPSBjb250ZW50U3R5bGUgfHwge1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTAwJScsXG4gIH1cblxuICAvLyBkeW5hbWljYWxseSBhZGp1c3QgZm9udCBzaXplXG4gIGNvbnN0IGNhbGN1bGF0ZWRGb250U2l6ZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKFxuICAgIHBhcnNlRmxvYXQoVGV4dEFyZWFTdHlsZS5mb250U2l6ZSkgKiBmb250U2l6ZSAvIDEwMCArICdweCdcbiAgKSwgW2ZvbnRTaXplXSlcblxuICBjb25zdCB0ZXh0QXJlYVN0eWxlID0ge1xuICAgIC4uLmNvbnRlbnRTdHlsZSxcbiAgICAuLi5UZXh0QXJlYVN0eWxlLFxuICAgIGZvbnRTaXplOiBjYWxjdWxhdGVkRm9udFNpemUsXG4gIH1cblxuICB1c2VEZWVwQ29tcGFyZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgdmVyc2VUZXh0ID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5nZXRVc2ZtRm9yVmVyc2VDb250ZW50KHsgdmVyc2VPYmplY3RzIH0pXG4gICAgc2V0SW5pdGlhbFZlcnNlVGV4dCh2ZXJzZVRleHQpXG4gIH0sIFt7IHZlcnNlT2JqZWN0cyB9XSlcblxuICBmdW5jdGlvbiBvblRleHRDaGFuZ2UoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgY29uc3QgbmV3VGV4dCA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlXG4gICAgY29uc3QgY2hhbmdlZCA9IG5ld1RleHQgIT09IGluaXRpYWxWZXJzZVRleHRcbiAgICBzZXRWZXJzZUNoYW5nZWQoY2hhbmdlZCwgbmV3VGV4dCwgaW5pdGlhbFZlcnNlVGV4dClcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uQmx1cihldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICBzZXRFZGl0aW5nKGZhbHNlKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIHN0eWxlPXt7IGRpcmVjdGlvbiwgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfX0+XG4gICAgICB7cmVzb3VyY2VNc2cgP1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIDxkaXYgc3R5bGU9e01lc3NhZ2VTdHlsZX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogYCR7Zm9udFNpemV9JWAgfX0+IHtyZXNvdXJjZU1zZ30gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxDb250ZW50PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtyZWZTdHlsZX0+IHtjaGFwdGVyfTp7dmVyc2V9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtjb250ZW50U3R5bGV9IG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEVkaXRpbmcgJiYgc2V0RWRpdGluZyh0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2VkaXRpbmcgP1xuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2luaXRpYWxWZXJzZVRleHR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVGV4dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGV4dEFyZWFTdHlsZX1cbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICA8VmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgdmVyc2VPYmplY3RzPXt2ZXJzZU9iamVjdHN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Db250ZW50PlxuICAgICAgfVxuICAgIDwvQ29udGFpbmVyPlxuICApXG59XG5cblNjcmlwdHVyZVBhbmUuZGVmYXVsdFByb3BzID0geyB2ZXJzZU9iamVjdHM6IFtdIH1cblxuZXhwb3J0IGRlZmF1bHQgU2NyaXB0dXJlUGFuZVxuIl19
@@ -630,4 +630,4 @@ export function useScriptureAlignmentEdit(_ref) {
630
630
  }
631
631
  };
632
632
  }
633
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkFsaWdubWVudEhlbHBlcnMiLCJVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIiwidXNmbUhlbHBlcnMiLCJpc0VxdWFsIiwidXNlRGVlcENvbXBhcmVFZmZlY3QiLCJ1c2VFZGl0IiwiY29yZSIsInVzZm1qcyIsIlNjcmlwdHVyZUNvbmZpZyIsIlNlcnZlckNvbmZpZyIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJPUklHSU5BTF9TT1VSQ0UiLCJ1c2VTY3JpcHR1cmVSZXNvdXJjZXMiLCJpc1VzZm1BbGlnbmVkIiwidGFyZ2V0VmVyc2VVU0ZNIiwib3JpZ2luYWxWZXJzZU9iamVjdHMiLCJsZW5ndGgiLCJleHRyYWN0QWxpZ25tZW50c0Zyb21UYXJnZXRWZXJzZSIsImFsaWdubWVudHMiLCJ3b3JkQmFuayIsImFyZUFsZ25tZW50c0NvbXBsZXRlIiwiZ2V0Q3VycmVudFZlcnNlVXNmbSIsInVwZGF0ZWRWZXJzZU9iamVjdHMiLCJpbml0aWFsVmVyc2VPYmplY3RzIiwidmVyc2VUZXh0Q2hhbmdlZCIsIm5ld1ZlcnNlVGV4dCIsImN1cnJlbnRWZXJzZU9iamVjdHNfIiwidXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UiLCJ0YXJnZXRWZXJzZVRleHQiLCJjb252ZXJ0VmVyc2VEYXRhVG9VU0ZNIiwidXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCIsImF1dGhlbnRpY2F0aW9uIiwiY3VycmVudFZlcnNlTnVtIiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsImh0dHBDb25maWciLCJpc05ld1Rlc3RhbWVudCIsImxvZ2dlZEluVXNlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsIm9yaWdpbmFsUmVwb1VybCIsInNjcmlwdHVyZUNvbmZpZyIsInNjcmlwdHVyZVNldHRpbmdzIiwic3RhcnRFZGl0QnJhbmNoIiwiYm9va0luZGV4Iiwid29ya2luZ1Jlc291cmNlQnJhbmNoIiwidXNlU3RhdGUiLCJhbGlnbmVkIiwiYWxpZ25lckRhdGEiLCJlZGl0aW5nIiwiaW5pdGlhbFZlcnNlVGV4dCIsIm5ld0FsaWdubWVudHMiLCJzYXZlQ29udGVudCIsInN0YXJ0U2F2ZSIsInNoYSIsInN0YXRlIiwic2V0U3RhdGVfIiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInByZXZTdGF0ZSIsInJlZmVyZW5jZV8iLCJyZWZlcmVuY2UiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImNsZWFyU3RhdGUiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXyIsInJlc291cmNlSWQiLCJib29rSWQiLCJwcm9qZWN0SWQiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzIiwiZmV0Y2hSZXNwXyIsImZldGNoUmVzcG9uc2UiLCJvd25lciIsInJlc291cmNlIiwicmVwbyIsImxhbmd1YWdlSWQiLCJ1c2VFZmZlY3QiLCJkYXRhIiwiZ2V0Qm9va05hbWUiLCJib29rQ2FwcyIsInRvVXBwZXJDYXNlIiwiZmlsZXBhdGgiLCJjb250ZW50IiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0b2tlbiIsInRpbWVvdXQiLCJzZXJ2ZXJUaW1lT3V0IiwiYXV0aG9yIiwiYnJhbmNoIiwiZWRpdFJlc3BvbnNlIiwiZXJyb3IiLCJpc0VkaXRpbmciLCJpc0Vycm9yIiwib25TYXZlRWRpdCIsInJlc291cmNlTGluayIsIm9yaWdpbmFsU2NyaXB0dXJlUmVzb3VyY2UiLCJjaGFwdGVyIiwidmVyc2UiLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsIm5vdEVtcHR5IiwiYWxpZ25lZF8iLCJ2ZXJzZU9iamVjdHMiLCJyZXN1bHRzIiwiZmluZFJlZkluQXJyYXkiLCJmaW5kSXRlbSIsImNodW5rcyIsInJlZl8iLCJyZWZMZW4iLCJpbmRleCIsImZpbmRJbmRleCIsImNodW5rIiwiaWR4Iiwic3Vic3RyaW5nIiwibmV4dENoYXIiLCJzYXZlQ2hhbmdlc1RvQ2xvdWQiLCJ1cGRhdGVkVmVyc2VPYmplY3RzXyIsInVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMiLCJ0YXJnZXRWZXJzZU9iamVjdHMiLCJuZXdVc2ZtIiwicmVmIiwidmVyc2VzRm9yUmVmIiwib3JpZ2luYWxVc2ZtIiwiZ2V0UmVzcG9uc2VEYXRhIiwiY2hhcHRlckNodW5rcyIsInNwbGl0IiwiY2hhcHRlckluZGV4IiwiY3VycmVudENoYXB0ZXIiLCJ2ZXJzZUNodW5rcyIsInZlcnNlSW5kZXgiLCJuZXdWZXJzZVVzZm0iLCJvbGRWZXJzZSIsInZlcnNlTnVtTGVuIiwibmV3Q2hhcHRlciIsImpvaW4iLCJuZXdCb29rSnNvbiIsInVwZGF0ZVZlcnNlTnVtIiwidG9VU0ZNIiwiZm9yY2VkTmV3TGluZXMiLCJfc2F2ZUVkaXQiLCJ1bmRlZmluZWQiLCJ0aGVuIiwic3VjY2VzcyIsImluZm8iLCJyZWxvYWRSZXNvdXJjZSIsIm5ld1ZlcnNlT2JqZWN0cyIsInRhcmdldFZlcnNlT2JqZWN0c18iLCJ1cGRhdGVWZXJzZSIsImhhbmRsZUFsaWdubWVudENsaWNrIiwiYWxpZ25lckRhdGFfIiwib3JpZ2luYWxWZXJzZVVzZm0iLCJwYXJzZVVzZm1Ub1dvcmRBbGlnbmVyRGF0YSIsInRhcmdldFdvcmRzIiwidmVyc2VBbGlnbm1lbnRzIiwidmVyc2VVc2ZtIiwiYWRkQWxpZ25tZW50c1RvVmVyc2VVU0ZNIiwiYWxpZ25lZFZlcnNlT2JqZWN0cyIsInVzZm1WZXJzZVRvSnNvbiIsInNhdmVBbGlnbm1lbnQiLCJjYW5jZWxBbGlnbm1lbnQiLCJzZXRFZGl0aW5nIiwiZWRpdGluZ18iLCJzZXRWZXJzZUNoYW5nZWQiLCJjaGFuZ2VkIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsInVzZU1lbW8iLCJ1bnNhdmVkQ2hhbmdlcyIsIm9uQWxpZ25tZW50c0NoYW5nZSIsImFsaWdubWVudENvbXBsZXRlIiwiYWN0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUFoQkEsZ0JBSks7QUFLTGlKLE1BQUFBLGNBQWMsRUFBZEE7QUFMSztBQVhGLEdBQVA7QUFtQkQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB7XG4gIEFsaWdubWVudEhlbHBlcnMsXG4gIFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMsXG4gIHVzZm1IZWxwZXJzLFxufSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0ICogYXMgaXNFcXVhbCBmcm9tICdkZWVwLWVxdWFsJ1xuaW1wb3J0IHVzZURlZXBDb21wYXJlRWZmZWN0IGZyb20gJ3VzZS1kZWVwLWNvbXBhcmUtZWZmZWN0J1xuaW1wb3J0IHsgdXNlRWRpdCB9IGZyb20gJ2dpdGVhLXJlYWN0LXRvb2xraXQnXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnc2NyaXB0dXJlLXJlc291cmNlcy1yY2wnXG5pbXBvcnQgdXNmbWpzIGZyb20gJ3VzZm0tanMnXG5pbXBvcnQgeyBTY3JpcHR1cmVDb25maWcsIFNlcnZlckNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyB9IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHsgT1JJR0lOQUxfU09VUkNFIH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgdXNlU2NyaXB0dXJlUmVzb3VyY2VzIGZyb20gJy4vdXNlU2NyaXB0dXJlUmVzb3VyY2VzJ1xuXG5pbnRlcmZhY2UgU3RhcnRFZGl0IHtcbiAgKCk6IFByb21pc2U8c3RyaW5nPjtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgYXV0aGVudGljYXRpb246IHsgY29uZmlnOiBvYmplY3QsIHRva2VuOiBzdHJpbmcgfSxcbiAgY3VycmVudFZlcnNlTnVtOiBudW1iZXIsXG4gIGVuYWJsZUVkaXQ6IGJvb2xlYW4sXG4gIGVuYWJsZUFsaWdubWVudDogYm9vbGVhbixcbiAgaHR0cENvbmZpZzogU2VydmVyQ29uZmlnLFxuICBpbml0aWFsVmVyc2VPYmplY3RzOiBbXSxcbiAgaXNOZXdUZXN0YW1lbnQ6IGJvb2xlYW4sXG4gIGxvZ2dlZEluVXNlcjogc3RyaW5nLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXI6IHN0cmluZyxcbiAgb3JpZ2luYWxSZXBvVXJsOiBzdHJpbmcsXG4gIHNjcmlwdHVyZUNvbmZpZzogU2NyaXB0dXJlQ29uZmlnLFxuICBzY3JpcHR1cmVTZXR0aW5nczogeyB9LFxuICBzZXRTYXZlZENoYW5nZXM6IEZ1bmN0aW9uLFxuICBzdGFydEVkaXRCcmFuY2g6IFN0YXJ0RWRpdCxcbiAgYm9va0luZGV4OiBzdHJpbmcsXG4gIHdvcmtpbmdSZXNvdXJjZUJyYW5jaDogc3RyaW5nLFxufVxuXG5mdW5jdGlvbiBpc1VzZm1BbGlnbmVkKHRhcmdldFZlcnNlVVNGTSwgb3JpZ2luYWxWZXJzZU9iamVjdHMpIHtcbiAgb3JpZ2luYWxWZXJzZU9iamVjdHMgPSBvcmlnaW5hbFZlcnNlT2JqZWN0cz8ubGVuZ3RoID8gb3JpZ2luYWxWZXJzZU9iamVjdHMgOiBudWxsIC8vIG1ha2Ugc3VyZSBub3QgcGFzc2luZyBlbXB0eSBBcnJheVxuICBjb25zdCB7IGFsaWdubWVudHMsIHdvcmRCYW5rIH0gPSBBbGlnbm1lbnRIZWxwZXJzLmV4dHJhY3RBbGlnbm1lbnRzRnJvbVRhcmdldFZlcnNlKHRhcmdldFZlcnNlVVNGTSwgb3JpZ2luYWxWZXJzZU9iamVjdHMpXG4gIHJldHVybiBBbGlnbm1lbnRIZWxwZXJzLmFyZUFsZ25tZW50c0NvbXBsZXRlKHdvcmRCYW5rLCBhbGlnbm1lbnRzKVxufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQ6IGJvb2xlYW4sIG5ld1ZlcnNlVGV4dCkge1xuICBsZXQgdGFyZ2V0VmVyc2VVU0ZNID0gbnVsbFxuICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHMgfHwgaW5pdGlhbFZlcnNlT2JqZWN0c1xuXG4gIGlmICh2ZXJzZVRleHRDaGFuZ2VkICYmIG5ld1ZlcnNlVGV4dCkge1xuICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VUZXh0IH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgdGFyZ2V0VmVyc2VVU0ZNID0gdGFyZ2V0VmVyc2VUZXh0XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0VmVyc2VVU0ZNID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKGN1cnJlbnRWZXJzZU9iamVjdHNfKVxuICB9XG4gIHJldHVybiB0YXJnZXRWZXJzZVVTRk1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQoe1xuICBhdXRoZW50aWNhdGlvbixcbiAgY3VycmVudFZlcnNlTnVtLFxuICBlbmFibGVFZGl0LFxuICBlbmFibGVBbGlnbm1lbnQsXG4gIGh0dHBDb25maWcsXG4gIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gIGlzTmV3VGVzdGFtZW50LFxuICBsb2dnZWRJblVzZXIsXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgb3JpZ2luYWxSZXBvVXJsLFxuICBzY3JpcHR1cmVDb25maWcsXG4gIHNjcmlwdHVyZVNldHRpbmdzLFxuICBzdGFydEVkaXRCcmFuY2gsXG4gIGJvb2tJbmRleCxcbiAgd29ya2luZ1Jlc291cmNlQnJhbmNoLFxufSA6IFByb3BzKSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVfXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICBhbGlnbmVkOiBmYWxzZSxcbiAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICBpbml0aWFsVmVyc2VUZXh0OiBudWxsLFxuICAgIG5ld0FsaWdubWVudHM6IG51bGwsXG4gICAgbmV3VmVyc2VUZXh0OiBudWxsLFxuICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IG51bGwsXG4gICAgdmVyc2VUZXh0Q2hhbmdlZDogZmFsc2UsXG4gICAgc2F2ZUNvbnRlbnQ6IG51bGwsXG4gICAgc3RhcnRTYXZlOiBmYWxzZSxcbiAgICBzaGE6IG51bGwsXG4gIH0pXG5cbiAgY29uc3Qge1xuICAgIGFsaWduZWQsXG4gICAgYWxpZ25lckRhdGEsXG4gICAgZWRpdGluZyxcbiAgICBpbml0aWFsVmVyc2VUZXh0LFxuICAgIG5ld0FsaWdubWVudHMsXG4gICAgbmV3VmVyc2VUZXh0LFxuICAgIHVwZGF0ZWRWZXJzZU9iamVjdHMsXG4gICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgICBzYXZlQ29udGVudCxcbiAgICBzdGFydFNhdmUsXG4gICAgc2hhLFxuICB9ID0gc3RhdGVcblxuICBmdW5jdGlvbiBzZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIHNldFN0YXRlXyhwcmV2U3RhdGUgPT4gKHsgLi4ucHJldlN0YXRlLCAuLi5uZXdTdGF0ZSB9KSlcbiAgfVxuXG4gIGNvbnN0IHJlZmVyZW5jZV8gPSBzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZSB8fCBudWxsXG5cbiAgdXNlRGVlcENvbXBhcmVFZmZlY3QoKCkgPT4geyAvLyBjaGVjayBmb3IgY29udGV4dCBjaGFuZ2VzLCByZXNldCBlZGl0IGFuZCBhbGlnbm1lbnQgc3RhdGVcbiAgICBjb25zb2xlLmxvZyhgcmVmZXJlbmNlIGNoYW5nZWQgJHtKU09OLnN0cmluZ2lmeShyZWZlcmVuY2VfKX1gKVxuICAgIGNvbnN0IGNsZWFyU3RhdGUgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICBuZXdBbGlnbm1lbnRzOiBudWxsLFxuICAgICAgbmV3VmVyc2VUZXh0OiBudWxsLFxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0czogbnVsbCxcbiAgICAgIHZlcnNlVGV4dENoYW5nZWQ6IGZhbHNlLFxuICAgIH1cblxuICAgIGlmICghaXNFcXVhbChzdGF0ZSwgY2xlYXJTdGF0ZSkpIHtcbiAgICAgIGNvbnNvbGUubG9nKGByZWZlcmVuY2UgY2hhbmdlZCwgcmVzZXQgZWRpdC9hbGlnbm1lbnQgc3RhdGUgdmFyaWFibGVzYClcbiAgICAgIHNldFN0YXRlKGNsZWFyU3RhdGUpXG4gICAgfVxuICB9LCBbcmVmZXJlbmNlX10pXG5cbiAgY29uc3Qgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5nc18gPSB7XG4gICAgLi4uc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgcmVzb3VyY2VJZDogT1JJR0lOQUxfU09VUkNFLFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBodHRwQ29uZmlnID0gaHR0cENvbmZpZyB8fCB7fVxuICBjb25zdCBib29rSWQgPSByZWZlcmVuY2VfPy5wcm9qZWN0SWRcbiAgY29uc3Qgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoXG4gICAgYm9va0lkLCBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsIG9yaWdpbmFsUmVwb1VybCxcbiAgKVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgZmV0Y2hSZXNwXyA9IHNjcmlwdHVyZUNvbmZpZz8uZmV0Y2hSZXNwb25zZVxuICBjb25zdCBvd25lciA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/Lm93bmVyXG4gIGNvbnN0IHJlcG8gPSBgJHtzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5sYW5ndWFnZUlkfV8ke3NjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/LnByb2plY3RJZH1gXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gZ2V0IHRoZSBzaGEgZnJvbSBsYXN0IHNjcmlwdHVyZSBkb3dubG9hZFxuICAgIGNvbnN0IHNoYSA9IGZldGNoUmVzcF8/LmRhdGE/LnNoYSB8fCBudWxsXG4gICAgY29uc29sZS5sb2coYGZvciAke0pTT04uc3RyaW5naWZ5KHJlZmVyZW5jZV8pfSBuZXcgc2hhIGlzICR7c2hhfWApXG4gICAgc2V0U3RhdGUoeyBzaGEgfSlcbiAgICAvLyBAdHMtaWdub3JlXG4gIH0sIFtmZXRjaFJlc3BfXSlcblxuICBmdW5jdGlvbiBnZXRCb29rTmFtZSgpIHtcbiAgICBjb25zdCBib29rQ2FwcyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVmZXJlbmNlPy5wcm9qZWN0SWQgPyBzY3JpcHR1cmVDb25maWcucmVmZXJlbmNlLnByb2plY3RJZC50b1VwcGVyQ2FzZSgpIDogJydcbiAgICByZXR1cm4gYCR7Ym9va0luZGV4fS0ke2Jvb2tDYXBzfS51c2ZtYFxuICB9XG5cbiAgY29uc3QgZmlsZXBhdGggPSBnZXRCb29rTmFtZSgpXG5cbiAgLy8gVE9ETzogIGVuYWJsZSBzYXZlXG4gIGNvbnN0IHtcbiAgICBlZGl0UmVzcG9uc2UsXG4gICAgZXJyb3IsXG4gICAgaXNFZGl0aW5nLFxuICAgIGlzRXJyb3IsXG4gICAgb25TYXZlRWRpdCxcbiAgfSA9IHVzZUVkaXQoe1xuICAgIHNoYSxcbiAgICBvd25lcixcbiAgICBjb250ZW50OiBzYXZlQ29udGVudCxcbiAgICBjb25maWc6IHtcbiAgICAgIGNhY2hlOiB7IG1heEFnZTogMCB9LFxuICAgICAgLi4uYXV0aGVudGljYXRpb24/LmNvbmZpZyxcbiAgICAgIHRva2VuOiBhdXRoZW50aWNhdGlvbj8udG9rZW4sXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aW1lb3V0OiBodHRwQ29uZmlnPy5zZXJ2ZXJUaW1lT3V0IHx8IGh0dHBDb25maWc/LnRpbWVvdXQgfHwgNTAwMCxcbiAgICB9LFxuICAgIGF1dGhvcjogbG9nZ2VkSW5Vc2VyLFxuICAgIHRva2VuOiBhdXRoZW50aWNhdGlvbj8udG9rZW4sXG4gICAgYnJhbmNoOiB3b3JraW5nUmVzb3VyY2VCcmFuY2gsXG4gICAgZmlsZXBhdGgsXG4gICAgcmVwbyxcbiAgfSlcblxuICBpZiAoIWVuYWJsZUFsaWdubWVudCkgeyAvLyBpZiBub3QgZW5hYmxlZCwgdGhlbiB3ZSBkb24ndCBmZXRjaCByZXNvdXJjZVxuICAgIG9yaWdpbmFsU2NyaXB0dXJlU2V0dGluZ3MucmVzb3VyY2VMaW5rID0gbnVsbFxuICB9XG5cbiAgLy8gZ2V0IG9yaWdpbmFsIGxhbmd1YWdlIGZvciBhbGlnbm1lbnRcbiAgY29uc3Qgb3JpZ2luYWxTY3JpcHR1cmVSZXNvdXJjZSA9IHVzZVNjcmlwdHVyZVJlc291cmNlcyh7XG4gICAgYm9va0lkLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzOiBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzLFxuICAgIGNoYXB0ZXI6IHJlZmVyZW5jZV8/LmNoYXB0ZXIsXG4gICAgdmVyc2U6IHJlZmVyZW5jZV8/LnZlcnNlLFxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIG9yaWdpbmFsUmVwb1VybCxcbiAgICBjdXJyZW50TGFuZ3VhZ2VJZDogb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncz8ubGFuZ3VhZ2VJZCxcbiAgICBjdXJyZW50T3duZXI6IG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICBodHRwQ29uZmlnLFxuICB9KVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHVwZGF0ZSBhbGlnbm1lbnQgc3RhdHVzIHdoZW4gYWxpZ25lciBpcyBoaWRkZW5cbiAgICBjb25zdCBub3RFbXB0eSA9ICEhaW5pdGlhbFZlcnNlT2JqZWN0c1xuICAgIGxldCBhbGlnbmVkXyA9IGZhbHNlXG5cbiAgICBpZiAoIWFsaWduZXJEYXRhKSB7IC8vIHNraXAgaWYgYWxpZ25lciBpcyBiZWluZyBzaG93blxuICAgICAgaWYgKG5vdEVtcHR5KSB7IC8vIHNraXAgaWYgZW1wdHlcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxWZXJzZU9iamVjdHMgPSBvcmlnaW5hbFNjcmlwdHVyZVJlc291cmNlPy52ZXJzZU9iamVjdHNcbiAgICAgICAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcblxuICAgICAgICBpZiAoIWVuYWJsZUFsaWdubWVudCkge1xuICAgICAgICAgIGFsaWduZWRfID0gdHJ1ZVxuICAgICAgICB9IGVsc2UgaWYgKG5ld1ZlcnNlVGV4dCAmJiAobmV3VmVyc2VUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0KSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgICAgICAgYWxpZ25lZF8gPSBpc1VzZm1BbGlnbmVkKHJlc3VsdHM/LnRhcmdldFZlcnNlVGV4dCwgb3JpZ2luYWxWZXJzZU9iamVjdHMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKGN1cnJlbnRWZXJzZU9iamVjdHNfKVxuICAgICAgICAgIGFsaWduZWRfID0gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChhbGlnbmVkICE9PSBhbGlnbmVkXykge1xuICAgICAgICBzZXRTdGF0ZSh7IGFsaWduZWQ6IGFsaWduZWRfIH0pXG4gICAgICB9XG4gICAgfVxuICB9LCBbaW5pdGlhbFZlcnNlT2JqZWN0cywgYWxpZ25lckRhdGEsIG5ld1ZlcnNlVGV4dCwgaW5pdGlhbFZlcnNlVGV4dCwgZW5hYmxlQWxpZ25tZW50LCBvcmlnaW5hbFNjcmlwdHVyZVJlc291cmNlPy52ZXJzZU9iamVjdHNdKVxuXG4gIC8qKlxuICAgKiBzZWFyY2ggY2hhcHRlciBvciB2ZXJzZSBjaHVuayB0byBsaW5lIHRoYXQgc3RhcnRzIHdpdGggZmluZEl0ZW1cbiAgICogQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSBmaW5kSXRlbVxuICAgKiBAcGFyYW0ge2FycmF5W3N0cmluZ119IGNodW5rc1xuICAgKi9cbiAgZnVuY3Rpb24gZmluZFJlZkluQXJyYXkoZmluZEl0ZW0sIGNodW5rcykge1xuICAgIGNvbnN0IHJlZl8gPSBmaW5kSXRlbSArICcnXG4gICAgY29uc3QgcmVmTGVuID0gcmVmXy5sZW5ndGhcbiAgICBjb25zdCBpbmRleCA9IGNodW5rcy5maW5kSW5kZXgoKGNodW5rLCBpZHgpID0+IHtcbiAgICAgIGlmIChpZHggPiAwKSB7XG4gICAgICAgIGlmIChjaHVuay5zdWJzdHJpbmcoMCwgcmVmTGVuKSA9PT0gcmVmXykge1xuICAgICAgICAgIGNvbnN0IG5leHRDaGFyID0gY2h1bmtbcmVmX11cblxuICAgICAgICAgIGlmICgobmV4dENoYXIgPiAnOScpIHx8IChuZXh0Q2hhciA8ICcwJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZnVuY3Rpb24gc2F2ZUNoYW5nZXNUb0Nsb3VkKCkge1xuICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQgLSBzdGFydGVkYClcbiAgICBsZXQgdXBkYXRlZFZlcnNlT2JqZWN0c19cblxuICAgIGlmIChuZXdBbGlnbm1lbnRzKSB7IC8vIGlmIHVuc2F2ZWQgYWxpZ25tZW50IGNoYW5nZXMsIGFwcGx5IHRoZW1cbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdXBkYXRlVmVyc2VXaXRoTmV3QWxpZ25tZW50cygpXG4gICAgfSBlbHNlIGlmICh2ZXJzZVRleHRDaGFuZ2VkICYmIG5ld1ZlcnNlVGV4dCkge1xuICAgICAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcbiAgICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VUZXh0LCB0YXJnZXRWZXJzZU9iamVjdHMgfSA9IEFsaWdubWVudEhlbHBlcnMudXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UoY3VycmVudFZlcnNlT2JqZWN0c18sIG5ld1ZlcnNlVGV4dClcbiAgICAgIC8vIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIG5ldyB0ZXh0OmAsIHRhcmdldFZlcnNlVGV4dC5zdWJzdHJpbmcoMCwxMDApKVxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0c18gPSB0YXJnZXRWZXJzZU9iamVjdHNcbiAgICB9IGVsc2UgeyAvLyBvbmx5IGFsaWdubWVudCBjaGFuZ2VzIHRvIHVwbG9hZFxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFZlcnNlT2JqZWN0c18pIHtcbiAgICAgIGxldCBuZXdVc2ZtXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCByZWYgPSBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uW2N1cnJlbnRWZXJzZU51bV1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IG9yaWdpbmFsVXNmbSA9IGNvcmUuZ2V0UmVzcG9uc2VEYXRhKHNjcmlwdHVyZUNvbmZpZz8uZmV0Y2hSZXNwb25zZSlcblxuICAgICAgaWYgKG9yaWdpbmFsVXNmbSkge1xuICAgICAgICBjb25zdCBjaGFwdGVyQ2h1bmtzID0gb3JpZ2luYWxVc2ZtPy5zcGxpdCgnXFxcXGMgJylcbiAgICAgICAgY29uc3QgY2hhcHRlckluZGV4ID0gZmluZFJlZkluQXJyYXkocmVmPy5jaGFwdGVyLCBjaGFwdGVyQ2h1bmtzKVxuXG4gICAgICAgIGlmIChjaGFwdGVySW5kZXggPj0gMCkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRDaGFwdGVyID0gY2hhcHRlckNodW5rc1tjaGFwdGVySW5kZXhdXG4gICAgICAgICAgY29uc3QgdmVyc2VDaHVua3MgPSBjdXJyZW50Q2hhcHRlci5zcGxpdCgnXFxcXHYgJylcbiAgICAgICAgICBjb25zdCB2ZXJzZUluZGV4ID0gZmluZFJlZkluQXJyYXkocmVmPy52ZXJzZSwgdmVyc2VDaHVua3MpXG5cbiAgICAgICAgICBpZiAodmVyc2VJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWZXJzZVVzZm0gPSBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmNvbnZlcnRWZXJzZURhdGFUb1VTRk0odXBkYXRlZFZlcnNlT2JqZWN0c18pXG4gICAgICAgICAgICBjb25zdCBvbGRWZXJzZSA9IHZlcnNlQ2h1bmtzW3ZlcnNlSW5kZXhdXG4gICAgICAgICAgICBjb25zdCB2ZXJzZU51bUxlbiA9IChyZWY/LnZlcnNlICsgJycpLmxlbmd0aFxuICAgICAgICAgICAgdmVyc2VDaHVua3NbdmVyc2VJbmRleF0gPSBvbGRWZXJzZS5zdWJzdHJpbmcoMCwgdmVyc2VOdW1MZW4gKyAxKSArIG5ld1ZlcnNlVXNmbVxuICAgICAgICAgICAgY29uc3QgbmV3Q2hhcHRlciA9IHZlcnNlQ2h1bmtzLmpvaW4oJ1xcXFx2ICcpXG4gICAgICAgICAgICBjaGFwdGVyQ2h1bmtzW2NoYXB0ZXJJbmRleF0gPSBuZXdDaGFwdGVyXG4gICAgICAgICAgICBuZXdVc2ZtID0gY2hhcHRlckNodW5rcy5qb2luKCdcXFxcYyAnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIW5ld1VzZm0pIHtcbiAgICAgICAgY29uc3QgbmV3Qm9va0pzb24gPSB1cGRhdGVWZXJzZU51bShjdXJyZW50VmVyc2VOdW0sIHVwZGF0ZWRWZXJzZU9iamVjdHNfKVxuICAgICAgICBuZXdVc2ZtID0gdXNmbWpzLnRvVVNGTShuZXdCb29rSnNvbiwgeyBmb3JjZWROZXdMaW5lczogdHJ1ZSB9KVxuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coYHNhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gc2F2aW5nIG5ldyBVU0ZNOiAke25ld1VzZm0uc3Vic3RyaW5nKDAsIDEwMCl9Li4uYClcbiAgICAgIHNldFN0YXRlKHsgc2F2ZUNvbnRlbnQ6IG5ld1VzZm0sIHN0YXJ0U2F2ZTogdHJ1ZSB9KVxuICAgIH1cbiAgfVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgX3NhdmVFZGl0ID0gYXN5bmMgKCkgPT4geyAvLyBiZWdpbiB1cGxvYWRpbmcgbmV3IFVTRk1cbiAgICAgIGxldCBicmFuY2ggPSAod29ya2luZ1Jlc291cmNlQnJhbmNoICE9PSAnbWFzdGVyJykgPyB3b3JraW5nUmVzb3VyY2VCcmFuY2ggOiB1bmRlZmluZWRcblxuICAgICAgaWYgKCFicmFuY2gpIHtcbiAgICAgICAgYnJhbmNoID0gYXdhaXQgc3RhcnRFZGl0QnJhbmNoKCkgLy8gbWFrZSBzdXJlIHVzZXIgYnJhbmNoIGV4aXN0cyBhbmQgZ2V0IG5hbWVcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25TYXZlRWRpdChicmFuY2gpLnRoZW4oKHN1Y2Nlc3MpID0+IHsgLy8gcHVzaCBjaGFuZ2VkIHRvIHNlcnZlclxuICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmUgc2NyaXB0dXJlIGVkaXRzIHN1Y2Nlc3NgKVxuICAgICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IG51bGwsXG4gICAgICAgICAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgIG5ld1ZlcnNlVGV4dDogbnVsbCxcbiAgICAgICAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgICAgICAgc3RhcnRTYXZlOiBmYWxzZSxcbiAgICAgICAgICAgIHZlcnNlVGV4dENoYW5nZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaW5pdGlhbFZlcnNlVGV4dDogbnVsbCxcbiAgICAgICAgICB9KVxuICAgICAgICAgIGNvbnNvbGUuaW5mbygnc2F2ZUNoYW5nZXNUb0Nsb3VkKCkgLSBSZWxvYWRpbmcgcmVzb3VyY2UnKVxuICAgICAgICAgIHNjcmlwdHVyZUNvbmZpZz8ucmVsb2FkUmVzb3VyY2UoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3NhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gc2F2aW5nIGNoYW5nZWQgc2NyaXB0dXJlIGZhaWxlZCcpXG4gICAgICAgICAgc2V0U3RhdGUoeyBzdGFydFNhdmU6IGZhbHNlIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKHN0YXJ0U2F2ZSkge1xuICAgICAgY29uc29sZS5sb2coYHNhdmVDaGFuZ2VzVG9DbG91ZCAtIGNhbGxpbmcgX3NhdmVFZGl0KClgKVxuICAgICAgX3NhdmVFZGl0KClcbiAgICB9XG4gIH0sIFtzdGFydFNhdmVdKVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZVZlcnNlTnVtKGluZGV4LCBuZXdWZXJzZU9iamVjdHMgPSBpbml0aWFsVmVyc2VPYmplY3RzKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHJlZiA9IHNjcmlwdHVyZUNvbmZpZz8udmVyc2VzRm9yUmVmPy5baW5kZXhdXG4gICAgbGV0IHRhcmdldFZlcnNlT2JqZWN0c18gPSBudWxsXG5cbiAgICBpZiAocmVmKSB7XG4gICAgICBpZiAobmV3VmVyc2VUZXh0KSB7XG4gICAgICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VPYmplY3RzIH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKG5ld1ZlcnNlT2JqZWN0cywgbmV3VmVyc2VUZXh0KVxuICAgICAgICB0YXJnZXRWZXJzZU9iamVjdHNfID0gdGFyZ2V0VmVyc2VPYmplY3RzXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YXJnZXRWZXJzZU9iamVjdHNfID0gbmV3VmVyc2VPYmplY3RzXG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiB0YXJnZXRWZXJzZU9iamVjdHNfICYmIHNjcmlwdHVyZUNvbmZpZz8udXBkYXRlVmVyc2UocmVmLmNoYXB0ZXIsIHJlZi52ZXJzZSwgeyB2ZXJzZU9iamVjdHM6IHRhcmdldFZlcnNlT2JqZWN0c18gfSlcbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZUFsaWdubWVudENsaWNrKCkge1xuICAgIGlmIChlbmFibGVBbGlnbm1lbnQpIHtcbiAgICAgIGxldCBhbGlnbmVyRGF0YV8gPSBudWxsXG4gICAgICBhd2FpdCBzdGFydEVkaXRCcmFuY2goKVxuXG4gICAgICBpZiAoIWFsaWduZXJEYXRhKSB7IC8vIGlmIHdvcmQgYWxpZ25lciBub3Qgc2hvd25cbiAgICAgICAgY29uc29sZS5sb2coYGhhbmRsZUFsaWdubWVudENsaWNrIC0gdG9nZ2xlIE9OIGFsaWdubWVudGApXG4gICAgICAgIGNvbnN0IHRhcmdldFZlcnNlVVNGTSA9IGdldEN1cnJlbnRWZXJzZVVzZm0odXBkYXRlZFZlcnNlT2JqZWN0cywgaW5pdGlhbFZlcnNlT2JqZWN0cywgdmVyc2VUZXh0Q2hhbmdlZCwgbmV3VmVyc2VUZXh0KVxuICAgICAgICBjb25zdCBvcmlnaW5hbFZlcnNlT2JqZWN0cyA9IG9yaWdpbmFsU2NyaXB0dXJlUmVzb3VyY2U/LnZlcnNlT2JqZWN0c1xuICAgICAgICBsZXQgb3JpZ2luYWxWZXJzZVVzZm0gPSBudWxsXG5cbiAgICAgICAgaWYgKG9yaWdpbmFsVmVyc2VPYmplY3RzKSB7XG4gICAgICAgICAgb3JpZ2luYWxWZXJzZVVzZm0gPSBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmNvbnZlcnRWZXJzZURhdGFUb1VTRk0ob3JpZ2luYWxWZXJzZU9iamVjdHMpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgdGFyZ2V0V29yZHM6IHdvcmRCYW5rLFxuICAgICAgICAgIHZlcnNlQWxpZ25tZW50czogYWxpZ25tZW50cyxcbiAgICAgICAgfSA9IEFsaWdubWVudEhlbHBlcnMucGFyc2VVc2ZtVG9Xb3JkQWxpZ25lckRhdGEodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlVXNmbSlcbiAgICAgICAgYWxpZ25lckRhdGFfID0geyB3b3JkQmFuaywgYWxpZ25tZW50cyB9XG4gICAgICB9IGVsc2UgeyAvLyB3b3JkIGFsaWduZXIgY3VycmVudGx5IHNob3duXG4gICAgICAgIGNvbnNvbGUubG9nKGBoYW5kbGVBbGlnbm1lbnRDbGljayAtIGFsaWdubWVudCBhbHJlYWR5IHNob3duYClcbiAgICAgICAgYWxpZ25lckRhdGFfID0gYWxpZ25lckRhdGFcbiAgICAgIH1cbiAgICAgIHNldFN0YXRlKHsgYWxpZ25lckRhdGE6IGFsaWduZXJEYXRhXyB9KVxuICAgICAgY29uc29sZS5sb2coYWxpZ25lckRhdGFfKVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMoKSB7XG4gICAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcbiAgICBjb25zdCB0YXJnZXRWZXJzZVRleHQgPSBuZXdWZXJzZVRleHQgfHwgVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKGN1cnJlbnRWZXJzZU9iamVjdHNfKVxuICAgIGNvbnN0IHZlcnNlVXNmbSA9IEFsaWdubWVudEhlbHBlcnMuYWRkQWxpZ25tZW50c1RvVmVyc2VVU0ZNKG5ld0FsaWdubWVudHMudGFyZ2V0V29yZHMsIG5ld0FsaWdubWVudHMudmVyc2VBbGlnbm1lbnRzLCB0YXJnZXRWZXJzZVRleHQpXG4gICAgY29uc3QgYWxpZ25lZFZlcnNlT2JqZWN0cyA9IHVzZm1IZWxwZXJzLnVzZm1WZXJzZVRvSnNvbih2ZXJzZVVzZm0pXG4gICAgcmV0dXJuIGFsaWduZWRWZXJzZU9iamVjdHNcbiAgfVxuXG4gIGZ1bmN0aW9uIHNhdmVBbGlnbm1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coYHNhdmVBbGlnbm1lbnQoKWApXG5cbiAgICBpZiAobmV3QWxpZ25tZW50cykge1xuICAgICAgY29uc3QgYWxpZ25lZFZlcnNlT2JqZWN0cyA9IHVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMoKVxuXG4gICAgICBzZXRTdGF0ZSh7XG4gICAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgbmV3QWxpZ25tZW50czogbnVsbCxcbiAgICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0czogYWxpZ25lZFZlcnNlT2JqZWN0cyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgYWxpZ25lckRhdGE6IG51bGwsXG4gICAgICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjYW5jZWxBbGlnbm1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coYGNhbmNlbEFsaWdubWVudCgpYClcbiAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICBjb25zdCBhbGlnbmVkID0gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsU2NyaXB0dXJlUmVzb3VyY2U/LnZlcnNlT2JqZWN0cylcbiAgICBzZXRTdGF0ZSh7IGFsaWduZXJEYXRhOiBudWxsLCBhbGlnbmVkIH0pXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBzZXRFZGl0aW5nKGVkaXRpbmdfKSB7XG4gICAgaWYgKGVuYWJsZUVkaXQpIHtcbiAgICAgIGlmIChlZGl0aW5nXyAmJiAhZWRpdGluZykge1xuICAgICAgICBhd2FpdCBzdGFydEVkaXRCcmFuY2goKVxuICAgICAgfVxuXG4gICAgICBpZiAoZWRpdGluZ18gIT09IGVkaXRpbmcpIHtcbiAgICAgICAgc2V0U3RhdGUoeyBlZGl0aW5nOiBlZGl0aW5nXyB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHNldFZlcnNlQ2hhbmdlZChjaGFuZ2VkLCBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQpIHtcbiAgICBjb25zdCB7IHRhcmdldFZlcnNlVGV4dCB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShpbml0aWFsVmVyc2VPYmplY3RzLCBuZXdWZXJzZVRleHQpXG4gICAgY29uc3QgYWxpZ25lZCA9IGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VUZXh0LCBvcmlnaW5hbFNjcmlwdHVyZVJlc291cmNlPy52ZXJzZU9iamVjdHMpXG5cbiAgICBzZXRTdGF0ZSh7XG4gICAgICB2ZXJzZVRleHRDaGFuZ2VkOiBjaGFuZ2VkLFxuICAgICAgaW5pdGlhbFZlcnNlVGV4dCxcbiAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICAgIGFsaWduZWQsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHMgPSBSZWFjdC51c2VNZW1vKCAoKSA9PiB7IC8vIGlmIHZlcnNlIGhhcyBiZWVuIGVkaXRlZCBvciBhbGlnbm1lbnQgY2hhbmdlZCwgdGhlbiBnZW5lcmF0ZSBuZXcgdmVyc2VPYmplY3RzIHRvIGRpc3BsYXkgaW4gU2NyaXB0dXJlUGFuZVxuICAgIGlmIChpbml0aWFsVmVyc2VPYmplY3RzKSB7XG4gICAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXNmbUhlbHBlcnMudXNmbVZlcnNlVG9Kc29uKHRhcmdldFZlcnNlVVNGTSlcbiAgICAgIHJldHVybiBjdXJyZW50VmVyc2VPYmplY3RzX1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFZlcnNlT2JqZWN0c1xuICB9LCBbdXBkYXRlZFZlcnNlT2JqZWN0cywgaW5pdGlhbFZlcnNlT2JqZWN0cywgdmVyc2VUZXh0Q2hhbmdlZCwgbmV3VmVyc2VUZXh0XSlcblxuICBjb25zdCB1bnNhdmVkQ2hhbmdlcyA9IFJlYWN0LnVzZU1lbW8oICgpID0+IHsgLy8gaWYgdmVyc2UgaGFzIGJlZW4gZWRpdGVkIG9yIGFsaWdubWVudCBjaGFuZ2VkLCB0aGVuIGluZGljYXRlIHdlIGhhdmUgdW5zYXZlZCBjaGFuZ2VzXG4gICAgY29uc3QgY2hhbmdlZCA9IHZlcnNlVGV4dENoYW5nZWQgfHwgKHVwZGF0ZWRWZXJzZU9iamVjdHMgJiYgIWlzRXF1YWwoaW5pdGlhbFZlcnNlT2JqZWN0cywgdXBkYXRlZFZlcnNlT2JqZWN0cykpXG4gICAgcmV0dXJuIGNoYW5nZWRcbiAgfSwgW3VwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWRdKVxuXG4gIGZ1bmN0aW9uIG9uQWxpZ25tZW50c0NoYW5nZShyZXN1bHRzKSB7XG4gICAgY29uc29sZS5sb2coYG9uQWxpZ25tZW50c0NoYW5nZSgpIC0gYWxpZ25tZW50IGNoYW5nZWQsIHJlc3VsdHNgLCByZXN1bHRzKSAvLyBtZXJnZSBhbGlnbm1lbnRzIGludG8gdGFyZ2V0IHZlcnNlIGFuZCBjb252ZXJ0IHRvIFVTRk1cbiAgICBjb25zdCB7IHRhcmdldFdvcmRzLCB2ZXJzZUFsaWdubWVudHMgfSA9IHJlc3VsdHNcbiAgICBjb25zdCBhbGlnbm1lbnRDb21wbGV0ZSA9IEFsaWdubWVudEhlbHBlcnMuYXJlQWxnbm1lbnRzQ29tcGxldGUodGFyZ2V0V29yZHMsIHZlcnNlQWxpZ25tZW50cylcbiAgICBjb25zb2xlLmxvZyhgQWxpZ25tZW50cyBhcmUgJHthbGlnbm1lbnRDb21wbGV0ZSA/ICdDT01QTEVURSEnIDogJ2luY29tcGxldGUnfWApXG4gICAgc2V0U3RhdGUoeyBuZXdBbGlnbm1lbnRzOiByZXN1bHRzLCBhbGlnbmVkOiBhbGlnbm1lbnRDb21wbGV0ZSB9KVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpb25zOiB7XG4gICAgICBjYW5jZWxBbGlnbm1lbnQsXG4gICAgICBjdXJyZW50VmVyc2VPYmplY3RzLFxuICAgICAgaGFuZGxlQWxpZ25tZW50Q2xpY2ssXG4gICAgICBvbkFsaWdubWVudHNDaGFuZ2UsXG4gICAgICBzYXZlQWxpZ25tZW50LFxuICAgICAgc2V0RWRpdGluZyxcbiAgICAgIHNldFZlcnNlQ2hhbmdlZCxcbiAgICAgIHNhdmVDaGFuZ2VzVG9DbG91ZCxcbiAgICB9LFxuICAgIHN0YXRlOiB7XG4gICAgICBhbGlnbmVkLFxuICAgICAgYWxpZ25lckRhdGEsXG4gICAgICBlZGl0aW5nLFxuICAgICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgIH0sXG4gIH1cbn1cbiJdfQ==
633
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkFsaWdubWVudEhlbHBlcnMiLCJVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIiwidXNmbUhlbHBlcnMiLCJpc0VxdWFsIiwidXNlRGVlcENvbXBhcmVFZmZlY3QiLCJ1c2VFZGl0IiwiY29yZSIsInVzZm1qcyIsIlNjcmlwdHVyZUNvbmZpZyIsIlNlcnZlckNvbmZpZyIsImdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MiLCJPUklHSU5BTF9TT1VSQ0UiLCJ1c2VTY3JpcHR1cmVSZXNvdXJjZXMiLCJpc1VzZm1BbGlnbmVkIiwidGFyZ2V0VmVyc2VVU0ZNIiwib3JpZ2luYWxWZXJzZU9iamVjdHMiLCJsZW5ndGgiLCJleHRyYWN0QWxpZ25tZW50c0Zyb21UYXJnZXRWZXJzZSIsImFsaWdubWVudHMiLCJ3b3JkQmFuayIsImFyZUFsZ25tZW50c0NvbXBsZXRlIiwiZ2V0Q3VycmVudFZlcnNlVXNmbSIsInVwZGF0ZWRWZXJzZU9iamVjdHMiLCJpbml0aWFsVmVyc2VPYmplY3RzIiwidmVyc2VUZXh0Q2hhbmdlZCIsIm5ld1ZlcnNlVGV4dCIsImN1cnJlbnRWZXJzZU9iamVjdHNfIiwidXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UiLCJ0YXJnZXRWZXJzZVRleHQiLCJjb252ZXJ0VmVyc2VEYXRhVG9VU0ZNIiwidXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCIsImF1dGhlbnRpY2F0aW9uIiwiY3VycmVudFZlcnNlTnVtIiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsImh0dHBDb25maWciLCJpc05ld1Rlc3RhbWVudCIsImxvZ2dlZEluVXNlciIsIm9yaWdpbmFsTGFuZ3VhZ2VPd25lciIsIm9yaWdpbmFsUmVwb1VybCIsInNjcmlwdHVyZUNvbmZpZyIsInNjcmlwdHVyZVNldHRpbmdzIiwic3RhcnRFZGl0QnJhbmNoIiwiYm9va0luZGV4Iiwid29ya2luZ1Jlc291cmNlQnJhbmNoIiwidXNlU3RhdGUiLCJhbGlnbmVkIiwiYWxpZ25lckRhdGEiLCJlZGl0aW5nIiwiaW5pdGlhbFZlcnNlVGV4dCIsIm5ld0FsaWdubWVudHMiLCJzYXZlQ29udGVudCIsInN0YXJ0U2F2ZSIsInNoYSIsInN0YXRlIiwic2V0U3RhdGVfIiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInByZXZTdGF0ZSIsInJlZmVyZW5jZV8iLCJyZWZlcmVuY2UiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImNsZWFyU3RhdGUiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXyIsInJlc291cmNlSWQiLCJib29rSWQiLCJwcm9qZWN0SWQiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzIiwiZmV0Y2hSZXNwXyIsImZldGNoUmVzcG9uc2UiLCJvd25lciIsInJlc291cmNlIiwicmVwbyIsImxhbmd1YWdlSWQiLCJ1c2VFZmZlY3QiLCJkYXRhIiwiZ2V0Qm9va05hbWUiLCJib29rQ2FwcyIsInRvVXBwZXJDYXNlIiwiZmlsZXBhdGgiLCJjb250ZW50IiwiY29uZmlnIiwiY2FjaGUiLCJtYXhBZ2UiLCJ0b2tlbiIsInRpbWVvdXQiLCJzZXJ2ZXJUaW1lT3V0IiwiYXV0aG9yIiwiYnJhbmNoIiwiZWRpdFJlc3BvbnNlIiwiZXJyb3IiLCJpc0VkaXRpbmciLCJpc0Vycm9yIiwib25TYXZlRWRpdCIsInJlc291cmNlTGluayIsIm9yaWdpbmFsU2NyaXB0dXJlUmVzb3VyY2UiLCJjaGFwdGVyIiwidmVyc2UiLCJjdXJyZW50TGFuZ3VhZ2VJZCIsImN1cnJlbnRPd25lciIsIm5vdEVtcHR5IiwiYWxpZ25lZF8iLCJ2ZXJzZU9iamVjdHMiLCJyZXN1bHRzIiwiZmluZFJlZkluQXJyYXkiLCJmaW5kSXRlbSIsImNodW5rcyIsInJlZl8iLCJyZWZMZW4iLCJpbmRleCIsImZpbmRJbmRleCIsImNodW5rIiwiaWR4Iiwic3Vic3RyaW5nIiwibmV4dENoYXIiLCJzYXZlQ2hhbmdlc1RvQ2xvdWQiLCJ1cGRhdGVkVmVyc2VPYmplY3RzXyIsInVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMiLCJ0YXJnZXRWZXJzZU9iamVjdHMiLCJuZXdVc2ZtIiwicmVmIiwidmVyc2VzRm9yUmVmIiwib3JpZ2luYWxVc2ZtIiwiZ2V0UmVzcG9uc2VEYXRhIiwiY2hhcHRlckNodW5rcyIsInNwbGl0IiwiY2hhcHRlckluZGV4IiwiY3VycmVudENoYXB0ZXIiLCJ2ZXJzZUNodW5rcyIsInZlcnNlSW5kZXgiLCJuZXdWZXJzZVVzZm0iLCJvbGRWZXJzZSIsInZlcnNlTnVtTGVuIiwibmV3Q2hhcHRlciIsImpvaW4iLCJuZXdCb29rSnNvbiIsInVwZGF0ZVZlcnNlTnVtIiwidG9VU0ZNIiwiZm9yY2VkTmV3TGluZXMiLCJfc2F2ZUVkaXQiLCJ1bmRlZmluZWQiLCJ0aGVuIiwic3VjY2VzcyIsImluZm8iLCJyZWxvYWRSZXNvdXJjZSIsIm5ld1ZlcnNlT2JqZWN0cyIsInRhcmdldFZlcnNlT2JqZWN0c18iLCJ1cGRhdGVWZXJzZSIsImhhbmRsZUFsaWdubWVudENsaWNrIiwiYWxpZ25lckRhdGFfIiwib3JpZ2luYWxWZXJzZVVzZm0iLCJwYXJzZVVzZm1Ub1dvcmRBbGlnbmVyRGF0YSIsInRhcmdldFdvcmRzIiwidmVyc2VBbGlnbm1lbnRzIiwidmVyc2VVc2ZtIiwiYWRkQWxpZ25tZW50c1RvVmVyc2VVU0ZNIiwiYWxpZ25lZFZlcnNlT2JqZWN0cyIsInVzZm1WZXJzZVRvSnNvbiIsInNhdmVBbGlnbm1lbnQiLCJjYW5jZWxBbGlnbm1lbnQiLCJzZXRFZGl0aW5nIiwiZWRpdGluZ18iLCJzZXRWZXJzZUNoYW5nZWQiLCJjaGFuZ2VkIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsInVzZU1lbW8iLCJ1bnNhdmVkQ2hhbmdlcyIsIm9uQWxpZ25tZW50c0NoYW5nZSIsImFsaWdubWVudENvbXBsZXRlIiwiYWN0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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RUFBaEJBLGdCQUpLO0FBS0xpSixNQUFBQSxjQUFjLEVBQWRBO0FBTEs7QUFYRixHQUFQO0FBbUJEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBbGlnbm1lbnRIZWxwZXJzLFxuICBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLFxuICB1c2ZtSGVscGVycyxcbn0gZnJvbSAnd29yZC1hbGlnbmVyLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB1c2VEZWVwQ29tcGFyZUVmZmVjdCBmcm9tICd1c2UtZGVlcC1jb21wYXJlLWVmZmVjdCdcbmltcG9ydCB7IHVzZUVkaXQgfSBmcm9tICdnaXRlYS1yZWFjdC10b29sa2l0J1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHsgU2NyaXB0dXJlQ29uZmlnLCBTZXJ2ZXJDb25maWcgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB7IE9SSUdJTkFMX1NPVVJDRSB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHVzZVNjcmlwdHVyZVJlc291cmNlcyBmcm9tICcuL3VzZVNjcmlwdHVyZVJlc291cmNlcydcblxuaW50ZXJmYWNlIFN0YXJ0RWRpdCB7XG4gICgpOiBQcm9taXNlPHN0cmluZz47XG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIGF1dGhlbnRpY2F0aW9uOiB7IGNvbmZpZzogb2JqZWN0LCB0b2tlbjogc3RyaW5nIH0sXG4gIGN1cnJlbnRWZXJzZU51bTogbnVtYmVyLFxuICBlbmFibGVFZGl0OiBib29sZWFuLFxuICBlbmFibGVBbGlnbm1lbnQ6IGJvb2xlYW4sXG4gIGh0dHBDb25maWc6IFNlcnZlckNvbmZpZyxcbiAgaW5pdGlhbFZlcnNlT2JqZWN0czogW10sXG4gIGlzTmV3VGVzdGFtZW50OiBib29sZWFuLFxuICBsb2dnZWRJblVzZXI6IHN0cmluZyxcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyOiBzdHJpbmcsXG4gIG9yaWdpbmFsUmVwb1VybDogc3RyaW5nLFxuICBzY3JpcHR1cmVDb25maWc6IFNjcmlwdHVyZUNvbmZpZyxcbiAgc2NyaXB0dXJlU2V0dGluZ3M6IHsgfSxcbiAgc2V0U2F2ZWRDaGFuZ2VzOiBGdW5jdGlvbixcbiAgc3RhcnRFZGl0QnJhbmNoOiBTdGFydEVkaXQsXG4gIGJvb2tJbmRleDogc3RyaW5nLFxuICB3b3JraW5nUmVzb3VyY2VCcmFuY2g6IHN0cmluZyxcbn1cblxuZnVuY3Rpb24gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKSB7XG4gIG9yaWdpbmFsVmVyc2VPYmplY3RzID0gb3JpZ2luYWxWZXJzZU9iamVjdHM/Lmxlbmd0aCA/IG9yaWdpbmFsVmVyc2VPYmplY3RzIDogbnVsbCAvLyBtYWtlIHN1cmUgbm90IHBhc3NpbmcgZW1wdHkgQXJyYXlcbiAgY29uc3QgeyBhbGlnbm1lbnRzLCB3b3JkQmFuayB9ID0gQWxpZ25tZW50SGVscGVycy5leHRyYWN0QWxpZ25tZW50c0Zyb21UYXJnZXRWZXJzZSh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICByZXR1cm4gQWxpZ25tZW50SGVscGVycy5hcmVBbGdubWVudHNDb21wbGV0ZSh3b3JkQmFuaywgYWxpZ25tZW50cylcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkOiBib29sZWFuLCBuZXdWZXJzZVRleHQpIHtcbiAgbGV0IHRhcmdldFZlcnNlVVNGTSA9IG51bGxcbiAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcblxuICBpZiAodmVyc2VUZXh0Q2hhbmdlZCAmJiBuZXdWZXJzZVRleHQpIHtcbiAgICBjb25zdCB7IHRhcmdldFZlcnNlVGV4dCB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShjdXJyZW50VmVyc2VPYmplY3RzXywgbmV3VmVyc2VUZXh0KVxuICAgIHRhcmdldFZlcnNlVVNGTSA9IHRhcmdldFZlcnNlVGV4dFxuICB9IGVsc2Uge1xuICAgIHRhcmdldFZlcnNlVVNGTSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgfVxuICByZXR1cm4gdGFyZ2V0VmVyc2VVU0ZNXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0KHtcbiAgYXV0aGVudGljYXRpb24sXG4gIGN1cnJlbnRWZXJzZU51bSxcbiAgZW5hYmxlRWRpdCxcbiAgZW5hYmxlQWxpZ25tZW50LFxuICBodHRwQ29uZmlnLFxuICBpbml0aWFsVmVyc2VPYmplY3RzLFxuICBpc05ld1Rlc3RhbWVudCxcbiAgbG9nZ2VkSW5Vc2VyLFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIG9yaWdpbmFsUmVwb1VybCxcbiAgc2NyaXB0dXJlQ29uZmlnLFxuICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgc3RhcnRFZGl0QnJhbmNoLFxuICBib29rSW5kZXgsXG4gIHdvcmtpbmdSZXNvdXJjZUJyYW5jaCxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlX10gPSBSZWFjdC51c2VTdGF0ZSh7XG4gICAgYWxpZ25lZDogZmFsc2UsXG4gICAgYWxpZ25lckRhdGE6IG51bGwsXG4gICAgZWRpdGluZzogZmFsc2UsXG4gICAgaW5pdGlhbFZlcnNlVGV4dDogbnVsbCxcbiAgICBuZXdBbGlnbm1lbnRzOiBudWxsLFxuICAgIG5ld1ZlcnNlVGV4dDogbnVsbCxcbiAgICB1cGRhdGVkVmVyc2VPYmplY3RzOiBudWxsLFxuICAgIHZlcnNlVGV4dENoYW5nZWQ6IGZhbHNlLFxuICAgIHNhdmVDb250ZW50OiBudWxsLFxuICAgIHN0YXJ0U2F2ZTogZmFsc2UsXG4gICAgc2hhOiBudWxsLFxuICB9KVxuXG4gIGNvbnN0IHtcbiAgICBhbGlnbmVkLFxuICAgIGFsaWduZXJEYXRhLFxuICAgIGVkaXRpbmcsXG4gICAgaW5pdGlhbFZlcnNlVGV4dCxcbiAgICBuZXdBbGlnbm1lbnRzLFxuICAgIG5ld1ZlcnNlVGV4dCxcbiAgICB1cGRhdGVkVmVyc2VPYmplY3RzLFxuICAgIHZlcnNlVGV4dENoYW5nZWQsXG4gICAgc2F2ZUNvbnRlbnQsXG4gICAgc3RhcnRTYXZlLFxuICAgIHNoYSxcbiAgfSA9IHN0YXRlXG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBzZXRTdGF0ZV8ocHJldlN0YXRlID0+ICh7IC4uLnByZXZTdGF0ZSwgLi4ubmV3U3RhdGUgfSkpXG4gIH1cblxuICBjb25zdCByZWZlcmVuY2VfID0gc2NyaXB0dXJlQ29uZmlnPy5yZWZlcmVuY2UgfHwgbnVsbFxuXG4gIHVzZURlZXBDb21wYXJlRWZmZWN0KCgpID0+IHsgLy8gY2hlY2sgZm9yIGNvbnRleHQgY2hhbmdlcywgcmVzZXQgZWRpdCBhbmQgYWxpZ25tZW50IHN0YXRlXG4gICAgY29uc29sZS5sb2coYHJlZmVyZW5jZSBjaGFuZ2VkICR7SlNPTi5zdHJpbmdpZnkocmVmZXJlbmNlXyl9YClcbiAgICBjb25zdCBjbGVhclN0YXRlID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3QWxpZ25tZW50czogbnVsbCxcbiAgICAgIG5ld1ZlcnNlVGV4dDogbnVsbCxcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IG51bGwsXG4gICAgICB2ZXJzZVRleHRDaGFuZ2VkOiBmYWxzZSxcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwoc3RhdGUsIGNsZWFyU3RhdGUpKSB7XG4gICAgICBjb25zb2xlLmxvZyhgcmVmZXJlbmNlIGNoYW5nZWQsIHJlc2V0IGVkaXQvYWxpZ25tZW50IHN0YXRlIHZhcmlhYmxlc2ApXG4gICAgICBzZXRTdGF0ZShjbGVhclN0YXRlKVxuICAgIH1cbiAgfSwgW3JlZmVyZW5jZV9dKVxuXG4gIGNvbnN0IG9yaWdpbmFsU2NyaXB0dXJlU2V0dGluZ3NfID0ge1xuICAgIC4uLnNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHJlc291cmNlSWQ6IE9SSUdJTkFMX1NPVVJDRSxcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaHR0cENvbmZpZyA9IGh0dHBDb25maWcgfHwge31cbiAgY29uc3QgYm9va0lkID0gcmVmZXJlbmNlXz8ucHJvamVjdElkXG4gIGNvbnN0IG9yaWdpbmFsU2NyaXB0dXJlU2V0dGluZ3MgPSBnZXRTY3JpcHR1cmVSZXNvdXJjZVNldHRpbmdzKFxuICAgIGJvb2tJZCwgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5nc18sIGlzTmV3VGVzdGFtZW50LCBvcmlnaW5hbFJlcG9VcmwsXG4gIClcblxuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IGZldGNoUmVzcF8gPSBzY3JpcHR1cmVDb25maWc/LmZldGNoUmVzcG9uc2VcbiAgY29uc3Qgb3duZXIgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5vd25lclxuICBjb25zdCByZXBvID0gYCR7c2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZT8ubGFuZ3VhZ2VJZH1fJHtzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5wcm9qZWN0SWR9YFxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIGdldCB0aGUgc2hhIGZyb20gbGFzdCBzY3JpcHR1cmUgZG93bmxvYWRcbiAgICBjb25zdCBzaGEgPSBmZXRjaFJlc3BfPy5kYXRhPy5zaGEgfHwgbnVsbFxuICAgIGNvbnNvbGUubG9nKGBmb3IgJHtKU09OLnN0cmluZ2lmeShyZWZlcmVuY2VfKX0gbmV3IHNoYSBpcyAke3NoYX1gKVxuICAgIHNldFN0YXRlKHsgc2hhIH0pXG4gICAgLy8gQHRzLWlnbm9yZVxuICB9LCBbZmV0Y2hSZXNwX10pXG5cbiAgZnVuY3Rpb24gZ2V0Qm9va05hbWUoKSB7XG4gICAgY29uc3QgYm9va0NhcHMgPSBzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZT8ucHJvamVjdElkID8gc2NyaXB0dXJlQ29uZmlnLnJlZmVyZW5jZS5wcm9qZWN0SWQudG9VcHBlckNhc2UoKSA6ICcnXG4gICAgcmV0dXJuIGAke2Jvb2tJbmRleH0tJHtib29rQ2Fwc30udXNmbWBcbiAgfVxuXG4gIGNvbnN0IGZpbGVwYXRoID0gZ2V0Qm9va05hbWUoKVxuXG4gIC8vIFRPRE86ICBlbmFibGUgc2F2ZVxuICBjb25zdCB7XG4gICAgZWRpdFJlc3BvbnNlLFxuICAgIGVycm9yLFxuICAgIGlzRWRpdGluZyxcbiAgICBpc0Vycm9yLFxuICAgIG9uU2F2ZUVkaXQsXG4gIH0gPSB1c2VFZGl0KHtcbiAgICBzaGEsXG4gICAgb3duZXIsXG4gICAgY29udGVudDogc2F2ZUNvbnRlbnQsXG4gICAgY29uZmlnOiB7XG4gICAgICBjYWNoZTogeyBtYXhBZ2U6IDAgfSxcbiAgICAgIC4uLmF1dGhlbnRpY2F0aW9uPy5jb25maWcsXG4gICAgICB0b2tlbjogYXV0aGVudGljYXRpb24/LnRva2VuLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGltZW91dDogaHR0cENvbmZpZz8uc2VydmVyVGltZU91dCB8fCBodHRwQ29uZmlnPy50aW1lb3V0IHx8IDUwMDAsXG4gICAgfSxcbiAgICBhdXRob3I6IGxvZ2dlZEluVXNlcixcbiAgICB0b2tlbjogYXV0aGVudGljYXRpb24/LnRva2VuLFxuICAgIGJyYW5jaDogd29ya2luZ1Jlc291cmNlQnJhbmNoLFxuICAgIGZpbGVwYXRoLFxuICAgIHJlcG8sXG4gIH0pXG5cbiAgaWYgKCFlbmFibGVBbGlnbm1lbnQpIHsgLy8gaWYgbm90IGVuYWJsZWQsIHRoZW4gd2UgZG9uJ3QgZmV0Y2ggcmVzb3VyY2VcbiAgICBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IG51bGxcbiAgfVxuXG4gIC8vIGdldCBvcmlnaW5hbCBsYW5ndWFnZSBmb3IgYWxpZ25tZW50XG4gIGNvbnN0IG9yaWdpbmFsU2NyaXB0dXJlUmVzb3VyY2UgPSB1c2VTY3JpcHR1cmVSZXNvdXJjZXMoe1xuICAgIGJvb2tJZCxcbiAgICBzY3JpcHR1cmVTZXR0aW5nczogb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBjaGFwdGVyOiByZWZlcmVuY2VfPy5jaGFwdGVyLFxuICAgIHZlcnNlOiByZWZlcmVuY2VfPy52ZXJzZSxcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBvcmlnaW5hbFJlcG9VcmwsXG4gICAgY3VycmVudExhbmd1YWdlSWQ6IG9yaWdpbmFsU2NyaXB0dXJlU2V0dGluZ3M/Lmxhbmd1YWdlSWQsXG4gICAgY3VycmVudE93bmVyOiBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgaHR0cENvbmZpZyxcbiAgfSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyB1cGRhdGUgYWxpZ25tZW50IHN0YXR1cyB3aGVuIGFsaWduZXIgaXMgaGlkZGVuXG4gICAgY29uc3Qgbm90RW1wdHkgPSAhIWluaXRpYWxWZXJzZU9iamVjdHNcbiAgICBsZXQgYWxpZ25lZF8gPSBmYWxzZVxuXG4gICAgaWYgKCFhbGlnbmVyRGF0YSkgeyAvLyBza2lwIGlmIGFsaWduZXIgaXMgYmVpbmcgc2hvd25cbiAgICAgIGlmIChub3RFbXB0eSkgeyAvLyBza2lwIGlmIGVtcHR5XG4gICAgICAgIGNvbnN0IG9yaWdpbmFsVmVyc2VPYmplY3RzID0gb3JpZ2luYWxTY3JpcHR1cmVSZXNvdXJjZT8udmVyc2VPYmplY3RzXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG5cbiAgICAgICAgaWYgKCFlbmFibGVBbGlnbm1lbnQpIHtcbiAgICAgICAgICBhbGlnbmVkXyA9IHRydWVcbiAgICAgICAgfSBlbHNlIGlmIChuZXdWZXJzZVRleHQgJiYgKG5ld1ZlcnNlVGV4dCAhPT0gaW5pdGlhbFZlcnNlVGV4dCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHRzID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShjdXJyZW50VmVyc2VPYmplY3RzXywgbmV3VmVyc2VUZXh0KVxuICAgICAgICAgIGFsaWduZWRfID0gaXNVc2ZtQWxpZ25lZChyZXN1bHRzPy50YXJnZXRWZXJzZVRleHQsIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRhcmdldFZlcnNlVVNGTSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgICAgICAgICBhbGlnbmVkXyA9IGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlT2JqZWN0cylcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoYWxpZ25lZCAhPT0gYWxpZ25lZF8pIHtcbiAgICAgICAgc2V0U3RhdGUoeyBhbGlnbmVkOiBhbGlnbmVkXyB9KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2luaXRpYWxWZXJzZU9iamVjdHMsIGFsaWduZXJEYXRhLCBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQsIGVuYWJsZUFsaWdubWVudCwgb3JpZ2luYWxTY3JpcHR1cmVSZXNvdXJjZT8udmVyc2VPYmplY3RzXSlcblxuICAvKipcbiAgICogc2VhcmNoIGNoYXB0ZXIgb3IgdmVyc2UgY2h1bmsgdG8gbGluZSB0aGF0IHN0YXJ0cyB3aXRoIGZpbmRJdGVtXG4gICAqIEBwYXJhbSB7bnVtYmVyfHN0cmluZ30gZmluZEl0ZW1cbiAgICogQHBhcmFtIHthcnJheVtzdHJpbmddfSBjaHVua3NcbiAgICovXG4gIGZ1bmN0aW9uIGZpbmRSZWZJbkFycmF5KGZpbmRJdGVtLCBjaHVua3MpIHtcbiAgICBjb25zdCByZWZfID0gZmluZEl0ZW0gKyAnJ1xuICAgIGNvbnN0IHJlZkxlbiA9IHJlZl8ubGVuZ3RoXG4gICAgY29uc3QgaW5kZXggPSBjaHVua3MuZmluZEluZGV4KChjaHVuaywgaWR4KSA9PiB7XG4gICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICBpZiAoY2h1bmsuc3Vic3RyaW5nKDAsIHJlZkxlbikgPT09IHJlZl8pIHtcbiAgICAgICAgICBjb25zdCBuZXh0Q2hhciA9IGNodW5rW3JlZl9dXG5cbiAgICAgICAgICBpZiAoKG5leHRDaGFyID4gJzknKSB8fCAobmV4dENoYXIgPCAnMCcpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgICByZXR1cm4gaW5kZXhcbiAgfVxuXG4gIGZ1bmN0aW9uIHNhdmVDaGFuZ2VzVG9DbG91ZCgpIHtcbiAgICBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkIC0gc3RhcnRlZGApXG4gICAgbGV0IHVwZGF0ZWRWZXJzZU9iamVjdHNfXG5cbiAgICBpZiAobmV3QWxpZ25tZW50cykgeyAvLyBpZiB1bnNhdmVkIGFsaWdubWVudCBjaGFuZ2VzLCBhcHBseSB0aGVtXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzXyA9IHVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMoKVxuICAgIH0gZWxzZSBpZiAodmVyc2VUZXh0Q2hhbmdlZCAmJiBuZXdWZXJzZVRleHQpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG4gICAgICBjb25zdCB7IHRhcmdldFZlcnNlVGV4dCwgdGFyZ2V0VmVyc2VPYmplY3RzIH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgICAvLyBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkKCkgLSBuZXcgdGV4dDpgLCB0YXJnZXRWZXJzZVRleHQuc3Vic3RyaW5nKDAsMTAwKSlcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdGFyZ2V0VmVyc2VPYmplY3RzXG4gICAgfSBlbHNlIHsgLy8gb25seSBhbGlnbm1lbnQgY2hhbmdlcyB0byB1cGxvYWRcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZWRWZXJzZU9iamVjdHNfKSB7XG4gICAgICBsZXQgbmV3VXNmbVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcmVmID0gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWY/LltjdXJyZW50VmVyc2VOdW1dXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBvcmlnaW5hbFVzZm0gPSBjb3JlLmdldFJlc3BvbnNlRGF0YShzY3JpcHR1cmVDb25maWc/LmZldGNoUmVzcG9uc2UpXG5cbiAgICAgIGlmIChvcmlnaW5hbFVzZm0pIHtcbiAgICAgICAgY29uc3QgY2hhcHRlckNodW5rcyA9IG9yaWdpbmFsVXNmbT8uc3BsaXQoJ1xcXFxjICcpXG4gICAgICAgIGNvbnN0IGNoYXB0ZXJJbmRleCA9IGZpbmRSZWZJbkFycmF5KHJlZj8uY2hhcHRlciwgY2hhcHRlckNodW5rcylcblxuICAgICAgICBpZiAoY2hhcHRlckluZGV4ID49IDApIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50Q2hhcHRlciA9IGNoYXB0ZXJDaHVua3NbY2hhcHRlckluZGV4XVxuICAgICAgICAgIGNvbnN0IHZlcnNlQ2h1bmtzID0gY3VycmVudENoYXB0ZXIuc3BsaXQoJ1xcXFx2ICcpXG4gICAgICAgICAgY29uc3QgdmVyc2VJbmRleCA9IGZpbmRSZWZJbkFycmF5KHJlZj8udmVyc2UsIHZlcnNlQ2h1bmtzKVxuXG4gICAgICAgICAgaWYgKHZlcnNlSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgY29uc3QgbmV3VmVyc2VVc2ZtID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKHVwZGF0ZWRWZXJzZU9iamVjdHNfKVxuICAgICAgICAgICAgY29uc3Qgb2xkVmVyc2UgPSB2ZXJzZUNodW5rc1t2ZXJzZUluZGV4XVxuICAgICAgICAgICAgY29uc3QgdmVyc2VOdW1MZW4gPSAocmVmPy52ZXJzZSArICcnKS5sZW5ndGhcbiAgICAgICAgICAgIHZlcnNlQ2h1bmtzW3ZlcnNlSW5kZXhdID0gb2xkVmVyc2Uuc3Vic3RyaW5nKDAsIHZlcnNlTnVtTGVuICsgMSkgKyBuZXdWZXJzZVVzZm1cbiAgICAgICAgICAgIGNvbnN0IG5ld0NoYXB0ZXIgPSB2ZXJzZUNodW5rcy5qb2luKCdcXFxcdiAnKVxuICAgICAgICAgICAgY2hhcHRlckNodW5rc1tjaGFwdGVySW5kZXhdID0gbmV3Q2hhcHRlclxuICAgICAgICAgICAgbmV3VXNmbSA9IGNoYXB0ZXJDaHVua3Muam9pbignXFxcXGMgJylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFuZXdVc2ZtKSB7XG4gICAgICAgIGNvbnN0IG5ld0Jvb2tKc29uID0gdXBkYXRlVmVyc2VOdW0oY3VycmVudFZlcnNlTnVtLCB1cGRhdGVkVmVyc2VPYmplY3RzXylcbiAgICAgICAgbmV3VXNmbSA9IHVzZm1qcy50b1VTRk0obmV3Qm9va0pzb24sIHsgZm9yY2VkTmV3TGluZXM6IHRydWUgfSlcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmluZyBuZXcgVVNGTTogJHtuZXdVc2ZtLnN1YnN0cmluZygwLCAxMDApfS4uLmApXG4gICAgICBzZXRTdGF0ZSh7IHNhdmVDb250ZW50OiBuZXdVc2ZtLCBzdGFydFNhdmU6IHRydWUgfSlcbiAgICB9XG4gIH1cblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IF9zYXZlRWRpdCA9IGFzeW5jICgpID0+IHsgLy8gYmVnaW4gdXBsb2FkaW5nIG5ldyBVU0ZNXG4gICAgICBsZXQgYnJhbmNoID0gKHdvcmtpbmdSZXNvdXJjZUJyYW5jaCAhPT0gJ21hc3RlcicpID8gd29ya2luZ1Jlc291cmNlQnJhbmNoIDogdW5kZWZpbmVkXG5cbiAgICAgIGlmICghYnJhbmNoKSB7XG4gICAgICAgIGJyYW5jaCA9IGF3YWl0IHN0YXJ0RWRpdEJyYW5jaCgpIC8vIG1ha2Ugc3VyZSB1c2VyIGJyYW5jaCBleGlzdHMgYW5kIGdldCBuYW1lXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IG9uU2F2ZUVkaXQoYnJhbmNoKS50aGVuKChzdWNjZXNzKSA9PiB7IC8vIHB1c2ggY2hhbmdlZCB0byBzZXJ2ZXJcbiAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkKCkgLSBzYXZlIHNjcmlwdHVyZSBlZGl0cyBzdWNjZXNzYClcbiAgICAgICAgICBzZXRTdGF0ZSh7XG4gICAgICAgICAgICB1cGRhdGVkVmVyc2VPYmplY3RzOiBudWxsLFxuICAgICAgICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICAgICAgICBuZXdWZXJzZVRleHQ6IG51bGwsXG4gICAgICAgICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgICAgICAgIHN0YXJ0U2F2ZTogZmFsc2UsXG4gICAgICAgICAgICB2ZXJzZVRleHRDaGFuZ2VkOiBmYWxzZSxcbiAgICAgICAgICAgIGluaXRpYWxWZXJzZVRleHQ6IG51bGwsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBjb25zb2xlLmluZm8oJ3NhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gUmVsb2FkaW5nIHJlc291cmNlJylcbiAgICAgICAgICBzY3JpcHR1cmVDb25maWc/LnJlbG9hZFJlc291cmNlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmluZyBjaGFuZ2VkIHNjcmlwdHVyZSBmYWlsZWQnKVxuICAgICAgICAgIHNldFN0YXRlKHsgc3RhcnRTYXZlOiBmYWxzZSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChzdGFydFNhdmUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQgLSBjYWxsaW5nIF9zYXZlRWRpdCgpYClcbiAgICAgIF9zYXZlRWRpdCgpXG4gICAgfVxuICB9LCBbc3RhcnRTYXZlXSlcblxuICBmdW5jdGlvbiB1cGRhdGVWZXJzZU51bShpbmRleCwgbmV3VmVyc2VPYmplY3RzID0gaW5pdGlhbFZlcnNlT2JqZWN0cykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCByZWYgPSBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uW2luZGV4XVxuICAgIGxldCB0YXJnZXRWZXJzZU9iamVjdHNfID0gbnVsbFxuXG4gICAgaWYgKHJlZikge1xuICAgICAgaWYgKG5ld1ZlcnNlVGV4dCkge1xuICAgICAgICBjb25zdCB7IHRhcmdldFZlcnNlT2JqZWN0cyB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShuZXdWZXJzZU9iamVjdHMsIG5ld1ZlcnNlVGV4dClcbiAgICAgICAgdGFyZ2V0VmVyc2VPYmplY3RzXyA9IHRhcmdldFZlcnNlT2JqZWN0c1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFyZ2V0VmVyc2VPYmplY3RzXyA9IG5ld1ZlcnNlT2JqZWN0c1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gdGFyZ2V0VmVyc2VPYmplY3RzXyAmJiBzY3JpcHR1cmVDb25maWc/LnVwZGF0ZVZlcnNlKHJlZi5jaGFwdGVyLCByZWYudmVyc2UsIHsgdmVyc2VPYmplY3RzOiB0YXJnZXRWZXJzZU9iamVjdHNfIH0pXG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVBbGlnbm1lbnRDbGljaygpIHtcbiAgICBpZiAoZW5hYmxlQWxpZ25tZW50KSB7XG4gICAgICBsZXQgYWxpZ25lckRhdGFfID0gbnVsbFxuICAgICAgYXdhaXQgc3RhcnRFZGl0QnJhbmNoKClcblxuICAgICAgaWYgKCFhbGlnbmVyRGF0YSkgeyAvLyBpZiB3b3JkIGFsaWduZXIgbm90IHNob3duXG4gICAgICAgIGNvbnNvbGUubG9nKGBoYW5kbGVBbGlnbm1lbnRDbGljayAtIHRvZ2dsZSBPTiBhbGlnbm1lbnRgKVxuICAgICAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxWZXJzZU9iamVjdHMgPSBvcmlnaW5hbFNjcmlwdHVyZVJlc291cmNlPy52ZXJzZU9iamVjdHNcbiAgICAgICAgbGV0IG9yaWdpbmFsVmVyc2VVc2ZtID0gbnVsbFxuXG4gICAgICAgIGlmIChvcmlnaW5hbFZlcnNlT2JqZWN0cykge1xuICAgICAgICAgIG9yaWdpbmFsVmVyc2VVc2ZtID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHRhcmdldFdvcmRzOiB3b3JkQmFuayxcbiAgICAgICAgICB2ZXJzZUFsaWdubWVudHM6IGFsaWdubWVudHMsXG4gICAgICAgIH0gPSBBbGlnbm1lbnRIZWxwZXJzLnBhcnNlVXNmbVRvV29yZEFsaWduZXJEYXRhKHRhcmdldFZlcnNlVVNGTSwgb3JpZ2luYWxWZXJzZVVzZm0pXG4gICAgICAgIGFsaWduZXJEYXRhXyA9IHsgd29yZEJhbmssIGFsaWdubWVudHMgfVxuICAgICAgfSBlbHNlIHsgLy8gd29yZCBhbGlnbmVyIGN1cnJlbnRseSBzaG93blxuICAgICAgICBjb25zb2xlLmxvZyhgaGFuZGxlQWxpZ25tZW50Q2xpY2sgLSBhbGlnbm1lbnQgYWxyZWFkeSBzaG93bmApXG4gICAgICAgIGFsaWduZXJEYXRhXyA9IGFsaWduZXJEYXRhXG4gICAgICB9XG4gICAgICBzZXRTdGF0ZSh7IGFsaWduZXJEYXRhOiBhbGlnbmVyRGF0YV8gfSlcbiAgICAgIGNvbnNvbGUubG9nKGFsaWduZXJEYXRhXylcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVWZXJzZVdpdGhOZXdBbGlnbm1lbnRzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG4gICAgY29uc3QgdGFyZ2V0VmVyc2VUZXh0ID0gbmV3VmVyc2VUZXh0IHx8IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgICBjb25zdCB2ZXJzZVVzZm0gPSBBbGlnbm1lbnRIZWxwZXJzLmFkZEFsaWdubWVudHNUb1ZlcnNlVVNGTShuZXdBbGlnbm1lbnRzLnRhcmdldFdvcmRzLCBuZXdBbGlnbm1lbnRzLnZlcnNlQWxpZ25tZW50cywgdGFyZ2V0VmVyc2VUZXh0KVxuICAgIGNvbnN0IGFsaWduZWRWZXJzZU9iamVjdHMgPSB1c2ZtSGVscGVycy51c2ZtVmVyc2VUb0pzb24odmVyc2VVc2ZtKVxuICAgIHJldHVybiBhbGlnbmVkVmVyc2VPYmplY3RzXG4gIH1cblxuICBmdW5jdGlvbiBzYXZlQWxpZ25tZW50KCkge1xuICAgIGNvbnNvbGUubG9nKGBzYXZlQWxpZ25tZW50KClgKVxuXG4gICAgaWYgKG5ld0FsaWdubWVudHMpIHtcbiAgICAgIGNvbnN0IGFsaWduZWRWZXJzZU9iamVjdHMgPSB1cGRhdGVWZXJzZVdpdGhOZXdBbGlnbm1lbnRzKClcblxuICAgICAgc2V0U3RhdGUoe1xuICAgICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICAgIG5ld0FsaWdubWVudHM6IG51bGwsXG4gICAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IGFsaWduZWRWZXJzZU9iamVjdHMsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRTdGF0ZSh7XG4gICAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsQWxpZ25tZW50KCkge1xuICAgIGNvbnNvbGUubG9nKGBjYW5jZWxBbGlnbm1lbnQoKWApXG4gICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkLCBuZXdWZXJzZVRleHQpXG4gICAgY29uc3QgYWxpZ25lZCA9IGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFNjcmlwdHVyZVJlc291cmNlPy52ZXJzZU9iamVjdHMpXG4gICAgc2V0U3RhdGUoeyBhbGlnbmVyRGF0YTogbnVsbCwgYWxpZ25lZCB9KVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gc2V0RWRpdGluZyhlZGl0aW5nXykge1xuICAgIGlmIChlbmFibGVFZGl0KSB7XG4gICAgICBpZiAoZWRpdGluZ18gJiYgIWVkaXRpbmcpIHtcbiAgICAgICAgYXdhaXQgc3RhcnRFZGl0QnJhbmNoKClcbiAgICAgIH1cblxuICAgICAgaWYgKGVkaXRpbmdfICE9PSBlZGl0aW5nKSB7XG4gICAgICAgIHNldFN0YXRlKHsgZWRpdGluZzogZWRpdGluZ18gfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzZXRWZXJzZUNoYW5nZWQoY2hhbmdlZCwgbmV3VmVyc2VUZXh0LCBpbml0aWFsVmVyc2VUZXh0KSB7XG4gICAgY29uc3QgeyB0YXJnZXRWZXJzZVRleHQgfSA9IEFsaWdubWVudEhlbHBlcnMudXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UoaW5pdGlhbFZlcnNlT2JqZWN0cywgbmV3VmVyc2VUZXh0KVxuICAgIGNvbnN0IGFsaWduZWQgPSBpc1VzZm1BbGlnbmVkKHRhcmdldFZlcnNlVGV4dCwgb3JpZ2luYWxTY3JpcHR1cmVSZXNvdXJjZT8udmVyc2VPYmplY3RzKVxuXG4gICAgc2V0U3RhdGUoe1xuICAgICAgdmVyc2VUZXh0Q2hhbmdlZDogY2hhbmdlZCxcbiAgICAgIGluaXRpYWxWZXJzZVRleHQsXG4gICAgICBuZXdWZXJzZVRleHQsXG4gICAgICBhbGlnbmVkLFxuICAgIH0pXG4gIH1cblxuICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzID0gUmVhY3QudXNlTWVtbyggKCkgPT4geyAvLyBpZiB2ZXJzZSBoYXMgYmVlbiBlZGl0ZWQgb3IgYWxpZ25tZW50IGNoYW5nZWQsIHRoZW4gZ2VuZXJhdGUgbmV3IHZlcnNlT2JqZWN0cyB0byBkaXNwbGF5IGluIFNjcmlwdHVyZVBhbmVcbiAgICBpZiAoaW5pdGlhbFZlcnNlT2JqZWN0cykge1xuICAgICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkLCBuZXdWZXJzZVRleHQpXG4gICAgICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzXyA9IHVzZm1IZWxwZXJzLnVzZm1WZXJzZVRvSnNvbih0YXJnZXRWZXJzZVVTRk0pXG4gICAgICByZXR1cm4gY3VycmVudFZlcnNlT2JqZWN0c19cbiAgICB9XG4gICAgcmV0dXJuIGluaXRpYWxWZXJzZU9iamVjdHNcbiAgfSwgW3VwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dF0pXG5cbiAgY29uc3QgdW5zYXZlZENoYW5nZXM6Ym9vbGVhbiA9IFJlYWN0LnVzZU1lbW8oICgpID0+IHsgLy8gaWYgdmVyc2UgaGFzIGJlZW4gZWRpdGVkIG9yIGFsaWdubWVudCBjaGFuZ2VkLCB0aGVuIGluZGljYXRlIHdlIGhhdmUgdW5zYXZlZCBjaGFuZ2VzXG4gICAgY29uc3QgY2hhbmdlZCA9IHZlcnNlVGV4dENoYW5nZWQgfHwgKHVwZGF0ZWRWZXJzZU9iamVjdHMgJiYgIWlzRXF1YWwoaW5pdGlhbFZlcnNlT2JqZWN0cywgdXBkYXRlZFZlcnNlT2JqZWN0cykpXG4gICAgcmV0dXJuIGNoYW5nZWRcbiAgfSwgW3VwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWRdKVxuXG4gIGZ1bmN0aW9uIG9uQWxpZ25tZW50c0NoYW5nZShyZXN1bHRzKSB7XG4gICAgY29uc29sZS5sb2coYG9uQWxpZ25tZW50c0NoYW5nZSgpIC0gYWxpZ25tZW50IGNoYW5nZWQsIHJlc3VsdHNgLCByZXN1bHRzKSAvLyBtZXJnZSBhbGlnbm1lbnRzIGludG8gdGFyZ2V0IHZlcnNlIGFuZCBjb252ZXJ0IHRvIFVTRk1cbiAgICBjb25zdCB7IHRhcmdldFdvcmRzLCB2ZXJzZUFsaWdubWVudHMgfSA9IHJlc3VsdHNcbiAgICBjb25zdCBhbGlnbm1lbnRDb21wbGV0ZSA9IEFsaWdubWVudEhlbHBlcnMuYXJlQWxnbm1lbnRzQ29tcGxldGUodGFyZ2V0V29yZHMsIHZlcnNlQWxpZ25tZW50cylcbiAgICBjb25zb2xlLmxvZyhgQWxpZ25tZW50cyBhcmUgJHthbGlnbm1lbnRDb21wbGV0ZSA/ICdDT01QTEVURSEnIDogJ2luY29tcGxldGUnfWApXG4gICAgc2V0U3RhdGUoeyBuZXdBbGlnbm1lbnRzOiByZXN1bHRzLCBhbGlnbmVkOiBhbGlnbm1lbnRDb21wbGV0ZSB9KVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpb25zOiB7XG4gICAgICBjYW5jZWxBbGlnbm1lbnQsXG4gICAgICBjdXJyZW50VmVyc2VPYmplY3RzLFxuICAgICAgaGFuZGxlQWxpZ25tZW50Q2xpY2ssXG4gICAgICBvbkFsaWdubWVudHNDaGFuZ2UsXG4gICAgICBzYXZlQWxpZ25tZW50LFxuICAgICAgc2V0RWRpdGluZyxcbiAgICAgIHNldFZlcnNlQ2hhbmdlZCxcbiAgICAgIHNhdmVDaGFuZ2VzVG9DbG91ZCxcbiAgICB9LFxuICAgIHN0YXRlOiB7XG4gICAgICBhbGlnbmVkLFxuICAgICAgYWxpZ25lckRhdGEsXG4gICAgICBlZGl0aW5nLFxuICAgICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgIH0sXG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "single-scripture-rcl",
3
3
  "description": "A React Component Library for Rendering a Single Scripture Resource.",
4
- "version": "3.2.1-beta.2",
4
+ "version": "3.2.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/unfoldingWord/single-scripture-rcl.git"