@xsolla/payment-client-core 0.2.33 → 0.2.34
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/esm2022/lib/core/agreementsGroup.const.mjs +4 -1
- package/esm2022/lib/core/payment/field-names.enum.mjs +13 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.mjs +1 -1
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.mjs +1 -2
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +25 -82
- package/esm2022/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.mjs +1 -1
- package/fesm2022/xsolla-payment-client-core.mjs +38 -81
- package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
- package/lib/core/payment/field-names.enum.d.ts +13 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay-integration.type.d.ts +1 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.const.d.ts +0 -1
- package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +0 -2
- package/lib/core/sdk-payment-systems/apple-pay/checkout-params.interface.d.ts +3 -1
- package/package.json +1 -1
- package/xsolla-payment-client-core-0.2.34.tgz +0 -0
- package/xsolla-payment-client-core-0.2.33.tgz +0 -0
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import { FieldNames } from './payment/field-names.enum';
|
|
2
2
|
export const agreementsGroup = [
|
|
3
|
+
FieldNames.licenseDisclaimer,
|
|
3
4
|
FieldNames.termsAndConditions,
|
|
4
5
|
FieldNames.termsAndConditionsHtcEula,
|
|
5
6
|
FieldNames.termsAndConditionsAtariTc,
|
|
6
7
|
FieldNames.termsAndConditionsAtariPp,
|
|
7
8
|
FieldNames.termsAndConditionsRolandEula,
|
|
8
9
|
FieldNames.termsAndConditionsRobloxEula,
|
|
10
|
+
FieldNames.termsAndConditionsDeusLoVultEula,
|
|
9
11
|
FieldNames.termsAndConditionsOnzenga,
|
|
10
12
|
FieldNames.take2Taxes,
|
|
11
13
|
FieldNames.rockstarTaxes,
|
|
12
14
|
FieldNames.omnibusDirective,
|
|
15
|
+
FieldNames.koreaLimitsInstruction,
|
|
13
16
|
];
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdyZWVtZW50c0dyb3VwLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvYWdyZWVtZW50c0dyb3VwLmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsVUFBVSxDQUFDLGlCQUFpQjtJQUM1QixVQUFVLENBQUMsa0JBQWtCO0lBQzdCLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLHlCQUF5QjtJQUNwQyxVQUFVLENBQUMseUJBQXlCO0lBQ3BDLFVBQVUsQ0FBQyw0QkFBNEI7SUFDdkMsVUFBVSxDQUFDLDRCQUE0QjtJQUN2QyxVQUFVLENBQUMsZ0NBQWdDO0lBQzNDLFVBQVUsQ0FBQyx5QkFBeUI7SUFDcEMsVUFBVSxDQUFDLFVBQVU7SUFDckIsVUFBVSxDQUFDLGFBQWE7SUFDeEIsVUFBVSxDQUFDLGdCQUFnQjtJQUMzQixVQUFVLENBQUMsc0JBQXNCO0NBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi9wYXltZW50L2ZpZWxkLW5hbWVzLmVudW0nO1xuXG5leHBvcnQgY29uc3QgYWdyZWVtZW50c0dyb3VwID0gW1xuICBGaWVsZE5hbWVzLmxpY2Vuc2VEaXNjbGFpbWVyLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9ucyxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc0F0YXJpVGMsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCxcbiAgRmllbGROYW1lcy50ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhLFxuICBGaWVsZE5hbWVzLnRlcm1zQW5kQ29uZGl0aW9uc1JvYmxveEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEsXG4gIEZpZWxkTmFtZXMudGVybXNBbmRDb25kaXRpb25zT256ZW5nYSxcbiAgRmllbGROYW1lcy50YWtlMlRheGVzLFxuICBGaWVsZE5hbWVzLnJvY2tzdGFyVGF4ZXMsXG4gIEZpZWxkTmFtZXMub21uaWJ1c0RpcmVjdGl2ZSxcbiAgRmllbGROYW1lcy5rb3JlYUxpbWl0c0luc3RydWN0aW9uLFxuXTtcbiJdfQ==
|
|
@@ -49,6 +49,7 @@ export var FieldNames;
|
|
|
49
49
|
FieldNames["termsAndConditionsRolandEula"] = "termsAndConditionsRolandEula";
|
|
50
50
|
FieldNames["termsAndConditionsDeusLoVultEula"] = "termsAndConditionsDeusLoVultEula";
|
|
51
51
|
FieldNames["termsAndConditionsOnzenga"] = "termsAndConditionsOnzenga";
|
|
52
|
+
FieldNames["licenseDisclaimer"] = "licenseDisclaimer";
|
|
52
53
|
FieldNames["xsollaTipsAmount"] = "xsollaTipsAmount";
|
|
53
54
|
FieldNames["zip"] = "zip";
|
|
54
55
|
FieldNames["allowSave"] = "allowSave";
|
|
@@ -64,5 +65,16 @@ export var FieldNames;
|
|
|
64
65
|
FieldNames["ppEmail"] = "pp_email";
|
|
65
66
|
FieldNames["redeemPoints"] = "redeemPoints";
|
|
66
67
|
FieldNames["omnibusDirective"] = "omnibus_directive";
|
|
68
|
+
FieldNames["labelApplePay"] = "label_applePay";
|
|
69
|
+
FieldNames["countryCode"] = "countryCode";
|
|
70
|
+
FieldNames["merchantCapabilities"] = "merchantCapabilities";
|
|
71
|
+
FieldNames["requiredBillingContactFields"] = "requiredBillingContactFields";
|
|
72
|
+
FieldNames["requiredShippingContactFields"] = "requiredShippingContactFields";
|
|
73
|
+
FieldNames["supportedNetworks"] = "supportedNetworks";
|
|
74
|
+
FieldNames["acquirer"] = "acquirer";
|
|
75
|
+
FieldNames["isSandbox"] = "isSandbox";
|
|
76
|
+
FieldNames["payInstanceAccountId"] = "payInstanceAccountId";
|
|
77
|
+
FieldNames["getApplePaySessionUrl"] = "getApplePaySessionUrl";
|
|
78
|
+
FieldNames["payViaCheckoutUrl"] = "payViaCheckoutUrl";
|
|
67
79
|
})(FieldNames || (FieldNames = {}));
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbmFtZXMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQTZFWDtBQTdFRCxXQUFZLFVBQVU7SUFDcEIsbUNBQXFCLENBQUE7SUFDckIsbUNBQXFCLENBQUE7SUFDckIsaUNBQW1CLENBQUE7SUFDbkIsdUVBQXlELENBQUE7SUFDekQscURBQXVDLENBQUE7SUFDdkMseUJBQVcsQ0FBQTtJQUNYLHlEQUEyQyxDQUFBO0lBQzNDLDJCQUFhLENBQUE7SUFDYixzQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBd0IsQ0FBQTtJQUN4QixvQ0FBc0IsQ0FBQTtJQUN0Qix3Q0FBMEIsQ0FBQTtJQUMxQiwrQ0FBaUMsQ0FBQTtJQUNqQywyQkFBYSxDQUFBO0lBQ2IsdUNBQXlCLENBQUE7SUFDekIsa0NBQW9CLENBQUE7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIseUJBQVcsQ0FBQTtJQUNYLHlDQUEyQixDQUFBO0lBQzNCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQix1Q0FBeUIsQ0FBQTtJQUN6QixrQ0FBb0IsQ0FBQTtJQUNwQixvQ0FBc0IsQ0FBQTtJQUN0QixtREFBcUMsQ0FBQTtJQUNyQywrQ0FBaUMsQ0FBQTtJQUNqQyw4QkFBZ0IsQ0FBQTtJQUNoQiwyQ0FBNkIsQ0FBQTtJQUM3Qiw4QkFBZ0IsQ0FBQTtJQUNoQixtREFBcUMsQ0FBQTtJQUNyQyxvQ0FBc0IsQ0FBQTtJQUN0Qix5Q0FBMkIsQ0FBQTtJQUMzQix5Q0FBMkIsQ0FBQTtJQUMzQiw2QkFBZSxDQUFBO0lBQ2YseURBQTJDLENBQUE7SUFDM0MsOENBQWdDLENBQUE7SUFDaEMsOENBQWdDLENBQUE7SUFDaEMsNkJBQWUsQ0FBQTtJQUNmLCtCQUFpQixDQUFBO0lBQ2pCLDRDQUE4QixDQUFBO0lBQzlCLHdDQUEwQixDQUFBO0lBQzFCLHVEQUF5QyxDQUFBO0lBQ3pDLHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELHFFQUF1RCxDQUFBO0lBQ3ZELDJFQUE2RCxDQUFBO0lBQzdELDJFQUE2RCxDQUFBO0lBQzdELG1GQUFxRSxDQUFBO0lBQ3JFLHFFQUF1RCxDQUFBO0lBQ3ZELHFEQUF1QyxDQUFBO0lBQ3ZDLG1EQUFxQyxDQUFBO0lBQ3JDLHlCQUFXLENBQUE7SUFDWCxxQ0FBdUIsQ0FBQTtJQUN2QixpRUFBbUQsQ0FBQTtJQUNuRCw4Q0FBZ0MsQ0FBQTtJQUNoQyx3Q0FBMEIsQ0FBQTtJQUMxQixnQ0FBa0IsQ0FBQTtJQUNsQixxQ0FBdUIsQ0FBQTtJQUN2Qix1QkFBUyxDQUFBO0lBQ1QseUJBQVcsQ0FBQTtJQUNYLHlCQUFXLENBQUE7SUFDWCx5REFBMkMsQ0FBQTtJQUMzQyxrQ0FBb0IsQ0FBQTtJQUNwQiwyQ0FBNkIsQ0FBQTtJQUM3QixvREFBc0MsQ0FBQTtJQUN0Qyw4Q0FBZ0MsQ0FBQTtJQUNoQyx5Q0FBMkIsQ0FBQTtJQUMzQiwyREFBNkMsQ0FBQTtJQUM3QywyRUFBNkQsQ0FBQTtJQUM3RCw2RUFBK0QsQ0FBQTtJQUMvRCxxREFBdUMsQ0FBQTtJQUN2QyxtQ0FBcUIsQ0FBQTtJQUNyQixxQ0FBdUIsQ0FBQTtJQUN2QiwyREFBNkMsQ0FBQTtJQUM3Qyw2REFBK0MsQ0FBQTtJQUMvQyxxREFBdUMsQ0FBQTtBQUN6QyxDQUFDLEVBN0VXLFVBQVUsS0FBVixVQUFVLFFBNkVyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkTmFtZXMge1xuICBhZGRyZXNzMSA9ICdhZGRyZXNzMScsXG4gIGFkZHJlc3MyID0gJ2FkZHJlc3MyJyxcbiAgYWRkcmVzcyA9ICdhZGRyZXNzJyxcbiAgYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24gPSAnYWxsb3dSZWN1cnJlbnRTdWJzY3JpcHRpb24nLFxuICBhbGxvd1N1YnNjcmlwdGlvbiA9ICdhbGxvd1N1YnNjcmlwdGlvbicsXG4gIGFwdCA9ICdhcHQnLFxuICBhdmFpbGFibGVDYXJkVHlwZXMgPSAnYXZhaWxhYmxlX2NhcmRfdHlwZXMnLFxuICBiYW5rID0gJ2JhbmsnLFxuICBiaXJ0aERhdGUgPSAnYmlydGhfZGF0ZScsXG4gIGNhcmRNb250aCA9ICdjYXJkX21vbnRoJyxcbiAgY2FyZFllYXIgPSAnY2FyZF95ZWFyJyxcbiAgY2FyZE51bWJlciA9ICdjYXJkX251bWJlcicsXG4gIGNhcmRob2xkZXJuYW1lID0gJ2NhcmRob2xkZXJuYW1lJyxcbiAgY2l0eSA9ICdjaXR5JyxcbiAgY291cG9uQ29kZSA9ICdjb3Vwb25Db2RlJyxcbiAgY3BmTmFtZSA9ICdjcGZfbmFtZScsXG4gIGNwZk51bWJlciA9ICdjcGZfbnVtYmVyJyxcbiAgY3Z2ID0gJ2N2dicsXG4gIGRlc2NyaXB0aW9uID0gJ2Rlc2NyaXB0aW9uJyxcbiAgZW1haWwgPSAnZW1haWwnLFxuICBwc0VtYWlsID0gJ3BzRW1haWwnLFxuICBiYXppdGVtYWlsID0gJ2Jheml0ZW1haWwnLFxuICBldUNoZWNrID0gJ2V1X2NoZWNrJyxcbiAgZXh0cmFDdnYgPSAnZXh0cmFfY3Z2JyxcbiAgZXh0cmFDYXJkTnVtYmVyID0gJ2V4dHJhX2NhcmRfbnVtYmVyJyxcbiAgZXh0cmFDYXJkVHlwZSA9ICdleHRyYV9jYXJkX3R5cGUnLFxuICBmTmFtZSA9ICdmX25hbWUnLFxuICBpbnN0YWxsbWVudHMgPSAnaW5zdGFsbG1lbnRzJyxcbiAgbE5hbWUgPSAnbF9uYW1lJyxcbiAgbmVlZEluc3RhbGxtZW50cyA9ICduZWVkSW5zdGFsbG1lbnRzJyxcbiAgcGVyc29uSWQgPSAncGVyc29uX2lkJyxcbiAgcGVyc29uSWRBciA9ICdwZXJzb25faWRfYXInLFxuICBwZXJzb25JZENvID0gJ3BlcnNvbl9pZF9jbycsXG4gIHBob25lID0gJ3Bob25lJyxcbiAgcHVyY2hhc2VEZXNjcmlwdGlvbiA9ICdwdXJjaGFzZURlc2NyaXB0aW9uJyxcbiAgcmVjdXJyZW50VHlwZSA9ICdyZWN1cnJlbnRfdHlwZScsXG4gIHJvY2tzdGFyVGF4ZXMgPSAncm9ja3N0YXJfdGF4ZXMnLFxuICBzdGF0ZSA9ICdzdGF0ZScsXG4gIHN0cmVldCA9ICdzdHJlZXQnLFxuICBzdHJlZXROdW1iZXIgPSAnc3RyZWV0X251bWJlcicsXG4gIHRha2UyVGF4ZXMgPSAndGFrZTJfdGF4ZXMnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnMgPSAndGVybXNBbmRDb25kaXRpb25zJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlQcCA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVBQJyxcbiAgdGVybXNBbmRDb25kaXRpb25zQXRhcmlUYyA9ICd0ZXJtc0FuZENvbmRpdGlvbnNBdGFyaVRDJyxcbiAgdGVybXNBbmRDb25kaXRpb25zSHRjRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNIdGNFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9ibG94RXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2Jsb3hFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zUm9sYW5kRXVsYSA9ICd0ZXJtc0FuZENvbmRpdGlvbnNSb2xhbmRFdWxhJyxcbiAgdGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEgPSAndGVybXNBbmRDb25kaXRpb25zRGV1c0xvVnVsdEV1bGEnLFxuICB0ZXJtc0FuZENvbmRpdGlvbnNPbnplbmdhID0gJ3Rlcm1zQW5kQ29uZGl0aW9uc09uemVuZ2EnLFxuICBsaWNlbnNlRGlzY2xhaW1lciA9ICdsaWNlbnNlRGlzY2xhaW1lcicsXG4gIHhzb2xsYVRpcHNBbW91bnQgPSAneHNvbGxhVGlwc0Ftb3VudCcsXG4gIHppcCA9ICd6aXAnLFxuICBhbGxvd1NhdmUgPSAnYWxsb3dTYXZlJyxcbiAga29yZWFMaW1pdHNJbnN0cnVjdGlvbiA9ICdrb3JlYV9saW1pdHNfaW5zdHJ1Y3Rpb24nLFxuICB0b2tlbkFwcGxlUGF5ID0gJ3Rva2VuX2FwcGxlcGF5JyxcbiAgZml4SW52b2ljZSA9ICdmaXhfaW52b2ljZScsXG4gIGZpeFBpZCA9ICdmaXhfcGlkJyxcbiAgc2lnbmF0dXJlID0gJ3NpZ25hdHVyZScsXG4gIHFyID0gJ3FyJyxcbiAgc3VtID0gJ3N1bScsXG4gIG91dCA9ICdvdXQnLFxuICB0aW5rb2ZmRGlzY2xhaW1lciA9ICdwcy50aW5rb2ZmLmRpc2NsYWltZXInLFxuICBwcEVtYWlsID0gJ3BwX2VtYWlsJyxcbiAgcmVkZWVtUG9pbnRzID0gJ3JlZGVlbVBvaW50cycsXG4gIG9tbmlidXNEaXJlY3RpdmUgPSAnb21uaWJ1c19kaXJlY3RpdmUnLFxuICBsYWJlbEFwcGxlUGF5ID0gJ2xhYmVsX2FwcGxlUGF5JyxcbiAgY291bnRyeUNvZGUgPSAnY291bnRyeUNvZGUnLFxuICBtZXJjaGFudENhcGFiaWxpdGllcyA9ICdtZXJjaGFudENhcGFiaWxpdGllcycsXG4gIHJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMgPSAncmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcycsXG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzID0gJ3JlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzJyxcbiAgc3VwcG9ydGVkTmV0d29ya3MgPSAnc3VwcG9ydGVkTmV0d29ya3MnLFxuICBhY3F1aXJlciA9ICdhY3F1aXJlcicsXG4gIGlzU2FuZGJveCA9ICdpc1NhbmRib3gnLFxuICBwYXlJbnN0YW5jZUFjY291bnRJZCA9ICdwYXlJbnN0YW5jZUFjY291bnRJZCcsXG4gIGdldEFwcGxlUGF5U2Vzc2lvblVybCA9ICdnZXRBcHBsZVBheVNlc3Npb25VcmwnLFxuICBwYXlWaWFDaGVja291dFVybCA9ICdwYXlWaWFDaGVja291dFVybCcsXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQXBwbGVQYXlJbnRlZ3JhdGlvbiA9ICdyZWRpcmVjdCcgfCAnbm9uZSc7XG4iXX0=
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export const applePayVersion = 3;
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFDakMsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGFwcGxlUGF5VmVyc2lvbiA9IDM7XG5leHBvcnQgY29uc3Qgc2FmYXJpVmVyc2lvbkZvcklmcmFtZUludGVncmF0aW9uID0gMTc7XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGF5bWVudC1jbGllbnQtY29yZS9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXBwbGVQYXlWZXJzaW9uID0gMztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
2
|
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import { applePayVersion
|
|
3
|
+
import { applePayVersion } from './apple-pay.const';
|
|
4
4
|
import { agreementsGroup } from '../../agreementsGroup.const';
|
|
5
5
|
import { windowToken } from '../../window.token';
|
|
6
6
|
import { FieldNames } from '../../payment/field-names.enum';
|
|
@@ -54,22 +54,27 @@ export class ApplePayService {
|
|
|
54
54
|
return acc;
|
|
55
55
|
}, {});
|
|
56
56
|
const agreements = this.agreementFieldsNames
|
|
57
|
-
.map((fieldName) => fields[fieldName])
|
|
58
|
-
.filter(
|
|
57
|
+
.map((fieldName) => [fieldName, fields[fieldName]])
|
|
58
|
+
.filter((fieldEntry) => {
|
|
59
|
+
const [, value] = fieldEntry;
|
|
60
|
+
return !!value;
|
|
61
|
+
});
|
|
59
62
|
this.applePayParams = {
|
|
60
63
|
tokenKey: this.getAppleToken(formFields),
|
|
61
|
-
totalLabel: fields[
|
|
64
|
+
totalLabel: fields[FieldNames.labelApplePay] ?? '',
|
|
62
65
|
totalAmount: this.getTotalAmount(summary),
|
|
63
66
|
currencyCode: this.getTotalCurrency(summary),
|
|
64
|
-
countryCode: fields[
|
|
65
|
-
merchantCapabilities: this.getJsonValueFromField(fields,
|
|
66
|
-
|
|
67
|
+
countryCode: fields[FieldNames.countryCode] ?? '',
|
|
68
|
+
merchantCapabilities: this.getJsonValueFromField(fields, FieldNames.merchantCapabilities),
|
|
69
|
+
requiredBillingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredBillingContactFields),
|
|
70
|
+
requiredShippingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredShippingContactFields),
|
|
71
|
+
supportedNetworks: this.getJsonValueFromField(fields, FieldNames.supportedNetworks),
|
|
67
72
|
agreements: agreements,
|
|
68
|
-
acquirer: fields[
|
|
69
|
-
isSandbox: fields[
|
|
70
|
-
payInstanceAccountId: fields[
|
|
71
|
-
getApplePaySessionUrl: fields[
|
|
72
|
-
payViaCheckoutUrl: fields[
|
|
73
|
+
acquirer: fields[FieldNames.acquirer] ?? '',
|
|
74
|
+
isSandbox: fields[FieldNames.isSandbox] ?? '',
|
|
75
|
+
payInstanceAccountId: fields[FieldNames.payInstanceAccountId] ?? '',
|
|
76
|
+
getApplePaySessionUrl: fields[FieldNames.getApplePaySessionUrl] ?? '',
|
|
77
|
+
payViaCheckoutUrl: fields[FieldNames.payViaCheckoutUrl] ?? '',
|
|
73
78
|
};
|
|
74
79
|
}
|
|
75
80
|
async initLibrary(tokenKey) {
|
|
@@ -99,8 +104,10 @@ export class ApplePayService {
|
|
|
99
104
|
...parameters,
|
|
100
105
|
merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
|
|
101
106
|
supportedNetworks: JSON.stringify(parameters.supportedNetworks),
|
|
102
|
-
|
|
107
|
+
requiredBillingContactFields: JSON.stringify(parameters?.requiredBillingContactFields),
|
|
108
|
+
requiredShippingContactFields: JSON.stringify(parameters?.requiredShippingContactFields),
|
|
103
109
|
agreements: JSON.stringify(parameters.agreements),
|
|
110
|
+
token,
|
|
104
111
|
});
|
|
105
112
|
if (this.order) {
|
|
106
113
|
query.append('order', this.order);
|
|
@@ -124,71 +131,11 @@ export class ApplePayService {
|
|
|
124
131
|
}, '');
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
|
-
proceedCheckout(parameters) {
|
|
128
|
-
if (!parameters) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
if (!this.paymentClient || !this.isDeviceCapable()) {
|
|
132
|
-
console.warn('apple pay: device is not capable', this.paymentClient);
|
|
133
|
-
this.emitError(ApplePayErrors.deviceIsNotCapableError);
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
try {
|
|
137
|
-
const paymentRequest = this.paymentClient.createPaymentRequest({
|
|
138
|
-
total: {
|
|
139
|
-
label: parameters.totalLabel,
|
|
140
|
-
amount: parameters.totalAmount,
|
|
141
|
-
},
|
|
142
|
-
currencyCode: parameters.currencyCode,
|
|
143
|
-
countryCode: parameters.countryCode,
|
|
144
|
-
merchantCapabilities: parameters.merchantCapabilities,
|
|
145
|
-
supportedNetworks: parameters.supportedNetworks,
|
|
146
|
-
});
|
|
147
|
-
const session = new this.window.ApplePaySession(applePayVersion, paymentRequest);
|
|
148
|
-
session.onvalidatemerchant = (event) => {
|
|
149
|
-
console.info('apple pay: merchant validation', event);
|
|
150
|
-
this.paymentClient
|
|
151
|
-
?.performValidation({
|
|
152
|
-
validationURL: event.validationURL,
|
|
153
|
-
displayName: parameters?.totalLabel,
|
|
154
|
-
})
|
|
155
|
-
.then((merchantSession) => {
|
|
156
|
-
session.completeMerchantValidation(merchantSession);
|
|
157
|
-
})
|
|
158
|
-
.catch((error) => {
|
|
159
|
-
console.error('apple pay: merchant validation error', error);
|
|
160
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
161
|
-
session.abort();
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
session.onpaymentauthorized = (event) => {
|
|
165
|
-
console.info('apple pay: payment authorization', event);
|
|
166
|
-
this.paymentClient
|
|
167
|
-
?.tokenize({
|
|
168
|
-
token: event.payment.token,
|
|
169
|
-
})
|
|
170
|
-
.then((authorizationResponse) => {
|
|
171
|
-
this.payment.next(authorizationResponse?.nonce ?? '');
|
|
172
|
-
session.completePayment(this.window.ApplePaySession.STATUS_SUCCESS);
|
|
173
|
-
})
|
|
174
|
-
.catch((error) => {
|
|
175
|
-
console.error('apple pay: payment authorization error', error);
|
|
176
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
177
|
-
session.completePayment(this.window.ApplePaySession.STATUS_FAILURE);
|
|
178
|
-
});
|
|
179
|
-
};
|
|
180
|
-
session.oncancel = (event) => {
|
|
181
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
182
|
-
console.error('apple pay: user cancel payment', event);
|
|
183
|
-
};
|
|
184
|
-
session.begin();
|
|
185
|
-
}
|
|
186
|
-
catch (error) {
|
|
187
|
-
console.error('apple pay: checkout error', error);
|
|
188
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
134
|
isDeviceCapable() {
|
|
135
|
+
// Apple SDK is used on non-Safari devices.
|
|
136
|
+
// Support of ApplePay payments will be defined on the external PS4 page
|
|
137
|
+
if (!this.userAgentService.isSafari)
|
|
138
|
+
return true;
|
|
192
139
|
try {
|
|
193
140
|
return Boolean(this.window.ApplePaySession?.supportsVersion(applePayVersion) &&
|
|
194
141
|
this.window.ApplePaySession?.canMakePayments());
|
|
@@ -254,10 +201,6 @@ export class ApplePayService {
|
|
|
254
201
|
}
|
|
255
202
|
this.integrationType.next(integrationType);
|
|
256
203
|
}
|
|
257
|
-
canUseSdk() {
|
|
258
|
-
return !!(this.userAgentService.safariVersion &&
|
|
259
|
-
this.userAgentService.safariVersion >= safariVersionForIframeIntegration);
|
|
260
|
-
}
|
|
261
204
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.UserAgentService }, { token: i2.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
262
205
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
|
|
263
206
|
}
|
|
@@ -270,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
270
213
|
type: Inject,
|
|
271
214
|
args: [windowToken]
|
|
272
215
|
}] }, { type: i1.UserAgentService }, { type: i2.SummaryFinanceDetailsAdapterService }] });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxlQUFlLEVBQ2YsaUNBQWlDLEdBQ2xDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFHckcsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx1REFBdUQsQ0FBQzs7OztBQUsvRCxNQUFNLE9BQU8sZUFBZTtJQWdCMUIsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1DQUF3RTtRQUZuRCxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdDQUFtQyxHQUFuQyxtQ0FBbUMsQ0FBcUM7UUFsQzFFLHlCQUFvQixHQUFhLGVBQWUsQ0FBQztRQUNqRCxZQUFPLEdBQW9CLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMsVUFBSyxHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9DLG9CQUFlLEdBQzlCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFUixrQkFBYSxHQUFvQixJQUFJLENBQUM7UUFNdEMsbUJBQWMsR0FBMEIsSUFBSSxDQUFDO1FBQzdDLFVBQUssR0FBbUIsSUFBSSxDQUFDO1FBdUJuQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0saUJBQWlCLENBQUMsSUFBYTtRQUNwQyxNQUFNLFVBQVUsR0FBSSxJQUEyQixFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDckUsTUFBTSxPQUFPLEdBQUksSUFBMkIsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBRW5FLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM1QixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQzlCLENBQUMsR0FBOEIsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUN4QyxJQUNFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDOUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxHQUFHLEVBQ3ZCLENBQUM7Z0JBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDaEMsQ0FBQztZQUVELE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG9CQUFvQjthQUN6QyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFnQyxDQUFXLENBQUM7YUFDdEUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRW5CLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1lBQzFDLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUN6QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM1QyxXQUFXLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDeEMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUM5QyxNQUFNLEVBQ04sc0JBQXNCLENBQ3ZCO1lBQ0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUMzQyxNQUFNLEVBQ04sbUJBQW1CLENBQ3BCO1lBQ0QsVUFBVSxFQUFFLFVBQVU7WUFDdEIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2xDLFNBQVMsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFO1lBQzFELHFCQUFxQixFQUFFLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUU7WUFDNUQsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQzNCLE1BQU0sY0FBYyxHQUFHLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQzdDLGFBQWEsRUFBRSxRQUFRO2FBQ3hCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDN0MsTUFBTSxFQUFFLGNBQWM7YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxDQUFDO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU0scUJBQXFCLENBQzFCLFVBQTBCLEVBQzFCLEtBQWEsRUFDYixTQUFtQjtRQUVuQixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxlQUFlLENBQUM7WUFDaEMsR0FBRyxVQUFVO1lBQ2Isb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUM7WUFDckUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUM7WUFDL0QsS0FBSztZQUNMLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7U0FDbEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUN4RSxPQUFPLEdBQUcsYUFBYSxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQWE7UUFDM0IsTUFBTSxPQUFPLEdBQUksSUFBMkIsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDO1FBQ25FLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxjQUFjLEdBQ2xCLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0RSxJQUFJLGNBQWMsRUFBRSxRQUFRLElBQUksY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3hELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUM1QyxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNULE9BQU8sSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNsQyxDQUFDO2dCQUVELE9BQU8sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsQ0FBQztJQUNILENBQUM7SUFFTSxlQUFlLENBQUMsVUFBMkI7UUFDaEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNuRCxPQUFPLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDN0QsS0FBSyxFQUFFO29CQUNMLEtBQUssRUFBRSxVQUFVLENBQUMsVUFBVTtvQkFDNUIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxXQUFXO2lCQUMvQjtnQkFDRCxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVk7Z0JBQ3JDLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQjtnQkFDckQsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGlCQUFpQjthQUNoRCxDQUFDLENBQUM7WUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUM3QyxlQUFlLEVBQ2YsY0FBYyxDQUNmLENBQUM7WUFFRixPQUFPLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7Z0JBQ2hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxhQUFhO29CQUNoQixFQUFFLGlCQUFpQixDQUFDO29CQUNsQixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7b0JBQ2xDLFdBQVcsRUFBRSxVQUFVLEVBQUUsVUFBVTtpQkFDcEMsQ0FBQztxQkFDRCxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtvQkFDeEIsT0FBTyxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQzVDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7WUFFRixPQUFPLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxLQUFxQyxFQUFFLEVBQUU7Z0JBQ3RFLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3hELElBQUksQ0FBQyxhQUFhO29CQUNoQixFQUFFLFFBQVEsQ0FBQztvQkFDVCxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLO2lCQUMzQixDQUFDO3FCQUNELElBQUksQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztvQkFDdEQsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdEUsQ0FBQyxDQUFDO3FCQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUM1QyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQztZQUVGLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFjLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekQsQ0FBQyxDQUFDO1lBRUYsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQztJQUNILENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQztZQUNILE9BQU8sT0FBTyxDQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxlQUFlLENBQUM7Z0JBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxDQUNqRCxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVNLHNCQUFzQixDQUFDLFVBQWtCO1FBSTlDLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQWE7UUFDdkMsTUFBTSxPQUFPLEdBQUksSUFBb0IsRUFBRSxPQUFPLENBQUM7UUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTyxLQUFLLENBQUMsYUFBYTtRQUl6QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUUxQyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxhQUFhLENBQUMsVUFBbUI7UUFDdkMsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hELE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDckIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBK0I7UUFDcEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUNqQyxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUVwRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQStCO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDakMsT0FBTyxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVPLHFCQUFxQixDQUMzQixNQUVDLEVBQ0QsU0FBaUI7UUFFakIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQztZQUNILE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDN0QsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUM7SUFFTyxTQUFTLENBQUMsS0FBcUI7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLGVBQW9DLENBQUM7UUFFekMsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDO1lBQ2pELGVBQWUsR0FBRyxVQUFVLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsTUFBTSxDQUFDO1FBQzNCLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sU0FBUztRQUNmLE9BQU8sQ0FBQyxDQUFDLENBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWE7WUFDbkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxpQ0FBaUMsQ0FDekUsQ0FBQztJQUNKLENBQUM7OEdBMVVVLGVBQWUsa0JBaUNoQixXQUFXO2tIQWpDVixlQUFlLGNBRmQsTUFBTTs7MkZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWtDSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsZVBheSwgYXBwbGVQYXksIGNsaWVudCB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBhcHBsZVBheVZlcnNpb24sXG4gIHNhZmFyaVZlcnNpb25Gb3JJZnJhbWVJbnRlZ3JhdGlvbixcbn0gZnJvbSAnLi9hcHBsZS1wYXkuY29uc3QnO1xuaW1wb3J0IHsgYWdyZWVtZW50c0dyb3VwIH0gZnJvbSAnLi4vLi4vYWdyZWVtZW50c0dyb3VwLmNvbnN0JztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zIH0gZnJvbSAnLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBYcHNSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQveHBzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IEFwcGxlUGF5RXJyb3JzIH0gZnJvbSAnLi9hcHBsZS1wYXkuZXJyb3JzLmVudW0nO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5SW50ZWdyYXRpb24gfSBmcm9tICcuL2FwcGxlLXBheS1pbnRlZ3JhdGlvbi50eXBlJztcbmltcG9ydCB7IHBhZ2VzUm91dGVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1yb3V0ZXMuY29uc3QnO1xuaW1wb3J0IHsgYXBwbGVQYXlJZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcGF5bWVudC1tZXRob2RzLWlkLmNvbnN0JztcbmltcG9ydCB7IEluaXRpYWxpemVSZXNwb25zZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvaW5pdGlhbGl6ZS9yZXNwb25zZS9pbml0aWFsaXplLXJlc3BvbnNlLmNsYXNzJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgcGF5U3RhdGlvbjRVcmwsXG4gIHNhbmRib3hQYXlTdGF0aW9uVXJsLFxufSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcGF5LXN0YXRpb240LXVybC5jb25zdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGFncmVlbWVudEZpZWxkc05hbWVzOiBzdHJpbmdbXSA9IGFncmVlbWVudHNHcm91cDtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9yOiBTdWJqZWN0PEFwcGxlUGF5RXJyb3JzPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW50ZWdyYXRpb25UeXBlOiBTdWJqZWN0PEFwcGxlUGF5SW50ZWdyYXRpb24+ID1cbiAgICBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVncmF0aW9uVHlwZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUludGVncmF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZWdyYXRpb25UeXBlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudFNlcnZpY2U6IFVzZXJBZ2VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5maWVsZHM7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuXG4gICAgaWYgKCFmb3JtRmllbGRzIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpZWxkcyA9IGZvcm1GaWVsZHMucmVkdWNlKFxuICAgICAgKGFjYzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSwgZmllbGQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuYWdyZWVtZW50RmllbGRzTmFtZXMuaW5jbHVkZXMoZmllbGQubmFtZSkgJiZcbiAgICAgICAgICBmaWVsZC5pc1Zpc2libGUgPT09ICcxJ1xuICAgICAgICApIHtcbiAgICAgICAgICBhY2NbZmllbGQubmFtZV0gPSBmaWVsZC50aXRsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhY2NbZmllbGQubmFtZV0gPSBmaWVsZC52YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuXG4gICAgY29uc3QgYWdyZWVtZW50cyA9IHRoaXMuYWdyZWVtZW50RmllbGRzTmFtZXNcbiAgICAgIC5tYXAoKGZpZWxkTmFtZSkgPT4gZmllbGRzW2ZpZWxkTmFtZSBhcyBrZXlvZiB0eXBlb2YgZmllbGRzXSBhcyBzdHJpbmcpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHtcbiAgICAgIHRva2VuS2V5OiB0aGlzLmdldEFwcGxlVG9rZW4oZm9ybUZpZWxkcyksXG4gICAgICB0b3RhbExhYmVsOiBmaWVsZHNbJ2xhYmVsX2FwcGxlUGF5J10gPz8gJycsXG4gICAgICB0b3RhbEFtb3VudDogdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KSxcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpLFxuICAgICAgY291bnRyeUNvZGU6IGZpZWxkc1snY291bnRyeUNvZGUnXSA/PyAnJyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZmllbGRzLFxuICAgICAgICAnbWVyY2hhbnRDYXBhYmlsaXRpZXMnXG4gICAgICApLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IHRoaXMuZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgICdzdXBwb3J0ZWROZXR3b3JrcydcbiAgICAgICksXG4gICAgICBhZ3JlZW1lbnRzOiBhZ3JlZW1lbnRzLFxuICAgICAgYWNxdWlyZXI6IGZpZWxkc1snYWNxdWlyZXInXSA/PyAnJyxcbiAgICAgIGlzU2FuZGJveDogZmllbGRzWydpc1NhbmRib3gnXSA/PyAnJyxcbiAgICAgIHBheUluc3RhbmNlQWNjb3VudElkOiBmaWVsZHNbJ3BheUluc3RhbmNlQWNjb3VudElkJ10gPz8gJycsXG4gICAgICBnZXRBcHBsZVBheVNlc3Npb25Vcmw6IGZpZWxkc1snZ2V0QXBwbGVQYXlTZXNzaW9uVXJsJ10gPz8gJycsXG4gICAgICBwYXlWaWFDaGVja291dFVybDogZmllbGRzWydwYXlWaWFDaGVja291dFVybCddID8/ICcnLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdExpYnJhcnkodG9rZW5LZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhcGkgPSBhd2FpdCB0aGlzLmFwaTtcbiAgICAgIGNvbnN0IGNsaWVudEluc3RhbmNlID0gYXdhaXQgYXBpLmNsaWVudC5jcmVhdGUoe1xuICAgICAgICBhdXRob3JpemF0aW9uOiB0b2tlbktleSxcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnBheW1lbnRDbGllbnQgPSBhd2FpdCBhcGkuYXBwbGVQYXkuY3JlYXRlKHtcbiAgICAgICAgY2xpZW50OiBjbGllbnRJbnN0YW5jZSxcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IGluaXRpYWxpemUgZmFpbGVkJywgZXJyb3IpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEludGVncmF0aW9uVHlwZSgpO1xuXG4gICAgaWYgKCF0aGlzLnBheW1lbnRDbGllbnQgfHwgIXRoaXMuaXNEZXZpY2VDYXBhYmxlKCkpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhblxuICApOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJvdXRlID0gcGFnZXNSb3V0ZXMuZ2V0KGFwcGxlUGF5SWQpO1xuICAgIGlmICghcm91dGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgLi4ucGFyYW1ldGVycyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzKSxcbiAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzLnN1cHBvcnRlZE5ldHdvcmtzKSxcbiAgICAgIHRva2VuLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZS5nZXRGaW5hbmNlRGV0YWlscyhzdW1tYXJ5KTtcblxuICAgIGlmIChmaW5hbmNlRGV0YWlscz8ucHVyY2hhc2UgJiYgZmluYW5jZURldGFpbHM/LmZpbmFuY2UpIHtcbiAgICAgIGNvbnN0IGNhcnRJdGVtcyA9IGZpbmFuY2VEZXRhaWxzLmNhcnRJdGVtcztcbiAgICAgIHRoaXMub3JkZXIgPSBjYXJ0SXRlbXM/LnJlZHVjZSgoY3VyciwgaXRlbSkgPT4ge1xuICAgICAgICBpZiAoY3Vycikge1xuICAgICAgICAgIHJldHVybiBjdXJyICsgYDsgJHtpdGVtLnRpdGxlfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY3VyciArIGl0ZW0udGl0bGU7XG4gICAgICB9LCAnJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHByb2NlZWRDaGVja291dChwYXJhbWV0ZXJzPzogQXBwbGVQYXlQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAoIXBhcmFtZXRlcnMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUoKSkge1xuICAgICAgY29uc29sZS53YXJuKCdhcHBsZSBwYXk6IGRldmljZSBpcyBub3QgY2FwYWJsZScsIHRoaXMucGF5bWVudENsaWVudCk7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5kZXZpY2VJc05vdENhcGFibGVFcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBheW1lbnRSZXF1ZXN0ID0gdGhpcy5wYXltZW50Q2xpZW50LmNyZWF0ZVBheW1lbnRSZXF1ZXN0KHtcbiAgICAgICAgdG90YWw6IHtcbiAgICAgICAgICBsYWJlbDogcGFyYW1ldGVycy50b3RhbExhYmVsLFxuICAgICAgICAgIGFtb3VudDogcGFyYW1ldGVycy50b3RhbEFtb3VudCxcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVuY3lDb2RlOiBwYXJhbWV0ZXJzLmN1cnJlbmN5Q29kZSxcbiAgICAgICAgY291bnRyeUNvZGU6IHBhcmFtZXRlcnMuY291bnRyeUNvZGUsXG4gICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBwYXJhbWV0ZXJzLm1lcmNoYW50Q2FwYWJpbGl0aWVzLFxuICAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogcGFyYW1ldGVycy5zdXBwb3J0ZWROZXR3b3JrcyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzZXNzaW9uID0gbmV3IHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbihcbiAgICAgICAgYXBwbGVQYXlWZXJzaW9uLFxuICAgICAgICBwYXltZW50UmVxdWVzdFxuICAgICAgKTtcblxuICAgICAgc2Vzc2lvbi5vbnZhbGlkYXRlbWVyY2hhbnQgPSAoZXZlbnQ6IHsgdmFsaWRhdGlvblVSTDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCdhcHBsZSBwYXk6IG1lcmNoYW50IHZhbGlkYXRpb24nLCBldmVudCk7XG4gICAgICAgIHRoaXMucGF5bWVudENsaWVudFxuICAgICAgICAgID8ucGVyZm9ybVZhbGlkYXRpb24oe1xuICAgICAgICAgICAgdmFsaWRhdGlvblVSTDogZXZlbnQudmFsaWRhdGlvblVSTCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBwYXJhbWV0ZXJzPy50b3RhbExhYmVsLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgLnRoZW4oKG1lcmNoYW50U2Vzc2lvbikgPT4ge1xuICAgICAgICAgICAgc2Vzc2lvbi5jb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihtZXJjaGFudFNlc3Npb24pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignYXBwbGUgcGF5OiBtZXJjaGFudCB2YWxpZGF0aW9uIGVycm9yJywgZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMucGF5bWVudEVycm9yKTtcbiAgICAgICAgICAgIHNlc3Npb24uYWJvcnQoKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIHNlc3Npb24ub25wYXltZW50YXV0aG9yaXplZCA9IChldmVudDogeyBwYXltZW50OiB7IHRva2VuOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIGNvbnNvbGUuaW5mbygnYXBwbGUgcGF5OiBwYXltZW50IGF1dGhvcml6YXRpb24nLCBldmVudCk7XG4gICAgICAgIHRoaXMucGF5bWVudENsaWVudFxuICAgICAgICAgID8udG9rZW5pemUoe1xuICAgICAgICAgICAgdG9rZW46IGV2ZW50LnBheW1lbnQudG9rZW4sXG4gICAgICAgICAgfSlcbiAgICAgICAgICAudGhlbigoYXV0aG9yaXphdGlvblJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBheW1lbnQubmV4dChhdXRob3JpemF0aW9uUmVzcG9uc2U/Lm5vbmNlID8/ICcnKTtcbiAgICAgICAgICAgIHNlc3Npb24uY29tcGxldGVQYXltZW50KHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbi5TVEFUVVNfU1VDQ0VTUyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IHBheW1lbnQgYXV0aG9yaXphdGlvbiBlcnJvcicsIGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLnBheW1lbnRFcnJvcik7XG4gICAgICAgICAgICBzZXNzaW9uLmNvbXBsZXRlUGF5bWVudCh0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24uU1RBVFVTX0ZBSUxVUkUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgc2Vzc2lvbi5vbmNhbmNlbCA9IChldmVudDogdW5rbm93bikgPT4ge1xuICAgICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5wYXltZW50RXJyb3IpO1xuICAgICAgICBjb25zb2xlLmVycm9yKCdhcHBsZSBwYXk6IHVzZXIgY2FuY2VsIHBheW1lbnQnLCBldmVudCk7XG4gICAgICB9O1xuXG4gICAgICBzZXNzaW9uLmJlZ2luKCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcGxlIHBheTogY2hlY2tvdXQgZXJyb3InLCBlcnJvcik7XG4gICAgICB0aGlzLmVtaXRFcnJvcihBcHBsZVBheUVycm9ycy5wYXltZW50RXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0RldmljZUNhcGFibGUoKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbk5vbmNlRmllbGREYXRhKHRva2VuTm9uY2U6IHN0cmluZyk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfSB7XG4gICAgY29uc3QgbmFtZSA9IEZpZWxkTmFtZXMudG9rZW5BcHBsZVBheTtcbiAgICBjb25zdCB2YWx1ZSA9IGJ0b2EodG9rZW5Ob25jZSk7XG4gICAgcmV0dXJuIHsgbmFtZSwgdmFsdWUgfTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBcHBsZVBheVBhcmFtcyhkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIFhwc1Jlc3BvbnNlKT8uc3VtbWFyeTtcbiAgICBpZiAoIXRoaXMuYXBwbGVQYXlQYXJhbXMgfHwgIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLnRvdGFsQW1vdW50ID0gdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KTtcbiAgICB0aGlzLmFwcGxlUGF5UGFyYW1zLmN1cnJlbmN5Q29kZSA9IHRoaXMuZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEJyYWludHJlZSgpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT4ge1xuICAgIGNvbnN0IGFwaSA9IGF3YWl0IGltcG9ydCgnYnJhaW50cmVlLXdlYicpO1xuXG4gICAgcmV0dXJuIGFwaTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBwbGVUb2tlbihmb3JtRmllbGRzOiBGaWVsZFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBhcHBsZVRva2VuRmllbGQgPSBmb3JtRmllbGRzLmZpbmQoKGZpZWxkKSA9PiB7XG4gICAgICByZXR1cm4gZmllbGQubmFtZSA9PT0gJ3Rva2VuX2tleSc7XG4gICAgfSk7XG5cbiAgICBpZiAoIWFwcGxlVG9rZW5GaWVsZCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIHJldHVybiBhcHBsZVRva2VuRmllbGQudmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQW1vdW50KHN1bW1hcnk6IFhwc1Jlc3BvbnNlWydzdW1tYXJ5J10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbmFuY2UgPSBzdW1tYXJ5Py5maW5hbmNlO1xuICAgIGNvbnN0IHRvdGFsID0gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbC5hbW91bnQ7XG5cbiAgICByZXR1cm4gdG90YWw/LnRvU3RyaW5nKCkgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQ3VycmVuY3koc3VtbWFyeTogWHBzUmVzcG9uc2VbJ3N1bW1hcnknXSk6IHN0cmluZyB7XG4gICAgY29uc3QgZmluYW5jZSA9IHN1bW1hcnk/LmZpbmFuY2U7XG4gICAgcmV0dXJuIGZpbmFuY2U/LmdyYW5kX3RvdGFsPy5jdXJyZW5jeSA/PyBmaW5hbmNlPy50b3RhbD8uY3VycmVuY3kgPz8gJyc7XG4gIH1cblxuICBwcml2YXRlIGdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICBmaWVsZHM6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9LFxuICAgIGZpZWxkTmFtZTogc3RyaW5nXG4gICk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tmaWVsZE5hbWVdO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBmaWVsZCA/IChKU09OLnBhcnNlKGZpZWxkKSBhcyBzdHJpbmdbXSkgOiB1bmRlZmluZWQ7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZSgpOiB2b2lkIHtcbiAgICBsZXQgaW50ZWdyYXRpb25UeXBlOiBBcHBsZVBheUludGVncmF0aW9uO1xuXG4gICAgaWYgKHRoaXMucGF5bWVudENsaWVudCAmJiB0aGlzLmlzRGV2aWNlQ2FwYWJsZSgpKSB7XG4gICAgICBpbnRlZ3JhdGlvblR5cGUgPSAncmVkaXJlY3QnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnRlZ3JhdGlvblR5cGUgPSAnbm9uZSc7XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUubmV4dChpbnRlZ3JhdGlvblR5cGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYW5Vc2VTZGsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKFxuICAgICAgdGhpcy51c2VyQWdlbnRTZXJ2aWNlLnNhZmFyaVZlcnNpb24gJiZcbiAgICAgIHRoaXMudXNlckFnZW50U2VydmljZS5zYWZhcmlWZXJzaW9uID49IHNhZmFyaVZlcnNpb25Gb3JJZnJhbWVJbnRlZ3JhdGlvblxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUdyRyxPQUFPLEVBQ0wsY0FBYyxFQUNkLG9CQUFvQixHQUNyQixNQUFNLHVEQUF1RCxDQUFDOzs7O0FBSy9ELE1BQU0sT0FBTyxlQUFlO0lBZ0IxQixJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxnQkFB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxlUGF5LCBhcHBsZVBheSwgY2xpZW50IH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFwcGxlUGF5VmVyc2lvbiB9IGZyb20gJy4vYXBwbGUtcGF5LmNvbnN0JztcbmltcG9ydCB7IGFncmVlbWVudHNHcm91cCB9IGZyb20gJy4uLy4uL2FncmVlbWVudHNHcm91cC5jb25zdCc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtcyB9IGZyb20gJy4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGQgfSBmcm9tICcuLi8uLi9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBBcHBsZVBheUVycm9ycyB9IGZyb20gJy4vYXBwbGUtcGF5LmVycm9ycy5lbnVtJztcbmltcG9ydCB7IFVzZXJBZ2VudFNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L3VzZXItYWdlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsZVBheUludGVncmF0aW9uIH0gZnJvbSAnLi9hcHBsZS1wYXktaW50ZWdyYXRpb24udHlwZSc7XG5pbXBvcnQgeyBwYWdlc1JvdXRlcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcm91dGVzLmNvbnN0JztcbmltcG9ydCB7IGFwcGxlUGF5SWQgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5pbXBvcnQgeyBJbml0aWFsaXplUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L2luaXRpYWxpemUvcmVzcG9uc2UvaW5pdGlhbGl6ZS1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIHBheVN0YXRpb240VXJsLFxuICBzYW5kYm94UGF5U3RhdGlvblVybCxcbn0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BheS1zdGF0aW9uNC11cmwuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhZ3JlZW1lbnRGaWVsZHNOYW1lczogc3RyaW5nW10gPSBhZ3JlZW1lbnRzR3JvdXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcjogU3ViamVjdDxBcHBsZVBheUVycm9ycz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVncmF0aW9uVHlwZTogU3ViamVjdDxBcHBsZVBheUludGVncmF0aW9uPiA9XG4gICAgbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIHBheW1lbnRDbGllbnQ6IEFwcGxlUGF5IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhcGk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PjtcbiAgcHJpdmF0ZSBhcHBsZVBheVBhcmFtczogQXBwbGVQYXlQYXJhbXMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvcmRlcj86IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFBhcmFtZXRlcnMoKTogQXBwbGVQYXlQYXJhbXMgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsZVBheVBhcmFtcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudCQoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9ycz4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnRlZ3JhdGlvblR5cGUkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlJbnRlZ3JhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmludGVncmF0aW9uVHlwZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQWdlbnRTZXJ2aWNlOiBVc2VyQWdlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuYXBpID0gdGhpcy5sb2FkQnJhaW50cmVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uZmllbGRzO1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBJbml0aWFsaXplUmVzcG9uc2UpPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcblxuICAgIGlmICghZm9ybUZpZWxkcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaWVsZHMgPSBmb3JtRmllbGRzLnJlZHVjZShcbiAgICAgIChhY2M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sIGZpZWxkKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzLmluY2x1ZGVzKGZpZWxkLm5hbWUpICYmXG4gICAgICAgICAgZmllbGQuaXNWaXNpYmxlID09PSAnMSdcbiAgICAgICAgKSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudGl0bGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGQudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICAgKTtcblxuICAgIGNvbnN0IGFncmVlbWVudHMgPSB0aGlzLmFncmVlbWVudEZpZWxkc05hbWVzXG4gICAgICAubWFwKChmaWVsZE5hbWUpID0+IFtmaWVsZE5hbWUsIGZpZWxkc1tmaWVsZE5hbWVdXSlcbiAgICAgIC5maWx0ZXIoKGZpZWxkRW50cnkpID0+IHtcbiAgICAgICAgY29uc3QgWywgdmFsdWVdID0gZmllbGRFbnRyeTtcbiAgICAgICAgcmV0dXJuICEhdmFsdWU7XG4gICAgICB9KTtcblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMgPSB7XG4gICAgICB0b2tlbktleTogdGhpcy5nZXRBcHBsZVRva2VuKGZvcm1GaWVsZHMpLFxuICAgICAgdG90YWxMYWJlbDogZmllbGRzW0ZpZWxkTmFtZXMubGFiZWxBcHBsZVBheV0gPz8gJycsXG4gICAgICB0b3RhbEFtb3VudDogdGhpcy5nZXRUb3RhbEFtb3VudChzdW1tYXJ5KSxcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpLFxuICAgICAgY291bnRyeUNvZGU6IGZpZWxkc1tGaWVsZE5hbWVzLmNvdW50cnlDb2RlXSA/PyAnJyxcbiAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiB0aGlzLmdldEpzb25WYWx1ZUZyb21GaWVsZChcbiAgICAgICAgZmllbGRzLFxuICAgICAgICBGaWVsZE5hbWVzLm1lcmNoYW50Q2FwYWJpbGl0aWVzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5yZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgcmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6IHRoaXMuZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIEZpZWxkTmFtZXMucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICBzdXBwb3J0ZWROZXR3b3JrczogdGhpcy5nZXRKc29uVmFsdWVGcm9tRmllbGQoXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgRmllbGROYW1lcy5zdXBwb3J0ZWROZXR3b3Jrc1xuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IGFncmVlbWVudHMsXG4gICAgICBhY3F1aXJlcjogZmllbGRzW0ZpZWxkTmFtZXMuYWNxdWlyZXJdID8/ICcnLFxuICAgICAgaXNTYW5kYm94OiBmaWVsZHNbRmllbGROYW1lcy5pc1NhbmRib3hdID8/ICcnLFxuICAgICAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IGZpZWxkc1tGaWVsZE5hbWVzLnBheUluc3RhbmNlQWNjb3VudElkXSA/PyAnJyxcbiAgICAgIGdldEFwcGxlUGF5U2Vzc2lvblVybDogZmllbGRzW0ZpZWxkTmFtZXMuZ2V0QXBwbGVQYXlTZXNzaW9uVXJsXSA/PyAnJyxcbiAgICAgIHBheVZpYUNoZWNrb3V0VXJsOiBmaWVsZHNbRmllbGROYW1lcy5wYXlWaWFDaGVja291dFVybF0gPz8gJycsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0TGlicmFyeSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwaSA9IGF3YWl0IHRoaXMuYXBpO1xuICAgICAgY29uc3QgY2xpZW50SW5zdGFuY2UgPSBhd2FpdCBhcGkuY2xpZW50LmNyZWF0ZSh7XG4gICAgICAgIGF1dGhvcml6YXRpb246IHRva2VuS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudCA9IGF3YWl0IGFwaS5hcHBsZVBheS5jcmVhdGUoe1xuICAgICAgICBjbGllbnQ6IGNsaWVudEluc3RhbmNlLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2FwcGxlIHBheTogaW5pdGlhbGl6ZSBmYWlsZWQnLCBlcnJvcik7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKCk7XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUoKSkge1xuICAgICAgdGhpcy5lbWl0RXJyb3IoQXBwbGVQYXlFcnJvcnMuZGV2aWNlSXNOb3RDYXBhYmxlRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWRpcmVjdFRvUGF5bWVudFBhZ2UoXG4gICAgcGFyYW1ldGVyczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICBpc1NhbmRib3g/OiBib29sZWFuXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgcm91dGUgPSBwYWdlc1JvdXRlcy5nZXQoYXBwbGVQYXlJZCk7XG4gICAgaWYgKCFyb3V0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXJ5ID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAuLi5wYXJhbWV0ZXJzLFxuICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMubWVyY2hhbnRDYXBhYmlsaXRpZXMpLFxuICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuc3VwcG9ydGVkTmV0d29ya3MpLFxuICAgICAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHNcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzXG4gICAgICApLFxuICAgICAgYWdyZWVtZW50czogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5hZ3JlZW1lbnRzKSxcbiAgICAgIHRva2VuLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3JkZXIpIHtcbiAgICAgIHF1ZXJ5LmFwcGVuZCgnb3JkZXInLCB0aGlzLm9yZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXlTdGF0aW9uVXJsID0gaXNTYW5kYm94ID8gc2FuZGJveFBheVN0YXRpb25VcmwgOiBwYXlTdGF0aW9uNFVybDtcbiAgICByZXR1cm4gYCR7cGF5U3RhdGlvblVybH0vZW4ke3JvdXRlfT8ke3F1ZXJ5LnRvU3RyaW5nKCl9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRPcmRlcihkYXRhOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3Qgc3VtbWFyeSA9IChkYXRhIGFzIEluaXRpYWxpemVSZXNwb25zZSk/LnBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuICAgIGlmICghc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEZXZpY2VDYXBhYmxlKCk6IGJvb2xlYW4ge1xuICAgIC8vIEFwcGxlIFNESyBpcyB1c2VkIG9uIG5vbi1TYWZhcmkgZGV2aWNlcy5cbiAgICAvLyBTdXBwb3J0IG9mIEFwcGxlUGF5IHBheW1lbnRzIHdpbGwgYmUgZGVmaW5lZCBvbiB0aGUgZXh0ZXJuYWwgUFM0IHBhZ2VcbiAgICBpZiAoIXRoaXMudXNlckFnZW50U2VydmljZS5pc1NhZmFyaSkgcmV0dXJuIHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oXG4gICAgICAgIHRoaXMud2luZG93LkFwcGxlUGF5U2Vzc2lvbj8uc3VwcG9ydHNWZXJzaW9uKGFwcGxlUGF5VmVyc2lvbikgJiZcbiAgICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LmNhbk1ha2VQYXltZW50cygpXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRva2VuTm9uY2VGaWVsZERhdGEodG9rZW5Ob25jZTogc3RyaW5nKToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBuYW1lID0gRmllbGROYW1lcy50b2tlbkFwcGxlUGF5O1xuICAgIGNvbnN0IHZhbHVlID0gYnRvYSh0b2tlbk5vbmNlKTtcbiAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZUFwcGxlUGF5UGFyYW1zKGRhdGE6IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBzdW1tYXJ5ID0gKGRhdGEgYXMgWHBzUmVzcG9uc2UpPy5zdW1tYXJ5O1xuICAgIGlmICghdGhpcy5hcHBsZVBheVBhcmFtcyB8fCAhc3VtbWFyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMudG90YWxBbW91bnQgPSB0aGlzLmdldFRvdGFsQW1vdW50KHN1bW1hcnkpO1xuICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMuY3VycmVuY3lDb2RlID0gdGhpcy5nZXRUb3RhbEN1cnJlbmN5KHN1bW1hcnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQnJhaW50cmVlKCk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PiB7XG4gICAgY29uc3QgYXBpID0gYXdhaXQgaW1wb3J0KCdicmFpbnRyZWUtd2ViJyk7XG5cbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBsZVRva2VuKGZvcm1GaWVsZHM6IEZpZWxkW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGFwcGxlVG9rZW5GaWVsZCA9IGZvcm1GaWVsZHMuZmluZCgoZmllbGQpID0+IHtcbiAgICAgIHJldHVybiBmaWVsZC5uYW1lID09PSAndG9rZW5fa2V5JztcbiAgICB9KTtcblxuICAgIGlmICghYXBwbGVUb2tlbkZpZWxkKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFwcGxlVG9rZW5GaWVsZC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxBbW91bnQoc3VtbWFyeTogWHBzUmVzcG9uc2VbJ3N1bW1hcnknXSk6IHN0cmluZyB7XG4gICAgY29uc3QgZmluYW5jZSA9IHN1bW1hcnk/LmZpbmFuY2U7XG4gICAgY29uc3QgdG90YWwgPSBmaW5hbmNlPy5ncmFuZF90b3RhbD8uYW1vdW50ID8/IGZpbmFuY2U/LnRvdGFsLmFtb3VudDtcblxuICAgIHJldHVybiB0b3RhbD8udG9TdHJpbmcoKSA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxDdXJyZW5jeShzdW1tYXJ5OiBYcHNSZXNwb25zZVsnc3VtbWFyeSddKTogc3RyaW5nIHtcbiAgICBjb25zdCBmaW5hbmNlID0gc3VtbWFyeT8uZmluYW5jZTtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmN1cnJlbmN5ID8/IGZpbmFuY2U/LnRvdGFsPy5jdXJyZW5jeSA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SnNvblZhbHVlRnJvbUZpZWxkKFxuICAgIGZpZWxkczoge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH0sXG4gICAgZmllbGROYW1lOiBzdHJpbmdcbiAgKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGZpZWxkID0gZmllbGRzW2ZpZWxkTmFtZV07XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZpZWxkID8gKEpTT04ucGFyc2UoZmllbGQpIGFzIHN0cmluZ1tdKSA6IHVuZGVmaW5lZDtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVtaXRFcnJvcihlcnJvcjogQXBwbGVQYXlFcnJvcnMpOiB2b2lkIHtcbiAgICB0aGlzLmVycm9yLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZWdyYXRpb25UeXBlKCk6IHZvaWQge1xuICAgIGxldCBpbnRlZ3JhdGlvblR5cGU6IEFwcGxlUGF5SW50ZWdyYXRpb247XG5cbiAgICBpZiAodGhpcy5wYXltZW50Q2xpZW50ICYmIHRoaXMuaXNEZXZpY2VDYXBhYmxlKCkpIHtcbiAgICAgIGludGVncmF0aW9uVHlwZSA9ICdyZWRpcmVjdCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGludGVncmF0aW9uVHlwZSA9ICdub25lJztcbiAgICB9XG5cbiAgICB0aGlzLmludGVncmF0aW9uVHlwZS5uZXh0KGludGVncmF0aW9uVHlwZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvYXBwbGUtcGF5L2NoZWNrb3V0LXBhcmFtcy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBwbGVQYXlDaGVja291dFBhcmFtcyB7XG4gIHRvdGFsTGFiZWw6IHN0cmluZztcbiAgdG90YWxBbW91bnQ6IHN0cmluZztcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XG4gIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgcmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkczogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gIHJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgc3VwcG9ydGVkTmV0d29ya3M6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBhZ3JlZW1lbnRzOiBzdHJpbmdbXVtdO1xuICBhY3F1aXJlcjogc3RyaW5nO1xuICBpc1NhbmRib3g6IHN0cmluZztcbiAgcGF5SW5zdGFuY2VBY2NvdW50SWQ6IHN0cmluZztcbiAgZ2V0QXBwbGVQYXlTZXNzaW9uVXJsOiBzdHJpbmc7XG4gIHBheVZpYUNoZWNrb3V0VXJsOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -560,6 +560,7 @@ var FieldNames;
|
|
|
560
560
|
FieldNames["termsAndConditionsRolandEula"] = "termsAndConditionsRolandEula";
|
|
561
561
|
FieldNames["termsAndConditionsDeusLoVultEula"] = "termsAndConditionsDeusLoVultEula";
|
|
562
562
|
FieldNames["termsAndConditionsOnzenga"] = "termsAndConditionsOnzenga";
|
|
563
|
+
FieldNames["licenseDisclaimer"] = "licenseDisclaimer";
|
|
563
564
|
FieldNames["xsollaTipsAmount"] = "xsollaTipsAmount";
|
|
564
565
|
FieldNames["zip"] = "zip";
|
|
565
566
|
FieldNames["allowSave"] = "allowSave";
|
|
@@ -575,6 +576,17 @@ var FieldNames;
|
|
|
575
576
|
FieldNames["ppEmail"] = "pp_email";
|
|
576
577
|
FieldNames["redeemPoints"] = "redeemPoints";
|
|
577
578
|
FieldNames["omnibusDirective"] = "omnibus_directive";
|
|
579
|
+
FieldNames["labelApplePay"] = "label_applePay";
|
|
580
|
+
FieldNames["countryCode"] = "countryCode";
|
|
581
|
+
FieldNames["merchantCapabilities"] = "merchantCapabilities";
|
|
582
|
+
FieldNames["requiredBillingContactFields"] = "requiredBillingContactFields";
|
|
583
|
+
FieldNames["requiredShippingContactFields"] = "requiredShippingContactFields";
|
|
584
|
+
FieldNames["supportedNetworks"] = "supportedNetworks";
|
|
585
|
+
FieldNames["acquirer"] = "acquirer";
|
|
586
|
+
FieldNames["isSandbox"] = "isSandbox";
|
|
587
|
+
FieldNames["payInstanceAccountId"] = "payInstanceAccountId";
|
|
588
|
+
FieldNames["getApplePaySessionUrl"] = "getApplePaySessionUrl";
|
|
589
|
+
FieldNames["payViaCheckoutUrl"] = "payViaCheckoutUrl";
|
|
578
590
|
})(FieldNames || (FieldNames = {}));
|
|
579
591
|
|
|
580
592
|
class SubmitResponse {
|
|
@@ -7949,19 +7961,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
7949
7961
|
}] }, { type: PaymentSystemProcessingService }, { type: i0.Injector }] });
|
|
7950
7962
|
|
|
7951
7963
|
const applePayVersion = 3;
|
|
7952
|
-
const safariVersionForIframeIntegration = 17;
|
|
7953
7964
|
|
|
7954
7965
|
const agreementsGroup = [
|
|
7966
|
+
FieldNames.licenseDisclaimer,
|
|
7955
7967
|
FieldNames.termsAndConditions,
|
|
7956
7968
|
FieldNames.termsAndConditionsHtcEula,
|
|
7957
7969
|
FieldNames.termsAndConditionsAtariTc,
|
|
7958
7970
|
FieldNames.termsAndConditionsAtariPp,
|
|
7959
7971
|
FieldNames.termsAndConditionsRolandEula,
|
|
7960
7972
|
FieldNames.termsAndConditionsRobloxEula,
|
|
7973
|
+
FieldNames.termsAndConditionsDeusLoVultEula,
|
|
7961
7974
|
FieldNames.termsAndConditionsOnzenga,
|
|
7962
7975
|
FieldNames.take2Taxes,
|
|
7963
7976
|
FieldNames.rockstarTaxes,
|
|
7964
7977
|
FieldNames.omnibusDirective,
|
|
7978
|
+
FieldNames.koreaLimitsInstruction,
|
|
7965
7979
|
];
|
|
7966
7980
|
|
|
7967
7981
|
var ApplePayErrors;
|
|
@@ -8013,22 +8027,27 @@ class ApplePayService {
|
|
|
8013
8027
|
return acc;
|
|
8014
8028
|
}, {});
|
|
8015
8029
|
const agreements = this.agreementFieldsNames
|
|
8016
|
-
.map((fieldName) => fields[fieldName])
|
|
8017
|
-
.filter(
|
|
8030
|
+
.map((fieldName) => [fieldName, fields[fieldName]])
|
|
8031
|
+
.filter((fieldEntry) => {
|
|
8032
|
+
const [, value] = fieldEntry;
|
|
8033
|
+
return !!value;
|
|
8034
|
+
});
|
|
8018
8035
|
this.applePayParams = {
|
|
8019
8036
|
tokenKey: this.getAppleToken(formFields),
|
|
8020
|
-
totalLabel: fields[
|
|
8037
|
+
totalLabel: fields[FieldNames.labelApplePay] ?? '',
|
|
8021
8038
|
totalAmount: this.getTotalAmount(summary),
|
|
8022
8039
|
currencyCode: this.getTotalCurrency(summary),
|
|
8023
|
-
countryCode: fields[
|
|
8024
|
-
merchantCapabilities: this.getJsonValueFromField(fields,
|
|
8025
|
-
|
|
8040
|
+
countryCode: fields[FieldNames.countryCode] ?? '',
|
|
8041
|
+
merchantCapabilities: this.getJsonValueFromField(fields, FieldNames.merchantCapabilities),
|
|
8042
|
+
requiredBillingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredBillingContactFields),
|
|
8043
|
+
requiredShippingContactFields: this.getJsonValueFromField(fields, FieldNames.requiredShippingContactFields),
|
|
8044
|
+
supportedNetworks: this.getJsonValueFromField(fields, FieldNames.supportedNetworks),
|
|
8026
8045
|
agreements: agreements,
|
|
8027
|
-
acquirer: fields[
|
|
8028
|
-
isSandbox: fields[
|
|
8029
|
-
payInstanceAccountId: fields[
|
|
8030
|
-
getApplePaySessionUrl: fields[
|
|
8031
|
-
payViaCheckoutUrl: fields[
|
|
8046
|
+
acquirer: fields[FieldNames.acquirer] ?? '',
|
|
8047
|
+
isSandbox: fields[FieldNames.isSandbox] ?? '',
|
|
8048
|
+
payInstanceAccountId: fields[FieldNames.payInstanceAccountId] ?? '',
|
|
8049
|
+
getApplePaySessionUrl: fields[FieldNames.getApplePaySessionUrl] ?? '',
|
|
8050
|
+
payViaCheckoutUrl: fields[FieldNames.payViaCheckoutUrl] ?? '',
|
|
8032
8051
|
};
|
|
8033
8052
|
}
|
|
8034
8053
|
async initLibrary(tokenKey) {
|
|
@@ -8058,8 +8077,10 @@ class ApplePayService {
|
|
|
8058
8077
|
...parameters,
|
|
8059
8078
|
merchantCapabilities: JSON.stringify(parameters.merchantCapabilities),
|
|
8060
8079
|
supportedNetworks: JSON.stringify(parameters.supportedNetworks),
|
|
8061
|
-
|
|
8080
|
+
requiredBillingContactFields: JSON.stringify(parameters?.requiredBillingContactFields),
|
|
8081
|
+
requiredShippingContactFields: JSON.stringify(parameters?.requiredShippingContactFields),
|
|
8062
8082
|
agreements: JSON.stringify(parameters.agreements),
|
|
8083
|
+
token,
|
|
8063
8084
|
});
|
|
8064
8085
|
if (this.order) {
|
|
8065
8086
|
query.append('order', this.order);
|
|
@@ -8083,71 +8104,11 @@ class ApplePayService {
|
|
|
8083
8104
|
}, '');
|
|
8084
8105
|
}
|
|
8085
8106
|
}
|
|
8086
|
-
proceedCheckout(parameters) {
|
|
8087
|
-
if (!parameters) {
|
|
8088
|
-
return;
|
|
8089
|
-
}
|
|
8090
|
-
if (!this.paymentClient || !this.isDeviceCapable()) {
|
|
8091
|
-
console.warn('apple pay: device is not capable', this.paymentClient);
|
|
8092
|
-
this.emitError(ApplePayErrors.deviceIsNotCapableError);
|
|
8093
|
-
return;
|
|
8094
|
-
}
|
|
8095
|
-
try {
|
|
8096
|
-
const paymentRequest = this.paymentClient.createPaymentRequest({
|
|
8097
|
-
total: {
|
|
8098
|
-
label: parameters.totalLabel,
|
|
8099
|
-
amount: parameters.totalAmount,
|
|
8100
|
-
},
|
|
8101
|
-
currencyCode: parameters.currencyCode,
|
|
8102
|
-
countryCode: parameters.countryCode,
|
|
8103
|
-
merchantCapabilities: parameters.merchantCapabilities,
|
|
8104
|
-
supportedNetworks: parameters.supportedNetworks,
|
|
8105
|
-
});
|
|
8106
|
-
const session = new this.window.ApplePaySession(applePayVersion, paymentRequest);
|
|
8107
|
-
session.onvalidatemerchant = (event) => {
|
|
8108
|
-
console.info('apple pay: merchant validation', event);
|
|
8109
|
-
this.paymentClient
|
|
8110
|
-
?.performValidation({
|
|
8111
|
-
validationURL: event.validationURL,
|
|
8112
|
-
displayName: parameters?.totalLabel,
|
|
8113
|
-
})
|
|
8114
|
-
.then((merchantSession) => {
|
|
8115
|
-
session.completeMerchantValidation(merchantSession);
|
|
8116
|
-
})
|
|
8117
|
-
.catch((error) => {
|
|
8118
|
-
console.error('apple pay: merchant validation error', error);
|
|
8119
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
8120
|
-
session.abort();
|
|
8121
|
-
});
|
|
8122
|
-
};
|
|
8123
|
-
session.onpaymentauthorized = (event) => {
|
|
8124
|
-
console.info('apple pay: payment authorization', event);
|
|
8125
|
-
this.paymentClient
|
|
8126
|
-
?.tokenize({
|
|
8127
|
-
token: event.payment.token,
|
|
8128
|
-
})
|
|
8129
|
-
.then((authorizationResponse) => {
|
|
8130
|
-
this.payment.next(authorizationResponse?.nonce ?? '');
|
|
8131
|
-
session.completePayment(this.window.ApplePaySession.STATUS_SUCCESS);
|
|
8132
|
-
})
|
|
8133
|
-
.catch((error) => {
|
|
8134
|
-
console.error('apple pay: payment authorization error', error);
|
|
8135
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
8136
|
-
session.completePayment(this.window.ApplePaySession.STATUS_FAILURE);
|
|
8137
|
-
});
|
|
8138
|
-
};
|
|
8139
|
-
session.oncancel = (event) => {
|
|
8140
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
8141
|
-
console.error('apple pay: user cancel payment', event);
|
|
8142
|
-
};
|
|
8143
|
-
session.begin();
|
|
8144
|
-
}
|
|
8145
|
-
catch (error) {
|
|
8146
|
-
console.error('apple pay: checkout error', error);
|
|
8147
|
-
this.emitError(ApplePayErrors.paymentError);
|
|
8148
|
-
}
|
|
8149
|
-
}
|
|
8150
8107
|
isDeviceCapable() {
|
|
8108
|
+
// Apple SDK is used on non-Safari devices.
|
|
8109
|
+
// Support of ApplePay payments will be defined on the external PS4 page
|
|
8110
|
+
if (!this.userAgentService.isSafari)
|
|
8111
|
+
return true;
|
|
8151
8112
|
try {
|
|
8152
8113
|
return Boolean(this.window.ApplePaySession?.supportsVersion(applePayVersion) &&
|
|
8153
8114
|
this.window.ApplePaySession?.canMakePayments());
|
|
@@ -8213,10 +8174,6 @@ class ApplePayService {
|
|
|
8213
8174
|
}
|
|
8214
8175
|
this.integrationType.next(integrationType);
|
|
8215
8176
|
}
|
|
8216
|
-
canUseSdk() {
|
|
8217
|
-
return !!(this.userAgentService.safariVersion &&
|
|
8218
|
-
this.userAgentService.safariVersion >= safariVersionForIframeIntegration);
|
|
8219
|
-
}
|
|
8220
8177
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: UserAgentService }, { token: SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8221
8178
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
|
|
8222
8179
|
}
|