@coinflowlabs/angular 0.1.3 → 0.1.4
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 +4 -0
- package/esm2022/lib/common/CoinflowTypes.mjs +1 -1
- package/esm2022/lib/common/CoinflowUtils.mjs +47 -1
- package/esm2022/lib/common/card-form/TokenEx.mjs +11 -0
- package/esm2022/lib/common/card-form/tokenexHelpers.mjs +153 -0
- package/esm2022/lib/common/index.mjs +3 -1
- package/fesm2022/coinflowlabs-angular.mjs +207 -0
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
- package/lib/common/CoinflowTypes.d.ts +5 -1
- package/lib/common/CoinflowUtils.d.ts +6 -1
- package/lib/common/card-form/TokenEx.d.ts +154 -0
- package/lib/common/card-form/tokenexHelpers.d.ts +28 -0
- package/lib/common/index.d.ts +2 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -17,4 +17,4 @@ export var CardType;
|
|
|
17
17
|
CardType["AMEX"] = "AMEX";
|
|
18
18
|
CardType["DISCOVER"] = "DISC";
|
|
19
19
|
})(CardType || (CardType = {}));
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBb2FELE1BQU0sQ0FBTixJQUFZLFFBS1g7QUFMRCxXQUFZLFFBQVE7SUFDbEIseUJBQWEsQ0FBQTtJQUNiLCtCQUFtQixDQUFBO0lBQ25CLHlCQUFhLENBQUE7SUFDYiw2QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsUUFBUSxLQUFSLFFBQVEsUUFLbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbm5lY3Rpb24sXG4gIFZlcnNpb25lZFRyYW5zYWN0aW9uLFxuICBQdWJsaWNLZXksXG4gIFNpZ25lcixcbiAgVHJhbnNhY3Rpb24sXG59IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5cbmV4cG9ydCBlbnVtIFNldHRsZW1lbnRUeXBlIHtcbiAgQ3JlZGl0cyA9ICdDcmVkaXRzJyxcbiAgVVNEQyA9ICdVU0RDJyxcbiAgQmFuayA9ICdCYW5rJyxcbn1cblxuZXhwb3J0IGVudW0gTWVyY2hhbnRTdHlsZSB7XG4gIFJvdW5kZWQgPSAncm91bmRlZCcsXG4gIFNoYXJwID0gJ3NoYXJwJyxcbiAgUGlsbCA9ICdwaWxsJyxcbn1cblxuZXhwb3J0IHR5cGUgTWVyY2hhbnRUaGVtZSA9IHtcbiAgcHJpbWFyeT86IHN0cmluZztcbiAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudDI/OiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgdGV4dENvbG9yQWNjZW50Pzogc3RyaW5nO1xuICB0ZXh0Q29sb3JBY3Rpb24/OiBzdHJpbmc7XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIHN0eWxlPzogTWVyY2hhbnRTdHlsZTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJJbmZvIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uSWQ/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbiAgemlwPzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBpcD86IHN0cmluZztcbiAgbGF0Pzogc3RyaW5nO1xuICBsbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBDb2luZmxvdyBUeXBlcyAqKi9cbmV4cG9ydCB0eXBlIENvaW5mbG93QmxvY2tjaGFpbiA9ICdzb2xhbmEnIHwgJ25lYXInIHwgJ2V0aCcgfCAncG9seWdvbicgfCAnYmFzZSc7XG5leHBvcnQgdHlwZSBDb2luZmxvd0VudnMgPVxuICB8ICdwcm9kJ1xuICB8ICdzdGFnaW5nJ1xuICB8ICdzdGFnaW5nLWxpdmUnXG4gIHwgJ3NhbmRib3gnXG4gIHwgJ2xvY2FsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1R5cGVzIHtcbiAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICBlbnY/OiBDb2luZmxvd0VudnM7XG4gIGxvYWRlckJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbjtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKFxuICBhcmdzOlxuICAgIHwge1xuICAgICAgICBwYXltZW50SWQ6IHN0cmluZztcbiAgICAgICAgaGFzaD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhckhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aEhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzO1xuXG4vKiogVHJhbnNhY3Rpb25zICoqL1xuXG5leHBvcnQgdHlwZSBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb24gPSB7XG4gIG1ldGhvZE5hbWU6ICdmdF90cmFuc2Zlcl9jYWxsJztcbiAgYXJnczogb2JqZWN0O1xuICBnYXM6IHN0cmluZztcbiAgZGVwb3NpdDogc3RyaW5nO1xufTtcblxudHlwZSBCeXRlcyA9IEFycmF5TGlrZTxudW1iZXI+O1xudHlwZSBCeXRlc0xpa2UgPSBCeXRlcyB8IHN0cmluZztcblxudHlwZSBSYXdQcm9kdWN0RGF0YSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+O1xuXG4vKiogUHVyY2hhc2UgKiovXG5cbmV4cG9ydCB0eXBlIENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSA9IENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvZHVjdFxuICAgKi9cbiAgcHJvZHVjdE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwcm9kdWN0IHR5cGUuIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBpbkdhbWVQcm9kdWN0LCBnYW1lT2ZTa2lsbCwgZGF0YVN0b3JhZ2UsIGNvbXB1dGluZ1Jlc291cmNlcywgc3BvcnRzVGlja2V0LCBlU3BvcnRzVGlja2V0LCBtdXNpY1RpY2tldCwgY29uZmVyZW5jZVRpY2tldCwgdmlydHVhbFNwb3J0c1RpY2tldCwgdmlydHVhbEVTcG9ydHNUaWNrZXQsIHZpcnR1YWxNdXNpY1RpY2tldCwgdmlydHVhbENvbmZlcmVuY2VUaWNrZXQsIGFsY29ob2wsIERMQywgc3Vic2NyaXB0aW9uLCBmdW5kQUNhdXNlLCByZWFsRXN0YXRlLCBjb21wdXRpbmdDb250cmFjdCwgZGlnaXRhbEFydCwgdG9wVXBcbiAgICovXG4gIHByb2R1Y3RUeXBlOlxuICAgIHwgJ2luR2FtZVByb2R1Y3QnXG4gICAgfCAnZ2FtZU9mU2tpbGwnXG4gICAgfCAnZGF0YVN0b3JhZ2UnXG4gICAgfCAnY29tcHV0aW5nUmVzb3VyY2VzJ1xuICAgIHwgJ3Nwb3J0c1RpY2tldCdcbiAgICB8ICdlU3BvcnRzVGlja2V0J1xuICAgIHwgJ211c2ljVGlja2V0J1xuICAgIHwgJ2NvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAndmlydHVhbFNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsRVNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsTXVzaWNUaWNrZXQnXG4gICAgfCAndmlydHVhbENvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAnYWxjb2hvbCdcbiAgICB8ICdETEMnXG4gICAgfCAnc3Vic2NyaXB0aW9uJ1xuICAgIHwgJ2Z1bmRBQ2F1c2UnXG4gICAgfCAncmVhbEVzdGF0ZSdcbiAgICB8ICdjb21wdXRpbmdDb250cmFjdCdcbiAgICB8ICdkaWdpdGFsQXJ0J1xuICAgIHwgJ3RvcFVwJ1xuICAgIHwgJ293bmVyc2hpcENvbnRyYWN0JztcbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgbGlzdCBwcmljZVxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdW5pdHMgc29sZFxuICAgKi9cbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFueSBhZGRpdGlvbmFsIGRhdGEgdGhhdCB0aGUgc3RvcmUgY2FuIHByb3ZpZGUgb24gdGhlIHByb2R1Y3QsIGUuZy4gZGVzY3JpcHRpb24sIGxpbmsgdG8gaW1hZ2UsIGV0Yy5cbiAgICovXG4gIHJhd1Byb2R1Y3REYXRhPzogUmF3UHJvZHVjdERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xuICB3ZWJob29rSW5mbz86IG9iamVjdDtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YT86IENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YTtcbiAgcGxhbkNvZGU/OiBzdHJpbmc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICBjdXN0b21lckluZm8/OiBDdXN0b21lckluZm87XG4gIHNldHRsZW1lbnRUeXBlPzogU2V0dGxlbWVudFR5cGU7XG4gIGF1dGhPbmx5PzogYm9vbGVhbjtcbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIGp3dFRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgcmVuZGVyaW5nIHRoZSBDb2luZmxvdyBjb21wb25lbnQgd2l0aGluIG11bHRpcGxlIG5lc3RlZCBpZnJhbWVzLCBhbGwgYW5jZXN0b3JzIGluIHRoZSBjaGFpbiBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIFByaW1hcnkgb3JpZ2luIHRoYXQgd2lsbCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBDb2luZmxvdyBpRnJhbWU6IGZvby5jb21cbiAgICogU3Vic2VxdWVudCBvcmlnaW5zIHRoYXQgd2lsbCByZW5kZXIgZm9vLmNvbTogYmFyLmNvbVxuICAgKiBUaGUgb3JpZ2luIGFycmF5IHdvdWxkIHRoZW4gYmU6IFtodHRwczovL2Zvby5jb20saHR0cHM6Ly9iYXIuY29tXVxuICAgKi9cbiAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICB0cmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb247XG4gIHBhcnRpYWxTaWduZXJzPzogU2lnbmVyW107XG4gIGRlYnVnVHg/OiBib29sZWFuO1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbiAgdG9rZW4/OiBQdWJsaWNLZXkgfCBzdHJpbmc7XG4gIHJlbnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG4gIG5hdGl2ZVNvbFRvQ29udmVydD86IHtsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd05lYXJQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG4gIGFjdGlvbj86IE5lYXJGdFRyYW5zZmVyQ2FsbEFjdGlvbjtcbiAgbmVhckRlcG9zaXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgdHJhbnNhY3Rpb24/OiBFdm1UcmFuc2FjdGlvbkRhdGE7XG4gIHRva2VuPzogc3RyaW5nO1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXRoUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UHVyY2hhc2VQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dOZWFyUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzO1xuXG4vKiogV2l0aGRyYXcgKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgdG9rZW5zPzogc3RyaW5nW107XG4gIGxvY2tEZWZhdWx0VG9rZW4/OiBib29sZWFuO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdD86IHN0cmluZztcbiAgYWRkaXRpb25hbFdhbGxldHM/OiB7XG4gICAgd2FsbGV0OiBzdHJpbmc7XG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnZXRoJyB8ICduZWFyJyB8ICdwb2x5Z29uJztcbiAgfVtdO1xuICBsb2NrQW1vdW50PzogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25TaWduZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiByZW5kZXJpbmcgdGhlIENvaW5mbG93IGNvbXBvbmVudCB3aXRoaW4gbXVsdGlwbGUgbmVzdGVkIGlmcmFtZXMsIGFsbCBhbmNlc3RvcnMgaW4gdGhlIGNoYWluIG11c3QgYmUgcHJvdmlkZWQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogUHJpbWFyeSBvcmlnaW4gdGhhdCB3aWxsIGJlIGludGVyYWN0aW5nIHdpdGggdGhlIENvaW5mbG93IGlGcmFtZTogZm9vLmNvbVxuICAgKiBTdWJzZXF1ZW50IG9yaWdpbnMgdGhhdCB3aWxsIHJlbmRlciBmb28uY29tOiBiYXIuY29tXG4gICAqIFRoZSBvcmlnaW4gYXJyYXkgd291bGQgdGhlbiBiZTogW2h0dHBzOi8vZm9vLmNvbSxodHRwczovL2Jhci5jb21dXG4gICAqL1xuICBvcmlnaW5zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93V2l0aGRyYXdQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dOZWFyV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93RXRoV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkV2bVJlZGVlbSB7XG4gIHdhaXRGb3JIYXNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3JtYWxSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0cmFuc2FjdGlvbjoge3RvOiBzdHJpbmc7IGRhdGE6IHN0cmluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS25vd25Ub2tlbklkUmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgbmZ0Q29udHJhY3Q6IHN0cmluZztcbiAgbmZ0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYWZlTWludFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdzYWZlTWludCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldHVybmVkVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdyZXR1cm5lZCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG50eXBlIFJlc2Vydm9pck5mdElkSXRlbSA9IE9taXQ8S25vd25Ub2tlbklkUmVkZWVtLCBrZXlvZiBOb3JtYWxSZWRlZW0+O1xuaW50ZXJmYWNlIFJlc2Vydm9pck9yZGVySWRJdGVtIHtcbiAgb3JkZXJJZDogc3RyaW5nO1xufVxudHlwZSBSZXNlcnZvaXJJdGVtID0gUmVzZXJ2b2lyTmZ0SWRJdGVtIHwgUmVzZXJ2b2lyT3JkZXJJZEl0ZW07XG50eXBlIFJlc2Vydm9pckl0ZW1zID0gUmVzZXJ2b2lySXRlbSB8IFJlc2Vydm9pckl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNlcnZvaXJSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAncmVzZXJ2b2lyJztcbiAgaXRlbXM6IFJlc2Vydm9pckl0ZW1zO1xuICB0YWtlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRXZtVHJhbnNhY3Rpb25EYXRhID1cbiAgfCBTYWZlTWludFJlZGVlbVxuICB8IFJldHVybmVkVG9rZW5JZFJlZGVlbVxuICB8IFJlc2Vydm9pclJlZGVlbVxuICB8IEtub3duVG9rZW5JZFJlZGVlbVxuICB8IE5vcm1hbFJlZGVlbTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0lGcmFtZVByb3BzXG4gIGV4dGVuZHMgT21pdDxDb2luZmxvd1R5cGVzLCAnbWVyY2hhbnRJZCc+LFxuICAgIFBpY2s8XG4gICAgICBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMsXG4gICAgICB8ICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnXG4gICAgICB8ICd3ZWJob29rSW5mbydcbiAgICAgIHwgJ2Ftb3VudCdcbiAgICAgIHwgJ2N1c3RvbWVySW5mbydcbiAgICAgIHwgJ3NldHRsZW1lbnRUeXBlJ1xuICAgICAgfCAnZW1haWwnXG4gICAgICB8ICdwbGFuQ29kZSdcbiAgICAgIHwgJ2RldmljZUlkJ1xuICAgICAgfCAnand0VG9rZW4nXG4gICAgICB8ICdvcmlnaW5zJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICA+LFxuICAgIFBpY2s8Q29pbmZsb3dFdm1QdXJjaGFzZVByb3BzLCAnYXV0aE9ubHknPixcbiAgICBQaWNrPENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wcywgJ3JlbnQnIHwgJ25hdGl2ZVNvbFRvQ29udmVydCcgfCAndG9rZW4nPiB7XG4gIHdhbGxldFB1YmtleTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVQcmVmaXg/OiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICB0b2tlbnM/OiBzdHJpbmdbXSB8IFB1YmxpY0tleVtdO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbiAgbWVyY2hhbnRDc3M/OiBzdHJpbmc7XG4gIGNvbG9yPzogJ3doaXRlJyB8ICdibGFjayc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIENhcmRUeXBlIHtcbiAgVklTQSA9ICdWSVNBJyxcbiAgTUFTVEVSQ0FSRCA9ICdNU1RSJyxcbiAgQU1FWCA9ICdBTUVYJyxcbiAgRElTQ09WRVIgPSAnRElTQycsXG59XG4iXX0=
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIscUNBQW1CLENBQUE7SUFDbkIsK0JBQWEsQ0FBQTtJQUNiLCtCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsY0FBYyxLQUFkLGNBQWMsUUFJekI7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZiw4QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGFBQWEsS0FBYixhQUFhLFFBSXhCO0FBMGFELE1BQU0sQ0FBTixJQUFZLFFBS1g7QUFMRCxXQUFZLFFBQVE7SUFDbEIseUJBQWEsQ0FBQTtJQUNiLCtCQUFtQixDQUFBO0lBQ25CLHlCQUFhLENBQUE7SUFDYiw2QkFBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsUUFBUSxLQUFSLFFBQVEsUUFLbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbm5lY3Rpb24sXG4gIFZlcnNpb25lZFRyYW5zYWN0aW9uLFxuICBQdWJsaWNLZXksXG4gIFNpZ25lcixcbiAgVHJhbnNhY3Rpb24sXG59IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5cbmV4cG9ydCBlbnVtIFNldHRsZW1lbnRUeXBlIHtcbiAgQ3JlZGl0cyA9ICdDcmVkaXRzJyxcbiAgVVNEQyA9ICdVU0RDJyxcbiAgQmFuayA9ICdCYW5rJyxcbn1cblxuZXhwb3J0IGVudW0gTWVyY2hhbnRTdHlsZSB7XG4gIFJvdW5kZWQgPSAncm91bmRlZCcsXG4gIFNoYXJwID0gJ3NoYXJwJyxcbiAgUGlsbCA9ICdwaWxsJyxcbn1cblxuZXhwb3J0IHR5cGUgTWVyY2hhbnRUaGVtZSA9IHtcbiAgcHJpbWFyeT86IHN0cmluZztcbiAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudD86IHN0cmluZztcbiAgYmFja2dyb3VuZEFjY2VudDI/OiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgdGV4dENvbG9yQWNjZW50Pzogc3RyaW5nO1xuICB0ZXh0Q29sb3JBY3Rpb24/OiBzdHJpbmc7XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIHN0eWxlPzogTWVyY2hhbnRTdHlsZTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJJbmZvIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uSWQ/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBzdGF0ZT86IHN0cmluZztcbiAgemlwPzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBpcD86IHN0cmluZztcbiAgbGF0Pzogc3RyaW5nO1xuICBsbmc/OiBzdHJpbmc7XG59XG5cbi8qKiBDb2luZmxvdyBUeXBlcyAqKi9cbmV4cG9ydCB0eXBlIENvaW5mbG93QmxvY2tjaGFpbiA9ICdzb2xhbmEnIHwgJ25lYXInIHwgJ2V0aCcgfCAncG9seWdvbicgfCAnYmFzZSc7XG5leHBvcnQgdHlwZSBDb2luZmxvd0VudnMgPVxuICB8ICdwcm9kJ1xuICB8ICdzdGFnaW5nJ1xuICB8ICdzdGFnaW5nLWxpdmUnXG4gIHwgJ3NhbmRib3gnXG4gIHwgJ2xvY2FsJztcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1R5cGVzIHtcbiAgbWVyY2hhbnRJZDogc3RyaW5nO1xuICBlbnY/OiBDb2luZmxvd0VudnM7XG4gIGxvYWRlckJhY2tncm91bmQ/OiBzdHJpbmc7XG4gIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbjtcbiAgaGFuZGxlSGVpZ2h0Q2hhbmdlPzogKGhlaWdodDogc3RyaW5nKSA9PiB2b2lkO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxCeTxULCBLIGV4dGVuZHMga2V5b2YgVD4gPSBPbWl0PFQsIEs+ICYgUGFydGlhbDxQaWNrPFQsIEs+PjtcblxuZXhwb3J0IHR5cGUgT25TdWNjZXNzTWV0aG9kID0gKFxuICBhcmdzOlxuICAgIHwge1xuICAgICAgICBwYXltZW50SWQ6IHN0cmluZztcbiAgICAgICAgaGFzaD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB8IHN0cmluZ1xuKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPjtcblxuLyoqIFdhbGxldHMgKiovXG5leHBvcnQgaW50ZXJmYWNlIFNvbGFuYVdhbGxldCB7XG4gIHB1YmxpY0tleTogUHVibGljS2V5IHwgbnVsbDtcbiAgc2lnblRyYW5zYWN0aW9uPzogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8VD47XG4gIHNlbmRUcmFuc2FjdGlvbjogPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICB0cmFuc2FjdGlvbjogVFxuICApID0+IFByb21pc2U8c3RyaW5nPjtcbiAgc2lnbk1lc3NhZ2U/OiAobWVzc2FnZTogVWludDhBcnJheSkgPT4gUHJvbWlzZTxVaW50OEFycmF5Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZWFyV2FsbGV0IHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHNpZ25BbmRTZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbjogdW5rbm93bikgPT4gUHJvbWlzZTx7XG4gICAgdHJhbnNhY3Rpb246IHtoYXNoOiBzdHJpbmd9O1xuICB9Pjtcbn1cblxudHlwZSBBY2Nlc3NMaXN0ID0gQXJyYXk8e2FkZHJlc3M6IHN0cmluZzsgc3RvcmFnZUtleXM6IEFycmF5PHN0cmluZz59PjtcbnR5cGUgQWNjZXNzTGlzdGlzaCA9XG4gIHwgQWNjZXNzTGlzdFxuICB8IEFycmF5PFtzdHJpbmcsIEFycmF5PHN0cmluZz5dPlxuICB8IFJlY29yZDxzdHJpbmcsIEFycmF5PHN0cmluZz4+O1xuXG5leHBvcnQgdHlwZSBFdGhXYWxsZXQgPSB7XG4gIGFkZHJlc3M6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHNlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9uOiB7XG4gICAgdG86IHN0cmluZztcbiAgICBmcm9tPzogc3RyaW5nO1xuICAgIG5vbmNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBnYXNMaW1pdD86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIGdhc1ByaWNlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICBkYXRhPzogQnl0ZXNMaWtlO1xuICAgIHZhbHVlPzogQnl0ZXMgfCBiaWdpbnQgfCBzdHJpbmcgfCBudW1iZXI7XG4gICAgY2hhaW5JZD86IG51bWJlcjtcblxuICAgIHR5cGU/OiBudW1iZXI7XG4gICAgYWNjZXNzTGlzdD86IEFjY2Vzc0xpc3Rpc2g7XG5cbiAgICBtYXhQcmlvcml0eUZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuICAgIG1heEZlZVBlckdhcz86IEJ5dGVzIHwgYmlnaW50IHwgc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgY3VzdG9tRGF0YT86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgY2NpcFJlYWRFbmFibGVkPzogYm9vbGVhbjtcbiAgfSkgPT4gUHJvbWlzZTx7aGFzaDogc3RyaW5nfT47XG4gIHNpZ25NZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59O1xuXG4vKiogSGlzdG9yeSAqKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFIaXN0b3J5UHJvcHMgZXh0ZW5kcyBDb2luZmxvd1R5cGVzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhckhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bUhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93VHlwZXMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aEhpc3RvcnlQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtSGlzdG9yeVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ2V0aCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dQb2x5Z29uSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAncG9seWdvbic7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1IaXN0b3J5UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93SGlzdG9yeVByb3BzID1cbiAgfCBDb2luZmxvd1NvbGFuYUhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93TmVhckhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbkhpc3RvcnlQcm9wc1xuICB8IENvaW5mbG93RXRoSGlzdG9yeVByb3BzXG4gIHwgQ29pbmZsb3dCYXNlSGlzdG9yeVByb3BzO1xuXG4vKiogVHJhbnNhY3Rpb25zICoqL1xuXG5leHBvcnQgdHlwZSBOZWFyRnRUcmFuc2ZlckNhbGxBY3Rpb24gPSB7XG4gIG1ldGhvZE5hbWU6ICdmdF90cmFuc2Zlcl9jYWxsJztcbiAgYXJnczogb2JqZWN0O1xuICBnYXM6IHN0cmluZztcbiAgZGVwb3NpdDogc3RyaW5nO1xufTtcblxudHlwZSBCeXRlcyA9IEFycmF5TGlrZTxudW1iZXI+O1xudHlwZSBCeXRlc0xpa2UgPSBCeXRlcyB8IHN0cmluZztcblxudHlwZSBSYXdQcm9kdWN0RGF0YSA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3Q+O1xuXG4vKiogUHVyY2hhc2UgKiovXG5cbmV4cG9ydCB0eXBlIENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSA9IENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJnZWJhY2tQcm90ZWN0aW9uSXRlbSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvZHVjdFxuICAgKi9cbiAgcHJvZHVjdE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBwcm9kdWN0IHR5cGUuIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlOiBpbkdhbWVQcm9kdWN0LCBnYW1lT2ZTa2lsbCwgZGF0YVN0b3JhZ2UsIGNvbXB1dGluZ1Jlc291cmNlcywgc3BvcnRzVGlja2V0LCBlU3BvcnRzVGlja2V0LCBtdXNpY1RpY2tldCwgY29uZmVyZW5jZVRpY2tldCwgdmlydHVhbFNwb3J0c1RpY2tldCwgdmlydHVhbEVTcG9ydHNUaWNrZXQsIHZpcnR1YWxNdXNpY1RpY2tldCwgdmlydHVhbENvbmZlcmVuY2VUaWNrZXQsIGFsY29ob2wsIERMQywgc3Vic2NyaXB0aW9uLCBmdW5kQUNhdXNlLCByZWFsRXN0YXRlLCBjb21wdXRpbmdDb250cmFjdCwgZGlnaXRhbEFydCwgdG9wVXBcbiAgICovXG4gIHByb2R1Y3RUeXBlOlxuICAgIHwgJ2luR2FtZVByb2R1Y3QnXG4gICAgfCAnZ2FtZU9mU2tpbGwnXG4gICAgfCAnZGF0YVN0b3JhZ2UnXG4gICAgfCAnY29tcHV0aW5nUmVzb3VyY2VzJ1xuICAgIHwgJ3Nwb3J0c1RpY2tldCdcbiAgICB8ICdlU3BvcnRzVGlja2V0J1xuICAgIHwgJ211c2ljVGlja2V0J1xuICAgIHwgJ2NvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAndmlydHVhbFNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsRVNwb3J0c1RpY2tldCdcbiAgICB8ICd2aXJ0dWFsTXVzaWNUaWNrZXQnXG4gICAgfCAndmlydHVhbENvbmZlcmVuY2VUaWNrZXQnXG4gICAgfCAnYWxjb2hvbCdcbiAgICB8ICdETEMnXG4gICAgfCAnc3Vic2NyaXB0aW9uJ1xuICAgIHwgJ2Z1bmRBQ2F1c2UnXG4gICAgfCAncmVhbEVzdGF0ZSdcbiAgICB8ICdjb21wdXRpbmdDb250cmFjdCdcbiAgICB8ICdkaWdpdGFsQXJ0J1xuICAgIHwgJ3RvcFVwJ1xuICAgIHwgJ293bmVyc2hpcENvbnRyYWN0JztcbiAgLyoqXG4gICAqIFRoZSBpdGVtJ3MgbGlzdCBwcmljZVxuICAgKi9cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdW5pdHMgc29sZFxuICAgKi9cbiAgcXVhbnRpdHk6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFueSBhZGRpdGlvbmFsIGRhdGEgdGhhdCB0aGUgc3RvcmUgY2FuIHByb3ZpZGUgb24gdGhlIHByb2R1Y3QsIGUuZy4gZGVzY3JpcHRpb24sIGxpbmsgdG8gaW1hZ2UsIGV0Yy5cbiAgICovXG4gIHJhd1Byb2R1Y3REYXRhPzogUmF3UHJvZHVjdERhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIGFtb3VudD86IG51bWJlciB8IHN0cmluZztcbiAgb25TdWNjZXNzPzogT25TdWNjZXNzTWV0aG9kO1xuICB3ZWJob29rSW5mbz86IG9iamVjdDtcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YT86IENoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YTtcbiAgcGxhbkNvZGU/OiBzdHJpbmc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICBjdXN0b21lckluZm8/OiBDdXN0b21lckluZm87XG4gIHNldHRsZW1lbnRUeXBlPzogU2V0dGxlbWVudFR5cGU7XG4gIGF1dGhPbmx5PzogYm9vbGVhbjtcbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIGp3dFRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgcmVuZGVyaW5nIHRoZSBDb2luZmxvdyBjb21wb25lbnQgd2l0aGluIG11bHRpcGxlIG5lc3RlZCBpZnJhbWVzLCBhbGwgYW5jZXN0b3JzIGluIHRoZSBjaGFpbiBtdXN0IGJlIHByb3ZpZGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuXG4gICAqXG4gICAqIEV4YW1wbGU6XG4gICAqIFByaW1hcnkgb3JpZ2luIHRoYXQgd2lsbCBiZSBpbnRlcmFjdGluZyB3aXRoIHRoZSBDb2luZmxvdyBpRnJhbWU6IGZvby5jb21cbiAgICogU3Vic2VxdWVudCBvcmlnaW5zIHRoYXQgd2lsbCByZW5kZXIgZm9vLmNvbTogYmFyLmNvbVxuICAgKiBUaGUgb3JpZ2luIGFycmF5IHdvdWxkIHRoZW4gYmU6IFtodHRwczovL2Zvby5jb20saHR0cHM6Ly9iYXIuY29tXVxuICAgKi9cbiAgb3JpZ2lucz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wc1xuICBleHRlbmRzIENvaW5mbG93Q29tbW9uUHVyY2hhc2VQcm9wcyB7XG4gIHdhbGxldDogU29sYW5hV2FsbGV0O1xuICB0cmFuc2FjdGlvbj86IFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb247XG4gIHBhcnRpYWxTaWduZXJzPzogU2lnbmVyW107XG4gIGRlYnVnVHg/OiBib29sZWFuO1xuICBjb25uZWN0aW9uOiBDb25uZWN0aW9uO1xuICBibG9ja2NoYWluOiAnc29sYW5hJztcbiAgdG9rZW4/OiBQdWJsaWNLZXkgfCBzdHJpbmc7XG4gIHJlbnQ/OiB7bGFtcG9ydHM6IHN0cmluZyB8IG51bWJlcn07XG4gIG5hdGl2ZVNvbFRvQ29udmVydD86IHtsYW1wb3J0czogc3RyaW5nIHwgbnVtYmVyfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd05lYXJQdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgd2FsbGV0OiBOZWFyV2FsbGV0O1xuICBibG9ja2NoYWluOiAnbmVhcic7XG4gIGFjdGlvbj86IE5lYXJGdFRyYW5zZmVyQ2FsbEFjdGlvbjtcbiAgbmVhckRlcG9zaXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dDb21tb25QdXJjaGFzZVByb3BzIHtcbiAgdHJhbnNhY3Rpb24/OiBFdm1UcmFuc2FjdGlvbkRhdGE7XG4gIHRva2VuPzogc3RyaW5nO1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25QdXJjaGFzZVByb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1QdXJjaGFzZVByb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93RXRoUHVyY2hhc2VQcm9wcyBleHRlbmRzIENvaW5mbG93RXZtUHVyY2hhc2VQcm9wcyB7XG4gIGJsb2NrY2hhaW46ICdldGgnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVB1cmNoYXNlUHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVB1cmNoYXNlUHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93UHVyY2hhc2VQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFQdXJjaGFzZVByb3BzXG4gIHwgQ29pbmZsb3dOZWFyUHVyY2hhc2VQcm9wc1xuICB8IENvaW5mbG93UG9seWdvblB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0V0aFB1cmNoYXNlUHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VQdXJjaGFzZVByb3BzO1xuXG4vKiogV2l0aGRyYXcgKiovXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dUeXBlcyB7XG4gIG9uU3VjY2Vzcz86IE9uU3VjY2Vzc01ldGhvZDtcbiAgdG9rZW5zPzogc3RyaW5nW107XG4gIGxvY2tEZWZhdWx0VG9rZW4/OiBib29sZWFuO1xuICBhbW91bnQ/OiBudW1iZXI7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdD86IHN0cmluZztcbiAgYWRkaXRpb25hbFdhbGxldHM/OiB7XG4gICAgd2FsbGV0OiBzdHJpbmc7XG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnZXRoJyB8ICduZWFyJyB8ICdwb2x5Z29uJztcbiAgfVtdO1xuICBsb2NrQW1vdW50PzogYm9vbGVhbjtcbiAgdHJhbnNhY3Rpb25TaWduZXI/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiByZW5kZXJpbmcgdGhlIENvaW5mbG93IGNvbXBvbmVudCB3aXRoaW4gbXVsdGlwbGUgbmVzdGVkIGlmcmFtZXMsIGFsbCBhbmNlc3RvcnMgaW4gdGhlIGNoYWluIG11c3QgYmUgcHJvdmlkZWQgYXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogUHJpbWFyeSBvcmlnaW4gdGhhdCB3aWxsIGJlIGludGVyYWN0aW5nIHdpdGggdGhlIENvaW5mbG93IGlGcmFtZTogZm9vLmNvbVxuICAgKiBTdWJzZXF1ZW50IG9yaWdpbnMgdGhhdCB3aWxsIHJlbmRlciBmb28uY29tOiBiYXIuY29tXG4gICAqIFRoZSBvcmlnaW4gYXJyYXkgd291bGQgdGhlbiBiZTogW2h0dHBzOi8vZm9vLmNvbSxodHRwczovL2Jhci5jb21dXG4gICAqL1xuICBvcmlnaW5zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIGV4dGVuZHMgQ29pbmZsb3dDb21tb25XaXRoZHJhd1Byb3BzIHtcbiAgd2FsbGV0OiBTb2xhbmFXYWxsZXQ7XG4gIGNvbm5lY3Rpb246IENvbm5lY3Rpb247XG4gIGJsb2NrY2hhaW46ICdzb2xhbmEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93TmVhcldpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IE5lYXJXYWxsZXQ7XG4gIGJsb2NrY2hhaW46ICduZWFyJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0NvbW1vbldpdGhkcmF3UHJvcHMge1xuICB3YWxsZXQ6IEV0aFdhbGxldDtcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0V0aFdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnZXRoJztcbiAgdXNlUGVybWl0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd1BvbHlnb25XaXRoZHJhd1Byb3BzIGV4dGVuZHMgQ29pbmZsb3dFdm1XaXRoZHJhd1Byb3BzIHtcbiAgYmxvY2tjaGFpbjogJ3BvbHlnb24nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvaW5mbG93QmFzZVdpdGhkcmF3UHJvcHMgZXh0ZW5kcyBDb2luZmxvd0V2bVdpdGhkcmF3UHJvcHMge1xuICBibG9ja2NoYWluOiAnYmFzZSc7XG59XG5cbmV4cG9ydCB0eXBlIENvaW5mbG93V2l0aGRyYXdQcm9wcyA9XG4gIHwgQ29pbmZsb3dTb2xhbmFXaXRoZHJhd1Byb3BzXG4gIHwgQ29pbmZsb3dOZWFyV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93RXRoV2l0aGRyYXdQcm9wc1xuICB8IENvaW5mbG93UG9seWdvbldpdGhkcmF3UHJvcHNcbiAgfCBDb2luZmxvd0Jhc2VXaXRoZHJhd1Byb3BzO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkV2bVJlZGVlbSB7XG4gIHdhaXRGb3JIYXNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3JtYWxSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0cmFuc2FjdGlvbjoge3RvOiBzdHJpbmc7IGRhdGE6IHN0cmluZ307XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS25vd25Ub2tlbklkUmVkZWVtIGV4dGVuZHMgTm9ybWFsUmVkZWVtIHtcbiAgbmZ0Q29udHJhY3Q6IHN0cmluZztcbiAgbmZ0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYWZlTWludFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdzYWZlTWludCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldHVybmVkVG9rZW5JZFJlZGVlbSBleHRlbmRzIE5vcm1hbFJlZGVlbSB7XG4gIHR5cGU6ICdyZXR1cm5lZCc7XG4gIG5mdENvbnRyYWN0Pzogc3RyaW5nO1xufVxuXG50eXBlIFJlc2Vydm9pck5mdElkSXRlbSA9IE9taXQ8S25vd25Ub2tlbklkUmVkZWVtLCBrZXlvZiBOb3JtYWxSZWRlZW0+O1xuaW50ZXJmYWNlIFJlc2Vydm9pck9yZGVySWRJdGVtIHtcbiAgb3JkZXJJZDogc3RyaW5nO1xufVxudHlwZSBSZXNlcnZvaXJJdGVtID0gUmVzZXJ2b2lyTmZ0SWRJdGVtIHwgUmVzZXJ2b2lyT3JkZXJJZEl0ZW07XG50eXBlIFJlc2Vydm9pckl0ZW1zID0gUmVzZXJ2b2lySXRlbSB8IFJlc2Vydm9pckl0ZW1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNlcnZvaXJSZWRlZW0gZXh0ZW5kcyBDb21tb25Fdm1SZWRlZW0ge1xuICB0eXBlOiAncmVzZXJ2b2lyJztcbiAgaXRlbXM6IFJlc2Vydm9pckl0ZW1zO1xuICB0YWtlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlZGVlbSBleHRlbmRzIENvbW1vbkV2bVJlZGVlbSB7XG4gIHR5cGU6ICd0b2tlbic7XG4gIGRlc3RpbmF0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEV2bVRyYW5zYWN0aW9uRGF0YSA9XG4gIHwgU2FmZU1pbnRSZWRlZW1cbiAgfCBSZXR1cm5lZFRva2VuSWRSZWRlZW1cbiAgfCBSZXNlcnZvaXJSZWRlZW1cbiAgfCBLbm93blRva2VuSWRSZWRlZW1cbiAgfCBOb3JtYWxSZWRlZW1cbiAgfCBUb2tlblJlZGVlbTtcblxuZXhwb3J0IGludGVyZmFjZSBDb2luZmxvd0lGcmFtZVByb3BzXG4gIGV4dGVuZHMgT21pdDxDb2luZmxvd1R5cGVzLCAnbWVyY2hhbnRJZCc+LFxuICAgIFBpY2s8XG4gICAgICBDb2luZmxvd0NvbW1vblB1cmNoYXNlUHJvcHMsXG4gICAgICB8ICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnXG4gICAgICB8ICd3ZWJob29rSW5mbydcbiAgICAgIHwgJ2Ftb3VudCdcbiAgICAgIHwgJ2N1c3RvbWVySW5mbydcbiAgICAgIHwgJ3NldHRsZW1lbnRUeXBlJ1xuICAgICAgfCAnZW1haWwnXG4gICAgICB8ICdwbGFuQ29kZSdcbiAgICAgIHwgJ2RldmljZUlkJ1xuICAgICAgfCAnand0VG9rZW4nXG4gICAgICB8ICdvcmlnaW5zJ1xuICAgID4sXG4gICAgUGljazxcbiAgICAgIENvaW5mbG93Q29tbW9uV2l0aGRyYXdQcm9wcyxcbiAgICAgIHwgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0J1xuICAgICAgfCAnYWRkaXRpb25hbFdhbGxldHMnXG4gICAgICB8ICd0cmFuc2FjdGlvblNpZ25lcidcbiAgICAgIHwgJ2xvY2tBbW91bnQnXG4gICAgICB8ICdsb2NrRGVmYXVsdFRva2VuJ1xuICAgICAgfCAnb3JpZ2lucydcbiAgICA+LFxuICAgIFBpY2s8Q29pbmZsb3dFdm1QdXJjaGFzZVByb3BzLCAnYXV0aE9ubHknPixcbiAgICBQaWNrPENvaW5mbG93U29sYW5hUHVyY2hhc2VQcm9wcywgJ3JlbnQnIHwgJ25hdGl2ZVNvbFRvQ29udmVydCcgfCAndG9rZW4nPiB7XG4gIHdhbGxldFB1YmtleTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVQcmVmaXg/OiBzdHJpbmc7XG4gIHRyYW5zYWN0aW9uPzogc3RyaW5nO1xuICB0b2tlbnM/OiBzdHJpbmdbXSB8IFB1YmxpY0tleVtdO1xuICBuZWFyRGVwb3NpdD86IHN0cmluZztcbiAgbWVyY2hhbnRDc3M/OiBzdHJpbmc7XG4gIGNvbG9yPzogJ3doaXRlJyB8ICdibGFjayc7XG4gIGRpc2FibGVBcHBsZVBheT86IGJvb2xlYW47XG4gIGRpc2FibGVHb29nbGVQYXk/OiBib29sZWFuO1xuICB0aGVtZT86IE1lcmNoYW50VGhlbWU7XG4gIHVzZVBlcm1pdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIENhcmRUeXBlIHtcbiAgVklTQSA9ICdWSVNBJyxcbiAgTUFTVEVSQ0FSRCA9ICdNU1RSJyxcbiAgQU1FWCA9ICdBTUVYJyxcbiAgRElTQ09WRVIgPSAnRElTQycsXG59XG4iXX0=
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { web3, base58 } from './SolanaPeerDeps';
|
|
2
2
|
import LZString from 'lz-string';
|
|
3
|
+
import { Keypair, Transaction } from '@solana/web3.js';
|
|
4
|
+
import { sign } from 'tweetnacl';
|
|
3
5
|
export class CoinflowUtils {
|
|
4
6
|
constructor(env) {
|
|
5
7
|
this.env = env ?? 'prod';
|
|
@@ -192,5 +194,49 @@ export class CoinflowUtils {
|
|
|
192
194
|
throw new Error('blockchain not supported!');
|
|
193
195
|
}
|
|
194
196
|
}
|
|
197
|
+
static async getWalletFromEmail({ email, merchantId, env, }) {
|
|
198
|
+
const buffer = new TextEncoder().encode(email);
|
|
199
|
+
const crypto = window.crypto.subtle;
|
|
200
|
+
const hash = await crypto.digest('SHA-256', buffer);
|
|
201
|
+
const seed = new Uint8Array(hash);
|
|
202
|
+
const keypair = Keypair.fromSeed(seed);
|
|
203
|
+
return {
|
|
204
|
+
publicKey: keypair.publicKey,
|
|
205
|
+
signMessage: (message) => Promise.resolve(sign.detached(message, keypair.secretKey)),
|
|
206
|
+
signTransaction: async (transaction) => {
|
|
207
|
+
if (transaction instanceof Transaction) {
|
|
208
|
+
transaction.sign(keypair);
|
|
209
|
+
return transaction;
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
transaction.sign([keypair]);
|
|
213
|
+
return transaction;
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
sendTransaction: async (transaction) => {
|
|
217
|
+
if (transaction instanceof Transaction) {
|
|
218
|
+
transaction.sign(keypair);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
transaction.sign([keypair]);
|
|
222
|
+
}
|
|
223
|
+
const coinflowBaseUrl = this.getCoinflowApiUrl(env);
|
|
224
|
+
const options = {
|
|
225
|
+
method: 'POST',
|
|
226
|
+
headers: {
|
|
227
|
+
'content-type': 'application/json',
|
|
228
|
+
'x-coinflow-auth-wallet': keypair.publicKey.toString(),
|
|
229
|
+
'x-coinflow-auth-blockchain': 'solana',
|
|
230
|
+
},
|
|
231
|
+
body: JSON.stringify({
|
|
232
|
+
merchantId,
|
|
233
|
+
signedTransaction: base58?.encode(transaction.serialize()),
|
|
234
|
+
}),
|
|
235
|
+
};
|
|
236
|
+
const { signature } = await fetch(coinflowBaseUrl + '/api/utils/send-coinflow-tx', options).then(res => res.json());
|
|
237
|
+
return signature;
|
|
238
|
+
},
|
|
239
|
+
};
|
|
240
|
+
}
|
|
195
241
|
}
|
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBR2pDLE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQVksR0FBa0I7UUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxNQUFNO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRywyQkFBMkIsQ0FBQzthQUMzRCxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssT0FBTztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsdUJBQXVCLENBQUM7O1lBQzdELElBQUksQ0FBQyxHQUFHLEdBQUcsZUFBZSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztJQUMxRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsa0JBQWtCLFVBQVUsRUFBRSxDQUFDO2FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNqQyxJQUFJLENBQ0gsQ0FBQyxJQUdBLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQ2hFO2FBQ0EsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUMs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LENBQUMsT0FBTyxDQUFDO1lBQ3RCLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDbEIsS0FBSyxNQUFNO2dCQUNULE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztZQUNuQjtnQkFDRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvaW5mbG93QmxvY2tjaGFpbixcbiAgQ29pbmZsb3dFbnZzLFxuICBDb2luZmxvd0lGcmFtZVByb3BzLFxuICBDb2luZmxvd1B1cmNoYXNlUHJvcHMsXG59IGZyb20gJy4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge3dlYjMsIGJhc2U1OH0gZnJvbSAnLi9Tb2xhbmFQZWVyRGVwcyc7XG5pbXBvcnQgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcbmltcG9ydCB0eXBlIHtUcmFuc2FjdGlvbiwgVmVyc2lvbmVkVHJhbnNhY3Rpb259IGZyb20gJ0Bzb2xhbmEvd2ViMy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2luZmxvd1V0aWxzIHtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGVudj86IENvaW5mbG93RW52cykge1xuICAgIHRoaXMuZW52ID0gZW52ID8/ICdwcm9kJztcbiAgICBpZiAodGhpcy5lbnYgPT09ICdwcm9kJykgdGhpcy51cmwgPSAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgZWxzZSBpZiAodGhpcy5lbnYgPT09ICdsb2NhbCcpIHRoaXMudXJsID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG4gICAgZWxzZSB0aGlzLnVybCA9IGBodHRwczovL2FwaS0ke3RoaXMuZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIGFzeW5jIGdldE5TdXJlUGFydG5lcklkKG1lcmNoYW50SWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIGZldGNoKHRoaXMudXJsICsgYC9tZXJjaGFudC92aWV3LyR7bWVyY2hhbnRJZH1gKVxuICAgICAgLnRoZW4ocmVzcG9uc2UgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oXG4gICAgICAgIChqc29uOiB7XG4gICAgICAgICAgblN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBuU3VyZVNldHRpbmdzOiB7blN1cmVQYXJ0bmVySWQ6IHN0cmluZyB8IHVuZGVmaW5lZH07XG4gICAgICAgIH0pID0+IGpzb24ublN1cmVTZXR0aW5ncz8ublN1cmVQYXJ0bmVySWQgfHwganNvbi5uU3VyZVBhcnRuZXJJZFxuICAgICAgKVxuICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICBhc3luYyBnZXRDcmVkaXRCYWxhbmNlKFxuICAgIHB1YmxpY0tleTogc3RyaW5nLFxuICAgIG1lcmNoYW50SWQ6IHN0cmluZyxcbiAgICBibG9ja2NoYWluOiAnc29sYW5hJyB8ICduZWFyJ1xuICApOiBQcm9taXNlPHtjZW50czogbnVtYmVyfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goXG4gICAgICB0aGlzLnVybCArIGAvYXBpL2N1c3RvbWVyL2JhbGFuY2VzLyR7bWVyY2hhbnRJZH1gLFxuICAgICAge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC13YWxsZXQnOiBwdWJsaWNLZXksXG4gICAgICAgICAgJ3gtY29pbmZsb3ctYXV0aC1ibG9ja2NoYWluJzogYmxvY2tjaGFpbixcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICApO1xuICAgIGNvbnN0IHtjcmVkaXRzfSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICByZXR1cm4gY3JlZGl0cztcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd0Jhc2VVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2NvaW5mbG93LmNhc2gnO1xuICAgIGlmIChlbnYgPT09ICdsb2NhbCcpIHJldHVybiAnaHR0cDovL2xvY2FsaG9zdDozMDAwJztcblxuICAgIHJldHVybiBgaHR0cHM6Ly8ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dBcGlVcmwoZW52PzogQ29pbmZsb3dFbnZzKTogc3RyaW5nIHtcbiAgICBpZiAoIWVudiB8fCBlbnYgPT09ICdwcm9kJykgcmV0dXJuICdodHRwczovL2FwaS5jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vYXBpLSR7ZW52fS5jb2luZmxvdy5jYXNoYDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRDb2luZmxvd1VybCh7XG4gICAgd2FsbGV0UHVia2V5LFxuICAgIHJvdXRlLFxuICAgIHJvdXRlUHJlZml4LFxuICAgIGVudixcbiAgICBhbW91bnQsXG4gICAgdHJhbnNhY3Rpb24sXG4gICAgYmxvY2tjaGFpbixcbiAgICB3ZWJob29rSW5mbyxcbiAgICBlbWFpbCxcbiAgICBsb2FkZXJCYWNrZ3JvdW5kLFxuICAgIGhhbmRsZUhlaWdodENoYW5nZSxcbiAgICBiYW5rQWNjb3VudExpbmtSZWRpcmVjdCxcbiAgICBhZGRpdGlvbmFsV2FsbGV0cyxcbiAgICBuZWFyRGVwb3NpdCxcbiAgICBjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEsXG4gICAgbWVyY2hhbnRDc3MsXG4gICAgY29sb3IsXG4gICAgcmVudCxcbiAgICBsb2NrRGVmYXVsdFRva2VuLFxuICAgIHRva2VuLFxuICAgIHRva2VucyxcbiAgICBwbGFuQ29kZSxcbiAgICBkaXNhYmxlQXBwbGVQYXksXG4gICAgZGlzYWJsZUdvb2dsZVBheSxcbiAgICBjdXN0b21lckluZm8sXG4gICAgc2V0dGxlbWVudFR5cGUsXG4gICAgbG9ja0Ftb3VudCxcbiAgICBuYXRpdmVTb2xUb0NvbnZlcnQsXG4gICAgdGhlbWUsXG4gICAgdXNlUGVybWl0LFxuICAgIHRyYW5zYWN0aW9uU2lnbmVyLFxuICAgIGF1dGhPbmx5LFxuICAgIGRldmljZUlkLFxuICAgIGp3dFRva2VuLFxuICAgIG9yaWdpbnMsXG4gIH06IENvaW5mbG93SUZyYW1lUHJvcHMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByZWZpeCA9IHJvdXRlUHJlZml4XG4gICAgICA/IGAvJHtyb3V0ZVByZWZpeH0vJHtibG9ja2NoYWlufWBcbiAgICAgIDogYC8ke2Jsb2NrY2hhaW59YDtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHByZWZpeCArIHJvdXRlLCBDb2luZmxvd1V0aWxzLmdldENvaW5mbG93QmFzZVVybChlbnYpKTtcbiAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncHVia2V5Jywgd2FsbGV0UHVia2V5ISk7XG5cbiAgICBpZiAodHJhbnNhY3Rpb24pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0cmFuc2FjdGlvbicsIHRyYW5zYWN0aW9uKTtcbiAgICB9XG4gICAgaWYgKGFtb3VudCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Ftb3VudCcsIGFtb3VudC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAod2ViaG9va0luZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnd2ViaG9va0luZm8nLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh3ZWJob29rSW5mbykpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGVtZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICd0aGVtZScsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHRoZW1lKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGN1c3RvbWVySW5mbykge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjdXN0b21lckluZm8nLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjdXN0b21lckluZm8pKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZW1haWwpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdlbWFpbCcsIGVtYWlsKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbicsIHRva2VuLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmICh0b2tlbnMpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0b2tlbnMnLCB0b2tlbnMudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKGxvYWRlckJhY2tncm91bmQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdsb2FkZXJCYWNrZ3JvdW5kJywgbG9hZGVyQmFja2dyb3VuZCk7XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUhlaWdodENoYW5nZSkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZUhlaWdodENoYW5nZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgaWYgKGJhbmtBY2NvdW50TGlua1JlZGlyZWN0KSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ2JhbmtBY2NvdW50TGlua1JlZGlyZWN0JyxcbiAgICAgICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdhZGRpdGlvbmFsV2FsbGV0cycsXG4gICAgICAgIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGFkZGl0aW9uYWxXYWxsZXRzKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgaWYgKG5lYXJEZXBvc2l0KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbmVhckRlcG9zaXQnLCBuZWFyRGVwb3NpdCk7XG5cbiAgICBpZiAoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFyZ2ViYWNrUHJvdGVjdGlvbkRhdGEpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgaWYgKGRldmljZUlkKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2Jhbi10cy1jb21tZW50XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgZGV2aWNlSWQgPSB3aW5kb3c/Lm5TdXJlU0RLPy5nZXREZXZpY2VJZCgpO1xuICAgICAgICBpZiAoZGV2aWNlSWQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkZXZpY2VJZCcsIGRldmljZUlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobWVyY2hhbnRDc3MpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdtZXJjaGFudENzcycsIG1lcmNoYW50Q3NzKTtcbiAgICBpZiAoY29sb3IpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdjb2xvcicsIGNvbG9yKTtcbiAgICBpZiAocmVudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3JlbnQnLCByZW50LmxhbXBvcnRzLnRvU3RyaW5nKCkpO1xuICAgIGlmIChuYXRpdmVTb2xUb0NvbnZlcnQpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ25hdGl2ZVNvbFRvQ29udmVydCcsXG4gICAgICAgIG5hdGl2ZVNvbFRvQ29udmVydC5sYW1wb3J0cy50b1N0cmluZygpXG4gICAgICApO1xuICAgIGlmIChsb2NrRGVmYXVsdFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0RlZmF1bHRUb2tlbicsICd0cnVlJyk7XG4gICAgaWYgKHBsYW5Db2RlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgncGxhbkNvZGUnLCBwbGFuQ29kZSk7XG5cbiAgICBpZiAoZGlzYWJsZUFwcGxlUGF5KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGlzYWJsZUFwcGxlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoZGlzYWJsZUdvb2dsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVHb29nbGVQYXknLCAndHJ1ZScpO1xuICAgIGlmIChzZXR0bGVtZW50VHlwZSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdzZXR0bGVtZW50VHlwZScsIHNldHRsZW1lbnRUeXBlKTtcblxuICAgIGlmIChsb2NrQW1vdW50KSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9ja0Ftb3VudCcsICd0cnVlJyk7XG5cbiAgICBpZiAodXNlUGVybWl0ID09PSBmYWxzZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3VzZVBlcm1pdCcsICdmYWxzZScpO1xuICAgIGlmICh0cmFuc2FjdGlvblNpZ25lcilcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd0cmFuc2FjdGlvblNpZ25lcicsIHRyYW5zYWN0aW9uU2lnbmVyKTtcbiAgICBpZiAoYXV0aE9ubHkgPT09IHRydWUpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhdXRoT25seScsICd0cnVlJyk7XG4gICAgaWYgKGp3dFRva2VuKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnand0VG9rZW4nLCBqd3RUb2tlbik7XG4gICAgaWYgKG9yaWdpbnMpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ29yaWdpbnMnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShvcmlnaW5zKSlcbiAgICAgICk7XG5cbiAgICByZXR1cm4gdXJsLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VHJhbnNhY3Rpb24ocHJvcHM6IENvaW5mbG93UHVyY2hhc2VQcm9wcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYnlCbG9ja2NoYWluPCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZD4ocHJvcHMuYmxvY2tjaGFpbiwge1xuICAgICAgc29sYW5hOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIGlmICghd2ViMylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Bzb2xhbmEvd2ViMy5qcyBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCFiYXNlNTgpIHRocm93IG5ldyBFcnJvcignYnM1OCBkZXBlbmRlbmN5IGlzIHJlcXVpcmVkIGZvciBTb2xhbmEnKTtcbiAgICAgICAgaWYgKCF0cmFuc2FjdGlvbikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIGJhc2U1OC5lbmNvZGUoXG4gICAgICAgICAgKHRyYW5zYWN0aW9uIGFzIFZlcnNpb25lZFRyYW5zYWN0aW9uIHwgVHJhbnNhY3Rpb24pLnNlcmlhbGl6ZSh7XG4gICAgICAgICAgICByZXF1aXJlQWxsU2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgICB2ZXJpZnlTaWduYXR1cmVzOiBmYWxzZSxcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIHBvbHlnb246ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGV0aDogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgYmFzZTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24pXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgbmVhcjogKCkgPT4ge1xuICAgICAgICBpZiAoISgnYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHthY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShhY3Rpb24pKTtcbiAgICAgIH0sXG4gICAgfSkoKTtcbiAgfVxuXG4gIHN0YXRpYyBieUJsb2NrY2hhaW48VD4oXG4gICAgYmxvY2tjaGFpbjogQ29pbmZsb3dCbG9ja2NoYWluLFxuICAgIGFyZ3M6IHtzb2xhbmE6IFQ7IG5lYXI6IFQ7IGV0aDogVDsgcG9seWdvbjogVDsgYmFzZTogVH1cbiAgKTogVCB7XG4gICAgc3dpdGNoIChibG9ja2NoYWluKSB7XG4gICAgICBjYXNlICdzb2xhbmEnOlxuICAgICAgICByZXR1cm4gYXJncy5zb2xhbmE7XG4gICAgICBjYXNlICduZWFyJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MubmVhcjtcbiAgICAgIGNhc2UgJ3BvbHlnb24nOlxuICAgICAgICByZXR1cm4gYXJncy5wb2x5Z29uO1xuICAgICAgY2FzZSAnZXRoJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MuZXRoO1xuICAgICAgY2FzZSAnYmFzZSc6XG4gICAgICAgIHJldHVybiBhcmdzLmJhc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Jsb2NrY2hhaW4gbm90IHN1cHBvcnRlZCEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29pbmZsb3dVdGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9Db2luZmxvd1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFFL0IsTUFBTSxPQUFPLGFBQWE7SUFJeEIsWUFBWSxHQUFrQjtRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLE1BQU07WUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLDJCQUEyQixDQUFDO2FBQzNELElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyx1QkFBdUIsQ0FBQzs7WUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsVUFBa0I7UUFDeEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxrQkFBa0IsVUFBVSxFQUFFLENBQUM7YUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDLElBQUksQ0FDSCxDQUFDLElBR0EsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FDaEU7YUFDQSxLQUFLLENB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QUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2luZmxvd0Jsb2NrY2hhaW4sXG4gIENvaW5mbG93RW52cyxcbiAgQ29pbmZsb3dJRnJhbWVQcm9wcyxcbiAgQ29pbmZsb3dQdXJjaGFzZVByb3BzLFxuICBTb2xhbmFXYWxsZXQsXG59IGZyb20gJy4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge3dlYjMsIGJhc2U1OH0gZnJvbSAnLi9Tb2xhbmFQZWVyRGVwcyc7XG5pbXBvcnQgTFpTdHJpbmcgZnJvbSAnbHotc3RyaW5nJztcbmltcG9ydCB7S2V5cGFpciwgVHJhbnNhY3Rpb24sIFZlcnNpb25lZFRyYW5zYWN0aW9ufSBmcm9tICdAc29sYW5hL3dlYjMuanMnO1xuaW1wb3J0IHtzaWdufSBmcm9tICd0d2VldG5hY2wnO1xuXG5leHBvcnQgY2xhc3MgQ29pbmZsb3dVdGlscyB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICB1cmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihlbnY/OiBDb2luZmxvd0VudnMpIHtcbiAgICB0aGlzLmVudiA9IGVudiA/PyAncHJvZCc7XG4gICAgaWYgKHRoaXMuZW52ID09PSAncHJvZCcpIHRoaXMudXJsID0gJ2h0dHBzOi8vYXBpLmNvaW5mbG93LmNhc2gnO1xuICAgIGVsc2UgaWYgKHRoaXMuZW52ID09PSAnbG9jYWwnKSB0aGlzLnVybCA9ICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuICAgIGVsc2UgdGhpcy51cmwgPSBgaHR0cHM6Ly9hcGktJHt0aGlzLmVudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBhc3luYyBnZXROU3VyZVBhcnRuZXJJZChtZXJjaGFudElkOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBmZXRjaCh0aGlzLnVybCArIGAvbWVyY2hhbnQvdmlldy8ke21lcmNoYW50SWR9YClcbiAgICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIC50aGVuKFxuICAgICAgICAoanNvbjoge1xuICAgICAgICAgIG5TdXJlUGFydG5lcklkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgblN1cmVTZXR0aW5nczoge25TdXJlUGFydG5lcklkOiBzdHJpbmcgfCB1bmRlZmluZWR9O1xuICAgICAgICB9KSA9PiBqc29uLm5TdXJlU2V0dGluZ3M/Lm5TdXJlUGFydG5lcklkIHx8IGpzb24ublN1cmVQYXJ0bmVySWRcbiAgICAgIClcbiAgICAgIC5jYXRjaChlID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q3JlZGl0QmFsYW5jZShcbiAgICBwdWJsaWNLZXk6IHN0cmluZyxcbiAgICBtZXJjaGFudElkOiBzdHJpbmcsXG4gICAgYmxvY2tjaGFpbjogJ3NvbGFuYScgfCAnbmVhcidcbiAgKTogUHJvbWlzZTx7Y2VudHM6IG51bWJlcn0+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgdGhpcy51cmwgKyBgL2FwaS9jdXN0b21lci9iYWxhbmNlcy8ke21lcmNoYW50SWR9YCxcbiAgICAgIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtd2FsbGV0JzogcHVibGljS2V5LFxuICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtYmxvY2tjaGFpbic6IGJsb2NrY2hhaW4sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgKTtcbiAgICBjb25zdCB7Y3JlZGl0c30gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgcmV0dXJuIGNyZWRpdHM7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dCYXNlVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9jb2luZmxvdy5jYXNoJztcbiAgICBpZiAoZW52ID09PSAnbG9jYWwnKSByZXR1cm4gJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCc7XG5cbiAgICByZXR1cm4gYGh0dHBzOi8vJHtlbnZ9LmNvaW5mbG93LmNhc2hgO1xuICB9XG5cbiAgc3RhdGljIGdldENvaW5mbG93QXBpVXJsKGVudj86IENvaW5mbG93RW52cyk6IHN0cmluZyB7XG4gICAgaWYgKCFlbnYgfHwgZW52ID09PSAncHJvZCcpIHJldHVybiAnaHR0cHM6Ly9hcGkuY29pbmZsb3cuY2FzaCc7XG4gICAgaWYgKGVudiA9PT0gJ2xvY2FsJykgcmV0dXJuICdodHRwOi8vbG9jYWxob3N0OjUwMDAnO1xuXG4gICAgcmV0dXJuIGBodHRwczovL2FwaS0ke2Vudn0uY29pbmZsb3cuY2FzaGA7XG4gIH1cblxuICBzdGF0aWMgZ2V0Q29pbmZsb3dVcmwoe1xuICAgIHdhbGxldFB1YmtleSxcbiAgICByb3V0ZSxcbiAgICByb3V0ZVByZWZpeCxcbiAgICBlbnYsXG4gICAgYW1vdW50LFxuICAgIHRyYW5zYWN0aW9uLFxuICAgIGJsb2NrY2hhaW4sXG4gICAgd2ViaG9va0luZm8sXG4gICAgZW1haWwsXG4gICAgbG9hZGVyQmFja2dyb3VuZCxcbiAgICBoYW5kbGVIZWlnaHRDaGFuZ2UsXG4gICAgYmFua0FjY291bnRMaW5rUmVkaXJlY3QsXG4gICAgYWRkaXRpb25hbFdhbGxldHMsXG4gICAgbmVhckRlcG9zaXQsXG4gICAgY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhLFxuICAgIG1lcmNoYW50Q3NzLFxuICAgIGNvbG9yLFxuICAgIHJlbnQsXG4gICAgbG9ja0RlZmF1bHRUb2tlbixcbiAgICB0b2tlbixcbiAgICB0b2tlbnMsXG4gICAgcGxhbkNvZGUsXG4gICAgZGlzYWJsZUFwcGxlUGF5LFxuICAgIGRpc2FibGVHb29nbGVQYXksXG4gICAgY3VzdG9tZXJJbmZvLFxuICAgIHNldHRsZW1lbnRUeXBlLFxuICAgIGxvY2tBbW91bnQsXG4gICAgbmF0aXZlU29sVG9Db252ZXJ0LFxuICAgIHRoZW1lLFxuICAgIHVzZVBlcm1pdCxcbiAgICB0cmFuc2FjdGlvblNpZ25lcixcbiAgICBhdXRoT25seSxcbiAgICBkZXZpY2VJZCxcbiAgICBqd3RUb2tlbixcbiAgICBvcmlnaW5zLFxuICB9OiBDb2luZmxvd0lGcmFtZVByb3BzKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcmVmaXggPSByb3V0ZVByZWZpeFxuICAgICAgPyBgLyR7cm91dGVQcmVmaXh9LyR7YmxvY2tjaGFpbn1gXG4gICAgICA6IGAvJHtibG9ja2NoYWlufWA7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChwcmVmaXggKyByb3V0ZSwgQ29pbmZsb3dVdGlscy5nZXRDb2luZmxvd0Jhc2VVcmwoZW52KSk7XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3B1YmtleScsIHdhbGxldFB1YmtleSEpO1xuXG4gICAgaWYgKHRyYW5zYWN0aW9uKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb24nLCB0cmFuc2FjdGlvbik7XG4gICAgfVxuICAgIGlmIChhbW91bnQpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdhbW91bnQnLCBhbW91bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuXG4gICAgaWYgKHdlYmhvb2tJbmZvKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZChcbiAgICAgICAgJ3dlYmhvb2tJbmZvJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkod2ViaG9va0luZm8pKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhlbWUpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAndGhlbWUnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0aGVtZSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjdXN0b21lckluZm8pIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY3VzdG9tZXJJbmZvJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3VzdG9tZXJJbmZvKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGVtYWlsKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZW1haWwnLCBlbWFpbCk7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW4nLCB0b2tlbi50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBpZiAodG9rZW5zKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndG9rZW5zJywgdG9rZW5zLnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGlmIChsb2FkZXJCYWNrZ3JvdW5kKSB7XG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbG9hZGVyQmFja2dyb3VuZCcsIGxvYWRlckJhY2tncm91bmQpO1xuICAgIH1cblxuICAgIGlmIChoYW5kbGVIZWlnaHRDaGFuZ2UpIHtcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VIZWlnaHRDaGFuZ2UnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIGlmIChiYW5rQWNjb3VudExpbmtSZWRpcmVjdCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdiYW5rQWNjb3VudExpbmtSZWRpcmVjdCcsXG4gICAgICAgIGJhbmtBY2NvdW50TGlua1JlZGlyZWN0XG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChhZGRpdGlvbmFsV2FsbGV0cylcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnYWRkaXRpb25hbFdhbGxldHMnLFxuICAgICAgICBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShhZGRpdGlvbmFsV2FsbGV0cylcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIGlmIChuZWFyRGVwb3NpdCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ25lYXJEZXBvc2l0JywgbmVhckRlcG9zaXQpO1xuXG4gICAgaWYgKGNoYXJnZWJhY2tQcm90ZWN0aW9uRGF0YSlcbiAgICAgIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKFxuICAgICAgICAnY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoY2hhcmdlYmFja1Byb3RlY3Rpb25EYXRhKVxuICAgICAgICApXG4gICAgICApO1xuICAgIGlmIChkZXZpY2VJZCkge1xuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2RldmljZUlkJywgZGV2aWNlSWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IGRldmljZUlkID0gd2luZG93Py5uU3VyZVNESz8uZ2V0RGV2aWNlSWQoKTtcbiAgICAgICAgaWYgKGRldmljZUlkKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnZGV2aWNlSWQnLCBkZXZpY2VJZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1lcmNoYW50Q3NzKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnbWVyY2hhbnRDc3MnLCBtZXJjaGFudENzcyk7XG4gICAgaWYgKGNvbG9yKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnY29sb3InLCBjb2xvcik7XG4gICAgaWYgKHJlbnQpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdyZW50JywgcmVudC5sYW1wb3J0cy50b1N0cmluZygpKTtcbiAgICBpZiAobmF0aXZlU29sVG9Db252ZXJ0KVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICduYXRpdmVTb2xUb0NvbnZlcnQnLFxuICAgICAgICBuYXRpdmVTb2xUb0NvbnZlcnQubGFtcG9ydHMudG9TdHJpbmcoKVxuICAgICAgKTtcbiAgICBpZiAobG9ja0RlZmF1bHRUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tEZWZhdWx0VG9rZW4nLCAndHJ1ZScpO1xuICAgIGlmIChwbGFuQ29kZSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ3BsYW5Db2RlJywgcGxhbkNvZGUpO1xuXG4gICAgaWYgKGRpc2FibGVBcHBsZVBheSkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Rpc2FibGVBcHBsZVBheScsICd0cnVlJyk7XG4gICAgaWYgKGRpc2FibGVHb29nbGVQYXkpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCdkaXNhYmxlR29vZ2xlUGF5JywgJ3RydWUnKTtcbiAgICBpZiAoc2V0dGxlbWVudFR5cGUpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnc2V0dGxlbWVudFR5cGUnLCBzZXR0bGVtZW50VHlwZSk7XG5cbiAgICBpZiAobG9ja0Ftb3VudCkgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2xvY2tBbW91bnQnLCAndHJ1ZScpO1xuXG4gICAgaWYgKHVzZVBlcm1pdCA9PT0gZmFsc2UpIHVybC5zZWFyY2hQYXJhbXMuYXBwZW5kKCd1c2VQZXJtaXQnLCAnZmFsc2UnKTtcbiAgICBpZiAodHJhbnNhY3Rpb25TaWduZXIpXG4gICAgICB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgndHJhbnNhY3Rpb25TaWduZXInLCB0cmFuc2FjdGlvblNpZ25lcik7XG4gICAgaWYgKGF1dGhPbmx5ID09PSB0cnVlKSB1cmwuc2VhcmNoUGFyYW1zLmFwcGVuZCgnYXV0aE9ubHknLCAndHJ1ZScpO1xuICAgIGlmIChqd3RUb2tlbikgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2p3dFRva2VuJywgand0VG9rZW4pO1xuICAgIGlmIChvcmlnaW5zKVxuICAgICAgdXJsLnNlYXJjaFBhcmFtcy5hcHBlbmQoXG4gICAgICAgICdvcmlnaW5zJyxcbiAgICAgICAgTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkob3JpZ2lucykpXG4gICAgICApO1xuXG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9XG5cbiAgc3RhdGljIGdldFRyYW5zYWN0aW9uKHByb3BzOiBDb2luZmxvd1B1cmNoYXNlUHJvcHMpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmJ5QmxvY2tjaGFpbjwoKSA9PiBzdHJpbmcgfCB1bmRlZmluZWQ+KHByb3BzLmJsb2NrY2hhaW4sIHtcbiAgICAgIHNvbGFuYTogKCkgPT4ge1xuICAgICAgICBpZiAoISgndHJhbnNhY3Rpb24nIGluIHByb3BzKSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3Qge3RyYW5zYWN0aW9ufSA9IHByb3BzO1xuICAgICAgICBpZiAoIXdlYjMpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdAc29sYW5hL3dlYjMuanMgZGVwZW5kZW5jeSBpcyByZXF1aXJlZCBmb3IgU29sYW5hJyk7XG4gICAgICAgIGlmICghYmFzZTU4KSB0aHJvdyBuZXcgRXJyb3IoJ2JzNTggZGVwZW5kZW5jeSBpcyByZXF1aXJlZCBmb3IgU29sYW5hJyk7XG4gICAgICAgIGlmICghdHJhbnNhY3Rpb24pIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIHJldHVybiBiYXNlNTguZW5jb2RlKFxuICAgICAgICAgICh0cmFuc2FjdGlvbiBhcyBWZXJzaW9uZWRUcmFuc2FjdGlvbiB8IFRyYW5zYWN0aW9uKS5zZXJpYWxpemUoe1xuICAgICAgICAgICAgcmVxdWlyZUFsbFNpZ25hdHVyZXM6IGZhbHNlLFxuICAgICAgICAgICAgdmVyaWZ5U2lnbmF0dXJlczogZmFsc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBwb2x5Z29uOiAoKSA9PiB7XG4gICAgICAgIGlmICghKCd0cmFuc2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7dHJhbnNhY3Rpb259ID0gcHJvcHM7XG4gICAgICAgIHJldHVybiBMWlN0cmluZy5jb21wcmVzc1RvRW5jb2RlZFVSSUNvbXBvbmVudChcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvbilcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICBldGg6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGJhc2U6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ3RyYW5zYWN0aW9uJyBpbiBwcm9wcykpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IHt0cmFuc2FjdGlvbn0gPSBwcm9wcztcbiAgICAgICAgcmV0dXJuIExaU3RyaW5nLmNvbXByZXNzVG9FbmNvZGVkVVJJQ29tcG9uZW50KFxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uKVxuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIG5lYXI6ICgpID0+IHtcbiAgICAgICAgaWYgKCEoJ2FjdGlvbicgaW4gcHJvcHMpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCB7YWN0aW9ufSA9IHByb3BzO1xuICAgICAgICByZXR1cm4gTFpTdHJpbmcuY29tcHJlc3NUb0VuY29kZWRVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoYWN0aW9uKSk7XG4gICAgICB9LFxuICAgIH0pKCk7XG4gIH1cblxuICBzdGF0aWMgYnlCbG9ja2NoYWluPFQ+KFxuICAgIGJsb2NrY2hhaW46IENvaW5mbG93QmxvY2tjaGFpbixcbiAgICBhcmdzOiB7c29sYW5hOiBUOyBuZWFyOiBUOyBldGg6IFQ7IHBvbHlnb246IFQ7IGJhc2U6IFR9XG4gICk6IFQge1xuICAgIHN3aXRjaCAoYmxvY2tjaGFpbikge1xuICAgICAgY2FzZSAnc29sYW5hJzpcbiAgICAgICAgcmV0dXJuIGFyZ3Muc29sYW5hO1xuICAgICAgY2FzZSAnbmVhcic6XG4gICAgICAgIHJldHVybiBhcmdzLm5lYXI7XG4gICAgICBjYXNlICdwb2x5Z29uJzpcbiAgICAgICAgcmV0dXJuIGFyZ3MucG9seWdvbjtcbiAgICAgIGNhc2UgJ2V0aCc6XG4gICAgICAgIHJldHVybiBhcmdzLmV0aDtcbiAgICAgIGNhc2UgJ2Jhc2UnOlxuICAgICAgICByZXR1cm4gYXJncy5iYXNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdibG9ja2NoYWluIG5vdCBzdXBwb3J0ZWQhJyk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGFzeW5jIGdldFdhbGxldEZyb21FbWFpbCh7XG4gICAgZW1haWwsXG4gICAgbWVyY2hhbnRJZCxcbiAgICBlbnYsXG4gIH06IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIG1lcmNoYW50SWQ6IHN0cmluZztcbiAgICBlbnY6IENvaW5mbG93RW52cztcbiAgfSk6IFByb21pc2U8U29sYW5hV2FsbGV0PiB7XG4gICAgY29uc3QgYnVmZmVyID0gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGVtYWlsKTtcbiAgICBjb25zdCBjcnlwdG8gPSB3aW5kb3cuY3J5cHRvLnN1YnRsZTtcbiAgICBjb25zdCBoYXNoID0gYXdhaXQgY3J5cHRvLmRpZ2VzdCgnU0hBLTI1NicsIGJ1ZmZlcik7XG4gICAgY29uc3Qgc2VlZCA9IG5ldyBVaW50OEFycmF5KGhhc2gpO1xuICAgIGNvbnN0IGtleXBhaXIgPSBLZXlwYWlyLmZyb21TZWVkKHNlZWQpO1xuICAgIHJldHVybiB7XG4gICAgICBwdWJsaWNLZXk6IGtleXBhaXIucHVibGljS2V5LFxuICAgICAgc2lnbk1lc3NhZ2U6IChtZXNzYWdlOiBVaW50OEFycmF5KSA9PlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoc2lnbi5kZXRhY2hlZChtZXNzYWdlLCBrZXlwYWlyLnNlY3JldEtleSkpLFxuICAgICAgc2lnblRyYW5zYWN0aW9uOiBhc3luYyA8VCBleHRlbmRzIFRyYW5zYWN0aW9uIHwgVmVyc2lvbmVkVHJhbnNhY3Rpb24+KFxuICAgICAgICB0cmFuc2FjdGlvbjogVFxuICAgICAgKTogUHJvbWlzZTxUPiA9PiB7XG4gICAgICAgIGlmICh0cmFuc2FjdGlvbiBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgdHJhbnNhY3Rpb24uc2lnbihrZXlwYWlyKTtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdHJhbnNhY3Rpb24uc2lnbihba2V5cGFpcl0pO1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNlbmRUcmFuc2FjdGlvbjogYXN5bmMgPFQgZXh0ZW5kcyBUcmFuc2FjdGlvbiB8IFZlcnNpb25lZFRyYW5zYWN0aW9uPihcbiAgICAgICAgdHJhbnNhY3Rpb246IFRcbiAgICAgICk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgICAgIGlmICh0cmFuc2FjdGlvbiBpbnN0YW5jZW9mIFRyYW5zYWN0aW9uKSB7XG4gICAgICAgICAgdHJhbnNhY3Rpb24uc2lnbihrZXlwYWlyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi5zaWduKFtrZXlwYWlyXSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb2luZmxvd0Jhc2VVcmwgPSB0aGlzLmdldENvaW5mbG93QXBpVXJsKGVudik7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtd2FsbGV0Jzoga2V5cGFpci5wdWJsaWNLZXkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICd4LWNvaW5mbG93LWF1dGgtYmxvY2tjaGFpbic6ICdzb2xhbmEnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgbWVyY2hhbnRJZCxcbiAgICAgICAgICAgIHNpZ25lZFRyYW5zYWN0aW9uOiBiYXNlNTg/LmVuY29kZSh0cmFuc2FjdGlvbi5zZXJpYWxpemUoKSksXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qge3NpZ25hdHVyZX0gPSBhd2FpdCBmZXRjaChcbiAgICAgICAgICBjb2luZmxvd0Jhc2VVcmwgKyAnL2FwaS91dGlscy9zZW5kLWNvaW5mbG93LXR4JyxcbiAgICAgICAgICBvcHRpb25zXG4gICAgICAgICkudGhlbihyZXMgPT4gcmVzLmpzb24oKSk7XG4gICAgICAgIHJldHVybiBzaWduYXR1cmU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Type definitions for TokenEx iframe integration
|
|
2
|
+
import { CardType } from '../CoinflowTypes';
|
|
3
|
+
export const TokenExCardNumberIframeId = 'tokenExCardNumber';
|
|
4
|
+
export const TokenExCvvContainerID = 'tokenExCardCvv';
|
|
5
|
+
export const CARD_TYPE_MAPPING = {
|
|
6
|
+
[CardType.VISA]: 'visa',
|
|
7
|
+
[CardType.MASTERCARD]: 'masterCard',
|
|
8
|
+
[CardType.AMEX]: 'americanExpress',
|
|
9
|
+
[CardType.DISCOVER]: 'discover',
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG9rZW5FeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvaW5mbG93bGFicy9zcmMvbGliL2NvbW1vbi9jYXJkLWZvcm0vVG9rZW5FeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxrREFBa0Q7QUFFbEQsT0FBTyxFQUFDLFFBQVEsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBR3hELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBS3RELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUE2QjtJQUN6RCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNO0lBQ3ZCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFlBQVk7SUFDbkMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsaUJBQWlCO0lBQ2xDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVU7Q0FDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFR5cGUgZGVmaW5pdGlvbnMgZm9yIFRva2VuRXggaWZyYW1lIGludGVncmF0aW9uXG5cbmltcG9ydCB7Q2FyZFR5cGUsIENvaW5mbG93RW52c30gZnJvbSAnLi4vQ29pbmZsb3dUeXBlcyc7XG5pbXBvcnQge0NTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGNvbnN0IFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQgPSAndG9rZW5FeENhcmROdW1iZXInO1xuZXhwb3J0IGNvbnN0IFRva2VuRXhDdnZDb250YWluZXJJRCA9ICd0b2tlbkV4Q2FyZEN2dic7XG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJZnJhbWUgZXh0ZW5kcyBSZXR1cm5UeXBlPHR5cGVvZiBUb2tlbkV4LklmcmFtZT4ge1xuICB0b2tlbml6ZTogKCkgPT4gUHJvbWlzZTxUb2tlbml6YXRpb25SZXNwb25zZT47XG59XG5cbmV4cG9ydCBjb25zdCBDQVJEX1RZUEVfTUFQUElORzogUmVjb3JkPENhcmRUeXBlLCBzdHJpbmc+ID0ge1xuICBbQ2FyZFR5cGUuVklTQV06ICd2aXNhJyxcbiAgW0NhcmRUeXBlLk1BU1RFUkNBUkRdOiAnbWFzdGVyQ2FyZCcsXG4gIFtDYXJkVHlwZS5BTUVYXTogJ2FtZXJpY2FuRXhwcmVzcycsXG4gIFtDYXJkVHlwZS5ESVNDT1ZFUl06ICdkaXNjb3ZlcicsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uIHtcbiAgb3JpZ2luOiBzdHJpbmc7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICB0b2tlbkV4SUQ6IHN0cmluZztcbiAgdG9rZW5TY2hlbWU6IHN0cmluZztcbiAgYXV0aGVudGljYXRpb25LZXk6IHN0cmluZztcbiAgcGNpOiB0cnVlO1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXJkRm9ybUlucHV0U3R5bGVzIHtcbiAgYmFzZTogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbiAgcGxhY2Vob2xkZXI/OiBDU1NQcm9wZXJ0aWVzIHwgc3RyaW5nO1xuICBmb2N1cz86IENTU1Byb3BlcnRpZXMgfCBzdHJpbmc7XG4gIGVycm9yPzogQ1NTUHJvcGVydGllcyB8IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29pbmZsb3dDYXJkVG9rZW5SZXNwb25zZSA9IHtcbiAgdG9rZW46IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDYXJkTnVtYmVySW5wdXRQcm9wcyB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBjc3M6IENhcmRGb3JtSW5wdXRTdHlsZXMgJiB7Y3Z2OiBDYXJkRm9ybUlucHV0U3R5bGVzfTtcbiAgZGVidWc/OiBib29sZWFuO1xuICBvcmlnaW5zPzogc3RyaW5nW107XG4gIGZvbnQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29pbmZsb3dDdnZPbmx5SW5wdXRQcm9wcyB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIGNhcmRUeXBlOiBDYXJkVHlwZTtcbiAgZW52OiBDb2luZmxvd0VudnM7XG4gIGNzczogQ2FyZEZvcm1JbnB1dFN0eWxlcyAmIHtjdnY6IENhcmRGb3JtSW5wdXRTdHlsZXN9O1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9yaWdpbnM/OiBzdHJpbmdbXTtcbiAgZm9udD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbml6YXRpb25SZXNwb25zZSB7XG4gIGNhcmRUeXBlOiBzdHJpbmc7XG4gIGN2dkluY2x1ZGVkOiB0cnVlO1xuICBmaXJzdFNpeDogc3RyaW5nO1xuICBsYXN0Rm91cjogc3RyaW5nO1xuICByZWZlcmVuY2VOdW1iZXI6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbiAgdG9rZW5ITUFDOiBzdHJpbmc7XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1uYW1lc3BhY2VcbiAgbmFtZXNwYWNlIFRva2VuRXgge1xuICAgIGludGVyZmFjZSBGcmF1ZFNlcnZpY2VzQ29uZmlnIHtcbiAgICAgIHVzZUtvdW50PzogYm9vbGVhbjtcbiAgICAgIGtvdW50Pzoge1xuICAgICAgICBtZXJjaGFudElkPzogc3RyaW5nO1xuICAgICAgICBtb2RlPzogc3RyaW5nO1xuICAgICAgICBhbklkPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICBpbnRlcmZhY2UgQ29uZmlnIHtcbiAgICAgIGRlYnVnPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVByZXR0eUZvcm1hdD86IGJvb2xlYW47XG4gICAgICBtYXNrSW5wdXQ/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbkJsdXI/OiBib29sZWFuO1xuICAgICAgZW5hYmxlQXJpYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICAgIHBjaT86IGJvb2xlYW47XG4gICAgICBjdnZPbmx5PzogYm9vbGVhbjtcbiAgICAgIGFsbG93VW5rbm93bkNhcmRUeXBlcz86IGJvb2xlYW47XG4gICAgICBlbmFibGVBdXRvQ29tcGxldGU/OiBib29sZWFuO1xuICAgICAgcmV0dXJuQXV0b0NvbXBsZXRlVmFsdWVzPzogYm9vbGVhbjtcbiAgICAgIHJldHVybktoYXNoPzogYm9vbGVhbjtcbiAgICAgIHJldHVybldoYXNoPzogYm9vbGVhbjtcbiAgICAgIGVuZm9yY2VMdWhuQ29tcGxpYW5jZT86IGJvb2xlYW47XG4gICAgICB1c2UzRFM/OiBib29sZWFuO1xuICAgICAgZW5hYmxlVmFsaWRhdGVPbktleVVwPzogYm9vbGVhbjtcbiAgICAgIGVuYWJsZVZhbGlkYXRlT25DdnZLZXlVcD86IGJvb2xlYW47XG4gICAgICBleHBpcmVzSW5TZWNvbmRzPzogbnVtYmVyO1xuICAgICAgdXNlRXh0ZW5kZWRCSU4/OiBib29sZWFuO1xuICAgICAgaW5saW5lSWZyYW1lSmF2YVNjcmlwdD86IGJvb2xlYW47XG4gICAgICBpZnJhbWVWZXJzaW9uPzogbnVtYmVyO1xuICAgICAgYXV0aGVudGljYXRpb25LZXk/OiBzdHJpbmc7XG4gICAgICBvcmlnaW4/OiBzdHJpbmc7XG4gICAgICB0b2tlbkV4SUQ/OiBzdHJpbmc7XG4gICAgICB0aW1lc3RhbXA/OiBzdHJpbmc7XG4gICAgICB0b2tlblNjaGVtZT86IHN0cmluZztcbiAgICAgIHRva2VuPzogc3RyaW5nO1xuICAgICAgY3VzdG9tRGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgY3VzdG9tQ3Z2RGF0YUxhYmVsPzogc3RyaW5nO1xuICAgICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZUaXRsZT86IHN0cmluZztcbiAgICAgIGlucHV0VGl0bGU/OiBzdHJpbmc7XG4gICAgICBjdnZJbnB1dFRpdGxlPzogc3RyaW5nO1xuICAgICAgY2FyZE1heExlbmd0aHM/OiB7XG4gICAgICAgIHZpc2E/OiBudW1iZXI7XG4gICAgICAgIG1hc3RlcmNhcmQ/OiBudW1iZXI7XG4gICAgICAgIGFtZXJpY2FuRXhwcmVzcz86IG51bWJlcjtcbiAgICAgICAgZGlzY292ZXI/OiBudW1iZXI7XG4gICAgICAgIGpjYj86IG51bWJlcjtcbiAgICAgICAgZGluZXJzPzogbnVtYmVyO1xuICAgICAgfTtcbiAgICAgIGZyYXVkU2VydmljZXM/OiBGcmF1ZFNlcnZpY2VzQ29uZmlnO1xuICAgICAgdGhyZWVEU01ldGhvZE5vdGlmaWNhdGlvblVybD86IHN0cmluZztcbiAgICAgIGN1c3RvbURhdGFUeXBlcz86IHN0cmluZyB8IG9iamVjdDtcbiAgICAgIGN2dkNvbnRhaW5lcklEPzogc3RyaW5nO1xuICAgICAgY3Z2UGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICBjYXJkVHlwZT86IHN0cmluZztcbiAgICAgIGZvcnRlclNpdGVJZD86IHN0cmluZztcbiAgICAgIGZvcnRlclVzZXJuYW1lPzogc3RyaW5nO1xuICAgICAgY3VzdG9tUmVnRXg/OiBzdHJpbmc7XG4gICAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICAgIGlucHV0TW9kZT86IHN0cmluZztcbiAgICAgIGZvbnQ/OiBzdHJpbmc7XG4gICAgICBjdnY/OiBib29sZWFuO1xuICAgICAgc3R5bGVzOiB7XG4gICAgICAgIGJhc2U6IHN0cmluZztcbiAgICAgICAgZm9jdXM6IHN0cmluZztcbiAgICAgICAgZXJyb3I6IHN0cmluZztcbiAgICAgICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICAgICAgY3Z2OiB7YmFzZTogc3RyaW5nOyBmb2N1czogc3RyaW5nOyBwbGFjZWhvbGRlcjogc3RyaW5nOyBlcnJvcjogc3RyaW5nfTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaW50ZXJmYWNlIElmcmFtZUFQSSB7XG4gICAgICBsb2FkKCk6IHZvaWQ7XG5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICBvbjogKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiAoZGF0YT86IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcblxuICAgICAgdG9rZW5pemUoKTogdm9pZDtcblxuICAgICAgdmFsaWRhdGUoKTogdm9pZDtcblxuICAgICAgcmVzZXQoKTogdm9pZDtcblxuICAgICAgYmx1cigpOiB2b2lkO1xuXG4gICAgICBjdnZCbHVyKCk6IHZvaWQ7XG5cbiAgICAgIGZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIGN2dkZvY3VzKCk6IHZvaWQ7XG5cbiAgICAgIHJlbW92ZSgpOiB2b2lkO1xuXG4gICAgICB0b2dnbGVNYXNrKCk6IHZvaWQ7XG5cbiAgICAgIHRvZ2dsZUN2dk1hc2soKTogdm9pZDtcblxuICAgICAgc2V0UEFOKHBhbjogc3RyaW5nKTogdm9pZDtcblxuICAgICAgYmluTG9va3VwKCk6IHZvaWQ7XG5cbiAgICAgIHZhbGlkYXRlQ29uZmlnKCk6IHZvaWQ7XG5cbiAgICAgIHNldEZyYXVkU2VydmljZXNSZXF1ZXN0RGV0YWlscyhkYXRhOiBzdHJpbmcpOiB2b2lkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIElmcmFtZShjb250YWluZXJJRDogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBDb25maWcpOiBJZnJhbWVBUEk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { TokenExCvvContainerID, CARD_TYPE_MAPPING, TokenExCardNumberIframeId, } from './TokenEx';
|
|
2
|
+
import { CoinflowUtils } from '../CoinflowUtils';
|
|
3
|
+
export async function getIframeConfig({ token, origins, env, }) {
|
|
4
|
+
return new Promise((resolve, reject) => {
|
|
5
|
+
fetch(new CoinflowUtils(env).url + '/api/checkout/authentication-key', {
|
|
6
|
+
method: 'POST',
|
|
7
|
+
headers: {
|
|
8
|
+
'Content-Type': 'application/json',
|
|
9
|
+
},
|
|
10
|
+
body: JSON.stringify({
|
|
11
|
+
origins: [...(origins ?? []), window.location.origin],
|
|
12
|
+
token,
|
|
13
|
+
}),
|
|
14
|
+
})
|
|
15
|
+
.then(async (res) => {
|
|
16
|
+
resolve((await res.json()));
|
|
17
|
+
})
|
|
18
|
+
.catch(e => reject(e));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function setTokenExScriptTag({ env, setTokenExScriptLoaded, }) {
|
|
22
|
+
const scriptTagId = 'tokenex-script';
|
|
23
|
+
if (document.head.querySelector(`#${scriptTagId}`))
|
|
24
|
+
return;
|
|
25
|
+
const sdkScriptTag = document.createElement('script');
|
|
26
|
+
sdkScriptTag.src =
|
|
27
|
+
env === 'prod'
|
|
28
|
+
? 'https://htp.tokenex.com/iframe/iframe-v3.min.js'
|
|
29
|
+
: 'https://test-htp.tokenex.com/iframe/iframe-v3.min.js';
|
|
30
|
+
sdkScriptTag.id = scriptTagId;
|
|
31
|
+
document.head.appendChild(sdkScriptTag);
|
|
32
|
+
document.getElementById(scriptTagId).addEventListener('load', () => {
|
|
33
|
+
console.log('Setting tokenExScriptLoaded to true!');
|
|
34
|
+
setTokenExScriptLoaded(true);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function loadIframe({ iframe, setCachedToken, setLoaded, }) {
|
|
38
|
+
const tokenize = async () => {
|
|
39
|
+
iframe.tokenize();
|
|
40
|
+
return await new Promise((resolve, reject) => {
|
|
41
|
+
iframe.on('tokenize', (data) => {
|
|
42
|
+
setCachedToken(data.token);
|
|
43
|
+
resolve(data);
|
|
44
|
+
});
|
|
45
|
+
iframe.on('validate', (data) => {
|
|
46
|
+
// noinspection PointlessBooleanExpressionJS
|
|
47
|
+
const isInvalid = !data.isValid || data.isCvvValid === false;
|
|
48
|
+
if (isInvalid)
|
|
49
|
+
reject(data);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
iframe.on('change', () => setCachedToken(undefined));
|
|
54
|
+
iframe.on('cvvChange', () => setCachedToken(undefined));
|
|
55
|
+
iframe.on('load', () => {
|
|
56
|
+
setTimeout(() => setLoaded(true), 350);
|
|
57
|
+
const el = document.querySelector('#tx_iframe_tokenExCardNumber');
|
|
58
|
+
if (el) {
|
|
59
|
+
// noinspection JSDeprecatedSymbols
|
|
60
|
+
el.scrolling = 'no';
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
iframe.on('focus', () => {
|
|
64
|
+
iframe.focus();
|
|
65
|
+
});
|
|
66
|
+
iframe.on('cvvFocus', () => {
|
|
67
|
+
iframe.cvvFocus();
|
|
68
|
+
});
|
|
69
|
+
setLoaded(false);
|
|
70
|
+
iframe.load();
|
|
71
|
+
return { ...iframe, tokenize };
|
|
72
|
+
}
|
|
73
|
+
export async function doInitializeCvvOnlyTokenExIframe(args) {
|
|
74
|
+
const { token, cardType } = args;
|
|
75
|
+
return await doInitialize(TokenExCvvContainerID, args, {
|
|
76
|
+
cvvOnly: true,
|
|
77
|
+
cvv: true,
|
|
78
|
+
cvvContainerID: TokenExCvvContainerID,
|
|
79
|
+
placeholder: 'CVV',
|
|
80
|
+
token,
|
|
81
|
+
cardType: CARD_TYPE_MAPPING[cardType],
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
export async function doInitializeTokenExIframe(args) {
|
|
85
|
+
return await doInitialize(TokenExCardNumberIframeId, args, {
|
|
86
|
+
cvv: true,
|
|
87
|
+
cvvContainerID: TokenExCvvContainerID,
|
|
88
|
+
cvvPlaceholder: 'CVV',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export async function doInitializeTokenExCardOnlyIframe(args) {
|
|
92
|
+
return await doInitialize(TokenExCardNumberIframeId, args, { cvv: false });
|
|
93
|
+
}
|
|
94
|
+
async function doInitialize(id, { tokenExScriptLoaded, origins, env, css, debug, font, setCachedToken, setLoaded, }, configOverrides) {
|
|
95
|
+
if (!tokenExScriptLoaded && typeof TokenEx === 'undefined') {
|
|
96
|
+
console.warn('Warning Unable to load TokenEx on first attempt waiting for load event from document.head.script#tokenex-script');
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
const iframeConfig = await getIframeConfig({
|
|
100
|
+
token: configOverrides.token,
|
|
101
|
+
origins,
|
|
102
|
+
env,
|
|
103
|
+
});
|
|
104
|
+
const { styles } = getStyles(css);
|
|
105
|
+
const config = {
|
|
106
|
+
...iframeConfig,
|
|
107
|
+
placeholder: '0000 0000 0000 0000',
|
|
108
|
+
enablePrettyFormat: true,
|
|
109
|
+
styles,
|
|
110
|
+
font,
|
|
111
|
+
debug: debug ?? false,
|
|
112
|
+
...configOverrides,
|
|
113
|
+
};
|
|
114
|
+
const iframe = TokenEx.Iframe(id, config);
|
|
115
|
+
return loadIframe({ iframe, setCachedToken, setLoaded });
|
|
116
|
+
}
|
|
117
|
+
function getStyles(s) {
|
|
118
|
+
const css = JSON.parse(s);
|
|
119
|
+
const styles = {
|
|
120
|
+
base: CSSPropertiesToComponent(css.base),
|
|
121
|
+
focus: CSSPropertiesToComponent(css.focus),
|
|
122
|
+
error: CSSPropertiesToComponent(css.error),
|
|
123
|
+
placeholder: CSSPropertiesToComponent(css.placeholder),
|
|
124
|
+
cvv: {
|
|
125
|
+
base: CSSPropertiesToComponent(css.cvv?.base),
|
|
126
|
+
focus: CSSPropertiesToComponent(css.cvv?.focus),
|
|
127
|
+
error: CSSPropertiesToComponent(css.cvv?.error),
|
|
128
|
+
placeholder: CSSPropertiesToComponent(css?.placeholder),
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
return { styles };
|
|
132
|
+
}
|
|
133
|
+
function CSSPropertiesToComponent(dict) {
|
|
134
|
+
if (!dict)
|
|
135
|
+
return '';
|
|
136
|
+
if (typeof dict === 'string')
|
|
137
|
+
return dict;
|
|
138
|
+
let str = '';
|
|
139
|
+
for (const [key, value] of Object.entries(dict)) {
|
|
140
|
+
let clo = '';
|
|
141
|
+
key.split('').forEach(lt => {
|
|
142
|
+
if (lt.toUpperCase() === lt) {
|
|
143
|
+
clo += '-' + lt.toLowerCase();
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
clo += lt;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
str += clo + ':' + value + ';';
|
|
150
|
+
}
|
|
151
|
+
return str;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5leEhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vY2FyZC1mb3JtL3Rva2VuZXhIZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxxQkFBcUIsRUFHckIsaUJBQWlCLEVBQ2pCLHlCQUF5QixHQUMxQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFvQi9DLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQ3BDLEtBQUssRUFDTCxPQUFPLEVBQ1AsR0FBRyxHQUtKO0lBQ0MsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLGtDQUFrQyxFQUFFO1lBQ3JFLE1BQU0sRUFBRSxNQUFNO1lBQ2QsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDckQsS0FBSzthQUNOLENBQUM7U0FDSCxDQUFDO2FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBQyxHQUFHLEVBQUMsRUFBRTtZQUNoQixPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBK0IsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FB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cm9wZXJ0aWVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBUb2tlbml6YXRpb25SZXNwb25zZSxcbiAgVG9rZW5FeEN2dkNvbnRhaW5lcklELFxuICBUb2tlbkV4SWZyYW1lLFxuICBUb2tlbkV4SUZyYW1lQ29uZmlndXJhdGlvbixcbiAgQ0FSRF9UWVBFX01BUFBJTkcsXG4gIFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQsXG59IGZyb20gJy4vVG9rZW5FeCc7XG5pbXBvcnQge0NvaW5mbG93VXRpbHN9IGZyb20gJy4uL0NvaW5mbG93VXRpbHMnO1xuaW1wb3J0IHtDYXJkVHlwZSwgQ29pbmZsb3dFbnZzfSBmcm9tICcuLi9Db2luZmxvd1R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBEb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lQXJncyB7XG4gIGNzczogc3RyaW5nO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIG9yaWdpbnM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICB0b2tlbkV4U2NyaXB0TG9hZGVkOiBib29sZWFuO1xuICBlbnY6IENvaW5mbG93RW52cztcbiAgc2V0Q2FjaGVkVG9rZW46IChzOiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHZvaWQ7XG4gIHNldExvYWRlZDogKGI6IGJvb2xlYW4pID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9Jbml0aWFsaXplQ3Z2T25seVRva2VuRXhJZnJhbWVBcmdzXG4gIGV4dGVuZHMgRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3Mge1xuICB0b2tlbjogc3RyaW5nO1xuICBjYXJkVHlwZTogQ2FyZFR5cGU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRJZnJhbWVDb25maWcoe1xuICB0b2tlbixcbiAgb3JpZ2lucyxcbiAgZW52LFxufToge1xuICB0b2tlbj86IHN0cmluZztcbiAgb3JpZ2luczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xufSk6IFByb21pc2U8VG9rZW5FeElGcmFtZUNvbmZpZ3VyYXRpb24+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBmZXRjaChuZXcgQ29pbmZsb3dVdGlscyhlbnYpLnVybCArICcvYXBpL2NoZWNrb3V0L2F1dGhlbnRpY2F0aW9uLWtleScsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgb3JpZ2luczogWy4uLihvcmlnaW5zID8/IFtdKSwgd2luZG93LmxvY2F0aW9uLm9yaWdpbl0sXG4gICAgICAgIHRva2VuLFxuICAgICAgfSksXG4gICAgfSlcbiAgICAgIC50aGVuKGFzeW5jIHJlcyA9PiB7XG4gICAgICAgIHJlc29sdmUoKGF3YWl0IHJlcy5qc29uKCkpIGFzIFRva2VuRXhJRnJhbWVDb25maWd1cmF0aW9uKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goZSA9PiByZWplY3QoZSkpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRva2VuRXhTY3JpcHRUYWcoe1xuICBlbnYsXG4gIHNldFRva2VuRXhTY3JpcHRMb2FkZWQsXG59OiB7XG4gIGVudjogQ29pbmZsb3dFbnZzO1xuICBzZXRUb2tlbkV4U2NyaXB0TG9hZGVkOiAoYjogYm9vbGVhbikgPT4gdm9pZDtcbn0pIHtcbiAgY29uc3Qgc2NyaXB0VGFnSWQgPSAndG9rZW5leC1zY3JpcHQnO1xuICBpZiAoZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKGAjJHtzY3JpcHRUYWdJZH1gKSkgcmV0dXJuO1xuXG4gIGNvbnN0IHNka1NjcmlwdFRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICBzZGtTY3JpcHRUYWcuc3JjID1cbiAgICBlbnYgPT09ICdwcm9kJ1xuICAgICAgPyAnaHR0cHM6Ly9odHAudG9rZW5leC5jb20vaWZyYW1lL2lmcmFtZS12My5taW4uanMnXG4gICAgICA6ICdodHRwczovL3Rlc3QtaHRwLnRva2VuZXguY29tL2lmcmFtZS9pZnJhbWUtdjMubWluLmpzJztcbiAgc2RrU2NyaXB0VGFnLmlkID0gc2NyaXB0VGFnSWQ7XG5cbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzZGtTY3JpcHRUYWcpO1xuXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcmlwdFRhZ0lkKSEuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcbiAgICBjb25zb2xlLmxvZygnU2V0dGluZyB0b2tlbkV4U2NyaXB0TG9hZGVkIHRvIHRydWUhJyk7XG4gICAgc2V0VG9rZW5FeFNjcmlwdExvYWRlZCh0cnVlKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGxvYWRJZnJhbWUoe1xuICBpZnJhbWUsXG4gIHNldENhY2hlZFRva2VuLFxuICBzZXRMb2FkZWQsXG59OiB7XG4gIHNldENhY2hlZFRva2VuOiAoczogc3RyaW5nIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xuICBzZXRMb2FkZWQ6IChiOiBib29sZWFuKSA9PiB2b2lkO1xuICBpZnJhbWU6IFJldHVyblR5cGU8dHlwZW9mIFRva2VuRXguSWZyYW1lPjtcbn0pOiBUb2tlbkV4SWZyYW1lIHtcbiAgY29uc3QgdG9rZW5pemUgPSBhc3luYyAoKTogUHJvbWlzZTxUb2tlbml6YXRpb25SZXNwb25zZT4gPT4ge1xuICAgIGlmcmFtZS50b2tlbml6ZSgpO1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxUb2tlbml6YXRpb25SZXNwb25zZT4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWZyYW1lLm9uKCd0b2tlbml6ZScsIChkYXRhOiBUb2tlbml6YXRpb25SZXNwb25zZSkgPT4ge1xuICAgICAgICBzZXRDYWNoZWRUb2tlbihkYXRhLnRva2VuKTtcbiAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgIH0pO1xuICAgICAgaWZyYW1lLm9uKCd2YWxpZGF0ZScsIChkYXRhOiB7aXNWYWxpZDogYm9vbGVhbjsgaXNDdnZWYWxpZDogYm9vbGVhbn0pID0+IHtcbiAgICAgICAgLy8gbm9pbnNwZWN0aW9uIFBvaW50bGVzc0Jvb2xlYW5FeHByZXNzaW9uSlNcbiAgICAgICAgY29uc3QgaXNJbnZhbGlkID0gIWRhdGEuaXNWYWxpZCB8fCBkYXRhLmlzQ3Z2VmFsaWQgPT09IGZhbHNlO1xuICAgICAgICBpZiAoaXNJbnZhbGlkKSByZWplY3QoZGF0YSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBpZnJhbWUub24oJ2NoYW5nZScsICgpID0+IHNldENhY2hlZFRva2VuKHVuZGVmaW5lZCkpO1xuICBpZnJhbWUub24oJ2N2dkNoYW5nZScsICgpID0+IHNldENhY2hlZFRva2VuKHVuZGVmaW5lZCkpO1xuXG4gIGlmcmFtZS5vbignbG9hZCcsICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHNldExvYWRlZCh0cnVlKSwgMzUwKTtcbiAgICBjb25zdCBlbDogSFRNTElGcmFtZUVsZW1lbnQgfCBudWxsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcjdHhfaWZyYW1lX3Rva2VuRXhDYXJkTnVtYmVyJ1xuICAgICk7XG4gICAgaWYgKGVsKSB7XG4gICAgICAvLyBub2luc3BlY3Rpb24gSlNEZXByZWNhdGVkU3ltYm9sc1xuICAgICAgZWwuc2Nyb2xsaW5nID0gJ25vJztcbiAgICB9XG4gIH0pO1xuXG4gIGlmcmFtZS5vbignZm9jdXMnLCAoKSA9PiB7XG4gICAgaWZyYW1lLmZvY3VzKCk7XG4gIH0pO1xuICBpZnJhbWUub24oJ2N2dkZvY3VzJywgKCkgPT4ge1xuICAgIGlmcmFtZS5jdnZGb2N1cygpO1xuICB9KTtcblxuICBzZXRMb2FkZWQoZmFsc2UpO1xuICBpZnJhbWUubG9hZCgpO1xuXG4gIHJldHVybiB7Li4uaWZyYW1lLCB0b2tlbml6ZX07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkb0luaXRpYWxpemVDdnZPbmx5VG9rZW5FeElmcmFtZShcbiAgYXJnczogRG9Jbml0aWFsaXplQ3Z2T25seVRva2VuRXhJZnJhbWVBcmdzXG4pIHtcbiAgY29uc3Qge3Rva2VuLCBjYXJkVHlwZX0gPSBhcmdzO1xuICByZXR1cm4gYXdhaXQgZG9Jbml0aWFsaXplKFRva2VuRXhDdnZDb250YWluZXJJRCwgYXJncywge1xuICAgIGN2dk9ubHk6IHRydWUsXG4gICAgY3Z2OiB0cnVlLFxuICAgIGN2dkNvbnRhaW5lcklEOiBUb2tlbkV4Q3Z2Q29udGFpbmVySUQsXG4gICAgcGxhY2Vob2xkZXI6ICdDVlYnLFxuICAgIHRva2VuLFxuICAgIGNhcmRUeXBlOiBDQVJEX1RZUEVfTUFQUElOR1tjYXJkVHlwZV0sXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZShcbiAgYXJnczogRG9Jbml0aWFsaXplVG9rZW5FeElmcmFtZUFyZ3Ncbikge1xuICByZXR1cm4gYXdhaXQgZG9Jbml0aWFsaXplKFRva2VuRXhDYXJkTnVtYmVySWZyYW1lSWQsIGFyZ3MsIHtcbiAgICBjdnY6IHRydWUsXG4gICAgY3Z2Q29udGFpbmVySUQ6IFRva2VuRXhDdnZDb250YWluZXJJRCxcbiAgICBjdnZQbGFjZWhvbGRlcjogJ0NWVicsXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZG9Jbml0aWFsaXplVG9rZW5FeENhcmRPbmx5SWZyYW1lKFxuICBhcmdzOiBEb0luaXRpYWxpemVUb2tlbkV4SWZyYW1lQXJnc1xuKSB7XG4gIHJldHVybiBhd2FpdCBkb0luaXRpYWxpemUoVG9rZW5FeENhcmROdW1iZXJJZnJhbWVJZCwgYXJncywge2N2djogZmFsc2V9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZG9Jbml0aWFsaXplKFxuICBpZDogc3RyaW5nLFxuICB7XG4gICAgdG9rZW5FeFNjcmlwdExvYWRlZCxcbiAgICBvcmlnaW5zLFxuICAgIGVudixcbiAgICBjc3MsXG4gICAgZGVidWcsXG4gICAgZm9udCxcbiAgICBzZXRDYWNoZWRUb2tlbixcbiAgICBzZXRMb2FkZWQsXG4gIH06IERvSW5pdGlhbGl6ZVRva2VuRXhJZnJhbWVBcmdzLFxuICBjb25maWdPdmVycmlkZXM6IFBhcnRpYWw8VG9rZW5FeC5Db25maWc+XG4pIHtcbiAgaWYgKCF0b2tlbkV4U2NyaXB0TG9hZGVkICYmIHR5cGVvZiBUb2tlbkV4ID09PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdXYXJuaW5nIFVuYWJsZSB0byBsb2FkIFRva2VuRXggb24gZmlyc3QgYXR0ZW1wdCB3YWl0aW5nIGZvciBsb2FkIGV2ZW50IGZyb20gZG9jdW1lbnQuaGVhZC5zY3JpcHQjdG9rZW5leC1zY3JpcHQnXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaWZyYW1lQ29uZmlnID0gYXdhaXQgZ2V0SWZyYW1lQ29uZmlnKHtcbiAgICB0b2tlbjogY29uZmlnT3ZlcnJpZGVzLnRva2VuLFxuICAgIG9yaWdpbnMsXG4gICAgZW52LFxuICB9KTtcbiAgY29uc3Qge3N0eWxlc30gPSBnZXRTdHlsZXMoY3NzKTtcbiAgY29uc3QgY29uZmlnID0ge1xuICAgIC4uLmlmcmFtZUNvbmZpZyxcbiAgICBwbGFjZWhvbGRlcjogJzAwMDAgMDAwMCAwMDAwIDAwMDAnLFxuICAgIGVuYWJsZVByZXR0eUZvcm1hdDogdHJ1ZSxcbiAgICBzdHlsZXMsXG4gICAgZm9udCxcbiAgICBkZWJ1ZzogZGVidWcgPz8gZmFsc2UsXG4gICAgLi4uY29uZmlnT3ZlcnJpZGVzLFxuICB9O1xuICBjb25zdCBpZnJhbWU6IFJldHVyblR5cGU8dHlwZW9mIFRva2VuRXguSWZyYW1lPiA9IFRva2VuRXguSWZyYW1lKGlkLCBjb25maWcpO1xuXG4gIHJldHVybiBsb2FkSWZyYW1lKHtpZnJhbWUsIHNldENhY2hlZFRva2VuLCBzZXRMb2FkZWR9KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3R5bGVzKHM6IHN0cmluZykge1xuICBjb25zdCBjc3MgPSBKU09OLnBhcnNlKHMpO1xuICBjb25zdCBzdHlsZXMgPSB7XG4gICAgYmFzZTogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5iYXNlKSxcbiAgICBmb2N1czogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcy5mb2N1cyksXG4gICAgZXJyb3I6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuZXJyb3IpLFxuICAgIHBsYWNlaG9sZGVyOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLnBsYWNlaG9sZGVyKSxcbiAgICBjdnY6IHtcbiAgICAgIGJhc2U6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuY3Z2Py5iYXNlKSxcbiAgICAgIGZvY3VzOiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoY3NzLmN2dj8uZm9jdXMpLFxuICAgICAgZXJyb3I6IENTU1Byb3BlcnRpZXNUb0NvbXBvbmVudChjc3MuY3Z2Py5lcnJvciksXG4gICAgICBwbGFjZWhvbGRlcjogQ1NTUHJvcGVydGllc1RvQ29tcG9uZW50KGNzcz8ucGxhY2Vob2xkZXIpLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHtzdHlsZXN9O1xufVxuXG5mdW5jdGlvbiBDU1NQcm9wZXJ0aWVzVG9Db21wb25lbnQoXG4gIGRpY3Q6IENTU1Byb3BlcnRpZXMgfCBzdHJpbmcgfCB1bmRlZmluZWRcbik6IHN0cmluZyB7XG4gIGlmICghZGljdCkgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIGRpY3QgPT09ICdzdHJpbmcnKSByZXR1cm4gZGljdDtcblxuICBsZXQgc3RyID0gJyc7XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRpY3QpKSB7XG4gICAgbGV0IGNsbyA9ICcnO1xuICAgIGtleS5zcGxpdCgnJykuZm9yRWFjaChsdCA9PiB7XG4gICAgICBpZiAobHQudG9VcHBlckNhc2UoKSA9PT0gbHQpIHtcbiAgICAgICAgY2xvICs9ICctJyArIGx0LnRvTG93ZXJDYXNlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG8gKz0gbHQ7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc3RyICs9IGNsbyArICc6JyArIHZhbHVlICsgJzsnO1xuICB9XG4gIHJldHVybiBzdHI7XG59XG4iXX0=
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './CoinflowTypes';
|
|
2
2
|
export * from './CoinflowUtils';
|
|
3
3
|
export * from './CoinflowLibMessageHandlers';
|
|
4
|
-
|
|
4
|
+
export * from './card-form/TokenEx';
|
|
5
|
+
export * from './card-form/tokenexHelpers';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2luZmxvd2xhYnMvc3JjL2xpYi9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9Db2luZmxvd1R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29pbmZsb3dVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL0NvaW5mbG93TGliTWVzc2FnZUhhbmRsZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1mb3JtL1Rva2VuRXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWZvcm0vdG9rZW5leEhlbHBlcnMnO1xuIl19
|