merchi_checkout 1.2.6 → 1.2.7
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.
- package/README.md +196 -196
- package/lib/actions/customer.js +1 -1
- package/lib/actions/domain.js +1 -1
- package/lib/actions/files.js +1 -1
- package/lib/actions/helpers.js +1 -1
- package/lib/actions/invoice.js +1 -1
- package/lib/actions/shipping.js +39 -0
- package/lib/area.js +298 -0
- package/lib/checkoutSession.js +1 -1
- package/lib/components/Alerts.js +1 -1
- package/lib/components/CancelOrderConfirmModal.js +1 -1
- package/lib/components/CheckoutSummaryFields.js +1 -1
- package/lib/components/Collapse.js +1 -1
- package/lib/components/DiscountCode.js +254 -0
- package/lib/components/DiscountInputGroup.js +1 -1
- package/lib/components/DraftImageUploaded.js +1 -1
- package/lib/components/FooterButtons.js +1 -1
- package/lib/components/InvoiceInfo.js +1 -1
- package/lib/components/JobInfoContent.js +240 -78
- package/lib/components/MerchiCheckout.js +1 -1
- package/lib/components/MerchiCheckoutProvider.js +1 -1
- package/lib/components/MerchiCheckoutTabs.js +1 -1
- package/lib/components/TabPane.js +1 -1
- package/lib/components/TabPaneAddress.js +1 -1
- package/lib/components/TabPaneConfirm.js +1 -1
- package/lib/components/TabPaneContainer.js +1 -1
- package/lib/components/TabPaneCustomer.js +1 -1
- package/lib/components/TabPaneDrafting.js +117 -0
- package/lib/components/TabPaneNewDomain.js +1 -1
- package/lib/components/TabPanePayment.js +1 -1
- package/lib/components/TabPaneSubmitted.js +1 -1
- package/lib/components/TitleStep.js +1 -1
- package/lib/components/buttons/ButtonInvoiceDownload.js +1 -1
- package/lib/components/buttons/ButtonNext.js +1 -1
- package/lib/components/buttons/ButtonPrevious.js +1 -1
- package/lib/components/buttons/index.js +1 -1
- package/lib/components/currency.js +8 -8
- package/lib/components/forms/CheckboxBillingAddressSameAsShippingAddress.js +1 -1
- package/lib/components/forms/FormAddresses.js +1 -1
- package/lib/components/forms/FormCustomerNew.js +1 -1
- package/lib/components/forms/FormCustomerReturning.js +1 -1
- package/lib/components/forms/FormDomainNew.js +1 -1
- package/lib/components/forms/InputAcceptUserTermsAndConditions.js +1 -1
- package/lib/components/forms/InputCheckStoreName.js +1 -1
- package/lib/components/forms/InputError.js +1 -1
- package/lib/components/forms/InputFileUpload.js +1 -1
- package/lib/components/forms/InputSelect.js +1 -1
- package/lib/components/forms/InputText.js +1 -1
- package/lib/components/forms/InputsAddress.js +1 -1
- package/lib/components/forms/index.js +1 -1
- package/lib/components/lists/ListShipmentQuoteOptions.js +1 -1
- package/lib/components/lists/index.js +1 -1
- package/lib/components/merchi_image_editor/EditorImages.js +73 -0
- package/lib/components/merchi_image_editor/ImageEditor.js +253 -0
- package/lib/components/merchi_image_editor/MerchiImageEditor.js +40 -0
- package/lib/components/merchi_image_editor/actions/file.js +132 -0
- package/lib/components/merchi_image_editor/utils.js +4 -0
- package/lib/index.js +1 -1
- package/lib/merchi_source.js +1 -1
- package/lib/styles/globals.css +8 -2
- package/lib/styles/globals.css.map +1 -1
- package/lib/styles/globals.scss +2663 -2656
- package/lib/tabs_utils.js +1 -1
- package/lib/types.js +1 -1
- package/lib/utils.js +10 -8
- package/package.json +91 -91
package/lib/tabs_utils.js
CHANGED
|
@@ -101,4 +101,4 @@ export function tabsInit(settings) {
|
|
|
101
101
|
job: job
|
|
102
102
|
}));
|
|
103
103
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Byb2R1Y3RTdXBwbGllck1PRCIsImZhQWRkcmVzc0NhcmQiLCJmYUNoZWNrQ2lyY2xlIiwiZmFDcmVkaXRDYXJkIiwiZmFTaG9wcGluZ0NhcnQiLCJmYVRodW1ic1VwIiwiZmFUcnVjayIsIm1ha2VUYWJEYXRhIiwiaWNvbiIsImlkIiwidGl0bGUiLCJkaXNhYmxlZCIsInRhYklkQ3VzdG9tZXJJbmZvIiwidGFiQ3VzdG9tZXJJbmZvIiwidGFiSWRTaGlwbWVudCIsInRhYlNoaXBtZW50IiwidGFiSWRDb25maXJtIiwidGFiQ29uZmlybSIsInRhYk1PRENvbmZpcm0iLCJ0YWJJZFBheW1lbnQiLCJ0YWJQYXltZW50IiwidGFiSWRDb21wbGV0ZSIsInRhYkNvbXBsZXRlUXVvdGUiLCJ0YWJDb21wbGV0ZSIsInRhYnNQcm9kdWN0TU9EIiwiX3JlZiIsImluY2x1ZGVEb21haW5TaWdudXAiLCJqb2IiLCJjbGllbnQiLCJwcm9kdWN0IiwiaGFzQ2xpZW50IiwiY2xpZW50SGFzRG9tYWluIiwiaGFzU3RvcmUiLCJ0YWJzIiwibmVlZHNEcmFmdGluZyIsIl9vYmplY3RTcHJlYWQiLCJ0YWJzUHJvZHVjdFN1cHBsaWVyIiwiX3JlZjIiLCJpc0J1eVJlcXVlc3QiLCJuZWVkc1NoaXBwaW5nIiwidGFic0luaXQiLCJzZXR0aW5ncyIsIl9zZXR0aW5ncyRpc0J1eVJlcXVlcyIsImlzU3VwcGxpZXJNT0QiLCJPYmplY3QiLCJ2YWx1ZXMiXSwic291cmNlcyI6WyIuLi9zcmMvdGFic191dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1Byb2R1Y3RTdXBwbGllck1PRCwgdXNlckFkbWluRG9tYWlucyB9IGZyb20gJy4vdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIGZhQWRkcmVzc0NhcmQsXHJcbiAgZmFDaGVja0NpcmNsZSxcclxuICBmYUNyZWRpdENhcmQsXHJcbiAgZmFEcmFmdGluZ0NvbXBhc3MsXHJcbiAgZmFTaG9wcGluZ0NhcnQsXHJcbiAgZmFTdG9yZSxcclxuICBmYVRodW1ic1VwLFxyXG4gIGZhVHJ1Y2ssXHJcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcclxuaW1wb3J0IHsgTWVyY2hpQ2hlY2tvdXRUYWIgfSBmcm9tICcuL3R5cGVzJztcclxuXHJcbmZ1bmN0aW9uIG1ha2VUYWJEYXRhKGljb246IGFueSwgaWQ6IHN0cmluZywgdGl0bGU6IHN0cmluZykge1xyXG4gIHJldHVybiB7XHJcbiAgICBkaXNhYmxlZDogdHJ1ZSxcclxuICAgIGljb24sXHJcbiAgICBpZCxcclxuICAgIHRpdGxlLFxyXG4gIH0gYXMgTWVyY2hpQ2hlY2tvdXRUYWI7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB0YWJJZEN1c3RvbWVySW5mbyA9ICdjdXN0b21lcic7XHJcbmV4cG9ydCBjb25zdCB0YWJDdXN0b21lckluZm8gPSBtYWtlVGFiRGF0YShcclxuICBmYUFkZHJlc3NDYXJkLFxyXG4gIHRhYklkQ3VzdG9tZXJJbmZvLFxyXG4gICdDdXN0b21lcidcclxuKTtcclxuZXhwb3J0IGNvbnN0IHRhYklkU2hpcG1lbnQgPSAnc2hpcG1lbnQnO1xyXG5leHBvcnQgY29uc3QgdGFiU2hpcG1lbnQgPSBtYWtlVGFiRGF0YShmYVRydWNrLCB0YWJJZFNoaXBtZW50LCAnQWRkcmVzcycpO1xyXG5leHBvcnQgY29uc3QgdGFiSWRDb25maXJtID0gJ2NvbmZpcm0nO1xyXG5leHBvcnQgY29uc3QgdGFiQ29uZmlybSA9IG1ha2VUYWJEYXRhKGZhU2hvcHBpbmdDYXJ0LCB0YWJJZENvbmZpcm0sICdDb25maXJtJyk7XHJcbmV4cG9ydCBjb25zdCB0YWJNT0RDb25maXJtID0gbWFrZVRhYkRhdGEoXHJcbiAgZmFDaGVja0NpcmNsZSxcclxuICB0YWJJZENvbmZpcm0sXHJcbiAgJ0NvbmZpcm0nXHJcbik7XHJcbmV4cG9ydCBjb25zdCB0YWJJZFBheW1lbnQgPSAncGF5bWVudCc7XHJcbmV4cG9ydCBjb25zdCB0YWJQYXltZW50ID0gbWFrZVRhYkRhdGEoZmFDcmVkaXRDYXJkLCB0YWJJZFBheW1lbnQsICdDaGVja291dCcpO1xyXG5leHBvcnQgY29uc3QgdGFiSWRDb21wbGV0ZSA9ICdjb21wbGV0ZSc7XHJcbmV4cG9ydCBjb25zdCB0YWJDb21wbGV0ZVF1b3RlID0gbWFrZVRhYkRhdGEoXHJcbiAgZmFUaHVtYnNVcCxcclxuICB0YWJJZENvbXBsZXRlLFxyXG4gICdTdWJtaXR0ZWQnXHJcbik7XHJcbmV4cG9ydCBjb25zdCB0YWJDb21wbGV0ZSA9IG1ha2VUYWJEYXRhKGZhVGh1bWJzVXAsIHRhYklkQ29tcGxldGUsICdDb21wbGV0ZScpO1xyXG5cclxuaW50ZXJmYWNlIFRhYnNQcm9kdWN0TU9EIHtcclxuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcclxuICBqb2I6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHRhYnNQcm9kdWN0TU9EKHtcclxuICBpbmNsdWRlRG9tYWluU2lnbnVwLFxyXG4gIGpvYixcclxufTogVGFic1Byb2R1Y3RNT0QpIHtcclxuICBjb25zdCB7IGNsaWVudCwgcHJvZHVjdCB9ID0gam9iO1xyXG4gIGNvbnN0IGhhc0NsaWVudCA9IGNsaWVudCAmJiAoY2xpZW50IGFzIGFueSkuaWQgPiAwO1xyXG4gIGNvbnN0IGNsaWVudEhhc0RvbWFpbiA9IGNsaWVudCAmJiBjbGllbnQuaGFzU3RvcmU7XHJcbiAgY29uc3QgdGFicyA9IHt9IGFzIGFueTtcclxuICBjb25zdCB7IG5lZWRzRHJhZnRpbmcgfSA9IHByb2R1Y3Q7XHJcbiAgLy8gaWYgdGhlIGN1cnJlbnQgdXNlciBkb2Vzbid0IGhhdmUgYW4gYWNjb3VudCBhc2sgdGhlbSB0byBzaWduIHVwXHJcbiAgaWYgKCFoYXNDbGllbnQpIHtcclxuICAgIHRhYnNbdGFiSWRDdXN0b21lckluZm9dID0gbmVlZHNEcmFmdGluZ1xyXG4gICAgICA/IHRhYkN1c3RvbWVySW5mb1xyXG4gICAgICA6IHsgLi4udGFiQ3VzdG9tZXJJbmZvLCBkaXNhYmxlZDogZmFsc2UgfTtcclxuICB9XHJcbiAgLy8gaWYgdGhlIGN1cnJlbnQgdXNlciBkb2Vzbid0IGhhdmUgZG9tYWluIGFzayB0aGVtIHRvIG1ha2UgYSBkb21haW5cclxuICAvLyBpZiAoIWNsaWVudEhhc0RvbWFpbiAmJiBpbmNsdWRlRG9tYWluU2lnbnVwKSB7XHJcbiAgLy8gICB0YWJzW3RhYklkTmV3RG9tYWluXSA9XHJcbiAgLy8gICAgIGhhc0NsaWVudCA/XHJcbiAgLy8gICAgICAgey4uLnRhYk5ld0RvbWFpbiwgZGlzYWJsZWQ6IG5lZWRzRHJhZnRpbmd9IDpcclxuICAvLyAgICAgICB0YWJOZXdEb21haW47XHJcbiAgLy8gfVxyXG4gIHRhYnNbdGFiSWRDb25maXJtXSA9IHRhYk1PRENvbmZpcm07XHJcbiAgdGFic1t0YWJJZENvbXBsZXRlXSA9IHRhYkNvbXBsZXRlUXVvdGU7XHJcbiAgcmV0dXJuIHRhYnM7XHJcbn1cclxuXHJcbmludGVyZmFjZSBUYWJzUHJvZHVjdFN1cHBsaWVyIHtcclxuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcclxuICBpc0J1eVJlcXVlc3Q6IGJvb2xlYW47XHJcbiAgam9iOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0YWJzUHJvZHVjdFN1cHBsaWVyKHtcclxuICBpbmNsdWRlRG9tYWluU2lnbnVwLFxyXG4gIGpvYixcclxuICBpc0J1eVJlcXVlc3QsXHJcbn06IFRhYnNQcm9kdWN0U3VwcGxpZXIpIHtcclxuICBjb25zdCB7IGNsaWVudCwgcHJvZHVjdCB9ID0gam9iO1xyXG4gIGNvbnN0IHRhYnMgPSB7fSBhcyBhbnk7XHJcbiAgY29uc3QgaGFzQ2xpZW50ID0gY2xpZW50ICYmIChjbGllbnQgYXMgYW55KS5pZCA+IDA7XHJcbiAgY29uc3QgeyBuZWVkc0RyYWZ0aW5nLCBuZWVkc1NoaXBwaW5nIH0gPSBwcm9kdWN0O1xyXG4gIC8vIGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lc24ndCBoYXZlIGFuIGFjY291bnQgYXNrIHRoZW0gdG8gc2lnbiB1cFxyXG4gIHRhYnNbdGFiSWRDdXN0b21lckluZm9dID1cclxuICAgIG5lZWRzRHJhZnRpbmdcclxuICAgICAgPyB0YWJDdXN0b21lckluZm9cclxuICAgICAgOiB7IC4uLnRhYkN1c3RvbWVySW5mbywgZGlzYWJsZWQ6IGZhbHNlIH07XHJcbiAgaWYgKG5lZWRzU2hpcHBpbmcpIHtcclxuICAgIHRhYnNbdGFiSWRTaGlwbWVudF0gPSB7XHJcbiAgICAgIC4uLnRhYlNoaXBtZW50LFxyXG4gICAgICBkaXNhYmxlZDogIWhhc0NsaWVudCB8fCBuZWVkc0RyYWZ0aW5nLFxyXG4gICAgfTtcclxuICB9XHJcbiAgdGFic1t0YWJJZENvbmZpcm1dID0ge1xyXG4gICAgLi4udGFiQ29uZmlybSxcclxuICAgIGRpc2FibGVkOiAhaGFzQ2xpZW50IHx8IG5lZWRzRHJhZnRpbmcgfHwgbmVlZHNTaGlwcGluZyxcclxuICB9O1xyXG4gIGlmIChpc0J1eVJlcXVlc3QpIHtcclxuICAgIHRhYnNbdGFiSWRQYXltZW50XSA9IHRhYlBheW1lbnQ7XHJcbiAgICB0YWJzW3RhYklkQ29tcGxldGVdID0gdGFiQ29tcGxldGU7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRhYnNbdGFiSWRDb21wbGV0ZV0gPSB0YWJDb21wbGV0ZVF1b3RlO1xyXG4gIH1cclxuICByZXR1cm4gdGFicztcclxufVxyXG5cclxuaW50ZXJmYWNlIFRhYnNJbml0IHtcclxuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcclxuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xyXG4gIGpvYjogYW55O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdGFic0luaXQoc2V0dGluZ3M6IFRhYnNJbml0KSB7XHJcbiAgY29uc3Qge1xyXG4gICAgaW5jbHVkZURvbWFpblNpZ251cCxcclxuICAgIGlzQnV5UmVxdWVzdCA9IGZhbHNlLFxyXG4gICAgam9iLFxyXG4gIH0gPSBzZXR0aW5ncztcclxuICBjb25zdCB7IHByb2R1Y3QgfSA9IGpvYjtcclxuICBjb25zdCBpc1N1cHBsaWVyTU9EID0gaXNQcm9kdWN0U3VwcGxpZXJNT0QocHJvZHVjdCk7XHJcbiAgaWYgKGlzU3VwcGxpZXJNT0QpIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKFxyXG4gICAgICB0YWJzUHJvZHVjdE1PRCh7IGluY2x1ZGVEb21haW5TaWdudXAsIGpvYiB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoXHJcbiAgICB0YWJzUHJvZHVjdFN1cHBsaWVyKHtcclxuICAgICAgaW5jbHVkZURvbWFpblNpZ251cCxcclxuICAgICAgaXNCdXlSZXF1ZXN0LFxyXG4gICAgICBqb2IsXHJcbiAgICB9KVxyXG4gICk7XHJcbn1cclxuXHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsU0FBU0Esb0JBQW9CLFFBQTBCLFNBQVM7QUFDaEUsU0FDRUMsYUFBYSxFQUNiQyxhQUFhLEVBQ2JDLFlBQVksRUFFWkMsY0FBYyxFQUVkQyxVQUFVLEVBQ1ZDLE9BQU8sUUFDRixtQ0FBbUM7QUFHMUMsU0FBU0MsV0FBV0EsQ0FBQ0MsSUFBUyxFQUFFQyxFQUFVLEVBQUVDLEtBQWEsRUFBRTtFQUN6RCxPQUFPO0lBQ0xDLFFBQVEsRUFBRSxJQUFJO0lBQ2RILElBQUksRUFBSkEsSUFBSTtJQUNKQyxFQUFFLEVBQUZBLEVBQUU7SUFDRkMsS0FBSyxFQUFMQTtFQUNGLENBQUM7QUFDSDtBQUVBLE9BQU8sSUFBTUUsaUJBQWlCLEdBQUcsVUFBVTtBQUMzQyxPQUFPLElBQU1DLGVBQWUsR0FBR04sV0FBVyxDQUN4Q04sYUFBYSxFQUNiVyxpQkFBaUIsRUFDakIsVUFDRixDQUFDO0FBQ0QsT0FBTyxJQUFNRSxhQUFhLEdBQUcsVUFBVTtBQUN2QyxPQUFPLElBQU1DLFdBQVcsR0FBR1IsV0FBVyxDQUFDRCxPQUFPLEVBQUVRLGFBQWEsRUFBRSxTQUFTLENBQUM7QUFDekUsT0FBTyxJQUFNRSxZQUFZLEdBQUcsU0FBUztBQUNyQyxPQUFPLElBQU1DLFVBQVUsR0FBR1YsV0FBVyxDQUFDSCxjQUFjLEVBQUVZLFlBQVksRUFBRSxTQUFTLENBQUM7QUFDOUUsT0FBTyxJQUFNRSxhQUFhLEdBQUdYLFdBQVcsQ0FDdENMLGFBQWEsRUFDYmMsWUFBWSxFQUNaLFNBQ0YsQ0FBQztBQUNELE9BQU8sSUFBTUcsWUFBWSxHQUFHLFNBQVM7QUFDckMsT0FBTyxJQUFNQyxVQUFVLEdBQUdiLFdBQVcsQ0FBQ0osWUFBWSxFQUFFZ0IsWUFBWSxFQUFFLFVBQVUsQ0FBQztBQUM3RSxPQUFPLElBQU1FLGFBQWEsR0FBRyxVQUFVO0FBQ3ZDLE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdmLFdBQVcsQ0FDekNGLFVBQVUsRUFDVmdCLGFBQWEsRUFDYixXQUNGLENBQUM7QUFDRCxPQUFPLElBQU1FLFdBQVcsR0FBR2hCLFdBQVcsQ0FBQ0YsVUFBVSxFQUFFZ0IsYUFBYSxFQUFFLFVBQVUsQ0FBQztBQU83RSxPQUFPLFNBQVNHLGNBQWNBLENBQUFDLElBQUEsRUFHWDtFQUFBLElBRmpCQyxtQkFBbUIsR0FBQUQsSUFBQSxDQUFuQkMsbUJBQW1CO0lBQ25CQyxHQUFHLEdBQUFGLElBQUEsQ0FBSEUsR0FBRztFQUVILElBQVFDLE1BQU0sR0FBY0QsR0FBRyxDQUF2QkMsTUFBTTtJQUFFQyxPQUFPLEdBQUtGLEdBQUcsQ0FBZkUsT0FBTztFQUN2QixJQUFNQyxTQUFTLEdBQUdGLE1BQU0sSUFBS0EsTUFBTSxDQUFTbkIsRUFBRSxHQUFHLENBQUM7RUFDbEQsSUFBTXNCLGVBQWUsR0FBR0gsTUFBTSxJQUFJQSxNQUFNLENBQUNJLFFBQVE7RUFDakQsSUFBTUMsSUFBSSxHQUFHLENBQUMsQ0FBUTtFQUN0QixJQUFRQyxhQUFhLEdBQUtMLE9BQU8sQ0FBekJLLGFBQWE7RUFDckI7RUFDQSxJQUFJLENBQUNKLFNBQVMsRUFBRTtJQUNkRyxJQUFJLENBQUNyQixpQkFBaUIsQ0FBQyxHQUFHc0IsYUFBYSxHQUNuQ3JCLGVBQWUsR0FBQXNCLGFBQUEsQ0FBQUEsYUFBQSxLQUNWdEIsZUFBZTtNQUFFRixRQUFRLEVBQUU7SUFBSyxFQUFFO0VBQzdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQXNCLElBQUksQ0FBQ2pCLFlBQVksQ0FBQyxHQUFHRSxhQUFhO0VBQ2xDZSxJQUFJLENBQUNaLGFBQWEsQ0FBQyxHQUFHQyxnQkFBZ0I7RUFDdEMsT0FBT1csSUFBSTtBQUNiO0FBUUEsT0FBTyxTQUFTRyxtQkFBbUJBLENBQUFDLEtBQUEsRUFJWDtFQUFBLElBSHRCWCxtQkFBbUIsR0FBQVcsS0FBQSxDQUFuQlgsbUJBQW1CO0lBQ25CQyxHQUFHLEdBQUFVLEtBQUEsQ0FBSFYsR0FBRztJQUNIVyxZQUFZLEdBQUFELEtBQUEsQ0FBWkMsWUFBWTtFQUVaLElBQVFWLE1BQU0sR0FBY0QsR0FBRyxDQUF2QkMsTUFBTTtJQUFFQyxPQUFPLEdBQUtGLEdBQUcsQ0FBZkUsT0FBTztFQUN2QixJQUFNSSxJQUFJLEdBQUcsQ0FBQyxDQUFRO0VBQ3RCLElBQU1ILFNBQVMsR0FBR0YsTUFBTSxJQUFLQSxNQUFNLENBQVNuQixFQUFFLEdBQUcsQ0FBQztFQUNsRCxJQUFReUIsYUFBYSxHQUFvQkwsT0FBTyxDQUF4Q0ssYUFBYTtJQUFFSyxhQUFhLEdBQUtWLE9BQU8sQ0FBekJVLGFBQWE7RUFDcEM7RUFDQU4sSUFBSSxDQUFDckIsaUJBQWlCLENBQUMsR0FDckJzQixhQUFhLEdBQ1RyQixlQUFlLEdBQUFzQixhQUFBLENBQUFBLGFBQUEsS0FDVnRCLGVBQWU7SUFBRUYsUUFBUSxFQUFFO0VBQUssRUFBRTtFQUM3QyxJQUFJNEIsYUFBYSxFQUFFO0lBQ2pCTixJQUFJLENBQUNuQixhQUFhLENBQUMsR0FBQXFCLGFBQUEsQ0FBQUEsYUFBQSxLQUNkcEIsV0FBVztNQUNkSixRQUFRLEVBQUUsQ0FBQ21CLFNBQVMsSUFBSUk7SUFBYSxFQUN0QztFQUNIO0VBQ0FELElBQUksQ0FBQ2pCLFlBQVksQ0FBQyxHQUFBbUIsYUFBQSxDQUFBQSxhQUFBLEtBQ2JsQixVQUFVO0lBQ2JOLFFBQVEsRUFBRSxDQUFDbUIsU0FBUyxJQUFJSSxhQUFhLElBQUlLO0VBQWEsRUFDdkQ7RUFDRCxJQUFJRCxZQUFZLEVBQUU7SUFDaEJMLElBQUksQ0FBQ2QsWUFBWSxDQUFDLEdBQUdDLFVBQVU7SUFDL0JhLElBQUksQ0FBQ1osYUFBYSxDQUFDLEdBQUdFLFdBQVc7RUFDbkMsQ0FBQyxNQUFNO0lBQ0xVLElBQUksQ0FBQ1osYUFBYSxDQUFDLEdBQUdDLGdCQUFnQjtFQUN4QztFQUNBLE9BQU9XLElBQUk7QUFDYjtBQVFBLE9BQU8sU0FBU08sUUFBUUEsQ0FBQ0MsUUFBa0IsRUFBRTtFQUMzQyxJQUNFZixtQkFBbUIsR0FHakJlLFFBQVEsQ0FIVmYsbUJBQW1CO0lBQUFnQixxQkFBQSxHQUdqQkQsUUFBUSxDQUZWSCxZQUFZO0lBQVpBLFlBQVksR0FBQUkscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQ3BCZixHQUFHLEdBQ0RjLFFBQVEsQ0FEVmQsR0FBRztFQUVMLElBQVFFLE9BQU8sR0FBS0YsR0FBRyxDQUFmRSxPQUFPO0VBQ2YsSUFBTWMsYUFBYSxHQUFHM0Msb0JBQW9CLENBQUM2QixPQUFPLENBQUM7RUFDbkQsSUFBSWMsYUFBYSxFQUFFO0lBQ2pCLE9BQU9DLE1BQU0sQ0FBQ0MsTUFBTSxDQUNsQnJCLGNBQWMsQ0FBQztNQUFFRSxtQkFBbUIsRUFBbkJBLG1CQUFtQjtNQUFFQyxHQUFHLEVBQUhBO0lBQUksQ0FBQyxDQUM3QyxDQUFDO0VBQ0g7RUFDQSxPQUFPaUIsTUFBTSxDQUFDQyxNQUFNLENBQ2xCVCxtQkFBbUIsQ0FBQztJQUNsQlYsbUJBQW1CLEVBQW5CQSxtQkFBbUI7SUFDbkJZLFlBQVksRUFBWkEsWUFBWTtJQUNaWCxHQUFHLEVBQUhBO0VBQ0YsQ0FBQyxDQUNILENBQUM7QUFDSCJ9
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1Byb2R1Y3RTdXBwbGllck1PRCIsImZhQWRkcmVzc0NhcmQiLCJmYUNoZWNrQ2lyY2xlIiwiZmFDcmVkaXRDYXJkIiwiZmFTaG9wcGluZ0NhcnQiLCJmYVRodW1ic1VwIiwiZmFUcnVjayIsIm1ha2VUYWJEYXRhIiwiaWNvbiIsImlkIiwidGl0bGUiLCJkaXNhYmxlZCIsInRhYklkQ3VzdG9tZXJJbmZvIiwidGFiQ3VzdG9tZXJJbmZvIiwidGFiSWRTaGlwbWVudCIsInRhYlNoaXBtZW50IiwidGFiSWRDb25maXJtIiwidGFiQ29uZmlybSIsInRhYk1PRENvbmZpcm0iLCJ0YWJJZFBheW1lbnQiLCJ0YWJQYXltZW50IiwidGFiSWRDb21wbGV0ZSIsInRhYkNvbXBsZXRlUXVvdGUiLCJ0YWJDb21wbGV0ZSIsInRhYnNQcm9kdWN0TU9EIiwiX3JlZiIsImluY2x1ZGVEb21haW5TaWdudXAiLCJqb2IiLCJjbGllbnQiLCJwcm9kdWN0IiwiaGFzQ2xpZW50IiwiY2xpZW50SGFzRG9tYWluIiwiaGFzU3RvcmUiLCJ0YWJzIiwibmVlZHNEcmFmdGluZyIsIl9vYmplY3RTcHJlYWQiLCJ0YWJzUHJvZHVjdFN1cHBsaWVyIiwiX3JlZjIiLCJpc0J1eVJlcXVlc3QiLCJuZWVkc1NoaXBwaW5nIiwidGFic0luaXQiLCJzZXR0aW5ncyIsIl9zZXR0aW5ncyRpc0J1eVJlcXVlcyIsImlzU3VwcGxpZXJNT0QiLCJPYmplY3QiLCJ2YWx1ZXMiXSwic291cmNlcyI6WyIuLi9zcmMvdGFic191dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1Byb2R1Y3RTdXBwbGllck1PRCwgdXNlckFkbWluRG9tYWlucyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgZmFBZGRyZXNzQ2FyZCxcbiAgZmFDaGVja0NpcmNsZSxcbiAgZmFDcmVkaXRDYXJkLFxuICBmYURyYWZ0aW5nQ29tcGFzcyxcbiAgZmFTaG9wcGluZ0NhcnQsXG4gIGZhU3RvcmUsXG4gIGZhVGh1bWJzVXAsXG4gIGZhVHJ1Y2ssXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBNZXJjaGlDaGVja291dFRhYiB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBtYWtlVGFiRGF0YShpY29uOiBhbnksIGlkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHtcbiAgICBkaXNhYmxlZDogdHJ1ZSxcbiAgICBpY29uLFxuICAgIGlkLFxuICAgIHRpdGxlLFxuICB9IGFzIE1lcmNoaUNoZWNrb3V0VGFiO1xufVxuXG5leHBvcnQgY29uc3QgdGFiSWRDdXN0b21lckluZm8gPSAnY3VzdG9tZXInO1xuZXhwb3J0IGNvbnN0IHRhYkN1c3RvbWVySW5mbyA9IG1ha2VUYWJEYXRhKFxuICBmYUFkZHJlc3NDYXJkLFxuICB0YWJJZEN1c3RvbWVySW5mbyxcbiAgJ0N1c3RvbWVyJ1xuKTtcbmV4cG9ydCBjb25zdCB0YWJJZFNoaXBtZW50ID0gJ3NoaXBtZW50JztcbmV4cG9ydCBjb25zdCB0YWJTaGlwbWVudCA9IG1ha2VUYWJEYXRhKGZhVHJ1Y2ssIHRhYklkU2hpcG1lbnQsICdBZGRyZXNzJyk7XG5leHBvcnQgY29uc3QgdGFiSWRDb25maXJtID0gJ2NvbmZpcm0nO1xuZXhwb3J0IGNvbnN0IHRhYkNvbmZpcm0gPSBtYWtlVGFiRGF0YShmYVNob3BwaW5nQ2FydCwgdGFiSWRDb25maXJtLCAnQ29uZmlybScpO1xuZXhwb3J0IGNvbnN0IHRhYk1PRENvbmZpcm0gPSBtYWtlVGFiRGF0YShcbiAgZmFDaGVja0NpcmNsZSxcbiAgdGFiSWRDb25maXJtLFxuICAnQ29uZmlybSdcbik7XG5leHBvcnQgY29uc3QgdGFiSWRQYXltZW50ID0gJ3BheW1lbnQnO1xuZXhwb3J0IGNvbnN0IHRhYlBheW1lbnQgPSBtYWtlVGFiRGF0YShmYUNyZWRpdENhcmQsIHRhYklkUGF5bWVudCwgJ0NoZWNrb3V0Jyk7XG5leHBvcnQgY29uc3QgdGFiSWRDb21wbGV0ZSA9ICdjb21wbGV0ZSc7XG5leHBvcnQgY29uc3QgdGFiQ29tcGxldGVRdW90ZSA9IG1ha2VUYWJEYXRhKFxuICBmYVRodW1ic1VwLFxuICB0YWJJZENvbXBsZXRlLFxuICAnU3VibWl0dGVkJ1xuKTtcbmV4cG9ydCBjb25zdCB0YWJDb21wbGV0ZSA9IG1ha2VUYWJEYXRhKGZhVGh1bWJzVXAsIHRhYklkQ29tcGxldGUsICdDb21wbGV0ZScpO1xuXG5pbnRlcmZhY2UgVGFic1Byb2R1Y3RNT0Qge1xuICBpbmNsdWRlRG9tYWluU2lnbnVwPzogYm9vbGVhbjtcbiAgam9iOiBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWJzUHJvZHVjdE1PRCh7XG4gIGluY2x1ZGVEb21haW5TaWdudXAsXG4gIGpvYixcbn06IFRhYnNQcm9kdWN0TU9EKSB7XG4gIGNvbnN0IHsgY2xpZW50LCBwcm9kdWN0IH0gPSBqb2I7XG4gIGNvbnN0IGhhc0NsaWVudCA9IGNsaWVudCAmJiAoY2xpZW50IGFzIGFueSkuaWQgPiAwO1xuICBjb25zdCBjbGllbnRIYXNEb21haW4gPSBjbGllbnQgJiYgY2xpZW50Lmhhc1N0b3JlO1xuICBjb25zdCB0YWJzID0ge30gYXMgYW55O1xuICBjb25zdCB7IG5lZWRzRHJhZnRpbmcgfSA9IHByb2R1Y3Q7XG4gIC8vIGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lc24ndCBoYXZlIGFuIGFjY291bnQgYXNrIHRoZW0gdG8gc2lnbiB1cFxuICBpZiAoIWhhc0NsaWVudCkge1xuICAgIHRhYnNbdGFiSWRDdXN0b21lckluZm9dID0gbmVlZHNEcmFmdGluZ1xuICAgICAgPyB0YWJDdXN0b21lckluZm9cbiAgICAgIDogeyAuLi50YWJDdXN0b21lckluZm8sIGRpc2FibGVkOiBmYWxzZSB9O1xuICB9XG4gIC8vIGlmIHRoZSBjdXJyZW50IHVzZXIgZG9lc24ndCBoYXZlIGRvbWFpbiBhc2sgdGhlbSB0byBtYWtlIGEgZG9tYWluXG4gIC8vIGlmICghY2xpZW50SGFzRG9tYWluICYmIGluY2x1ZGVEb21haW5TaWdudXApIHtcbiAgLy8gICB0YWJzW3RhYklkTmV3RG9tYWluXSA9XG4gIC8vICAgICBoYXNDbGllbnQgP1xuICAvLyAgICAgICB7Li4udGFiTmV3RG9tYWluLCBkaXNhYmxlZDogbmVlZHNEcmFmdGluZ30gOlxuICAvLyAgICAgICB0YWJOZXdEb21haW47XG4gIC8vIH1cbiAgdGFic1t0YWJJZENvbmZpcm1dID0gdGFiTU9EQ29uZmlybTtcbiAgdGFic1t0YWJJZENvbXBsZXRlXSA9IHRhYkNvbXBsZXRlUXVvdGU7XG4gIHJldHVybiB0YWJzO1xufVxuXG5pbnRlcmZhY2UgVGFic1Byb2R1Y3RTdXBwbGllciB7XG4gIGluY2x1ZGVEb21haW5TaWdudXA/OiBib29sZWFuO1xuICBpc0J1eVJlcXVlc3Q6IGJvb2xlYW47XG4gIGpvYjogYW55O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGFic1Byb2R1Y3RTdXBwbGllcih7XG4gIGluY2x1ZGVEb21haW5TaWdudXAsXG4gIGpvYixcbiAgaXNCdXlSZXF1ZXN0LFxufTogVGFic1Byb2R1Y3RTdXBwbGllcikge1xuICBjb25zdCB7IGNsaWVudCwgcHJvZHVjdCB9ID0gam9iO1xuICBjb25zdCB0YWJzID0ge30gYXMgYW55O1xuICBjb25zdCBoYXNDbGllbnQgPSBjbGllbnQgJiYgKGNsaWVudCBhcyBhbnkpLmlkID4gMDtcbiAgY29uc3QgeyBuZWVkc0RyYWZ0aW5nLCBuZWVkc1NoaXBwaW5nIH0gPSBwcm9kdWN0O1xuICAvLyBpZiB0aGUgY3VycmVudCB1c2VyIGRvZXNuJ3QgaGF2ZSBhbiBhY2NvdW50IGFzayB0aGVtIHRvIHNpZ24gdXBcbiAgdGFic1t0YWJJZEN1c3RvbWVySW5mb10gPVxuICAgIG5lZWRzRHJhZnRpbmdcbiAgICAgID8gdGFiQ3VzdG9tZXJJbmZvXG4gICAgICA6IHsgLi4udGFiQ3VzdG9tZXJJbmZvLCBkaXNhYmxlZDogZmFsc2UgfTtcbiAgaWYgKG5lZWRzU2hpcHBpbmcpIHtcbiAgICB0YWJzW3RhYklkU2hpcG1lbnRdID0ge1xuICAgICAgLi4udGFiU2hpcG1lbnQsXG4gICAgICBkaXNhYmxlZDogIWhhc0NsaWVudCB8fCBuZWVkc0RyYWZ0aW5nLFxuICAgIH07XG4gIH1cbiAgdGFic1t0YWJJZENvbmZpcm1dID0ge1xuICAgIC4uLnRhYkNvbmZpcm0sXG4gICAgZGlzYWJsZWQ6ICFoYXNDbGllbnQgfHwgbmVlZHNEcmFmdGluZyB8fCBuZWVkc1NoaXBwaW5nLFxuICB9O1xuICBpZiAoaXNCdXlSZXF1ZXN0KSB7XG4gICAgdGFic1t0YWJJZFBheW1lbnRdID0gdGFiUGF5bWVudDtcbiAgICB0YWJzW3RhYklkQ29tcGxldGVdID0gdGFiQ29tcGxldGU7XG4gIH0gZWxzZSB7XG4gICAgdGFic1t0YWJJZENvbXBsZXRlXSA9IHRhYkNvbXBsZXRlUXVvdGU7XG4gIH1cbiAgcmV0dXJuIHRhYnM7XG59XG5cbmludGVyZmFjZSBUYWJzSW5pdCB7XG4gIGluY2x1ZGVEb21haW5TaWdudXA/OiBib29sZWFuO1xuICBpc0J1eVJlcXVlc3Q/OiBib29sZWFuO1xuICBqb2I6IGFueTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRhYnNJbml0KHNldHRpbmdzOiBUYWJzSW5pdCkge1xuICBjb25zdCB7XG4gICAgaW5jbHVkZURvbWFpblNpZ251cCxcbiAgICBpc0J1eVJlcXVlc3QgPSBmYWxzZSxcbiAgICBqb2IsXG4gIH0gPSBzZXR0aW5ncztcbiAgY29uc3QgeyBwcm9kdWN0IH0gPSBqb2I7XG4gIGNvbnN0IGlzU3VwcGxpZXJNT0QgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgaWYgKGlzU3VwcGxpZXJNT0QpIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhcbiAgICAgIHRhYnNQcm9kdWN0TU9EKHsgaW5jbHVkZURvbWFpblNpZ251cCwgam9iIH0pXG4gICAgKTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhcbiAgICB0YWJzUHJvZHVjdFN1cHBsaWVyKHtcbiAgICAgIGluY2x1ZGVEb21haW5T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
|
package/lib/types.js
CHANGED
|
@@ -36,4 +36,4 @@ export var Role = /*#__PURE__*/function (Role) {
|
|
|
36
36
|
Role[Role["THEME_EDITOR"] = 8] = "THEME_EDITOR";
|
|
37
37
|
return Role;
|
|
38
38
|
}({});
|
|
39
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIlJvbGUiXSwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUHJvZHVjdFR5cGUge1xuICBTVVBQTElFUl9NT0QgPSAwLFxuICBTVVBQTElFUiA9IDEsXG4gIFNFTExFUiA9IDIsXG4gIFNFTExFUl9NT0QgPSAzLFxuICBDTE9ORURfU1VQUExJRVJfTU9EID0gNCxcbiAgQ0xPTkVEX1NFTExFUl9NT0QgPSA1LFxuICBQUk9EVUNUSU9OX01PRCA9IDYsXG4gIENMT05FRF9TVVBQTElFUiA9IDcsXG4gIElOVkVOVE9SWV9TRUxMRVIgPSA4LFxuICBJTlZFTlRPUllfU1VQUExJRVIgPSA5LFxuICBTRUxMRVJfR1JPVVBfQlVZID0gMTAsXG4gIFNVUFBMSUVSX1JFU0VMTF9NT0QgPSAxMSxcbiAgU1VQUExJRVJfUkVTRUxMID0gMTIsXG4gIFNVUFBMSUVSX0dST1VQX0JVWV9JTlZFTlRPUlkgPSAxMyxcbiAgQ0xPTkVEX0lOVkVOVE9SWV9TRUxMRVIgPSAxNCxcbiAgQ0xPTkVEX1NFTExFUl9HUk9VUF9CVVlfSU5WRU5UT1JZID0gMTUsXG4gIENMT05FRF9TVVBQTElFUl9SRVNFTExfTU9EID0gMTYsXG4gIFNVUFBMSUVSX1RPX1NVUFBMSUVSX1JFU0VMTF9NT0QgPSAxNyxcbiAgQ0xPTkVEX1NVUFBMSUVSX1JFU0VMTCA9IDE4LFxuICBTVVBQTFlfRE9NQUlOX1JFRkVSRU5DRSA9IDE5LFxuICBTRUxMRVJfRklMRV9ET1dOTE9BRCA9IDIwLFxuICBTVVBQTElFUl9NT0RfU1VQUExZX0NIQUlOX1JFUVVFU1QgPSAyMSxcbiAgU1VQUExJRVJfU1VQUExZX0NIQUlOX1JFUVVFU1QgPSAyMixcbn1cblxuZXhwb3J0IGVudW0gUm9sZSB7XG4gIFBVQkxJQyA9IDAsXG4gIEFETUlOID0gMSxcbiAgU0FMRVMgPSAyLFxuICBERVNJR05FUiA9IDMsXG4gIFNVUFBMSUVSID0gNCxcbiAgQ0xJRU5UID0gNSxcbiAgTUFOQUdFUiA9IDYsXG4gIEFDQ09VTlRBTlQgPSA3LFxuICBUSEVNRV9FRElUT1IgPSA4LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lcmNoaUNoZWNrb3V0VGFiIHtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGljb246IGFueTtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsV0FBWUEsV0FBVywwQkFBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQVhBLFdBQVcsQ0FBWEEsV0FBVztFQUFYQSxXQUFXLENBQVhBLFdBQVc7RUFBWEEsV0FBVyxDQUFYQSxXQUFXO0VBQUEsT0FBWEEsV0FBVztBQUFBO0FBMEJ2QixXQUFZQyxJQUFJLDBCQUFKQSxJQUFJO0VBQUpBLElBQUksQ0FBSkEsSUFBSTtFQUFKQSxJQUFJLENBQUpBLElBQUk7RUFBSkEsSUFBSSxDQUFKQSxJQUFJO0VBQUpBLElBQUksQ0FBSkEsSUFBSTtFQUFKQSxJQUFJLENBQUpBLElBQUk7RUFBSkEsSUFBSSxDQUFKQSxJQUFJO0VBQUpBLElBQUksQ0FBSkEsSUFBSTtFQUFKQSxJQUFJLENBQUpBLElBQUk7RUFBSkEsSUFBSSxDQUFKQSxJQUFJO0VBQUEsT0FBSkEsSUFBSTtBQUFBIn0=
|
package/lib/utils.js
CHANGED
|
@@ -434,10 +434,12 @@ export var FieldType = /*#__PURE__*/function (FieldType) {
|
|
|
434
434
|
FieldType[FieldType["COLOUR_PICKER"] = 10] = "COLOUR_PICKER";
|
|
435
435
|
FieldType[FieldType["COLOUR_SELECT"] = 11] = "COLOUR_SELECT";
|
|
436
436
|
FieldType[FieldType["TURNAROUND_TIME"] = 12] = "TURNAROUND_TIME";
|
|
437
|
+
FieldType[FieldType["COLOUR_EXTRACT"] = 13] = "COLOUR_EXTRACT";
|
|
438
|
+
FieldType[FieldType["AREA"] = 14] = "AREA";
|
|
437
439
|
return FieldType;
|
|
438
440
|
}({});
|
|
439
441
|
export function isSelectable(fieldType) {
|
|
440
|
-
return [FieldType.SELECT, FieldType.CHECKBOX, FieldType.RADIO, FieldType.IMAGE_SELECT, FieldType.COLOUR_SELECT, FieldType.TURNAROUND_TIME].includes(fieldType);
|
|
442
|
+
return [FieldType.SELECT, FieldType.CHECKBOX, FieldType.RADIO, FieldType.IMAGE_SELECT, FieldType.COLOUR_SELECT, FieldType.TURNAROUND_TIME, FieldType.COLOUR_EXTRACT].includes(fieldType);
|
|
441
443
|
}
|
|
442
444
|
export function isInstructionsType(fieldType) {
|
|
443
445
|
return String(FieldType.FIELD_INSTRUCTIONS) === String(fieldType);
|
|
@@ -489,9 +491,9 @@ export function appendClientToOwnDraft(job) {
|
|
|
489
491
|
}
|
|
490
492
|
return job;
|
|
491
493
|
}
|
|
492
|
-
/**
|
|
493
|
-
* Decode/normalize a redirect base URL from embed script params.
|
|
494
|
-
* Handles percent-encoding, legacy %27 wrappers, and trailing junk.
|
|
494
|
+
/**
|
|
495
|
+
* Decode/normalize a redirect base URL from embed script params.
|
|
496
|
+
* Handles percent-encoding, legacy %27 wrappers, and trailing junk.
|
|
495
497
|
*/
|
|
496
498
|
export function normalizeRedirectBaseUrl(url) {
|
|
497
499
|
var clean = String(url || '').trim().replace(/%27/g, '').replace(/%91/g, '').replace(/%92/g, '').replace(/%93/g, '').replace(/%94/g, '').replace(/^['"]+|['"]+$/g, '');
|
|
@@ -515,9 +517,9 @@ export function getClientEmail(client) {
|
|
|
515
517
|
return typeof email === 'string' && email.trim() ? email.trim() : undefined;
|
|
516
518
|
}
|
|
517
519
|
|
|
518
|
-
/**
|
|
519
|
-
* Build the post-checkout/quote redirect URL with proper query separators.
|
|
520
|
-
* Always safe when the base URL omits a trailing "?" / "&".
|
|
520
|
+
/**
|
|
521
|
+
* Build the post-checkout/quote redirect URL with proper query separators.
|
|
522
|
+
* Always safe when the base URL omits a trailing "?" / "&".
|
|
521
523
|
*/
|
|
522
524
|
export function buildSuccessRedirectUrl(url, redirectWithValue, value) {
|
|
523
525
|
var extras = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
@@ -544,4 +546,4 @@ export function redirectOnSuccess(url, redirectWithValue, value) {
|
|
|
544
546
|
var extras = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
545
547
|
window.location.href = buildSuccessRedirectUrl(url, redirectWithValue, value, extras);
|
|
546
548
|
}
|
|
547
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIlJvbGUiLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwidXNlckRvbWFpbnNCeVJvbGVzIiwidXNlciIsInJvbGVzIiwiZUQiLCJlbnJvbGxlZERvbWFpbnMiLCJkb21haW5zIiwiaSIsImxlbmd0aCIsImUiLCJpbmNsdWRlcyIsInJvbGUiLCJwdXNoIiwiZG9tYWluIiwidXNlckFkbWluRG9tYWlucyIsIkFETUlOIiwiTUFOQUdFUiIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwicHJvZHVjdCIsInByb2R1Y3RUeXBlIiwiU3RyaW5nIiwiU1VQUExJRVJfTU9EIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzVXNlclJlZ2lzdGVyZWQiLCJpZCIsInVuZGVmaW5lZCIsImlzUmVnaXN0ZXJlZEFuZEhhc1N0b3JlIiwiaGFzU3RvcmUiLCJzdXBwb3J0ZWROdW1iZXJzIiwicGhvbmVPcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbHVlIiwibGFiZWwiLCJhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZCIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMiIsImNvdW50cnkiLCJlc3RhYmxpc2htZW50IiwiZmxvb3IiLCJsb2NhbGl0eSIsInBvc3RhbF9jb2RlIiwicHJlbWlzZSIsInJvb20iLCJyb3V0ZSIsInN0cmVldF9udW1iZXIiLCJzdWJsb2NhbGl0eSIsInN1YnByZW1pc2UiLCJnb29nbGVQbGFjZXNSZXN1bHRBc05ld0FkZHJlc3MiLCJwbGFjZURldGFpbHMiLCJhZGRyZXNzQ29tcG9uZW50cyIsIm5hbWUiLCJhZGRyZXNzIiwiY2l0eSIsImxpbmVPbmUiLCJsaW5lVHdvIiwicG9zdGNvZGUiLCJzdGF0ZSIsImFkZHJDb21wb25lbnQiLCJhZGRyVHlwZXMiLCJ0eXBlcyIsImFkZHJUeXBlIiwiY29tcG9uZW50U2V0dGluZyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJ0eXBlIiwiZXJyIiwiZiIsImFkZHJlc3NWYWwiLCJvbGRMaW5lT25lIiwiY29uY2F0IiwidHJpbSIsIm9sZENpdHkiLCJmb3JtYXR0ZWRBZGRyZXNzIiwicGFydHMiLCJzcGxpdCIsImFkZHJlc3NJbk9uZUxpbmUiLCJhIiwibDEiLCJsMiIsImMiLCJwIiwiY291bnRyeUZ1bGwiLCJGaWVsZFR5cGUiLCJpc1NlbGVjdGFibGUiLCJmaWVsZFR5cGUiLCJTRUxFQ1QiLCJDSEVDS0JPWCIsIlJBRElPIiwiSU1BR0VfU0VMRUNUIiwiQ09MT1VSX1NFTEVDVCIsIlRVUk5BUk9VTkRfVElNRSIsImlzSW5zdHJ1Y3Rpb25zVHlwZSIsIkZJRUxEX0lOU1RSVUNUSU9OUyIsImNvdW50cnlEZWZhdWx0RGljdCIsImN1cnJlbmN5Iiwic3VwcG9ydGVkQ291bnRyeURlZmF1bHRzIiwic3VwcG9ydGVkQ291bnRyeURlZmF1bHRzV2l0aERlZmF1bHQiLCJjb3VudHJ5Q29kZSIsImRlZmF1bHRDb3VudHJ5VmFsdWVzIiwiY2xlYW5DbGllbnRGaWxlcyIsImNsaWVudEZpbGVzIiwiY2xpZW50RmlsZSIsImZpbGUiLCJhcHBlbmRDbGllbnRUb093bkRyYWZ0Iiwiam9iIiwib3duRHJhZnRzIiwiZGVzaWduZXIiLCJjbGllbnQiLCJub3JtYWxpemVSZWRpcmVjdEJhc2VVcmwiLCJ1cmwiLCJjbGVhbiIsInJlcGxhY2UiLCJ0ZXN0IiwiZGVjb2RlZCIsImRlY29kZVVSSUNvbXBvbmVudCIsIl91bnVzZWQiLCJnZXRDbGllbnRFbWFpbCIsIl9jbGllbnQkZW1haWxBZGRyZXNzZSIsImVtYWlsIiwiZW1haWxBZGRyZXNzZXMiLCJlbWFpbEFkZHJlc3MiLCJidWlsZFN1Y2Nlc3NSZWRpcmVjdFVybCIsInJlZGlyZWN0V2l0aFZhbHVlIiwiZXh0cmFzIiwiYXJndW1lbnRzIiwiYmFzZSIsInRhcmdldCIsIlVSTCIsIndpbmRvdyIsImxvY2F0aW9uIiwiaHJlZiIsInNlYXJjaFBhcmFtcyIsInNldCIsImludm9pY2VJZCIsInN0YXJ0c1dpdGgiLCJob3N0IiwicGF0aG5hbWUiLCJzZWFyY2giLCJoYXNoIiwidG9TdHJpbmciLCJyZWRpcmVjdE9uU3VjY2VzcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0VHlwZSwgUm9sZSB9IGZyb20gJy4vdHlwZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGlzb0NvdW50cmllczogYW55ID0ge1xyXG4gIEFGOiBcIkFmZ2hhbmlzdGFuXCIsXHJcbiAgQVg6IFwiQWxhbmQgSXNsYW5kc1wiLFxyXG4gIEFMOiBcIkFsYmFuaWFcIixcclxuICBEWjogXCJBbGdlcmlhXCIsXHJcbiAgQVM6IFwiQW1lcmljYW4gU2Ftb2FcIixcclxuICBBRDogXCJBbmRvcnJhXCIsXHJcbiAgQU86IFwiQW5nb2xhXCIsXHJcbiAgQUk6IFwiQW5ndWlsbGFcIixcclxuICBBUTogXCJBbnRhcmN0aWNhXCIsXHJcbiAgQUc6IFwiQW50aWd1YSBBbmQgQmFyYnVkYVwiLFxyXG4gIEFSOiBcIkFyZ2VudGluYVwiLFxyXG4gIEFNOiBcIkFybWVuaWFcIixcclxuICBBVzogXCJBcnViYVwiLFxyXG4gIEFVOiBcIkF1c3RyYWxpYVwiLFxyXG4gIEFUOiBcIkF1c3RyaWFcIixcclxuICBBWjogXCJBemVyYmFpamFuXCIsXHJcbiAgQlM6IFwiQmFoYW1hc1wiLFxyXG4gIEJIOiBcIkJhaHJhaW5cIixcclxuICBCRDogXCJCYW5nbGFkZXNoXCIsXHJcbiAgQkI6IFwiQmFyYmFkb3NcIixcclxuICBCWTogXCJCZWxhcnVzXCIsXHJcbiAgQkU6IFwiQmVsZ2l1bVwiLFxyXG4gIEJaOiBcIkJlbGl6ZVwiLFxyXG4gIEJKOiBcIkJlbmluXCIsXHJcbiAgQk06IFwiQmVybXVkYVwiLFxyXG4gIEJUOiBcIkJodXRhblwiLFxyXG4gIEJPOiBcIkJvbGl2aWFcIixcclxuICBCQTogXCJCb3NuaWEgQW5kIEhlcnplZ292aW5hXCIsXHJcbiAgQlc6IFwiQm90c3dhbmFcIixcclxuICBCVjogXCJCb3V2ZXQgSXNsYW5kXCIsXHJcbiAgQlI6IFwiQnJhemlsXCIsXHJcbiAgSU86IFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsXHJcbiAgQk46IFwiQnJ1bmVpIERhcnVzc2FsYW1cIixcclxuICBCRzogXCJCdWxnYXJpYVwiLFxyXG4gIEJGOiBcIkJ1cmtpbmEgRmFzb1wiLFxyXG4gIEJJOiBcIkJ1cnVuZGlcIixcclxuICBLSDogXCJDYW1ib2RpYVwiLFxyXG4gIENNOiBcIkNhbWVyb29uXCIsXHJcbiAgQ0E6IFwiQ2FuYWRhXCIsXHJcbiAgQ1Y6IFwiQ2FwZSBWZXJkZVwiLFxyXG4gIEtZOiBcIkNheW1hbiBJc2xhbmRzXCIsXHJcbiAgQ0Y6IFwiQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljXCIsXHJcbiAgVEQ6IFwiQ2hhZFwiLFxyXG4gIENMOiBcIkNoaWxlXCIsXHJcbiAgQ046IFwiQ2hpbmFcIixcclxuICBDWDogXCJDaHJpc3RtYXMgSXNsYW5kXCIsXHJcbiAgQ0M6IFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIixcclxuICBDTzogXCJDb2xvbWJpYVwiLFxyXG4gIEtNOiBcIkNvbW9yb3NcIixcclxuICBDRzogXCJDb25nb1wiLFxyXG4gIENEOiBcIkNvbmdvLCBEZW1vY3JhdGljIFJlcHVibGljXCIsXHJcbiAgQ0s6IFwiQ29vayBJc2xhbmRzXCIsXHJcbiAgQ1I6IFwiQ29zdGEgUmljYVwiLFxyXG4gIENJOiBcIkNvdGUgRCdJdm9pcmVcIixcclxuICBIUjogXCJDcm9hdGlhXCIsXHJcbiAgQ1U6IFwiQ3ViYVwiLFxyXG4gIENZOiBcIkN5cHJ1c1wiLFxyXG4gIENaOiBcIkN6ZWNoIFJlcHVibGljXCIsXHJcbiAgREs6IFwiRGVubWFya1wiLFxyXG4gIERKOiBcIkRqaWJvdXRpXCIsXHJcbiAgRE06IFwiRG9taW5pY2FcIixcclxuICBETzogXCJEb21pbmljYW4gUmVwdWJsaWNcIixcclxuICBFQzogXCJFY3VhZG9yXCIsXHJcbiAgRUc6IFwiRWd5cHRcIixcclxuICBTVjogXCJFbCBTYWx2YWRvclwiLFxyXG4gIEdROiBcIkVxdWF0b3JpYWwgR3VpbmVhXCIsXHJcbiAgRVI6IFwiRXJpdHJlYVwiLFxyXG4gIEVFOiBcIkVzdG9uaWFcIixcclxuICBFVDogXCJFdGhpb3BpYVwiLFxyXG4gIEZLOiBcIkZhbGtsYW5kIElzbGFuZHMgKE1hbHZpbmFzKVwiLFxyXG4gIEZPOiBcIkZhcm9lIElzbGFuZHNcIixcclxuICBGSjogXCJGaWppXCIsXHJcbiAgRkk6IFwiRmlubGFuZFwiLFxyXG4gIEZSOiBcIkZyYW5jZVwiLFxyXG4gIEdGOiBcIkZyZW5jaCBHdWlhbmFcIixcclxuICBQRjogXCJGcmVuY2ggUG9seW5lc2lhXCIsXHJcbiAgVEY6IFwiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzXCIsXHJcbiAgR0E6IFwiR2Fib25cIixcclxuICBHTTogXCJHYW1iaWFcIixcclxuICBHRTogXCJHZW9yZ2lhXCIsXHJcbiAgREU6IFwiR2VybWFueVwiLFxyXG4gIEdIOiBcIkdoYW5hXCIsXHJcbiAgR0k6IFwiR2licmFsdGFyXCIsXHJcbiAgR1I6IFwiR3JlZWNlXCIsXHJcbiAgR0w6IFwiR3JlZW5sYW5kXCIsXHJcbiAgR0Q6IFwiR3JlbmFkYVwiLFxyXG4gIEdQOiBcIkd1YWRlbG91cGVcIixcclxuICBHVTogXCJHdWFtXCIsXHJcbiAgR1Q6IFwiR3VhdGVtYWxhXCIsXHJcbiAgR0c6IFwiR3Vlcm5zZXlcIixcclxuICBHTjogXCJHdWluZWFcIixcclxuICBHVzogXCJHdWluZWEtQmlzc2F1XCIsXHJcbiAgR1k6IFwiR3V5YW5hXCIsXHJcbiAgSFQ6IFwiSGFpdGlcIixcclxuICBITTogXCJIZWFyZCBJc2xhbmQgJiBNY2RvbmFsZCBJc2xhbmRzXCIsXHJcbiAgVkE6IFwiSG9seSBTZWUgKFZhdGljYW4gQ2l0eSBTdGF0ZSlcIixcclxuICBITjogXCJIb25kdXJhc1wiLFxyXG4gIEhLOiBcIkhvbmcgS29uZ1wiLFxyXG4gIEhVOiBcIkh1bmdhcnlcIixcclxuICBJUzogXCJJY2VsYW5kXCIsXHJcbiAgSU46IFwiSW5kaWFcIixcclxuICBJRDogXCJJbmRvbmVzaWFcIixcclxuICBJUjogXCJJcmFuLCBJc2xhbWljIFJlcHVibGljIE9mXCIsXHJcbiAgSVE6IFwiSXJhcVwiLFxyXG4gIElFOiBcIklyZWxhbmRcIixcclxuICBJTTogXCJJc2xlIE9mIE1hblwiLFxyXG4gIElMOiBcIklzcmFlbFwiLFxyXG4gIElUOiBcIkl0YWx5XCIsXHJcbiAgSk06IFwiSmFtYWljYVwiLFxyXG4gIEpQOiBcIkphcGFuXCIsXHJcbiAgSkU6IFwiSmVyc2V5XCIsXHJcbiAgSk86IFwiSm9yZGFuXCIsXHJcbiAgS1o6IFwiS2F6YWtoc3RhblwiLFxyXG4gIEtFOiBcIktlbnlhXCIsXHJcbiAgS0k6IFwiS2lyaWJhdGlcIixcclxuICBLUjogXCJLb3JlYVwiLFxyXG4gIEtXOiBcIkt1d2FpdFwiLFxyXG4gIEtHOiBcIkt5cmd5enN0YW5cIixcclxuICBMQTogXCJMYW8gUGVvcGxlJ3MgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxyXG4gIExWOiBcIkxhdHZpYVwiLFxyXG4gIExCOiBcIkxlYmFub25cIixcclxuICBMUzogXCJMZXNvdGhvXCIsXHJcbiAgTFI6IFwiTGliZXJpYVwiLFxyXG4gIExZOiBcIkxpYnlhbiBBcmFiIEphbWFoaXJpeWFcIixcclxuICBMSTogXCJMaWVjaHRlbnN0ZWluXCIsXHJcbiAgTFQ6IFwiTGl0aHVhbmlhXCIsXHJcbiAgTFU6IFwiTHV4ZW1ib3VyZ1wiLFxyXG4gIE1POiBcIk1hY2FvXCIsXHJcbiAgTUs6IFwiTWFjZWRvbmlhXCIsXHJcbiAgTUc6IFwiTWFkYWdhc2NhclwiLFxyXG4gIE1XOiBcIk1hbGF3aVwiLFxyXG4gIE1ZOiBcIk1hbGF5c2lhXCIsXHJcbiAgTVY6IFwiTWFsZGl2ZXNcIixcclxuICBNTDogXCJNYWxpXCIsXHJcbiAgTVQ6IFwiTWFsdGFcIixcclxuICBNSDogXCJNYXJzaGFsbCBJc2xhbmRzXCIsXHJcbiAgTVE6IFwiTWFydGluaXF1ZVwiLFxyXG4gIE1SOiBcIk1hdXJpdGFuaWFcIixcclxuICBNVTogXCJNYXVyaXRpdXNcIixcclxuICBZVDogXCJNYXlvdHRlXCIsXHJcbiAgTVg6IFwiTWV4aWNvXCIsXHJcbiAgRk06IFwiTWljcm9uZXNpYSwgRmVkZXJhdGVkIFN0YXRlcyBPZlwiLFxyXG4gIE1EOiBcIk1vbGRvdmFcIixcclxuICBNQzogXCJNb25hY29cIixcclxuICBNTjogXCJNb25nb2xpYVwiLFxyXG4gIE1FOiBcIk1vbnRlbmVncm9cIixcclxuICBNUzogXCJNb250c2VycmF0XCIsXHJcbiAgTUE6IFwiTW9yb2Njb1wiLFxyXG4gIE1aOiBcIk1vemFtYmlxdWVcIixcclxuICBNTTogXCJNeWFubWFyXCIsXHJcbiAgTkE6IFwiTmFtaWJpYVwiLFxyXG4gIE5SOiBcIk5hdXJ1XCIsXHJcbiAgTlA6IFwiTmVwYWxcIixcclxuICBOTDogXCJOZXRoZXJsYW5kc1wiLFxyXG4gIEFOOiBcIk5ldGhlcmxhbmRzIEFudGlsbGVzXCIsXHJcbiAgTkM6IFwiTmV3IENhbGVkb25pYVwiLFxyXG4gIE5aOiBcIk5ldyBaZWFsYW5kXCIsXHJcbiAgTkk6IFwiTmljYXJhZ3VhXCIsXHJcbiAgTkU6IFwiTmlnZXJcIixcclxuICBORzogXCJOaWdlcmlhXCIsXHJcbiAgTlU6IFwiTml1ZVwiLFxyXG4gIE5GOiBcIk5vcmZvbGsgSXNsYW5kXCIsXHJcbiAgTVA6IFwiTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzXCIsXHJcbiAgTk86IFwiTm9yd2F5XCIsXHJcbiAgT006IFwiT21hblwiLFxyXG4gIFBLOiBcIlBha2lzdGFuXCIsXHJcbiAgUFc6IFwiUGFsYXVcIixcclxuICBQUzogXCJQYWxlc3RpbmlhbiBUZXJyaXRvcnksIE9jY3VwaWVkXCIsXHJcbiAgUEE6IFwiUGFuYW1hXCIsXHJcbiAgUEc6IFwiUGFwdWEgTmV3IEd1aW5lYVwiLFxyXG4gIFBZOiBcIlBhcmFndWF5XCIsXHJcbiAgUEU6IFwiUGVydVwiLFxyXG4gIFBIOiBcIlBoaWxpcHBpbmVzXCIsXHJcbiAgUE46IFwiUGl0Y2Fpcm5cIixcclxuICBQTDogXCJQb2xhbmRcIixcclxuICBQVDogXCJQb3J0dWdhbFwiLFxyXG4gIFBSOiBcIlB1ZXJ0byBSaWNvXCIsXHJcbiAgUUE6IFwiUWF0YXJcIixcclxuICBSRTogXCJSZXVuaW9uXCIsXHJcbiAgUk86IFwiUm9tYW5pYVwiLFxyXG4gIFJVOiBcIlJ1c3NpYW4gRmVkZXJhdGlvblwiLFxyXG4gIFJXOiBcIlJ3YW5kYVwiLFxyXG4gIEJMOiBcIlNhaW50IEJhcnRoZWxlbXlcIixcclxuICBTSDogXCJTYWludCBIZWxlbmFcIixcclxuICBLTjogXCJTYWludCBLaXR0cyBBbmQgTmV2aXNcIixcclxuICBMQzogXCJTYWludCBMdWNpYVwiLFxyXG4gIE1GOiBcIlNhaW50IE1hcnRpblwiLFxyXG4gIFBNOiBcIlNhaW50IFBpZXJyZSBBbmQgTWlxdWVsb25cIixcclxuICBWQzogXCJTYWludCBWaW5jZW50IEFuZCBHcmVuYWRpbmVzXCIsXHJcbiAgV1M6IFwiU2Ftb2FcIixcclxuICBTTTogXCJTYW4gTWFyaW5vXCIsXHJcbiAgU1Q6IFwiU2FvIFRvbWUgQW5kIFByaW5jaXBlXCIsXHJcbiAgU0E6IFwiU2F1ZGkgQXJhYmlhXCIsXHJcbiAgU046IFwiU2VuZWdhbFwiLFxyXG4gIFJTOiBcIlNlcmJpYVwiLFxyXG4gIFNDOiBcIlNleWNoZWxsZXNcIixcclxuICBTTDogXCJTaWVycmEgTGVvbmVcIixcclxuICBTRzogXCJTaW5nYXBvcmVcIixcclxuICBTSzogXCJTbG92YWtpYVwiLFxyXG4gIFNJOiBcIlNsb3ZlbmlhXCIsXHJcbiAgU0I6IFwiU29sb21vbiBJc2xhbmRzXCIsXHJcbiAgU086IFwiU29tYWxpYVwiLFxyXG4gIFpBOiBcIlNvdXRoIEFmcmljYVwiLFxyXG4gIEdTOiBcIlNvdXRoIEdlb3JnaWEgQW5kIFNhbmR3aWNoIElzbC5cIixcclxuICBFUzogXCJTcGFpblwiLFxyXG4gIExLOiBcIlNyaSBMYW5rYVwiLFxyXG4gIFNEOiBcIlN1ZGFuXCIsXHJcbiAgU1I6IFwiU3VyaW5hbWVcIixcclxuICBTSjogXCJTdmFsYmFyZCBBbmQgSmFuIE1heWVuXCIsXHJcbiAgU1o6IFwiU3dhemlsYW5kXCIsXHJcbiAgU0U6IFwiU3dlZGVuXCIsXHJcbiAgQ0g6IFwiU3dpdHplcmxhbmRcIixcclxuICBTWTogXCJTeXJpYW4gQXJhYiBSZXB1YmxpY1wiLFxyXG4gIFRXOiBcIlRhaXdhblwiLFxyXG4gIFRKOiBcIlRhamlraXN0YW5cIixcclxuICBUWjogXCJUYW56YW5pYVwiLFxyXG4gIFRIOiBcIlRoYWlsYW5kXCIsXHJcbiAgVEw6IFwiVGltb3ItTGVzdGVcIixcclxuICBURzogXCJUb2dvXCIsXHJcbiAgVEs6IFwiVG9rZWxhdVwiLFxyXG4gIFRPOiBcIlRvbmdhXCIsXHJcbiAgVFQ6IFwiVHJpbmlkYWQgQW5kIFRvYmFnb1wiLFxyXG4gIFROOiBcIlR1bmlzaWFcIixcclxuICBUUjogXCJUdXJrZXlcIixcclxuICBUTTogXCJUdXJrbWVuaXN0YW5cIixcclxuICBUQzogXCJUdXJrcyBBbmQgQ2FpY29zIElzbGFuZHNcIixcclxuICBUVjogXCJUdXZhbHVcIixcclxuICBVRzogXCJVZ2FuZGFcIixcclxuICBVQTogXCJVa3JhaW5lXCIsXHJcbiAgQUU6IFwiVW5pdGVkIEFyYWIgRW1pcmF0ZXNcIixcclxuICBHQjogXCJVbml0ZWQgS2luZ2RvbVwiLFxyXG4gIFVTOiBcIlVuaXRlZCBTdGF0ZXNcIixcclxuICBVTTogXCJVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHNcIixcclxuICBVWTogXCJVcnVndWF5XCIsXHJcbiAgVVo6IFwiVXpiZWtpc3RhblwiLFxyXG4gIFZVOiBcIlZhbnVhdHVcIixcclxuICBWRTogXCJWZW5lenVlbGFcIixcclxuICBWTjogXCJWaWV0IE5hbVwiLFxyXG4gIFZHOiBcIlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoXCIsXHJcbiAgVkk6IFwiVmlyZ2luIElzbGFuZHMsIFUuUy5cIixcclxuICBXRjogXCJXYWxsaXMgQW5kIEZ1dHVuYVwiLFxyXG4gIEVIOiBcIldlc3Rlcm4gU2FoYXJhXCIsXHJcbiAgWUU6IFwiWWVtZW5cIixcclxuICBaTTogXCJaYW1iaWFcIixcclxuICBaVzogXCJaaW1iYWJ3ZVwiXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXI6IGFueSwgcm9sZXM6IEFycmF5PG51bWJlcj4pIHtcclxuICBjb25zdCBlRCA9IHVzZXIgJiYgdXNlci5lbnJvbGxlZERvbWFpbnMgPyB1c2VyLmVucm9sbGVkRG9tYWlucyA6IFtdO1xyXG4gIGNvbnN0IGRvbWFpbnM6IGFueVtdID0gW107XHJcbiAgbGV0IGkgPSAwO1xyXG4gIGZvciAoaTsgaSA8IGVELmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjb25zdCBlID0gZURbaV07XHJcbiAgICBpZiAocm9sZXMuaW5jbHVkZXMoZS5yb2xlKSkge1xyXG4gICAgICBkb21haW5zLnB1c2goKGUgYXMgYW55KS5kb21haW4pO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gZG9tYWlucztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHVzZXJBZG1pbkRvbWFpbnModXNlcjogYW55KSB7XHJcbiAgcmV0dXJuIHVzZXJEb21haW5zQnlSb2xlcyh1c2VyLCBbUm9sZS5BRE1JTiwgUm9sZS5NQU5BR0VSXSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0OiBhbnkpIHtcclxuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZVxyXG4gIHJldHVybiBwcm9kdWN0ICYmIFtcclxuICAgIFN0cmluZyhQcm9kdWN0VHlwZS5TVVBQTElFUl9NT0QpLFxyXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpXHJcbiAgXS5pbmNsdWRlcyhTdHJpbmcocHJvZHVjdFR5cGUpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzVXNlclJlZ2lzdGVyZWQodXNlcjogYW55KSB7XHJcbiAgY29uc3QgaWQgPSB1c2VyID8gdXNlci5pZCA6IG51bGw7XHJcbiAgcmV0dXJuIGlkICE9PSB1bmRlZmluZWQgJiYgaWQgIT09IG51bGwgJiYgaWQgPiAwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNSZWdpc3RlcmVkQW5kSGFzU3RvcmUodXNlcjogYW55KSB7XHJcbiAgY29uc3QgaWQgPSB1c2VyID8gdXNlci5pZCA6IG51bGw7XHJcbiAgcmV0dXJuIGlkICE9PSB1bmRlZmluZWQgJiYgaWQgIT09IG51bGwgJiYgaWQgPiAwICYmIHVzZXIuaGFzU3RvcmU7XHJcbn1cclxuXHJcbmNvbnN0IHN1cHBvcnRlZE51bWJlcnM6IGFueSA9IHtcclxuICBBVTogJ0F1c3RyYWxpYSAoKzYxKScsXHJcbiAgQUU6ICdVbml0ZWQgQXJhYiBFbWlyYXRlcyAoKzk3MSknLFxyXG4gIEJIOiAnQmFocmFpbiAoKzk3MyknLFxyXG4gIENOOiAnQ2hpbmEgKCs4NiknLFxyXG4gIERLOiAnRGVubWFyayAoKzQ1KScsXHJcbiAgRVM6ICdTcGFpbiAoKzM0KScsXHJcbiAgRlI6ICdGcmFuY2UgKCszMyknLFxyXG4gIEdCOiAnVW5pdGVkIEtpbmdkb20gKCs0NCknLFxyXG4gIEhLOiAnSG9uZyBLb25nICgrODUyKScsXHJcbiAgSUQ6ICdJbmRvbmVzaWEgKCs2MiknLFxyXG4gIElOOiAnSW5kaWEgKCs5MSknLFxyXG4gIElUOiAnSXRhbHkgKCszOSknLFxyXG4gIEtSOiAnU291dGggS29yZWEgKCs4MiknLFxyXG4gIE5DOiAnTmV3IENhbGVkb25pYSAoKzY4NyknLFxyXG4gIE5aOiAnTmV3IFplYWxhbmQgKCs2NCknLFxyXG4gIE9NOiAnT21hbiAoKzk2OCknLFxyXG4gIFBIOiAnUGhpbGlwcGluZXMgKCs2MyknLFxyXG4gIFBUOiAnUG9ydHVnYWwgKCszNTEpJyxcclxuICBRQTogJ1FhdGFyICgrOTc0KScsXHJcbiAgU0U6ICdTd2VkZW4gKCs0NiknLFxyXG4gIFNHOiAnU2luZ2Fwb3JlICgrNjUpJyxcclxuICBUSDogJ1RoYWlsYW5kICgrNjYpJyxcclxuICBVUzogJ1VuaXRlZCBTdGF0ZXMgKCsxKScsXHJcbiAgWkE6ICdTb3V0aCBBZnJpY2EgKCsyNyknLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBob25lT3B0aW9ucyA9IE9iamVjdC5rZXlzKHN1cHBvcnRlZE51bWJlcnMpLm1hcCgoa2V5KSA9PiAoe1xyXG4gIHZhbHVlOiBrZXksXHJcbiAgbGFiZWw6IHN1cHBvcnRlZE51bWJlcnNba2V5XSxcclxufSkpO1xyXG5cclxuZXhwb3J0IGNvbnN0IGFkZHJlc3NDb21wb25lbnRzU2V0dGluZ3NCYWNrZW5kOiBhbnkgPSB7XHJcbiAgYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8xOiAnc2hvcnROYW1lJyxcclxuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzI6ICdzaG9ydE5hbWUnLFxyXG4gIGNvdW50cnk6ICdzaG9ydE5hbWUnLFxyXG4gIGVzdGFibGlzaG1lbnQ6ICdsb25nTmFtZScsXHJcbiAgZmxvb3I6ICdzaG9ydE5hbWUnLFxyXG4gIGxvY2FsaXR5OiAnbG9uZ05hbWUnLFxyXG4gIHBvc3RhbF9jb2RlOiAnc2hvcnROYW1lJyxcclxuICBwcmVtaXNlOiAnc2hvcnROYW1lJyxcclxuICByb29tOiAnbG9uZ05hbWUnLFxyXG4gIHJvdXRlOiAnc2hvcnROYW1lJyxcclxuICBzdHJlZXRfbnVtYmVyOiAnc2hvcnROYW1lJyxcclxuICBzdWJsb2NhbGl0eTogJ2xvbmdOYW1lJyxcclxuICBzdWJwcmVtaXNlOiAnc2hvcnROYW1lJyxcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnb29nbGVQbGFjZXNSZXN1bHRBc05ld0FkZHJlc3MocGxhY2VEZXRhaWxzOiBhbnkpIHtcclxuICBjb25zdCBhZGRyZXNzQ29tcG9uZW50cyA9IHBsYWNlRGV0YWlscz8uYWRkcmVzc0NvbXBvbmVudHMgfHwgW107XHJcbiAgY29uc3QgbmFtZSA9IHBsYWNlRGV0YWlscz8ubmFtZSB8fCAnJztcclxuICBjb25zdCBhZGRyZXNzID0ge1xyXG4gICAgY2l0eTogJycsXHJcbiAgICBjb3VudHJ5OiAnJyxcclxuICAgIGxpbmVPbmU6IG5hbWUgPyBuYW1lIDogJycsXHJcbiAgICBsaW5lVHdvOiAnJyxcclxuICAgIHBvc3Rjb2RlOiAnJyxcclxuICAgIHN0YXRlOiAnJyxcclxuICB9O1xyXG5cclxuICBpZiAoYWRkcmVzc0NvbXBvbmVudHMgJiYgYWRkcmVzc0NvbXBvbmVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBhZGRyQ29tcG9uZW50ID0gYWRkcmVzc0NvbXBvbmVudHNbaV07XHJcbiAgICAgIGNvbnN0IGFkZHJUeXBlcyA9IGFkZHJDb21wb25lbnQudHlwZXM7XHJcbiAgICAgIFxyXG4gICAgICAvLyBGaW5kIHRoZSBmaXJzdCByZWxldmFudCB0eXBlIHRoYXQgd2UgaGF2ZSBhIHNldHRpbmcgZm9yXHJcbiAgICAgIGxldCBhZGRyVHlwZSA9IG51bGw7XHJcbiAgICAgIGxldCBjb21wb25lbnRTZXR0aW5nID0gbnVsbDtcclxuICAgICAgXHJcbiAgICAgIGZvciAoY29uc3QgdHlwZSBvZiBhZGRyVHlwZXMpIHtcclxuICAgICAgICBpZiAoYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5nc0JhY2tlbmRbdHlwZV0pIHtcclxuICAgICAgICAgIGFkZHJUeXBlID0gdHlwZTtcclxuICAgICAgICAgIGNvbXBvbmVudFNldHRpbmcgPSBhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZFt0eXBlXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbXBvbmVudFNldHRpbmcgJiYgYWRkclR5cGUpIHtcclxuICAgICAgICBjb25zdCBhZGRyZXNzVmFsID0gYWRkckNvbXBvbmVudFtjb21wb25lbnRTZXR0aW5nXTtcclxuICAgICAgICBzd2l0Y2ggKGFkZHJUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlICdlc3RhYmxpc2htZW50JzpcclxuICAgICAgICAgIGNhc2UgJ3Jvb20nOlxyXG4gICAgICAgICAgY2FzZSAnZmxvb3InOlxyXG4gICAgICAgICAgY2FzZSAnc3RyZWV0X251bWJlcic6XHJcbiAgICAgICAgICBjYXNlICdwcmVtaXNlJzpcclxuICAgICAgICAgIGNhc2UgJ3N1YnByZW1pc2UnOlxyXG4gICAgICAgICAgY2FzZSAncm91dGUnOlxyXG4gICAgICAgICAgICBjb25zdCBvbGRMaW5lT25lID0gYWRkcmVzcy5saW5lT25lO1xyXG4gICAgICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBvbGRMaW5lT25lLmluY2x1ZGVzKGFkZHJlc3NWYWwpID9cclxuICAgICAgICAgICAgICBvbGRMaW5lT25lIDogYCR7b2xkTGluZU9uZX0gJHthZGRyZXNzVmFsfWAudHJpbSgpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgJ2xvY2FsaXR5JzpcclxuICAgICAgICAgIGNhc2UgJ3N1YmxvY2FsaXR5JzpcclxuICAgICAgICAgICAgY29uc3Qgb2xkQ2l0eSA9IGFkZHJlc3MuY2l0eSA/IGAke2FkZHJlc3MuY2l0eX0gYCA6ICcnO1xyXG4gICAgICAgICAgICBhZGRyZXNzLmNpdHkgPSAob2xkQ2l0eSArIGFkZHJlc3NWYWwpLnRyaW0oKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzEnOlxyXG5cclxuICAgICAgICAgICAgYWRkcmVzcy5zdGF0ZSA9IGFkZHJlc3NWYWw7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8yJzpcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlICdjb3VudHJ5JzpcclxuXHJcbiAgICAgICAgICAgIGFkZHJlc3MuY291bnRyeSA9IGFkZHJlc3NWYWw7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSAncG9zdGFsX2NvZGUnOlxyXG4gICAgICAgICAgICBhZGRyZXNzLnBvc3Rjb2RlID0gYWRkcmVzc1ZhbDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDbGVhbiB1cCBsaW5lIG9uZSBpZiBpdCdzIGVtcHR5IGFuZCB3ZSBoYXZlIGEgZm9ybWF0dGVkIGFkZHJlc3NcclxuICAgIGlmICghYWRkcmVzcy5saW5lT25lLnRyaW0oKSAmJiBwbGFjZURldGFpbHM/LmZvcm1hdHRlZEFkZHJlc3MpIHtcclxuICAgICAgLy8gVHJ5IHRvIGV4dHJhY3Qgc3RyZWV0IGFkZHJlc3MgZnJvbSBmb3JtYXR0ZWQgYWRkcmVzc1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IHBsYWNlRGV0YWlscy5mb3JtYXR0ZWRBZGRyZXNzLnNwbGl0KCcsJyk7XHJcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgYWRkcmVzcy5saW5lT25lID0gcGFydHNbMF0udHJpbSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFkZHJlc3M7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NJbk9uZUxpbmUoYWRkcmVzczogYW55KSB7XHJcbiAgY29uc3QgYSA9IGFkZHJlc3MgPyBhZGRyZXNzIDoge307XHJcbiAgY29uc3Qge1xyXG4gICAgY2l0eSxcclxuICAgIGNvdW50cnksXHJcbiAgICBsaW5lT25lLFxyXG4gICAgbGluZVR3byxcclxuICAgIHBvc3Rjb2RlLFxyXG4gICAgc3RhdGVcclxuICB9ID0gYTtcclxuICBjb25zdCBsMSA9IGxpbmVPbmUgPyBgJHtsaW5lT25lfSBgIDogJyc7XHJcbiAgY29uc3QgbDIgPSBsaW5lVHdvID8gYCR7bGluZVR3b30gYCA6ICcnO1xyXG4gIGNvbnN0IGMgPSBjaXR5ID8gYCR7Y2l0eX0gYCA6ICcnO1xyXG4gIGNvbnN0IHMgPSBzdGF0ZSA/IGAke3N0YXRlfSBgIDogJyc7XHJcbiAgY29uc3QgcCA9IHBvc3Rjb2RlID8gYCR7cG9zdGNvZGV9IGAgOiAnJztcclxuICBjb25zdCBjb3VudHJ5RnVsbCA9IGNvdW50cnkgPyBpc29Db3VudHJpZXNbY291bnRyeV0gOiAnJztcclxuICByZXR1cm4gbDEgKyBsMiArIGMgKyBzICsgcCArIGNvdW50cnlGdWxsO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBGaWVsZFR5cGUge1xyXG4gIFRFWFRfSU5QVVQgPSAxLFxyXG4gIFNFTEVDVCA9IDIsXHJcbiAgRklMRV9VUExPQUQgPSAzLFxyXG4gIFRFWFRfQVJFQSA9IDQsXHJcbiAgTlVNQkVSX0lOUFVUID0gNSxcclxuICBDSEVDS0JPWCA9IDYsXHJcbiAgUkFESU8gPSA3LFxyXG4gIEZJRUxEX0lOU1RSVUNUSU9OUyA9IDgsXHJcbiAgSU1BR0VfU0VMRUNUID0gOSxcclxuICBDT0xPVVJfUElDS0VSID0gMTAsXHJcbiAgQ09MT1VSX1NFTEVDVCA9IDExLFxyXG4gIFRVUk5BUk9VTkRfVElNRSA9IDEyLFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RhYmxlKGZpZWxkVHlwZTogbnVtYmVyKSB7XHJcbiAgcmV0dXJuIFtcclxuICAgIEZpZWxkVHlwZS5TRUxFQ1QsXHJcbiAgICBGaWVsZFR5cGUuQ0hFQ0tCT1gsXHJcbiAgICBGaWVsZFR5cGUuUkFESU8sXHJcbiAgICBGaWVsZFR5cGUuSU1BR0VfU0VMRUNULFxyXG4gICAgRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QsXHJcbiAgICBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FLFxyXG4gIF0uaW5jbHVkZXMoZmllbGRUeXBlKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5zdHJ1Y3Rpb25zVHlwZShmaWVsZFR5cGU6IG51bWJlcikge1xyXG4gIHJldHVybiBTdHJpbmcoRmllbGRUeXBlLkZJRUxEX0lOU1RSVUNUSU9OUykgPT09IFN0cmluZyhmaWVsZFR5cGUpO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgY291bnRyeURlZmF1bHREaWN0ID0gKGN1cnJlbmN5OiBzdHJpbmcpID0+IHtcclxuICByZXR1cm4ge2N1cnJlbmN5OiBjdXJyZW5jeX07XHJcbn07XHJcbiAgXHJcbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHM6IGFueSA9IHtcclxuICBBRTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBBVTogY291bnRyeURlZmF1bHREaWN0KCdBVUQnKSxcclxuICBCSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBDSDogY291bnRyeURlZmF1bHREaWN0KCdDTlknKSxcclxuICBESzogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcclxuICBFUzogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcclxuICBGUjogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcclxuICBHQjogY291bnRyeURlZmF1bHREaWN0KCdHQlAnKSxcclxuICBISzogY291bnRyeURlZmF1bHREaWN0KCdIS0QnKSxcclxuICBJRDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBJTjogY291bnRyeURlZmF1bHREaWN0KCdJTlInKSxcclxuICBJVDogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcclxuICBLUjogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBOQzogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBOWjogY291bnRyeURlZmF1bHREaWN0KCdOWkQnKSxcclxuICBPTTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBQSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBQVDogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcclxuICBRQTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBTRTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBTRzogY291bnRyeURlZmF1bHREaWN0KCdTR0QnKSxcclxuICBUSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBVUzogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxuICBaQTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcclxufTtcclxuICBcclxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0c1dpdGhEZWZhdWx0ID0gKGNvdW50cnlDb2RlOiBhbnkpID0+IHtcclxuICBjb25zdCBkZWZhdWx0Q291bnRyeVZhbHVlcyA9IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0c1tjb3VudHJ5Q29kZV07XHJcbiAgcmV0dXJuIGRlZmF1bHRDb3VudHJ5VmFsdWVzID8gZGVmYXVsdENvdW50cnlWYWx1ZXMgOiBzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHMuQVU7XHJcbn07XHJcblxyXG5pbnRlcmZhY2UgQ2xpZW50RmlsZUFuZE9iamVjdElkIHtcclxuICBmaWxlOiBhbnk7XHJcbiAgb2JqZWN0SWQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQ2xpZW50RmlsZXMoY2xpZW50RmlsZXM6IENsaWVudEZpbGVBbmRPYmplY3RJZFtdKSB7XHJcbiAgcmV0dXJuIGNsaWVudEZpbGVzLm1hcCgoY2xpZW50RmlsZTogQ2xpZW50RmlsZUFuZE9iamVjdElkKSA9PiBjbGllbnRGaWxlLmZpbGUpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2xpZW50VG9Pd25EcmFmdChqb2I6IGFueSkge1xyXG4gIGNvbnN0IHsgb3duRHJhZnRzIH0gPSBqb2I7XHJcbiAgaWYgKGpvYi5vd25EcmFmdHMgJiYgam9iLm93bkRyYWZ0cy5sZW5ndGgpIHtcclxuICAgIGpvYi5vd25EcmFmdHNbMF0uZGVzaWduZXIgPSBqb2IuY2xpZW50O1xyXG4gIH1cclxuICByZXR1cm4gam9iO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1Y2Nlc3NSZWRpcmVjdEV4dHJhcyB7XHJcbiAgLyoqIEludm9pY2UgaWQgZm9yIHBhaWQgY2hlY2tvdXQsIG9yIGpvYiBpZCBmb3IgcXVvdGUgcmVxdWVzdHMuICovXHJcbiAgaW52b2ljZUlkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcclxuICBlbWFpbD86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWNvZGUvbm9ybWFsaXplIGEgcmVkaXJlY3QgYmFzZSBVUkwgZnJvbSBlbWJlZCBzY3JpcHQgcGFyYW1zLlxyXG4gKiBIYW5kbGVzIHBlcmNlbnQtZW5jb2RpbmcsIGxlZ2FjeSAlMjcgd3JhcHBlcnMsIGFuZCB0cmFpbGluZyBqdW5rLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgbGV0IGNsZWFuID0gU3RyaW5nKHVybCB8fCAnJylcclxuICAgIC50cmltKClcclxuICAgIC5yZXBsYWNlKC8lMjcvZywgJycpXHJcbiAgICAucmVwbGFjZSgvJTkxL2csICcnKVxyXG4gICAgLnJlcGxhY2UoLyU5Mi9nLCAnJylcclxuICAgIC5yZXBsYWNlKC8lOTMvZywgJycpXHJcbiAgICAucmVwbGFjZSgvJTk0L2csICcnKVxyXG4gICAgLnJlcGxhY2UoL15bJ1wiXSt8WydcIl0rJC9nLCAnJyk7XHJcblxyXG4gIC8vIEZ1bGx5IGRlY29kZSBzbyBlbmNvZGVkIGFic29sdXRlIFVSTHMgYXJlIG5vdCB0cmVhdGVkIGFzIHJlbGF0aXZlIHBhdGhzLlxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMjsgaSsrKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIS8lWzAtOUEtRmEtZl17Mn0vLnRlc3QoY2xlYW4pKSBicmVhaztcclxuICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudChjbGVhbik7XHJcbiAgICAgIGlmIChkZWNvZGVkID09PSBjbGVhbikgYnJlYWs7XHJcbiAgICAgIGNsZWFuID0gZGVjb2RlZDtcclxuICAgIH0gY2F0Y2gge1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBjbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldENsaWVudEVtYWlsKGNsaWVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBlbWFpbCA9IGNsaWVudD8uZW1haWxBZGRyZXNzZXM/LlswXT8uZW1haWxBZGRyZXNzO1xyXG4gIHJldHVybiB0eXBlb2YgZW1haWwgPT09ICdzdHJpbmcnICYmIGVtYWlsLnRyaW0oKSA/IGVtYWlsLnRyaW0oKSA6IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkIHRoZSBwb3N0LWNoZWNrb3V0L3F1b3RlIHJlZGlyZWN0IFVSTCB3aXRoIHByb3BlciBxdWVyeSBzZXBhcmF0b3JzLlxyXG4gKiBBbHdheXMgc2FmZSB3aGVuIHRoZSBiYXNlIFVSTCBvbWl0cyBhIHRyYWlsaW5nIFwiP1wiIC8gXCImXCIuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdWNjZXNzUmVkaXJlY3RVcmwoXHJcbiAgdXJsOiBzdHJpbmcsXHJcbiAgcmVkaXJlY3RXaXRoVmFsdWU/OiBib29sZWFuLFxyXG4gIHZhbHVlPzogYW55LFxyXG4gIGV4dHJhczogU3VjY2Vzc1JlZGlyZWN0RXh0cmFzID0ge30sXHJcbik6IHN0cmluZyB7XHJcbiAgY29uc3QgYmFzZSA9IG5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCh1cmwpO1xyXG4gIGlmICghYmFzZSkgcmV0dXJuIGJhc2U7XHJcblxyXG4gIGNvbnN0IHRhcmdldCA9IG5ldyBVUkwoXHJcbiAgICBiYXNlLFxyXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6ICdodHRwczovL3BsYWNlaG9sZGVyLmludmFsaWQvJyxcclxuICApO1xyXG5cclxuICBpZiAoXHJcbiAgICByZWRpcmVjdFdpdGhWYWx1ZSAmJlxyXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgdmFsdWUgIT09IG51bGwgJiZcclxuICAgIHZhbHVlICE9PSAnJ1xyXG4gICkge1xyXG4gICAgdGFyZ2V0LnNlYXJjaFBhcmFtcy5zZXQoJ21lcmNoaVZhbHVlJywgU3RyaW5nKHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBpZiAoZXh0cmFzLmludm9pY2VJZCAhPT0gdW5kZWZpbmVkICYmIGV4dHJhcy5pbnZvaWNlSWQgIT09IG51bGwgJiYgZXh0cmFzLmludm9pY2VJZCAhPT0gJycpIHtcclxuICAgIHRhcmdldC5zZWFyY2hQYXJhbXMuc2V0KCdpbnZvaWNlSWQnLCBTdHJpbmcoZXh0cmFzLmludm9pY2VJZCkpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGV4dHJhcy5lbWFpbCkge1xyXG4gICAgdGFyZ2V0LnNlYXJjaFBhcmFtcy5zZXQoJ2VtYWlsJywgU3RyaW5nKGV4dHJhcy5lbWFpbCkpO1xyXG4gIH1cclxuXHJcbiAgLy8gUHJlc2VydmUgcHJvdG9jb2wtcmVsYXRpdmUgcmVkaXJlY3QgdGFyZ2V0cyAoLy9leGFtcGxlLmNvbS8uLi4pLlxyXG4gIGlmIChiYXNlLnN0YXJ0c1dpdGgoJy8vJykpIHtcclxuICAgIHJldHVybiBgLy8ke3RhcmdldC5ob3N0fSR7dGFyZ2V0LnBhdGhuYW1lfSR7dGFyZ2V0LnNlYXJjaH0ke3RhcmdldC5oYXNofWA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdGFyZ2V0LnRvU3RyaW5nKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWRpcmVjdE9uU3VjY2VzcyhcclxuICB1cmw6IHN0cmluZyxcclxuICByZWRpcmVjdFdpdGhWYWx1ZT86IGJvb2xlYW4sXHJcbiAgdmFsdWU/OiBhbnksXHJcbiAgZXh0cmFzOiBTdWNjZXNzUmVkaXJlY3RFeHRyYXMgPSB7fSxcclxuKSB7XHJcbiAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBidWlsZFN1Y2Nlc3NSZWRpcmVjdFVybChcclxuICAgIHVybCxcclxuICAgIHJlZGlyZWN0V2l0aFZhbHVlLFxyXG4gICAgdmFsdWUsXHJcbiAgICBleHRyYXMsXHJcbiAgKTtcclxufVxyXG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsSUFBSSxRQUFRLFNBQVM7QUFFM0MsT0FBTyxJQUFNQyxZQUFpQixHQUFHO0VBQy9CQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUs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
|
|
549
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIlJvbGUiLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwidXNlckRvbWFpbnNCeVJvbGVzIiwidXNlciIsInJvbGVzIiwiZUQiLCJlbnJvbGxlZERvbWFpbnMiLCJkb21haW5zIiwiaSIsImxlbmd0aCIsImUiLCJpbmNsdWRlcyIsInJvbGUiLCJwdXNoIiwiZG9tYWluIiwidXNlckFkbWluRG9tYWlucyIsIkFETUlOIiwiTUFOQUdFUiIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwicHJvZHVjdCIsInByb2R1Y3RUeXBlIiwiU3RyaW5nIiwiU1VQUExJRVJfTU9EIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzVXNlclJlZ2lzdGVyZWQiLCJpZCIsInVuZGVmaW5lZCIsImlzUmVnaXN0ZXJlZEFuZEhhc1N0b3JlIiwiaGFzU3RvcmUiLCJzdXBwb3J0ZWROdW1iZXJzIiwicGhvbmVPcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbHVlIiwibGFiZWwiLCJhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZCIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMiIsImNvdW50cnkiLCJlc3RhYmxpc2htZW50IiwiZmxvb3IiLCJsb2NhbGl0eSIsInBvc3RhbF9jb2RlIiwicHJlbWlzZSIsInJvb20iLCJyb3V0ZSIsInN0cmVldF9udW1iZXIiLCJzdWJsb2NhbGl0eSIsInN1YnByZW1pc2UiLCJnb29nbGVQbGFjZXNSZXN1bHRBc05ld0FkZHJlc3MiLCJwbGFjZURldGFpbHMiLCJhZGRyZXNzQ29tcG9uZW50cyIsIm5hbWUiLCJhZGRyZXNzIiwiY2l0eSIsImxpbmVPbmUiLCJsaW5lVHdvIiwicG9zdGNvZGUiLCJzdGF0ZSIsImFkZHJDb21wb25lbnQiLCJhZGRyVHlwZXMiLCJ0eXBlcyIsImFkZHJUeXBlIiwiY29tcG9uZW50U2V0dGluZyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJ0eXBlIiwiZXJyIiwiZiIsImFkZHJlc3NWYWwiLCJvbGRMaW5lT25lIiwiY29uY2F0IiwidHJpbSIsIm9sZENpdHkiLCJmb3JtYXR0ZWRBZGRyZXNzIiwicGFydHMiLCJzcGxpdCIsImFkZHJlc3NJbk9uZUxpbmUiLCJhIiwibDEiLCJsMiIsImMiLCJwIiwiY291bnRyeUZ1bGwiLCJGaWVsZFR5cGUiLCJpc1NlbGVjdGFibGUiLCJmaWVsZFR5cGUiLCJTRUxFQ1QiLCJDSEVDS0JPWCIsIlJBRElPIiwiSU1BR0VfU0VMRUNUIiwiQ09MT1VSX1NFTEVDVCIsIlRVUk5BUk9VTkRfVElNRSIsIkNPTE9VUl9FWFRSQUNUIiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiRklFTERfSU5TVFJVQ1RJT05TIiwiY291bnRyeURlZmF1bHREaWN0IiwiY3VycmVuY3kiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHMiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHNXaXRoRGVmYXVsdCIsImNvdW50cnlDb2RlIiwiZGVmYXVsdENvdW50cnlWYWx1ZXMiLCJjbGVhbkNsaWVudEZpbGVzIiwiY2xpZW50RmlsZXMiLCJjbGllbnRGaWxlIiwiZmlsZSIsImFwcGVuZENsaWVudFRvT3duRHJhZnQiLCJqb2IiLCJvd25EcmFmdHMiLCJkZXNpZ25lciIsImNsaWVudCIsIm5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCIsInVybCIsImNsZWFuIiwicmVwbGFjZSIsInRlc3QiLCJkZWNvZGVkIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiX3VudXNlZCIsImdldENsaWVudEVtYWlsIiwiX2NsaWVudCRlbWFpbEFkZHJlc3NlIiwiZW1haWwiLCJlbWFpbEFkZHJlc3NlcyIsImVtYWlsQWRkcmVzcyIsImJ1aWxkU3VjY2Vzc1JlZGlyZWN0VXJsIiwicmVkaXJlY3RXaXRoVmFsdWUiLCJleHRyYXMiLCJhcmd1bWVudHMiLCJiYXNlIiwidGFyZ2V0IiwiVVJMIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwic2VhcmNoUGFyYW1zIiwic2V0IiwiaW52b2ljZUlkIiwic3RhcnRzV2l0aCIsImhvc3QiLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giLCJ0b1N0cmluZyIsInJlZGlyZWN0T25TdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RUeXBlLCBSb2xlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc29Db3VudHJpZXM6IGFueSA9IHtcbiAgQUY6IFwiQWZnaGFuaXN0YW5cIixcbiAgQVg6IFwiQWxhbmQgSXNsYW5kc1wiLFxuICBBTDogXCJBbGJhbmlhXCIsXG4gIERaOiBcIkFsZ2VyaWFcIixcbiAgQVM6IFwiQW1lcmljYW4gU2Ftb2FcIixcbiAgQUQ6IFwiQW5kb3JyYVwiLFxuICBBTzogXCJBbmdvbGFcIixcbiAgQUk6IFwiQW5ndWlsbGFcIixcbiAgQVE6IFwiQW50YXJjdGljYVwiLFxuICBBRzogXCJBbnRpZ3VhIEFuZCBCYXJidWRhXCIsXG4gIEFSOiBcIkFyZ2VudGluYVwiLFxuICBBTTogXCJBcm1lbmlhXCIsXG4gIEFXOiBcIkFydWJhXCIsXG4gIEFVOiBcIkF1c3RyYWxpYVwiLFxuICBBVDogXCJBdXN0cmlhXCIsXG4gIEFaOiBcIkF6ZXJiYWlqYW5cIixcbiAgQlM6IFwiQmFoYW1hc1wiLFxuICBCSDogXCJCYWhyYWluXCIsXG4gIEJEOiBcIkJhbmdsYWRlc2hcIixcbiAgQkI6IFwiQmFyYmFkb3NcIixcbiAgQlk6IFwiQmVsYXJ1c1wiLFxuICBCRTogXCJCZWxnaXVtXCIsXG4gIEJaOiBcIkJlbGl6ZVwiLFxuICBCSjogXCJCZW5pblwiLFxuICBCTTogXCJCZXJtdWRhXCIsXG4gIEJUOiBcIkJodXRhblwiLFxuICBCTzogXCJCb2xpdmlhXCIsXG4gIEJBOiBcIkJvc25pYSBBbmQgSGVyemVnb3ZpbmFcIixcbiAgQlc6IFwiQm90c3dhbmFcIixcbiAgQlY6IFwiQm91dmV0IElzbGFuZFwiLFxuICBCUjogXCJCcmF6aWxcIixcbiAgSU86IFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsXG4gIEJOOiBcIkJydW5laSBEYXJ1c3NhbGFtXCIsXG4gIEJHOiBcIkJ1bGdhcmlhXCIsXG4gIEJGOiBcIkJ1cmtpbmEgRmFzb1wiLFxuICBCSTogXCJCdXJ1bmRpXCIsXG4gIEtIOiBcIkNhbWJvZGlhXCIsXG4gIENNOiBcIkNhbWVyb29uXCIsXG4gIENBOiBcIkNhbmFkYVwiLFxuICBDVjogXCJDYXBlIFZlcmRlXCIsXG4gIEtZOiBcIkNheW1hbiBJc2xhbmRzXCIsXG4gIENGOiBcIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpY1wiLFxuICBURDogXCJDaGFkXCIsXG4gIENMOiBcIkNoaWxlXCIsXG4gIENOOiBcIkNoaW5hXCIsXG4gIENYOiBcIkNocmlzdG1hcyBJc2xhbmRcIixcbiAgQ0M6IFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIixcbiAgQ086IFwiQ29sb21iaWFcIixcbiAgS006IFwiQ29tb3Jvc1wiLFxuICBDRzogXCJDb25nb1wiLFxuICBDRDogXCJDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBDSzogXCJDb29rIElzbGFuZHNcIixcbiAgQ1I6IFwiQ29zdGEgUmljYVwiLFxuICBDSTogXCJDb3RlIEQnSXZvaXJlXCIsXG4gIEhSOiBcIkNyb2F0aWFcIixcbiAgQ1U6IFwiQ3ViYVwiLFxuICBDWTogXCJDeXBydXNcIixcbiAgQ1o6IFwiQ3plY2ggUmVwdWJsaWNcIixcbiAgREs6IFwiRGVubWFya1wiLFxuICBESjogXCJEamlib3V0aVwiLFxuICBETTogXCJEb21pbmljYVwiLFxuICBETzogXCJEb21pbmljYW4gUmVwdWJsaWNcIixcbiAgRUM6IFwiRWN1YWRvclwiLFxuICBFRzogXCJFZ3lwdFwiLFxuICBTVjogXCJFbCBTYWx2YWRvclwiLFxuICBHUTogXCJFcXVhdG9yaWFsIEd1aW5lYVwiLFxuICBFUjogXCJFcml0cmVhXCIsXG4gIEVFOiBcIkVzdG9uaWFcIixcbiAgRVQ6IFwiRXRoaW9waWFcIixcbiAgRks6IFwiRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpXCIsXG4gIEZPOiBcIkZhcm9lIElzbGFuZHNcIixcbiAgRko6IFwiRmlqaVwiLFxuICBGSTogXCJGaW5sYW5kXCIsXG4gIEZSOiBcIkZyYW5jZVwiLFxuICBHRjogXCJGcmVuY2ggR3VpYW5hXCIsXG4gIFBGOiBcIkZyZW5jaCBQb2x5bmVzaWFcIixcbiAgVEY6IFwiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzXCIsXG4gIEdBOiBcIkdhYm9uXCIsXG4gIEdNOiBcIkdhbWJpYVwiLFxuICBHRTogXCJHZW9yZ2lhXCIsXG4gIERFOiBcIkdlcm1hbnlcIixcbiAgR0g6IFwiR2hhbmFcIixcbiAgR0k6IFwiR2licmFsdGFyXCIsXG4gIEdSOiBcIkdyZWVjZVwiLFxuICBHTDogXCJHcmVlbmxhbmRcIixcbiAgR0Q6IFwiR3JlbmFkYVwiLFxuICBHUDogXCJHdWFkZWxvdXBlXCIsXG4gIEdVOiBcIkd1YW1cIixcbiAgR1Q6IFwiR3VhdGVtYWxhXCIsXG4gIEdHOiBcIkd1ZXJuc2V5XCIsXG4gIEdOOiBcIkd1aW5lYVwiLFxuICBHVzogXCJHdWluZWEtQmlzc2F1XCIsXG4gIEdZOiBcIkd1eWFuYVwiLFxuICBIVDogXCJIYWl0aVwiLFxuICBITTogXCJIZWFyZCBJc2xhbmQgJiBNY2RvbmFsZCBJc2xhbmRzXCIsXG4gIFZBOiBcIkhvbHkgU2VlIChWYXRpY2FuIENpdHkgU3RhdGUpXCIsXG4gIEhOOiBcIkhvbmR1cmFzXCIsXG4gIEhLOiBcIkhvbmcgS29uZ1wiLFxuICBIVTogXCJIdW5nYXJ5XCIsXG4gIElTOiBcIkljZWxhbmRcIixcbiAgSU46IFwiSW5kaWFcIixcbiAgSUQ6IFwiSW5kb25lc2lhXCIsXG4gIElSOiBcIklyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2ZcIixcbiAgSVE6IFwiSXJhcVwiLFxuICBJRTogXCJJcmVsYW5kXCIsXG4gIElNOiBcIklzbGUgT2YgTWFuXCIsXG4gIElMOiBcIklzcmFlbFwiLFxuICBJVDogXCJJdGFseVwiLFxuICBKTTogXCJKYW1haWNhXCIsXG4gIEpQOiBcIkphcGFuXCIsXG4gIEpFOiBcIkplcnNleVwiLFxuICBKTzogXCJKb3JkYW5cIixcbiAgS1o6IFwiS2F6YWtoc3RhblwiLFxuICBLRTogXCJLZW55YVwiLFxuICBLSTogXCJLaXJpYmF0aVwiLFxuICBLUjogXCJLb3JlYVwiLFxuICBLVzogXCJLdXdhaXRcIixcbiAgS0c6IFwiS3lyZ3l6c3RhblwiLFxuICBMQTogXCJMYW8gUGVvcGxlJ3MgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBMVjogXCJMYXR2aWFcIixcbiAgTEI6IFwiTGViYW5vblwiLFxuICBMUzogXCJMZXNvdGhvXCIsXG4gIExSOiBcIkxpYmVyaWFcIixcbiAgTFk6IFwiTGlieWFuIEFyYWIgSmFtYWhpcml5YVwiLFxuICBMSTogXCJMaWVjaHRlbnN0ZWluXCIsXG4gIExUOiBcIkxpdGh1YW5pYVwiLFxuICBMVTogXCJMdXhlbWJvdXJnXCIsXG4gIE1POiBcIk1hY2FvXCIsXG4gIE1LOiBcIk1hY2Vkb25pYVwiLFxuICBNRzogXCJNYWRhZ2FzY2FyXCIsXG4gIE1XOiBcIk1hbGF3aVwiLFxuICBNWTogXCJNYWxheXNpYVwiLFxuICBNVjogXCJNYWxkaXZlc1wiLFxuICBNTDogXCJNYWxpXCIsXG4gIE1UOiBcIk1hbHRhXCIsXG4gIE1IOiBcIk1hcnNoYWxsIElzbGFuZHNcIixcbiAgTVE6IFwiTWFydGluaXF1ZVwiLFxuICBNUjogXCJNYXVyaXRhbmlhXCIsXG4gIE1VOiBcIk1hdXJpdGl1c1wiLFxuICBZVDogXCJNYXlvdHRlXCIsXG4gIE1YOiBcIk1leGljb1wiLFxuICBGTTogXCJNaWNyb25lc2lhLCBGZWRlcmF0ZWQgU3RhdGVzIE9mXCIsXG4gIE1EOiBcIk1vbGRvdmFcIixcbiAgTUM6IFwiTW9uYWNvXCIsXG4gIE1OOiBcIk1vbmdvbGlhXCIsXG4gIE1FOiBcIk1vbnRlbmVncm9cIixcbiAgTVM6IFwiTW9udHNlcnJhdFwiLFxuICBNQTogXCJNb3JvY2NvXCIsXG4gIE1aOiBcIk1vemFtYmlxdWVcIixcbiAgTU06IFwiTXlhbm1hclwiLFxuICBOQTogXCJOYW1pYmlhXCIsXG4gIE5SOiBcIk5hdXJ1XCIsXG4gIE5QOiBcIk5lcGFsXCIsXG4gIE5MOiBcIk5ldGhlcmxhbmRzXCIsXG4gIEFOOiBcIk5ldGhlcmxhbmRzIEFudGlsbGVzXCIsXG4gIE5DOiBcIk5ldyBDYWxlZG9uaWFcIixcbiAgTlo6IFwiTmV3IFplYWxhbmRcIixcbiAgTkk6IFwiTmljYXJhZ3VhXCIsXG4gIE5FOiBcIk5pZ2VyXCIsXG4gIE5HOiBcIk5pZ2VyaWFcIixcbiAgTlU6IFwiTml1ZVwiLFxuICBORjogXCJOb3Jmb2xrIElzbGFuZFwiLFxuICBNUDogXCJOb3J0aGVybiBNYXJpYW5hIElzbGFuZHNcIixcbiAgTk86IFwiTm9yd2F5XCIsXG4gIE9NOiBcIk9tYW5cIixcbiAgUEs6IFwiUGFraXN0YW5cIixcbiAgUFc6IFwiUGFsYXVcIixcbiAgUFM6IFwiUGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZFwiLFxuICBQQTogXCJQYW5hbWFcIixcbiAgUEc6IFwiUGFwdWEgTmV3IEd1aW5lYVwiLFxuICBQWTogXCJQYXJhZ3VheVwiLFxuICBQRTogXCJQZXJ1XCIsXG4gIFBIOiBcIlBoaWxpcHBpbmVzXCIsXG4gIFBOOiBcIlBpdGNhaXJuXCIsXG4gIFBMOiBcIlBvbGFuZFwiLFxuICBQVDogXCJQb3J0dWdhbFwiLFxuICBQUjogXCJQdWVydG8gUmljb1wiLFxuICBRQTogXCJRYXRhclwiLFxuICBSRTogXCJSZXVuaW9uXCIsXG4gIFJPOiBcIlJvbWFuaWFcIixcbiAgUlU6IFwiUnVzc2lhbiBGZWRlcmF0aW9uXCIsXG4gIFJXOiBcIlJ3YW5kYVwiLFxuICBCTDogXCJTYWludCBCYXJ0aGVsZW15XCIsXG4gIFNIOiBcIlNhaW50IEhlbGVuYVwiLFxuICBLTjogXCJTYWludCBLaXR0cyBBbmQgTmV2aXNcIixcbiAgTEM6IFwiU2FpbnQgTHVjaWFcIixcbiAgTUY6IFwiU2FpbnQgTWFydGluXCIsXG4gIFBNOiBcIlNhaW50IFBpZXJyZSBBbmQgTWlxdWVsb25cIixcbiAgVkM6IFwiU2FpbnQgVmluY2VudCBBbmQgR3JlbmFkaW5lc1wiLFxuICBXUzogXCJTYW1vYVwiLFxuICBTTTogXCJTYW4gTWFyaW5vXCIsXG4gIFNUOiBcIlNhbyBUb21lIEFuZCBQcmluY2lwZVwiLFxuICBTQTogXCJTYXVkaSBBcmFiaWFcIixcbiAgU046IFwiU2VuZWdhbFwiLFxuICBSUzogXCJTZXJiaWFcIixcbiAgU0M6IFwiU2V5Y2hlbGxlc1wiLFxuICBTTDogXCJTaWVycmEgTGVvbmVcIixcbiAgU0c6IFwiU2luZ2Fwb3JlXCIsXG4gIFNLOiBcIlNsb3Zha2lhXCIsXG4gIFNJOiBcIlNsb3ZlbmlhXCIsXG4gIFNCOiBcIlNvbG9tb24gSXNsYW5kc1wiLFxuICBTTzogXCJTb21hbGlhXCIsXG4gIFpBOiBcIlNvdXRoIEFmcmljYVwiLFxuICBHUzogXCJTb3V0aCBHZW9yZ2lhIEFuZCBTYW5kd2ljaCBJc2wuXCIsXG4gIEVTOiBcIlNwYWluXCIsXG4gIExLOiBcIlNyaSBMYW5rYVwiLFxuICBTRDogXCJTdWRhblwiLFxuICBTUjogXCJTdXJpbmFtZVwiLFxuICBTSjogXCJTdmFsYmFyZCBBbmQgSmFuIE1heWVuXCIsXG4gIFNaOiBcIlN3YXppbGFuZFwiLFxuICBTRTogXCJTd2VkZW5cIixcbiAgQ0g6IFwiU3dpdHplcmxhbmRcIixcbiAgU1k6IFwiU3lyaWFuIEFyYWIgUmVwdWJsaWNcIixcbiAgVFc6IFwiVGFpd2FuXCIsXG4gIFRKOiBcIlRhamlraXN0YW5cIixcbiAgVFo6IFwiVGFuemFuaWFcIixcbiAgVEg6IFwiVGhhaWxhbmRcIixcbiAgVEw6IFwiVGltb3ItTGVzdGVcIixcbiAgVEc6IFwiVG9nb1wiLFxuICBUSzogXCJUb2tlbGF1XCIsXG4gIFRPOiBcIlRvbmdhXCIsXG4gIFRUOiBcIlRyaW5pZGFkIEFuZCBUb2JhZ29cIixcbiAgVE46IFwiVHVuaXNpYVwiLFxuICBUUjogXCJUdXJrZXlcIixcbiAgVE06IFwiVHVya21lbmlzdGFuXCIsXG4gIFRDOiBcIlR1cmtzIEFuZCBDYWljb3MgSXNsYW5kc1wiLFxuICBUVjogXCJUdXZhbHVcIixcbiAgVUc6IFwiVWdhbmRhXCIsXG4gIFVBOiBcIlVrcmFpbmVcIixcbiAgQUU6IFwiVW5pdGVkIEFyYWIgRW1pcmF0ZXNcIixcbiAgR0I6IFwiVW5pdGVkIEtpbmdkb21cIixcbiAgVVM6IFwiVW5pdGVkIFN0YXRlc1wiLFxuICBVTTogXCJVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHNcIixcbiAgVVk6IFwiVXJ1Z3VheVwiLFxuICBVWjogXCJVemJla2lzdGFuXCIsXG4gIFZVOiBcIlZhbnVhdHVcIixcbiAgVkU6IFwiVmVuZXp1ZWxhXCIsXG4gIFZOOiBcIlZpZXQgTmFtXCIsXG4gIFZHOiBcIlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoXCIsXG4gIFZJOiBcIlZpcmdpbiBJc2xhbmRzLCBVLlMuXCIsXG4gIFdGOiBcIldhbGxpcyBBbmQgRnV0dW5hXCIsXG4gIEVIOiBcIldlc3Rlcm4gU2FoYXJhXCIsXG4gIFlFOiBcIlllbWVuXCIsXG4gIFpNOiBcIlphbWJpYVwiLFxuICBaVzogXCJaaW1iYWJ3ZVwiXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXI6IGFueSwgcm9sZXM6IEFycmF5PG51bWJlcj4pIHtcbiAgY29uc3QgZUQgPSB1c2VyICYmIHVzZXIuZW5yb2xsZWREb21haW5zID8gdXNlci5lbnJvbGxlZERvbWFpbnMgOiBbXTtcbiAgY29uc3QgZG9tYWluczogYW55W10gPSBbXTtcbiAgbGV0IGkgPSAwO1xuICBmb3IgKGk7IGkgPCBlRC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGUgPSBlRFtpXTtcbiAgICBpZiAocm9sZXMuaW5jbHVkZXMoZS5yb2xlKSkge1xuICAgICAgZG9tYWlucy5wdXNoKChlIGFzIGFueSkuZG9tYWluKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRvbWFpbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VyQWRtaW5Eb21haW5zKHVzZXI6IGFueSkge1xuICByZXR1cm4gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXIsIFtSb2xlLkFETUlOLCBSb2xlLk1BTkFHRVJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZVxuICByZXR1cm4gcHJvZHVjdCAmJiBbXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX01PRCksXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpXG4gIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VzZXJSZWdpc3RlcmVkKHVzZXI6IGFueSkge1xuICBjb25zdCBpZCA9IHVzZXIgPyB1c2VyLmlkIDogbnVsbDtcbiAgcmV0dXJuIGlkICE9PSB1bmRlZmluZWQgJiYgaWQgIT09IG51bGwgJiYgaWQgPiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWdpc3RlcmVkQW5kSGFzU3RvcmUodXNlcjogYW55KSB7XG4gIGNvbnN0IGlkID0gdXNlciA/IHVzZXIuaWQgOiBudWxsO1xuICByZXR1cm4gaWQgIT09IHVuZGVmaW5lZCAmJiBpZCAhPT0gbnVsbCAmJiBpZCA+IDAgJiYgdXNlci5oYXNTdG9yZTtcbn1cblxuY29uc3Qgc3VwcG9ydGVkTnVtYmVyczogYW55ID0ge1xuICBBVTogJ0F1c3RyYWxpYSAoKzYxKScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMgKCs5NzEpJyxcbiAgQkg6ICdCYWhyYWluICgrOTczKScsXG4gIENOOiAnQ2hpbmEgKCs4NiknLFxuICBESzogJ0Rlbm1hcmsgKCs0NSknLFxuICBFUzogJ1NwYWluICgrMzQpJyxcbiAgRlI6ICdGcmFuY2UgKCszMyknLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tICgrNDQpJyxcbiAgSEs6ICdIb25nIEtvbmcgKCs4NTIpJyxcbiAgSUQ6ICdJbmRvbmVzaWEgKCs2MiknLFxuICBJTjogJ0luZGlhICgrOTEpJyxcbiAgSVQ6ICdJdGFseSAoKzM5KScsXG4gIEtSOiAnU291dGggS29yZWEgKCs4MiknLFxuICBOQzogJ05ldyBDYWxlZG9uaWEgKCs2ODcpJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCAoKzY0KScsXG4gIE9NOiAnT21hbiAoKzk2OCknLFxuICBQSDogJ1BoaWxpcHBpbmVzICgrNjMpJyxcbiAgUFQ6ICdQb3J0dWdhbCAoKzM1MSknLFxuICBRQTogJ1FhdGFyICgrOTc0KScsXG4gIFNFOiAnU3dlZGVuICgrNDYpJyxcbiAgU0c6ICdTaW5nYXBvcmUgKCs2NSknLFxuICBUSDogJ1RoYWlsYW5kICgrNjYpJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzICgrMSknLFxuICBaQTogJ1NvdXRoIEFmcmljYSAoKzI3KScsXG59O1xuXG5leHBvcnQgY29uc3QgcGhvbmVPcHRpb25zID0gT2JqZWN0LmtleXMoc3VwcG9ydGVkTnVtYmVycykubWFwKChrZXkpID0+ICh7XG4gIHZhbHVlOiBrZXksXG4gIGxhYmVsOiBzdXBwb3J0ZWROdW1iZXJzW2tleV0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZDogYW55ID0ge1xuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzE6ICdzaG9ydE5hbWUnLFxuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzI6ICdzaG9ydE5hbWUnLFxuICBjb3VudHJ5OiAnc2hvcnROYW1lJyxcbiAgZXN0YWJsaXNobWVudDogJ2xvbmdOYW1lJyxcbiAgZmxvb3I6ICdzaG9ydE5hbWUnLFxuICBsb2NhbGl0eTogJ2xvbmdOYW1lJyxcbiAgcG9zdGFsX2NvZGU6ICdzaG9ydE5hbWUnLFxuICBwcmVtaXNlOiAnc2hvcnROYW1lJyxcbiAgcm9vbTogJ2xvbmdOYW1lJyxcbiAgcm91dGU6ICdzaG9ydE5hbWUnLFxuICBzdHJlZXRfbnVtYmVyOiAnc2hvcnROYW1lJyxcbiAgc3VibG9jYWxpdHk6ICdsb25nTmFtZScsXG4gIHN1YnByZW1pc2U6ICdzaG9ydE5hbWUnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdvb2dsZVBsYWNlc1Jlc3VsdEFzTmV3QWRkcmVzcyhwbGFjZURldGFpbHM6IGFueSkge1xuICBjb25zdCBhZGRyZXNzQ29tcG9uZW50cyA9IHBsYWNlRGV0YWlscz8uYWRkcmVzc0NvbXBvbmVudHMgfHwgW107XG4gIGNvbnN0IG5hbWUgPSBwbGFjZURldGFpbHM/Lm5hbWUgfHwgJyc7XG4gIGNvbnN0IGFkZHJlc3MgPSB7XG4gICAgY2l0eTogJycsXG4gICAgY291bnRyeTogJycsXG4gICAgbGluZU9uZTogbmFtZSA/IG5hbWUgOiAnJyxcbiAgICBsaW5lVHdvOiAnJyxcbiAgICBwb3N0Y29kZTogJycsXG4gICAgc3RhdGU6ICcnLFxuICB9O1xuXG4gIGlmIChhZGRyZXNzQ29tcG9uZW50cyAmJiBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgYWRkckNvbXBvbmVudCA9IGFkZHJlc3NDb21wb25lbnRzW2ldO1xuICAgICAgY29uc3QgYWRkclR5cGVzID0gYWRkckNvbXBvbmVudC50eXBlcztcbiAgICAgIFxuICAgICAgLy8gRmluZCB0aGUgZmlyc3QgcmVsZXZhbnQgdHlwZSB0aGF0IHdlIGhhdmUgYSBzZXR0aW5nIGZvclxuICAgICAgbGV0IGFkZHJUeXBlID0gbnVsbDtcbiAgICAgIGxldCBjb21wb25lbnRTZXR0aW5nID0gbnVsbDtcbiAgICAgIFxuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIGFkZHJUeXBlcykge1xuICAgICAgICBpZiAoYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5nc0JhY2tlbmRbdHlwZV0pIHtcbiAgICAgICAgICBhZGRyVHlwZSA9IHR5cGU7XG4gICAgICAgICAgY29tcG9uZW50U2V0dGluZyA9IGFkZHJlc3NDb21wb25lbnRzU2V0dGluZ3NCYWNrZW5kW3R5cGVdO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb21wb25lbnRTZXR0aW5nICYmIGFkZHJUeXBlKSB7XG4gICAgICAgIGNvbnN0IGFkZHJlc3NWYWwgPSBhZGRyQ29tcG9uZW50W2NvbXBvbmVudFNldHRpbmddO1xuICAgICAgICBzd2l0Y2ggKGFkZHJUeXBlKSB7XG4gICAgICAgICAgY2FzZSAnZXN0YWJsaXNobWVudCc6XG4gICAgICAgICAgY2FzZSAncm9vbSc6XG4gICAgICAgICAgY2FzZSAnZmxvb3InOlxuICAgICAgICAgIGNhc2UgJ3N0cmVldF9udW1iZXInOlxuICAgICAgICAgIGNhc2UgJ3ByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3N1YnByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3JvdXRlJzpcbiAgICAgICAgICAgIGNvbnN0IG9sZExpbmVPbmUgPSBhZGRyZXNzLmxpbmVPbmU7XG4gICAgICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBvbGRMaW5lT25lLmluY2x1ZGVzKGFkZHJlc3NWYWwpID9cbiAgICAgICAgICAgICAgb2xkTGluZU9uZSA6IGAke29sZExpbmVPbmV9ICR7YWRkcmVzc1ZhbH1gLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2xvY2FsaXR5JzpcbiAgICAgICAgICBjYXNlICdzdWJsb2NhbGl0eSc6XG4gICAgICAgICAgICBjb25zdCBvbGRDaXR5ID0gYWRkcmVzcy5jaXR5ID8gYCR7YWRkcmVzcy5jaXR5fSBgIDogJyc7XG4gICAgICAgICAgICBhZGRyZXNzLmNpdHkgPSAob2xkQ2l0eSArIGFkZHJlc3NWYWwpLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSc6XG5cbiAgICAgICAgICAgIGFkZHJlc3Muc3RhdGUgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8yJzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvdW50cnknOlxuXG4gICAgICAgICAgICBhZGRyZXNzLmNvdW50cnkgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncG9zdGFsX2NvZGUnOlxuICAgICAgICAgICAgYWRkcmVzcy5wb3N0Y29kZSA9IGFkZHJlc3NWYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhbiB1cCBsaW5lIG9uZSBpZiBpdCdzIGVtcHR5IGFuZCB3ZSBoYXZlIGEgZm9ybWF0dGVkIGFkZHJlc3NcbiAgICBpZiAoIWFkZHJlc3MubGluZU9uZS50cmltKCkgJiYgcGxhY2VEZXRhaWxzPy5mb3JtYXR0ZWRBZGRyZXNzKSB7XG4gICAgICAvLyBUcnkgdG8gZXh0cmFjdCBzdHJlZXQgYWRkcmVzcyBmcm9tIGZvcm1hdHRlZCBhZGRyZXNzXG4gICAgICBjb25zdCBwYXJ0cyA9IHBsYWNlRGV0YWlscy5mb3JtYXR0ZWRBZGRyZXNzLnNwbGl0KCcsJyk7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBwYXJ0c1swXS50cmltKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NJbk9uZUxpbmUoYWRkcmVzczogYW55KSB7XG4gIGNvbnN0IGEgPSBhZGRyZXNzID8gYWRkcmVzcyA6IHt9O1xuICBjb25zdCB7XG4gICAgY2l0eSxcbiAgICBjb3VudHJ5LFxuICAgIGxpbmVPbmUsXG4gICAgbGluZVR3byxcbiAgICBwb3N0Y29kZSxcbiAgICBzdGF0ZVxuICB9ID0gYTtcbiAgY29uc3QgbDEgPSBsaW5lT25lID8gYCR7bGluZU9uZX0gYCA6ICcnO1xuICBjb25zdCBsMiA9IGxpbmVUd28gPyBgJHtsaW5lVHdvfSBgIDogJyc7XG4gIGNvbnN0IGMgPSBjaXR5ID8gYCR7Y2l0eX0gYCA6ICcnO1xuICBjb25zdCBzID0gc3RhdGUgPyBgJHtzdGF0ZX0gYCA6ICcnO1xuICBjb25zdCBwID0gcG9zdGNvZGUgPyBgJHtwb3N0Y29kZX0gYCA6ICcnO1xuICBjb25zdCBjb3VudHJ5RnVsbCA9IGNvdW50cnkgPyBpc29Db3VudHJpZXNbY291bnRyeV0gOiAnJztcbiAgcmV0dXJuIGwxICsgbDIgKyBjICsgcyArIHAgKyBjb3VudHJ5RnVsbDtcbn1cblxuZXhwb3J0IGVudW0gRmllbGRUeXBlIHtcbiAgVEVYVF9JTlBVVCA9IDEsXG4gIFNFTEVDVCA9IDIsXG4gIEZJTEVfVVBMT0FEID0gMyxcbiAgVEVYVF9BUkVBID0gNCxcbiAgTlVNQkVSX0lOUFVUID0gNSxcbiAgQ0hFQ0tCT1ggPSA2LFxuICBSQURJTyA9IDcsXG4gIEZJRUxEX0lOU1RSVUNUSU9OUyA9IDgsXG4gIElNQUdFX1NFTEVDVCA9IDksXG4gIENPTE9VUl9QSUNLRVIgPSAxMCxcbiAgQ09MT1VSX1NFTEVDVCA9IDExLFxuICBUVVJOQVJPVU5EX1RJTUUgPSAxMixcbiAgQ09MT1VSX0VYVFJBQ1QgPSAxMyxcbiAgQVJFQSA9IDE0LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RhYmxlKGZpZWxkVHlwZTogbnVtYmVyKSB7XG4gIHJldHVybiBbXG4gICAgRmllbGRUeXBlLlNFTEVDVCxcbiAgICBGaWVsZFR5cGUuQ0hFQ0tCT1gsXG4gICAgRmllbGRUeXBlLlJBRElPLFxuICAgIEZpZWxkVHlwZS5JTUFHRV9TRUxFQ1QsXG4gICAgRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QsXG4gICAgRmllbGRUeXBlLlRVUk5BUk9VTkRfVElNRSxcbiAgICBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1QsXG4gIF0uaW5jbHVkZXMoZmllbGRUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5zdHJ1Y3Rpb25zVHlwZShmaWVsZFR5cGU6IG51bWJlcikge1xuICByZXR1cm4gU3RyaW5nKEZpZWxkVHlwZS5GSUVMRF9JTlNUUlVDVElPTlMpID09PSBTdHJpbmcoZmllbGRUeXBlKTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvdW50cnlEZWZhdWx0RGljdCA9IChjdXJyZW5jeTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7Y3VycmVuY3k6IGN1cnJlbmN5fTtcbn07XG4gIFxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0czogYW55ID0ge1xuICBBRTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgQVU6IGNvdW50cnlEZWZhdWx0RGljdCgnQVVEJyksXG4gIEJIOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBDSDogY291bnRyeURlZmF1bHREaWN0KCdDTlknKSxcbiAgREs6IGNvdW50cnlEZWZhdWx0RGljdCgnRVVSJyksXG4gIEVTOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBGUjogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcbiAgR0I6IGNvdW50cnlEZWZhdWx0RGljdCgnR0JQJyksXG4gIEhLOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0hLRCcpLFxuICBJRDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgSU46IGNvdW50cnlEZWZhdWx0RGljdCgnSU5SJyksXG4gIElUOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBLUjogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgTkM6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIE5aOiBjb3VudHJ5RGVmYXVsdERpY3QoJ05aRCcpLFxuICBPTTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgUEg6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFBUOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBRQTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgU0U6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFNHOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1NHRCcpLFxuICBUSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgVVM6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFpBOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxufTtcbiAgXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzV2l0aERlZmF1bHQgPSAoY291bnRyeUNvZGU6IGFueSkgPT4ge1xuICBjb25zdCBkZWZhdWx0Q291bnRyeVZhbHVlcyA9IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0c1tjb3VudHJ5Q29kZV07XG4gIHJldHVybiBkZWZhdWx0Q291bnRyeVZhbHVlcyA/IGRlZmF1bHRDb3VudHJ5VmFsdWVzIDogc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzLkFVO1xufTtcblxuaW50ZXJmYWNlIENsaWVudEZpbGVBbmRPYmplY3RJZCB7XG4gIGZpbGU6IGFueTtcbiAgb2JqZWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQ2xpZW50RmlsZXMoY2xpZW50RmlsZXM6IENsaWVudEZpbGVBbmRPYmplY3RJZFtdKSB7XG4gIHJldHVybiBjbGllbnRGaWxlcy5tYXAoKGNsaWVudEZpbGU6IENsaWVudEZpbGVBbmRPYmplY3RJZCkgPT4gY2xpZW50RmlsZS5maWxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZENsaWVudFRvT3duRHJhZnQoam9iOiBhbnkpIHtcbiAgY29uc3QgeyBvd25EcmFmdHMgfSA9IGpvYjtcbiAgaWYgKGpvYi5vd25EcmFmdHMgJiYgam9iLm93bkRyYWZ0cy5sZW5ndGgpIHtcbiAgICBqb2Iub3duRHJhZnRzWzBdLmRlc2lnbmVyID0gam9iLmNsaWVudDtcbiAgfVxuICByZXR1cm4gam9iO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN1Y2Nlc3NSZWRpcmVjdEV4dHJhcyB7XG4gIC8qKiBJbnZvaWNlIGlkIGZvciBwYWlkIGNoZWNrb3V0LCBvciBqb2IgaWQgZm9yIHF1b3RlIHJlcXVlc3RzLiAqL1xuICBpbnZvaWNlSWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsO1xuICBlbWFpbD86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogRGVjb2RlL25vcm1hbGl6ZSBhIHJlZGlyZWN0IGJhc2UgVVJMIGZyb20gZW1iZWQgc2NyaXB0IHBhcmFtcy5cbiAqIEhhbmRsZXMgcGVyY2VudC1lbmNvZGluZywgbGVnYWN5ICUyNyB3cmFwcGVycywgYW5kIHRyYWlsaW5nIGp1bmsuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSZWRpcmVjdEJhc2VVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgY2xlYW4gPSBTdHJpbmcodXJsIHx8ICcnKVxuICAgIC50cmltKClcbiAgICAucmVwbGFjZSgvJTI3L2csICcnKVxuICAgIC5yZXBsYWNlKC8lOTEvZywgJycpXG4gICAgLnJlcGxhY2UoLyU5Mi9nLCAnJylcbiAgICAucmVwbGFjZSgvJTkzL2csICcnKVxuICAgIC5yZXBsYWNlKC8lOTQvZywgJycpXG4gICAgLnJlcGxhY2UoL15bJ1wiXSt8WydcIl0rJC9nLCAnJyk7XG5cbiAgLy8gRnVsbHkgZGVjb2RlIHNvIGVuY29kZWQgYWJzb2x1dGUgVVJMcyBhcmUgbm90IHRyZWF0ZWQgYXMgcmVsYXRpdmUgcGF0aHMuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMjsgaSsrKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghLyVbMC05QS1GYS1mXXsyfS8udGVzdChjbGVhbikpIGJyZWFrO1xuICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudChjbGVhbik7XG4gICAgICBpZiAoZGVjb2RlZCA9PT0gY2xlYW4pIGJyZWFrO1xuICAgICAgY2xlYW4gPSBkZWNvZGVkO1xuICAgIH0gY2F0Y2gge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNsZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xpZW50RW1haWwoY2xpZW50OiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBlbWFpbCA9IGNsaWVudD8uZW1haWxBZGRyZXNzZXM/LlswXT8uZW1haWxBZGRyZXNzO1xuICByZXR1cm4gdHlwZW9mIGVtYWlsID09PSAnc3RyaW5nJyAmJiBlbWFpbC50cmltKCkgPyBlbWFpbC50cmltKCkgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGQgdGhlIHBvc3QtY2hlY2tvdXQvcXVvdGUgcmVkaXJlY3QgVVJMIHdpdGggcHJvcGVyIHF1ZXJ5IHNlcGFyYXRvcnMuXG4gKiBBbHdheXMgc2FmZSB3aGVuIHRoZSBiYXNlIFVSTCBvbWl0cyBhIHRyYWlsaW5nIFwiP1wiIC8gXCImXCIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFN1Y2Nlc3NSZWRpcmVjdFVybChcbiAgdXJsOiBzdHJpbmcsXG4gIHJlZGlyZWN0V2l0aFZhbHVlPzogYm9vbGVhbixcbiAgdmFsdWU/OiBhbnksXG4gIGV4dHJhczogU3VjY2Vzc1JlZGlyZWN0RXh0cmFzID0ge30sXG4pOiBzdHJpbmcge1xuICBjb25zdCBiYXNlID0gbm9ybWFsaXplUmVkaXJlY3RCYXNlVXJsKHVybCk7XG4gIGlmICghYmFzZSkgcmV0dXJuIGJhc2U7XG5cbiAgY29uc3QgdGFyZ2V0ID0gbmV3IFVSTChcbiAgICBiYXNlLFxuICAgIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnaHR0cHM6Ly9wbGFjZWhvbGRlci5pbnZhbGlkLycsXG4gICk7XG5cbiAgaWYgKFxuICAgIHJlZGlyZWN0V2l0aFZhbHVlICYmXG4gICAgdmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdmFsdWUgIT09ICcnXG4gICkge1xuICAgIHRhcmdldC5zZWFyY2hQYXJhbXMuc2V0KCdtZXJjaGlWYWx1ZScsIFN0cmluZyh2YWx1ZSkpO1xuICB9XG5cbiAgaWYgKGV4dHJhcy5pbnZvaWNlSWQgIT09IHVuZGVmaW5lZCAmJiBleHRyYXMuaW52b2ljZUlkICE9PSBudWxsICYmIGV4dHJhcy5pbnZvaWNlSWQgIT09ICcnKSB7XG4gICAgdGFyZ2V0LnNlYXJjaFBhcmFtcy5zZXQoJ2ludm9pY2VJZCcsIFN0cmluZyhleHRyYXMuaW52b2ljZUlkKSk7XG4gIH1cblxuICBpZiAoZXh0cmFzLmVtYWlsKSB7XG4gICAgdGFyZ2V0LnNlYXJjaFBhcmFtcy5zZXQoJ2VtYWlsJywgU3RyaW5nKGV4dHJhcy5lbWFpbCkpO1xuICB9XG5cbiAgLy8gUHJlc2VydmUgcHJvdG9jb2wtcmVsYXRpdmUgcmVkaXJlY3QgdGFyZ2V0cyAoLy9leGFtcGxlLmNvbS8uLi4pLlxuICBpZiAoYmFzZS5zdGFydHNXaXRoKCcvLycpKSB7XG4gICAgcmV0dXJuIGAvLyR7dGFyZ2V0Lmhvc3R9JHt0YXJnZXQucGF0aG5hbWV9JHt0YXJnZXQuc2VhcmNofSR7dGFyZ2V0Lmhhc2h9YDtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQudG9TdHJpbmcoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZGlyZWN0T25TdWNjZXNzKFxuICB1cmw6IHN0cmluZyxcbiAgcmVkaXJlY3RXaXRoVmFsdWU/OiBib29sZWFuLFxuICB2YWx1ZT86IGFueSxcbiAgZXh0cmFzOiBTdWNjZXNzUmVkaXJlY3RFeHRyYXMgPSB7fSxcbikge1xuICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGJ1aWxkU3VjY2Vzc1JlZGlyZWN0VXJsKFxuICAgIHVybCxcbiAgICByZWRpcmVjdFdpdGhWYWx1ZSxcbiAgICB2YWx1ZSxcbiAgICBleHRyYXMsXG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsSUFBSSxRQUFRLFNBQVM7QUFFM0MsT0FBTyxJQUFNQyxZQUFpQixHQUFHO0VBQy9CQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUscUJBQXFCO0VBQ3pCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSx3QkFBd0I7RUFDNUJDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxlQUFlO0VBQ25CQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsZ0NBQWdDO0VBQ3BDQyxFQUFFLEVBQUUsbUJBQW1CO0VBQ3ZCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSwwQkFBMEI7RUFDOUJDLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSx5QkFBeUI7RUFDN0JDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSw0QkFBNEI7RUFDaENDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxNQUFNO0VBQ1ZDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxVQUFVO0VBQ2RDLEVBQUUsRUFBRSxvQkFBb0I7RUFDeEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxhQUFhO0VBQ2pCQyxFQUFFLEVBQUUsbUJBQW1CO0VBQ3ZCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsNkJBQTZCO0VBQ2pDQyxFQUFFLEVBQUUsZUFBZTtFQUNuQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSw2QkFBNkI7RUFDakNDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsZUFBZTtFQUNuQkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLGlDQUFpQztFQUNyQ0MsRUFBRSxFQUFFLCtCQUErQjtFQUNuQ0MsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLDJCQUEyQjtFQUMvQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLGtDQUFrQztFQUN0Q0MsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLHdCQUF3QjtFQUM1QkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxXQUFXO0VBQ2ZDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLGtCQUFrQjtFQUN0QkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsaUNBQWlDO0VBQ3JDQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLHNCQUFzQjtFQUMxQkMsRUFBRSxFQUFFLGVBQWU7RUFDbkJDLEVBQUUsRUFBRSxhQUFhO0VBQ2pCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsZ0JBQWdCO0VBQ3BCQyxFQUFFLEVBQUUsMEJBQTBCO0VBQzlCQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsaUNBQWlDO0VBQ3JDQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsa0JBQWtCO0VBQ3RCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxvQkFBb0I7RUFDeEJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxrQkFBa0I7RUFDdEJDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsdUJBQXVCO0VBQzNCQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLGNBQWM7RUFDbEJDLEVBQUUsRUFBRSwyQkFBMkI7RUFDL0JDLEVBQUUsRUFBRSw4QkFBOEI7RUFDbENDLEVBQUUsRUFBRSxPQUFPO0VBQ1hDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsdUJBQXVCO0VBQzNCQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLFlBQVk7RUFDaEJDLEVBQUUsRUFBRSxjQUFjO0VBQ2xCQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsaUJBQWlCO0VBQ3JCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsY0FBYztFQUNsQkMsRUFBRSxFQUFFLGlDQUFpQztFQUNyQ0MsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLHdCQUF3QjtFQUM1QkMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGFBQWE7RUFDakJDLEVBQUUsRUFBRSxzQkFBc0I7RUFDMUJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxZQUFZO0VBQ2hCQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsVUFBVTtFQUNkQyxFQUFFLEVBQUUsYUFBYTtFQUNqQkMsRUFBRSxFQUFFLE1BQU07RUFDVkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLHFCQUFxQjtFQUN6QkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFLGNBQWM7RUFDbEJDLEVBQUUsRUFBRSwwQkFBMEI7RUFDOUJDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxRQUFRO0VBQ1pDLEVBQUUsRUFBRSxTQUFTO0VBQ2JDLEVBQUUsRUFBRSxzQkFBc0I7RUFDMUJDLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJDLEVBQUUsRUFBRSxlQUFlO0VBQ25CQyxFQUFFLEVBQUUsZ0NBQWdDO0VBQ3BDQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsWUFBWTtFQUNoQkMsRUFBRSxFQUFFLFNBQVM7RUFDYkMsRUFBRSxFQUFFLFdBQVc7RUFDZkMsRUFBRSxFQUFFLFVBQVU7RUFDZEMsRUFBRSxFQUFFLHlCQUF5QjtFQUM3QkMsRUFBRSxFQUFFLHNCQUFzQjtFQUMxQkMsRUFBRSxFQUFFLG1CQUFtQjtFQUN2QkMsRUFBRSxFQUFFLGdCQUFnQjtFQUNwQkMsRUFBRSxFQUFFLE9BQU87RUFDWEMsRUFBRSxFQUFFLFFBQVE7RUFDWkMsRUFBRSxFQUFFO0FBQ04sQ0FBQztBQUVELE9BQU8sU0FBU0Msa0JBQWtCQSxDQUFDQyxJQUFTLEVBQUVDLEtBQW9CLEVBQUU7RUFDbEUsSUFBTUMsRUFBRSxHQUFHRixJQUFJLElBQUlBLElBQUksQ0FBQ0csZUFBZSxHQUFHSCxJQUFJLENBQUNHLGVBQWUsR0FBRyxFQUFFO0VBQ25FLElBQU1DLE9BQWMsR0FBRyxFQUFFO0VBQ3pCLElBQUlDLENBQUMsR0FBRyxDQUFDO0VBQ1QsS0FBS0EsQ0FBQyxFQUFFQSxDQUFDLEdBQUdILEVBQUUsQ0FBQ0ksTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUMxQixJQUFNRSxDQUFDLEdBQUdMLEVBQUUsQ0FBQ0csQ0FBQyxDQUFDO0lBQ2YsSUFBSUosS0FBSyxDQUFDTyxRQUFRLENBQUNELENBQUMsQ0FBQ0UsSUFBSSxDQUFDLEVBQUU7TUFDMUJMLE9BQU8sQ0FBQ00sSUFBSSxDQUFFSCxDQUFDLENBQVNJLE1BQU0sQ0FBQztJQUNqQztFQUNGO0VBQ0EsT0FBT1AsT0FBTztBQUNoQjtBQUVBLE9BQU8sU0FBU1EsZ0JBQWdCQSxDQUFDWixJQUFTLEVBQUU7RUFDMUMsT0FBT0Qsa0JBQWtCLENBQUNDLElBQUksRUFBRSxDQUFDeFAsSUFBSSxDQUFDcVEsS0FBSyxFQUFFclEsSUFBSSxDQUFDc1EsT0FBTyxDQUFDLENBQUM7QUFDN0Q7QUFFQSxPQUFPLFNBQVNDLG9CQUFvQkEsQ0FBQ0MsT0FBWSxFQUFFO0VBQ2pELElBQU1DLFdBQVcsR0FBR0QsT0FBTyxJQUFJQSxPQUFPLENBQUNDLFdBQVc7RUFDbEQsT0FBT0QsT0FBTyxJQUFJLENBQ2hCRSxNQUFNLENBQUMzUSxXQUFXLENBQUM0USxZQUFZLENBQUMsRUFDaENELE1BQU0sQ0FBQzNRLFdBQVcsQ0FBQzZRLG1CQUFtQixDQUFDLENBQ3hDLENBQUNaLFFBQVEsQ0FBQ1UsTUFBTSxDQUFDRCxXQUFXLENBQUMsQ0FBQztBQUNqQztBQUVBLE9BQU8sU0FBU0ksZ0JBQWdCQSxDQUFDckIsSUFBUyxFQUFFO0VBQzFDLElBQU1zQixFQUFFLEdBQUd0QixJQUFJLEdBQUdBLElBQUksQ0FBQ3NCLEVBQUUsR0FBRyxJQUFJO0VBQ2hDLE9BQU9BLEVBQUUsS0FBS0MsU0FBUyxJQUFJRCxFQUFFLEtBQUssSUFBSSxJQUFJQSxFQUFFLEdBQUcsQ0FBQztBQUNsRDtBQUVBLE9BQU8sU0FBU0UsdUJBQXVCQSxDQUFDeEIsSUFBUyxFQUFFO0VBQ2pELElBQU1zQixFQUFFLEdBQUd0QixJQUFJLEdBQUdBLElBQUksQ0FBQ3NCLEVBQUUsR0FBRyxJQUFJO0VBQ2hDLE9BQU9BLEVBQUUsS0FBS0MsU0FBUyxJQUFJRCxFQUFFLEtBQUssSUFBSSxJQUFJQSxFQUFFLEdBQUcsQ0FBQyxJQUFJdEIsSUFBSSxDQUFDeUIsUUFBUTtBQUNuRTtBQUVBLElBQU1DLGdCQUFxQixHQUFHO0VBQzVCblEsRUFBRSxFQUFFLGlCQUFpQjtFQUNyQndOLEVBQUUsRUFBRSw2QkFBNkI7RUFDakNwTixFQUFFLEVBQUUsZ0JBQWdCO0VBQ3BCMkIsRUFBRSxFQUFFLGFBQWE7RUFDakJjLEVBQUUsRUFBRSxlQUFlO0VBQ25Ca0osRUFBRSxFQUFFLGFBQWE7RUFDakJuSSxFQUFFLEVBQUUsY0FBYztFQUNsQjZKLEVBQUUsRUFBRSxzQkFBc0I7RUFDMUJySSxFQUFFLEVBQUUsa0JBQWtCO0VBQ3RCSSxFQUFFLEVBQUUsaUJBQWlCO0VBQ3JCRCxFQUFFLEVBQUUsYUFBYTtFQUNqQk8sRUFBRSxFQUFFLGFBQWE7RUFDakJRLEVBQUUsRUFBRSxtQkFBbUI7RUFDdkJ3QyxFQUFFLEVBQUUsc0JBQXNCO0VBQzFCQyxFQUFFLEVBQUUsbUJBQW1CO0VBQ3ZCUSxFQUFFLEVBQUUsYUFBYTtFQUNqQlEsRUFBRSxFQUFFLG1CQUFtQjtFQUN2QkcsRUFBRSxFQUFFLGlCQUFpQjtFQUNyQkUsRUFBRSxFQUFFLGNBQWM7RUFDbEJpQyxFQUFFLEVBQUUsY0FBYztFQUNsQmIsRUFBRSxFQUFFLGlCQUFpQjtFQUNyQm1CLEVBQUUsRUFBRSxnQkFBZ0I7RUFDcEJlLEVBQUUsRUFBRSxvQkFBb0I7RUFDeEI3QixFQUFFLEVBQUU7QUFDTixDQUFDO0FBRUQsT0FBTyxJQUFNdUUsWUFBWSxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ0gsZ0JBQWdCLENBQUMsQ0FBQ0ksR0FBRyxDQUFDLFVBQUNDLEdBQUc7RUFBQSxPQUFNO0lBQ3RFQyxLQUFLLEVBQUVELEdBQUc7SUFDVkUsS0FBSyxFQUFFUCxnQkFBZ0IsQ0FBQ0ssR0FBRztFQUM3QixDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsT0FBTyxJQUFNRyxnQ0FBcUMsR0FBRztFQUNuREMsMkJBQTJCLEVBQUUsV0FBVztFQUN4Q0MsMkJBQTJCLEVBQUUsV0FBVztFQUN4Q0MsT0FBTyxFQUFFLFdBQVc7RUFDcEJDLGFBQWEsRUFBRSxVQUFVO0VBQ3pCQyxLQUFLLEVBQUUsV0FBVztFQUNsQkMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLFdBQVcsRUFBRSxXQUFXO0VBQ3hCQyxPQUFPLEVBQUUsV0FBVztFQUNwQkMsSUFBSSxFQUFFLFVBQVU7RUFDaEJDLEtBQUssRUFBRSxXQUFXO0VBQ2xCQyxhQUFhLEVBQUUsV0FBVztFQUMxQkMsV0FBVyxFQUFFLFVBQVU7RUFDdkJDLFVBQVUsRUFBRTtBQUNkLENBQUM7QUFFRCxPQUFPLFNBQVNDLDhCQUE4QkEsQ0FBQ0MsWUFBaUIsRUFBRTtFQUNoRSxJQUFNQyxpQkFBaUIsR0FBRyxDQUFBRCxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUMsaUJBQWlCLEtBQUksRUFBRTtFQUMvRCxJQUFNQyxJQUFJLEdBQUcsQ0FBQUYsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVFLElBQUksS0FBSSxFQUFFO0VBQ3JDLElBQU1DLE9BQU8sR0FBRztJQUNkQyxJQUFJLEVBQUUsRUFBRTtJQUNSaEIsT0FBTyxFQUFFLEVBQUU7SUFDWGlCLE9BQU8sRUFBRUgsSUFBSSxHQUFHQSxJQUFJLEdBQUcsRUFBRTtJQUN6QkksT0FBTyxFQUFFLEVBQUU7SUFDWEMsUUFBUSxFQUFFLEVBQUU7SUFDWkMsS0FBSyxFQUFFO0VBQ1QsQ0FBQztFQUVELElBQUlQLGlCQUFpQixJQUFJQSxpQkFBaUIsQ0FBQzVDLE1BQU0sR0FBRyxDQUFDLEVBQUU7SUFDckQsS0FBSyxJQUFJRCxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUc2QyxpQkFBaUIsQ0FBQzVDLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEVBQUU7TUFDakQsSUFBTXFELGFBQWEsR0FBR1IsaUJBQWlCLENBQUM3QyxDQUFDLENBQUM7TUFDMUMsSUFBTXNELFNBQVMsR0FBR0QsYUFBYSxDQUFDRSxLQUFLOztNQUVyQztNQUNBLElBQUlDLFFBQVEsR0FBRyxJQUFJO01BQ25CLElBQUlDLGdCQUFnQixHQUFHLElBQUk7TUFBQyxJQUFBQyxTQUFBLEdBQUFDLDBCQUFBLENBRVRMLFNBQVM7UUFBQU0sS0FBQTtNQUFBO1FBQTVCLEtBQUFGLFNBQUEsQ0FBQUcsQ0FBQSxNQUFBRCxLQUFBLEdBQUFGLFNBQUEsQ0FBQUksQ0FBQSxJQUFBQyxJQUFBLEdBQThCO1VBQUEsSUFBbkJDLElBQUksR0FBQUosS0FBQSxDQUFBakMsS0FBQTtVQUNiLElBQUlFLGdDQUFnQyxDQUFDbUMsSUFBSSxDQUFDLEVBQUU7WUFDMUNSLFFBQVEsR0FBR1EsSUFBSTtZQUNmUCxnQkFBZ0IsR0FBRzVCLGdDQUFnQyxDQUFDbUMsSUFBSSxDQUFDO1lBQ3pEO1VBQ0Y7UUFDRjtNQUFDLFNBQUFDLEdBQUE7UUFBQVAsU0FBQSxDQUFBeEQsQ0FBQSxDQUFBK0QsR0FBQTtNQUFBO1FBQUFQLFNBQUEsQ0FBQVEsQ0FBQTtNQUFBO01BRUQsSUFBSVQsZ0JBQWdCLElBQUlELFFBQVEsRUFBRTtRQUNoQyxJQUFNVyxVQUFVLEdBQUdkLGFBQWEsQ0FBQ0ksZ0JBQWdCLENBQUM7UUFDbEQsUUFBUUQsUUFBUTtVQUNkLEtBQUssZUFBZTtVQUNwQixLQUFLLE1BQU07VUFDWCxLQUFLLE9BQU87VUFDWixLQUFLLGVBQWU7VUFDcEIsS0FBSyxTQUFTO1VBQ2QsS0FBSyxZQUFZO1VBQ2pCLEtBQUssT0FBTztZQUNWLElBQU1ZLFVBQVUsR0FBR3JCLE9BQU8sQ0FBQ0UsT0FBTztZQUNsQ0YsT0FBTyxDQUFDRSxPQUFPLEdBQUdtQixVQUFVLENBQUNqRSxRQUFRLENBQUNnRSxVQUFVLENBQUMsR0FDL0NDLFVBQVUsR0FBRyxHQUFBQyxNQUFBLENBQUdELFVBQVUsT0FBQUMsTUFBQSxDQUFJRixVQUFVLEVBQUdHLElBQUksQ0FBQyxDQUFDO1lBQ25EO1VBQ0YsS0FBSyxVQUFVO1VBQ2YsS0FBSyxhQUFhO1lBQ2hCLElBQU1DLE9BQU8sR0FBR3hCLE9BQU8sQ0FBQ0MsSUFBSSxNQUFBcUIsTUFBQSxDQUFNdEIsT0FBTyxDQUFDQyxJQUFJLFNBQU0sRUFBRTtZQUN0REQsT0FBTyxDQUFDQyxJQUFJLEdBQUcsQ0FBQ3VCLE9BQU8sR0FBR0osVUFBVSxFQUFFRyxJQUFJLENBQUMsQ0FBQztZQUM1QztVQUNGLEtBQUssNkJBQTZCO1lBRWhDdkIsT0FBTyxDQUFDSyxLQUFLLEdBQUdlLFVBQVU7WUFDMUI7VUFDRixLQUFLLDZCQUE2QjtZQUNoQztVQUNGLEtBQUssU0FBUztZQUVacEIsT0FBTyxDQUFDZixPQUFPLEdBQUdtQyxVQUFVO1lBQzVCO1VBQ0YsS0FBSyxhQUFhO1lBQ2hCcEIsT0FBTyxDQUFDSSxRQUFRLEdBQUdnQixVQUFVO1lBQzdCO1VBQ0Y7WUFDRTtRQUNKO01BQ0Y7SUFDRjs7SUFFQTtJQUNBLElBQUksQ0FBQ3BCLE9BQU8sQ0FBQ0UsT0FBTyxDQUFDcUIsSUFBSSxDQUFDLENBQUMsSUFBSTFCLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUU0QixnQkFBZ0IsRUFBRTtNQUM3RDtNQUNBLElBQU1DLEtBQUssR0FBRzdCLFlBQVksQ0FBQzRCLGdCQUFnQixDQUFDRSxLQUFLLENBQUMsR0FBRyxDQUFDO01BQ3RELElBQUlELEtBQUssQ0FBQ3hFLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDcEI4QyxPQUFPLENBQUNFLE9BQU8sR0FBR3dCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsSUFBSSxDQUFDLENBQUM7TUFDbkM7SUFDRjtJQUVBLE9BQU92QixPQUFPO0VBQ2hCO0VBRUEsT0FBTyxJQUFJO0FBQ2I7QUFFQSxPQUFPLFNBQVM0QixnQkFBZ0JBLENBQUM1QixPQUFZLEVBQUU7RUFDN0MsSUFBTTZCLENBQUMsR0FBRzdCLE9BQU8sR0FBR0EsT0FBTyxHQUFHLENBQUMsQ0FBQztFQUNoQyxJQUNFQyxJQUFJLEdBTUY0QixDQUFDLENBTkg1QixJQUFJO0lBQ0poQixPQUFPLEdBS0w0QyxDQUFDLENBTEg1QyxPQUFPO0lBQ1BpQixPQUFPLEdBSUwyQixDQUFDLENBSkgzQixPQUFPO0lBQ1BDLE9BQU8sR0FHTDBCLENBQUMsQ0FISDFCLE9BQU87SUFDUEMsUUFBUSxHQUVOeUIsQ0FBQyxDQUZIekIsUUFBUTtJQUNSQyxLQUFLLEdBQ0h3QixDQUFDLENBREh4QixLQUFLO0VBRVAsSUFBTXlCLEVBQUUsR0FBRzVCLE9BQU8sTUFBQW9CLE1BQUEsQ0FBTXBCLE9BQU8sU0FBTSxFQUFFO0VBQ3ZDLElBQU02QixFQUFFLEdBQUc1QixPQUFPLE1BQUFtQixNQUFBLENBQU1uQixPQUFPLFNBQU0sRUFBRTtFQUN2QyxJQUFNNkIsQ0FBQyxHQUFHL0IsSUFBSSxNQUFBcUIsTUFBQSxDQUFNckIsSUFBSSxTQUFNLEVBQUU7RUFDaEMsSUFBTWEsQ0FBQyxHQUFHVCxLQUFLLE1BQUFpQixNQUFBLENBQU1qQixLQUFLLFNBQU0sRUFBRTtFQUNsQyxJQUFNNEIsQ0FBQyxHQUFHN0IsUUFBUSxNQUFBa0IsTUFBQSxDQUFNbEIsUUFBUSxTQUFNLEVBQUU7RUFDeEMsSUFBTThCLFdBQVcsR0FBR2pELE9BQU8sR0FBRzVSLFlBQVksQ0FBQzRSLE9BQU8sQ0FBQyxHQUFHLEVBQUU7RUFDeEQsT0FBTzZDLEVBQUUsR0FBR0MsRUFBRSxHQUFHQyxDQUFDLEdBQUdsQixDQUFDLEdBQUdtQixDQUFDLEdBQUdDLFdBQVc7QUFDMUM7QUFFQSxXQUFZQyxTQUFTLDBCQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBVEEsU0FBUyxDQUFUQSxTQUFTO0VBQVRBLFNBQVMsQ0FBVEEsU0FBUztFQUFUQSxTQUFTLENBQVRBLFNBQVM7RUFBQSxPQUFUQSxTQUFTO0FBQUE7QUFpQnJCLE9BQU8sU0FBU0MsWUFBWUEsQ0FBQ0MsU0FBaUIsRUFBRTtFQUM5QyxPQUFPLENBQ0xGLFNBQVMsQ0FBQ0csTUFBTSxFQUNoQkgsU0FBUyxDQUFDSSxRQUFRLEVBQ2xCSixTQUFTLENBQUNLLEtBQUssRUFDZkwsU0FBUyxDQUFDTSxZQUFZLEVBQ3RCTixTQUFTLENBQUNPLGFBQWEsRUFDdkJQLFNBQVMsQ0FBQ1EsZUFBZSxFQUN6QlIsU0FBUyxDQUFDUyxjQUFjLENBQ3pCLENBQUN4RixRQUFRLENBQUNpRixTQUFTLENBQUM7QUFDdkI7QUFFQSxPQUFPLFNBQVNRLGtCQUFrQkEsQ0FBQ1IsU0FBaUIsRUFBRTtFQUNwRCxPQUFPdkUsTUFBTSxDQUFDcUUsU0FBUyxDQUFDVyxrQkFBa0IsQ0FBQyxLQUFLaEYsTUFBTSxDQUFDdUUsU0FBUyxDQUFDO0FBQ25FO0FBRUEsT0FBTyxJQUFNVSxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFJQyxRQUFnQixFQUFLO0VBQ3RELE9BQU87SUFBQ0EsUUFBUSxFQUFFQTtFQUFRLENBQUM7QUFDN0IsQ0FBQztBQUVELE9BQU8sSUFBTUMsd0JBQTZCLEdBQUc7RUFDM0N0SCxFQUFFLEVBQUVvSCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I1VSxFQUFFLEVBQUU0VSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J4VSxFQUFFLEVBQUV3VSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J0SSxFQUFFLEVBQUVzSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0IvUixFQUFFLEVBQUUrUixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I3SSxFQUFFLEVBQUU2SSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JoUixFQUFFLEVBQUVnUixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JuSCxFQUFFLEVBQUVtSCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J4UCxFQUFFLEVBQUV3UCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JwUCxFQUFFLEVBQUVvUCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JyUCxFQUFFLEVBQUVxUCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I5TyxFQUFFLEVBQUU4TyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J0TyxFQUFFLEVBQUVzTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I5TCxFQUFFLEVBQUU4TCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I3TCxFQUFFLEVBQUU2TCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JyTCxFQUFFLEVBQUVxTCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0I3SyxFQUFFLEVBQUU2SyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0IxSyxFQUFFLEVBQUUwSyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J4SyxFQUFFLEVBQUV3SyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0J2SSxFQUFFLEVBQUV1SSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JwSixFQUFFLEVBQUVvSixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JqSSxFQUFFLEVBQUVpSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0JsSCxFQUFFLEVBQUVrSCxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7RUFDN0IvSSxFQUFFLEVBQUUrSSxrQkFBa0IsQ0FBQyxLQUFLO0FBQzlCLENBQUM7QUFFRCxPQUFPLElBQU1HLG1DQUFtQyxHQUFHLFNBQXRDQSxtQ0FBbUNBLENBQUlDLFdBQWdCLEVBQUs7RUFDdkUsSUFBTUMsb0JBQW9CLEdBQUdILHdCQUF3QixDQUFDRSxXQUFXLENBQUM7RUFDbEUsT0FBT0Msb0JBQW9CLEdBQUdBLG9CQUFvQixHQUFHSCx3QkFBd0IsQ0FBQzlVLEVBQUU7QUFDbEYsQ0FBQztBQU9ELE9BQU8sU0FBU2tWLGdCQUFnQkEsQ0FBQ0MsV0FBb0MsRUFBRTtFQUNyRSxPQUFPQSxXQUFXLENBQUM1RSxHQUFHLENBQUMsVUFBQzZFLFVBQWlDO0lBQUEsT0FBS0EsVUFBVSxDQUFDQyxJQUFJO0VBQUEsRUFBQztBQUNoRjtBQUVBLE9BQU8sU0FBU0Msc0JBQXNCQSxDQUFDQyxHQUFRLEVBQUU7RUFDL0MsSUFBUUMsU0FBUyxHQUFLRCxHQUFHLENBQWpCQyxTQUFTO0VBQ2pCLElBQUlELEdBQUcsQ0FBQ0MsU0FBUyxJQUFJRCxHQUFHLENBQUNDLFNBQVMsQ0FBQ3pHLE1BQU0sRUFBRTtJQUN6Q3dHLEdBQUcsQ0FBQ0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxRQUFRLEdBQUdGLEdBQUcsQ0FBQ0csTUFBTTtFQUN4QztFQUNBLE9BQU9ILEdBQUc7QUFDWjtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTSSx3QkFBd0JBLENBQUNDLEdBQVcsRUFBVTtFQUM1RCxJQUFJQyxLQUFLLEdBQUdsRyxNQUFNLENBQUNpRyxHQUFHLElBQUksRUFBRSxDQUFDLENBQzFCeEMsSUFBSSxDQUFDLENBQUMsQ0FDTjBDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQ25CQSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUNuQkEsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FDbkJBLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQ25CQSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUNuQkEsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQzs7RUFFaEM7RUFDQSxLQUFLLElBQUloSCxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEVBQUUsRUFBRTtJQUMxQixJQUFJO01BQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDaUgsSUFBSSxDQUFDRixLQUFLLENBQUMsRUFBRTtNQUNwQyxJQUFNRyxPQUFPLEdBQUdDLGtCQUFrQixDQUFDSixLQUFLLENBQUM7TUFDekMsSUFBSUcsT0FBTyxLQUFLSCxLQUFLLEVBQUU7TUFDdkJBLEtBQUssR0FBR0csT0FBTztJQUNqQixDQUFDLENBQUMsT0FBQUUsT0FBQSxFQUFNO01BQ047SUFDRjtFQUNGO0VBRUEsT0FBT0wsS0FBSztBQUNkO0FBRUEsT0FBTyxTQUFTTSxjQUFjQSxDQUFDVCxNQUFXLEVBQXNCO0VBQUEsSUFBQVUscUJBQUE7RUFDOUQsSUFBTUMsS0FBSyxHQUFHWCxNQUFNLGFBQU5BLE1BQU0sZ0JBQUFVLHFCQUFBLEdBQU5WLE1BQU0sQ0FBRVksY0FBYyxjQUFBRixxQkFBQSxnQkFBQUEscUJBQUEsR0FBdEJBLHFCQUFBLENBQXlCLENBQUMsQ0FBQyxjQUFBQSxxQkFBQSx1QkFBM0JBLHFCQUFBLENBQTZCRyxZQUFZO0VBQ3ZELE9BQU8sT0FBT0YsS0FBSyxLQUFLLFFBQVEsSUFBSUEsS0FBSyxDQUFDakQsSUFBSSxDQUFDLENBQUMsR0FBR2lELEtBQUssQ0FBQ2pELElBQUksQ0FBQyxDQUFDLEdBQUdwRCxTQUFTO0FBQzdFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxTQUFTd0csdUJBQXVCQSxDQUNyQ1osR0FBVyxFQUNYYSxpQkFBMkIsRUFDM0JoRyxLQUFXLEVBRUg7RUFBQSxJQURSaUcsTUFBNkIsR0FBQUMsU0FBQSxDQUFBNUgsTUFBQSxRQUFBNEgsU0FBQSxRQUFBM0csU0FBQSxHQUFBMkcsU0FBQSxNQUFHLENBQUMsQ0FBQztFQUVsQyxJQUFNQyxJQUFJLEdBQUdqQix3QkFBd0IsQ0FBQ0MsR0FBRyxDQUFDO0VBQzFDLElBQUksQ0FBQ2dCLElBQUksRUFBRSxPQUFPQSxJQUFJO0VBRXRCLElBQU1DLE1BQU0sR0FBRyxJQUFJQyxHQUFHLENBQ3BCRixJQUFJLEVBQ0osT0FBT0csTUFBTSxLQUFLLFdBQVcsR0FBR0EsTUFBTSxDQUFDQyxRQUFRLENBQUNDLElBQUksR0FBRyw4QkFDekQsQ0FBQztFQUVELElBQ0VSLGlCQUFpQixJQUNqQmhHLEtBQUssS0FBS1QsU0FBUyxJQUNuQlMsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxLQUFLLEVBQUUsRUFDWjtJQUNBb0csTUFBTSxDQUFDSyxZQUFZLENBQUNDLEdBQUcsQ0FBQyxhQUFhLEVBQUV4SCxNQUFNLENBQUNjLEtBQUssQ0FBQyxDQUFDO0VBQ3ZEO0VBRUEsSUFBSWlHLE1BQU0sQ0FBQ1UsU0FBUyxLQUFLcEgsU0FBUyxJQUFJMEcsTUFBTSxDQUFDVSxTQUFTLEtBQUssSUFBSSxJQUFJVixNQUFNLENBQUNVLFNBQVMsS0FBSyxFQUFFLEVBQUU7SUFDMUZQLE1BQU0sQ0FBQ0ssWUFBWSxDQUFDQyxHQUFHLENBQUMsV0FBVyxFQUFFeEgsTUFBTSxDQUFDK0csTUFBTSxDQUFDVSxTQUFTLENBQUMsQ0FBQztFQUNoRTtFQUVBLElBQUlWLE1BQU0sQ0FBQ0wsS0FBSyxFQUFFO0lBQ2hCUSxNQUFNLENBQUNLLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLE9BQU8sRUFBRXhILE1BQU0sQ0FBQytHLE1BQU0sQ0FBQ0wsS0FBSyxDQUFDLENBQUM7RUFDeEQ7O0VBRUE7RUFDQSxJQUFJTyxJQUFJLENBQUNTLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtJQUN6QixZQUFBbEUsTUFBQSxDQUFZMEQsTUFBTSxDQUFDUyxJQUFJLEVBQUFuRSxNQUFBLENBQUcwRCxNQUFNLENBQUNVLFFBQVEsRUFBQXBFLE1BQUEsQ0FBRzBELE1BQU0sQ0FBQ1csTUFBTSxFQUFBckUsTUFBQSxDQUFHMEQsTUFBTSxDQUFDWSxJQUFJO0VBQ3pFO0VBRUEsT0FBT1osTUFBTSxDQUFDYSxRQUFRLENBQUMsQ0FBQztBQUMxQjtBQUVBLE9BQU8sU0FBU0MsaUJBQWlCQSxDQUMvQi9CLEdBQVcsRUFDWGEsaUJBQTJCLEVBQzNCaEcsS0FBVyxFQUVYO0VBQUEsSUFEQWlHLE1BQTZCLEdBQUFDLFNBQUEsQ0FBQTVILE1BQUEsUUFBQTRILFNBQUEsUUFBQTNHLFNBQUEsR0FBQTJHLFNBQUEsTUFBRyxDQUFDLENBQUM7RUFFbENJLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLEdBQUdULHVCQUF1QixDQUM1Q1osR0FBRyxFQUNIYSxpQkFBaUIsRUFDakJoRyxLQUFLLEVBQ0xpRyxNQUNGLENBQUM7QUFDSCJ9
|
package/package.json
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "merchi_checkout",
|
|
3
|
-
"version": "1.2.
|
|
4
|
-
"description": "Merchi's custom checkout step form",
|
|
5
|
-
"main": "lib/index.js",
|
|
6
|
-
"module": "src/index.tsx",
|
|
7
|
-
"types": "lib/index.d.ts",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"build": "babel src --out-dir lib --extensions .ts,.tsx --source-maps inline --verbose --copy-files && yarn copy-assets && yarn compile-sass",
|
|
10
|
-
"copy-assets": "copyfiles -u 1 src/**/*.png lib",
|
|
11
|
-
"compile-sass": "sass src/styles/globals.scss lib/styles/globals.css",
|
|
12
|
-
"start": "react-scripts start",
|
|
13
|
-
"test": "react-scripts test",
|
|
14
|
-
"eject": "react-scripts eject"
|
|
15
|
-
},
|
|
16
|
-
"repository": {
|
|
17
|
-
"type": "git",
|
|
18
|
-
"url": "git+https://github.com/merchisdk/merchi_checkout.git"
|
|
19
|
-
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
"react",
|
|
22
|
-
"merchi",
|
|
23
|
-
"component",
|
|
24
|
-
"merch",
|
|
25
|
-
"merchandise",
|
|
26
|
-
"library",
|
|
27
|
-
"stripe"
|
|
28
|
-
],
|
|
29
|
-
"author": "Merchi SDK <james@merchi.co>",
|
|
30
|
-
"license": "MIT",
|
|
31
|
-
"bugs": {
|
|
32
|
-
"url": "https://github.com/merchisdk/merchi_checkout/issues"
|
|
33
|
-
},
|
|
34
|
-
"homepage": "https://github.com/merchisdk/merchi_checkout#readme",
|
|
35
|
-
"files": [
|
|
36
|
-
"lib"
|
|
37
|
-
],
|
|
38
|
-
"peerDependencies": {
|
|
39
|
-
"react": "^18.0.0 || ^19.0.0",
|
|
40
|
-
"react-dom": "^18.0.0 || ^19.0.0"
|
|
41
|
-
},
|
|
42
|
-
"devDependencies": {
|
|
43
|
-
"@babel/cli": "^7.23.0",
|
|
44
|
-
"@babel/core": "^7.23.0",
|
|
45
|
-
"@babel/plugin-transform-react-jsx": "^7.22.15",
|
|
46
|
-
"@babel/plugin-transform-runtime": "^7.23.3",
|
|
47
|
-
"@babel/preset-env": "^7.23.3",
|
|
48
|
-
"@babel/preset-react": "^7.23.3",
|
|
49
|
-
"@babel/preset-typescript": "^7.23.3",
|
|
50
|
-
"@types/lodash": "^4.14.199",
|
|
51
|
-
"@types/node": "20.5.0",
|
|
52
|
-
"@types/react": "18.2.20",
|
|
53
|
-
"@types/react-dom": "18.2.7",
|
|
54
|
-
"@types/uuid": "^9.0.5",
|
|
55
|
-
"compile-sass": "^2.0.0",
|
|
56
|
-
"copyfiles": "^2.4.1",
|
|
57
|
-
"eslint": "8.47.0",
|
|
58
|
-
"eslint-config-next": "13.4.16",
|
|
59
|
-
"sass": "^1.70.0",
|
|
60
|
-
"typescript": "^5.1.6"
|
|
61
|
-
},
|
|
62
|
-
"dependencies": {
|
|
63
|
-
"@fortawesome/fontawesome-free": "6.4.2",
|
|
64
|
-
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
|
65
|
-
"@fortawesome/free-solid-svg-icons": "6.4.2",
|
|
66
|
-
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
67
|
-
"@pqina/pintura": "^8.71.1",
|
|
68
|
-
"@pqina/react-pintura": "^9.0.3",
|
|
69
|
-
"@types/node": "20.5.0",
|
|
70
|
-
"@types/react": "18.2.20",
|
|
71
|
-
"@types/react-dom": "18.2.7",
|
|
72
|
-
"eslint": "8.47.0",
|
|
73
|
-
"eslint-config-next": "13.4.16",
|
|
74
|
-
"js-cookie": "^3.0.5",
|
|
75
|
-
"lodash": "^4.17.21",
|
|
76
|
-
"merchi_invoice": "^1.2.2",
|
|
77
|
-
"merchi_sdk_ts": "^1.
|
|
78
|
-
"react": "^18.0.0 || ^19.0.0",
|
|
79
|
-
"react-addons-css-transition-group": "^15.6.2",
|
|
80
|
-
"react-country-region-selector": "^3.6.1",
|
|
81
|
-
"react-dom": "^18.0.0 || ^19.0.0",
|
|
82
|
-
"react-dropzone": "^14.2.3",
|
|
83
|
-
"react-hook-form": "7.45.4",
|
|
84
|
-
"react-icons": "^4.10.1",
|
|
85
|
-
"react-medium-image-zoom": "^5.1.8",
|
|
86
|
-
"react-transition": "^1.0.3",
|
|
87
|
-
"react-transition-group": "^4.4.5",
|
|
88
|
-
"typescript": "5.1.6",
|
|
89
|
-
"uuid": "^9.0.0"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "merchi_checkout",
|
|
3
|
+
"version": "1.2.7",
|
|
4
|
+
"description": "Merchi's custom checkout step form",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"module": "src/index.tsx",
|
|
7
|
+
"types": "lib/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"build": "babel src --out-dir lib --extensions .ts,.tsx --source-maps inline --verbose --copy-files && yarn copy-assets && yarn compile-sass",
|
|
10
|
+
"copy-assets": "copyfiles -u 1 src/**/*.png lib",
|
|
11
|
+
"compile-sass": "sass src/styles/globals.scss lib/styles/globals.css",
|
|
12
|
+
"start": "react-scripts start",
|
|
13
|
+
"test": "react-scripts test",
|
|
14
|
+
"eject": "react-scripts eject"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/merchisdk/merchi_checkout.git"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"react",
|
|
22
|
+
"merchi",
|
|
23
|
+
"component",
|
|
24
|
+
"merch",
|
|
25
|
+
"merchandise",
|
|
26
|
+
"library",
|
|
27
|
+
"stripe"
|
|
28
|
+
],
|
|
29
|
+
"author": "Merchi SDK <james@merchi.co>",
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"bugs": {
|
|
32
|
+
"url": "https://github.com/merchisdk/merchi_checkout/issues"
|
|
33
|
+
},
|
|
34
|
+
"homepage": "https://github.com/merchisdk/merchi_checkout#readme",
|
|
35
|
+
"files": [
|
|
36
|
+
"lib"
|
|
37
|
+
],
|
|
38
|
+
"peerDependencies": {
|
|
39
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
40
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@babel/cli": "^7.23.0",
|
|
44
|
+
"@babel/core": "^7.23.0",
|
|
45
|
+
"@babel/plugin-transform-react-jsx": "^7.22.15",
|
|
46
|
+
"@babel/plugin-transform-runtime": "^7.23.3",
|
|
47
|
+
"@babel/preset-env": "^7.23.3",
|
|
48
|
+
"@babel/preset-react": "^7.23.3",
|
|
49
|
+
"@babel/preset-typescript": "^7.23.3",
|
|
50
|
+
"@types/lodash": "^4.14.199",
|
|
51
|
+
"@types/node": "20.5.0",
|
|
52
|
+
"@types/react": "18.2.20",
|
|
53
|
+
"@types/react-dom": "18.2.7",
|
|
54
|
+
"@types/uuid": "^9.0.5",
|
|
55
|
+
"compile-sass": "^2.0.0",
|
|
56
|
+
"copyfiles": "^2.4.1",
|
|
57
|
+
"eslint": "8.47.0",
|
|
58
|
+
"eslint-config-next": "13.4.16",
|
|
59
|
+
"sass": "^1.70.0",
|
|
60
|
+
"typescript": "^5.1.6"
|
|
61
|
+
},
|
|
62
|
+
"dependencies": {
|
|
63
|
+
"@fortawesome/fontawesome-free": "6.4.2",
|
|
64
|
+
"@fortawesome/fontawesome-svg-core": "6.4.2",
|
|
65
|
+
"@fortawesome/free-solid-svg-icons": "6.4.2",
|
|
66
|
+
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
67
|
+
"@pqina/pintura": "^8.71.1",
|
|
68
|
+
"@pqina/react-pintura": "^9.0.3",
|
|
69
|
+
"@types/node": "20.5.0",
|
|
70
|
+
"@types/react": "18.2.20",
|
|
71
|
+
"@types/react-dom": "18.2.7",
|
|
72
|
+
"eslint": "8.47.0",
|
|
73
|
+
"eslint-config-next": "13.4.16",
|
|
74
|
+
"js-cookie": "^3.0.5",
|
|
75
|
+
"lodash": "^4.17.21",
|
|
76
|
+
"merchi_invoice": "^1.2.2",
|
|
77
|
+
"merchi_sdk_ts": "^1.28.0",
|
|
78
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
79
|
+
"react-addons-css-transition-group": "^15.6.2",
|
|
80
|
+
"react-country-region-selector": "^3.6.1",
|
|
81
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
82
|
+
"react-dropzone": "^14.2.3",
|
|
83
|
+
"react-hook-form": "7.45.4",
|
|
84
|
+
"react-icons": "^4.10.1",
|
|
85
|
+
"react-medium-image-zoom": "^5.1.8",
|
|
86
|
+
"react-transition": "^1.0.3",
|
|
87
|
+
"react-transition-group": "^4.4.5",
|
|
88
|
+
"typescript": "5.1.6",
|
|
89
|
+
"uuid": "^9.0.0"
|
|
90
|
+
}
|
|
91
|
+
}
|