@bitgo-beta/sdk-coin-canton 1.0.1-beta.82 → 1.0.1-beta.821
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/dist/src/canton.d.ts +22 -1
- package/dist/src/canton.d.ts.map +1 -1
- package/dist/src/canton.js +293 -10
- package/dist/src/cantonToken.d.ts +19 -0
- package/dist/src/cantonToken.d.ts.map +1 -0
- package/dist/src/cantonToken.js +52 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/lib/allocationAllocateBuilder.d.ts +126 -0
- package/dist/src/lib/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationAllocateBuilder.js +248 -0
- package/dist/src/lib/allocationAllocateWithdrawnBuilder.d.ts +67 -0
- package/dist/src/lib/allocationAllocateWithdrawnBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationAllocateWithdrawnBuilder.js +130 -0
- package/dist/src/lib/allocationRejectBuilder.d.ts +51 -0
- package/dist/src/lib/allocationRejectBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationRejectBuilder.js +107 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts +116 -0
- package/dist/src/lib/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/src/lib/allocationRequestBuilder.js +243 -0
- package/dist/src/lib/amount.d.ts +8 -0
- package/dist/src/lib/amount.d.ts.map +1 -0
- package/dist/src/lib/amount.js +33 -0
- package/dist/src/lib/cantonCommandBuilder.d.ts +72 -0
- package/dist/src/lib/cantonCommandBuilder.d.ts.map +1 -0
- package/dist/src/lib/cantonCommandBuilder.js +173 -0
- package/dist/src/lib/clearSigning.d.ts +58 -0
- package/dist/src/lib/clearSigning.d.ts.map +1 -0
- package/dist/src/lib/clearSigning.js +66 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts +56 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationAcceptBuilder.js +112 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts +60 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/src/lib/cosignDelegationProposalBuilder.js +111 -0
- package/dist/src/lib/endInvestorOnboardingOfferBuilder.d.ts +58 -0
- package/dist/src/lib/endInvestorOnboardingOfferBuilder.d.ts.map +1 -0
- package/dist/src/lib/endInvestorOnboardingOfferBuilder.js +112 -0
- package/dist/src/lib/iface.d.ts +141 -2
- package/dist/src/lib/iface.d.ts.map +1 -1
- package/dist/src/lib/iface.js +3 -1
- package/dist/src/lib/index.d.ts +13 -0
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +29 -2
- package/dist/src/lib/messages/cantonBaseMessage.d.ts +16 -0
- package/dist/src/lib/messages/cantonBaseMessage.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonBaseMessage.js +28 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.d.ts +14 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessage.js +23 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.d.ts +17 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTopology/cantonSignTopologyMessageBuilder.js +25 -0
- package/dist/src/lib/messages/cantonSignTopology/index.d.ts +3 -0
- package/dist/src/lib/messages/cantonSignTopology/index.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTopology/index.js +19 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.d.ts +13 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessage.js +22 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.d.ts +14 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTransaction/cantonSignTransactionMessageBuilder.js +22 -0
- package/dist/src/lib/messages/cantonSignTransaction/index.d.ts +3 -0
- package/dist/src/lib/messages/cantonSignTransaction/index.d.ts.map +1 -0
- package/dist/src/lib/messages/cantonSignTransaction/index.js +19 -0
- package/dist/src/lib/messages/index.d.ts +5 -0
- package/dist/src/lib/messages/index.d.ts.map +1 -0
- package/dist/src/lib/messages/index.js +21 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts +7 -0
- package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/src/lib/messages/messageBuilderFactory.js +23 -0
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts +8 -0
- package/dist/src/lib/oneStepPreApprovalBuilder.d.ts.map +1 -1
- package/dist/src/lib/oneStepPreApprovalBuilder.js +15 -1
- package/dist/src/lib/resourcesInterface.d.ts +1 -1
- package/dist/src/lib/resourcesInterface.d.ts.map +1 -1
- package/dist/src/lib/resourcesInterface.js +1 -1
- package/dist/src/lib/transaction/transaction.d.ts +17 -1
- package/dist/src/lib/transaction/transaction.d.ts.map +1 -1
- package/dist/src/lib/transaction/transaction.js +307 -16
- package/dist/src/lib/transactionBuilderFactory.d.ts +22 -0
- package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
- package/dist/src/lib/transactionBuilderFactory.js +78 -1
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts +4 -4
- package/dist/src/lib/transferAcknowledgeBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferAcknowledgeBuilder.js +5 -7
- package/dist/src/lib/transferBuilder.d.ts +84 -2
- package/dist/src/lib/transferBuilder.d.ts.map +1 -1
- package/dist/src/lib/transferBuilder.js +164 -2
- package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts +67 -0
- package/dist/src/lib/transferOfferWithdrawnBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferOfferWithdrawnBuilder.js +130 -0
- package/dist/src/lib/transferPreapprovalCancelBuilder.d.ts +68 -0
- package/dist/src/lib/transferPreapprovalCancelBuilder.d.ts.map +1 -0
- package/dist/src/lib/transferPreapprovalCancelBuilder.js +124 -0
- package/dist/src/lib/utils.d.ts +45 -3
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +776 -66
- package/dist/src/lib/walletInitBuilder.d.ts +2 -1
- package/dist/src/lib/walletInitBuilder.d.ts.map +1 -1
- package/dist/src/lib/walletInitBuilder.js +4 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts +2 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.d.ts.map +1 -1
- package/dist/src/lib/walletInitialization/walletInitTransaction.js +14 -1
- package/dist/src/register.d.ts +2 -0
- package/dist/src/register.d.ts.map +1 -1
- package/dist/src/register.js +19 -2
- package/dist/test/helper.d.ts +3 -0
- package/dist/test/helper.d.ts.map +1 -0
- package/dist/test/helper.js +9 -0
- package/dist/test/integration/canton.integration.d.ts +2 -0
- package/dist/test/integration/canton.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.integration.js +157 -0
- package/dist/test/integration/canton.token.integration.d.ts +2 -0
- package/dist/test/integration/canton.token.integration.d.ts.map +1 -0
- package/dist/test/integration/canton.token.integration.js +51 -0
- package/dist/test/resources.d.ts +263 -2
- package/dist/test/resources.d.ts.map +1 -1
- package/dist/test/resources.js +269 -7
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationAllocate/allocationAllocateBuilder.js +368 -0
- package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationAllocateWithdrawn/allocationAllocateWithdrawnBuilder.js +133 -0
- package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationReject/allocationRejectBuilder.js +121 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts +2 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/allocationRequest/allocationRequestBuilder.js +437 -0
- package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cantonCommand/cantonCommandBuilder.js +340 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationAccept/cosignDelegationAcceptBuilder.js +116 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts +2 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/cosignDelegationProposal/cosignDelegationProposalBuilder.js +74 -0
- package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.d.ts +2 -0
- package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/endInvestorOnboardingOffer/endInvestorOnboardingOfferBuilder.js +116 -0
- package/dist/test/unit/builder/oneStepEnablement/oneStepEnablementBuilder.js +20 -1
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transfer/transferBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transfer/transferBuilder.js +100 -0
- package/dist/test/unit/builder/transferAccept/transferAcceptBuilder.js +65 -1
- package/dist/test/unit/builder/transferAcknowledge/transferAcknowledgeBuilder.js +34 -1
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferOfferWithdrawn/transferOfferWithdrawnBuilder.js +64 -0
- package/dist/test/unit/builder/transferPreapprovalCancel/transferPreapprovalCancelBuilder.d.ts +2 -0
- package/dist/test/unit/builder/transferPreapprovalCancel/transferPreapprovalCancelBuilder.d.ts.map +1 -0
- package/dist/test/unit/builder/transferPreapprovalCancel/transferPreapprovalCancelBuilder.js +74 -0
- package/dist/test/unit/builder/transferReject/transferRejectBuilder.js +41 -1
- package/dist/test/unit/canton.d.ts +2 -0
- package/dist/test/unit/canton.d.ts.map +1 -0
- package/dist/test/unit/canton.js +853 -0
- package/dist/test/unit/index.d.ts +5 -0
- package/dist/test/unit/index.d.ts.map +1 -1
- package/dist/test/unit/index.js +6 -1
- package/dist/test/unit/messages/cantonSignTopologyMessage.d.ts +2 -0
- package/dist/test/unit/messages/cantonSignTopologyMessage.d.ts.map +1 -0
- package/dist/test/unit/messages/cantonSignTopologyMessage.js +46 -0
- package/dist/test/unit/messages/cantonSignTransactionMessage.d.ts +2 -0
- package/dist/test/unit/messages/cantonSignTransactionMessage.d.ts.map +1 -0
- package/dist/test/unit/messages/cantonSignTransactionMessage.js +48 -0
- package/dist/test/unit/messages/clearSigning.d.ts +2 -0
- package/dist/test/unit/messages/clearSigning.d.ts.map +1 -0
- package/dist/test/unit/messages/clearSigning.js +72 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts +2 -0
- package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +1 -0
- package/dist/test/unit/messages/messageBuilderFactory.js +52 -0
- package/dist/test/unit/register.d.ts +2 -0
- package/dist/test/unit/register.d.ts.map +1 -0
- package/dist/test/unit/register.js +65 -0
- package/dist/test/unit/utils.js +389 -9
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourcesInterface.d.ts","sourceRoot":"","sources":["../../../src/lib/resourcesInterface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,8BAA8B,EAAE,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EACJ;QACE,SAAS,EAAE,IAAI,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;KACZ,GACD;QACE,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED,UAAU,MAAM;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,UAAU,8BAA8B;IACtC,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,UAAU,SAAS;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,
|
|
1
|
+
{"version":3,"file":"resourcesInterface.d.ts","sourceRoot":"","sources":["../../../src/lib/resourcesInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZXNvdXJjZXNJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGEge1xuICBzdWJtaXR0ZXJJbmZvPzogTWV0YWRhdGFfU3VibWl0dGVySW5mbztcbiAgc3luY2hyb25pemVySWQ6IHN0cmluZztcbiAgbWVkaWF0b3JHcm91cDogbnVtYmVyO1xuICB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcbiAgcHJlcGFyYXRpb25UaW1lOiBiaWdpbnQ7XG4gIGlucHV0Q29udHJhY3RzOiBNZXRhZGF0YV9JbnB1dENvbnRyYWN0W107XG4gIG1pbkxlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIG1heExlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIGdsb2JhbEtleU1hcHBpbmc6IE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeVtdO1xuICBtYXhSZWNvcmRUaW1lPzogYmlnaW50O1xufVxuXG5pbnRlcmZhY2UgTWV0YWRhdGFfU3VibWl0dGVySW5mbyB7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXRhZGF0YV9JbnB1dENvbnRyYWN0IHtcbiAgY29udHJhY3Q6XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3YxJztcbiAgICAgICAgdjE6IENyZWF0ZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiB1bmRlZmluZWQ7XG4gICAgICB9O1xuICBjcmVhdGVkQXQ6IGJpZ2ludDtcbiAgZXZlbnRCbG9iOiBVaW50OEFycmF5O1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlIHtcbiAgbGZWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgdGVtcGxhdGVJZD86IElkZW50aWZpZXI7XG4gIGFyZ3VtZW50PzogVmFsdWU7XG4gIHNpZ25hdG9yaWVzOiBzdHJpbmdbXTtcbiAgc3Rha2Vob2xkZXJzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeSB7XG4gIGtleT86IEdsb2JhbEtleTtcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIEdsb2JhbEtleSB7XG4gIHRlbXBsYXRlSWQ/OiBJZGVudGlmaWVyO1xuICBwYWNrYWdlTmFtZTogc3RyaW5nO1xuICBrZXk/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VzSW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9yZXNvdXJjZXNJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGEge1xuICBzdWJtaXR0ZXJJbmZvPzogTWV0YWRhdGFfU3VibWl0dGVySW5mbztcbiAgc3luY2hyb25pemVySWQ6IHN0cmluZztcbiAgbWVkaWF0b3JHcm91cDogbnVtYmVyO1xuICB0cmFuc2FjdGlvblV1aWQ6IHN0cmluZztcbiAgcHJlcGFyYXRpb25UaW1lOiBiaWdpbnQ7XG4gIGlucHV0Q29udHJhY3RzOiBNZXRhZGF0YV9JbnB1dENvbnRyYWN0W107XG4gIG1pbkxlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIG1heExlZGdlckVmZmVjdGl2ZVRpbWU/OiBiaWdpbnQ7XG4gIGdsb2JhbEtleU1hcHBpbmc6IE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeVtdO1xuICBtYXhSZWNvcmRUaW1lPzogYmlnaW50O1xufVxuXG5pbnRlcmZhY2UgTWV0YWRhdGFfU3VibWl0dGVySW5mbyB7XG4gIGFjdEFzOiBzdHJpbmdbXTtcbiAgY29tbWFuZElkOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXRhZGF0YV9JbnB1dENvbnRyYWN0IHtcbiAgY29udHJhY3Q6XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3YxJztcbiAgICAgICAgdjE6IENyZWF0ZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiB1bmRlZmluZWQ7XG4gICAgICB9O1xuICBjcmVhdGVkQXQ6IGJpZ2ludDtcbiAgZXZlbnRCbG9iOiBVaW50OEFycmF5O1xufVxuXG5pbnRlcmZhY2UgQ3JlYXRlIHtcbiAgbGZWZXJzaW9uOiBzdHJpbmc7XG4gIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgcGFja2FnZU5hbWU6IHN0cmluZztcbiAgdGVtcGxhdGVJZD86IElkZW50aWZpZXI7XG4gIGFyZ3VtZW50PzogVmFsdWU7XG4gIHNpZ25hdG9yaWVzOiBzdHJpbmdbXTtcbiAgc3Rha2Vob2xkZXJzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIE1ldGFkYXRhX0dsb2JhbEtleU1hcHBpbmdFbnRyeSB7XG4gIGtleT86IEdsb2JhbEtleTtcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIEdsb2JhbEtleSB7XG4gIHRlbXBsYXRlSWQ/OiBJZGVudGlmaWVyO1xuICBwYWNrYWdlTmFtZTogc3RyaW5nO1xuICBrZXk/OiBWYWx1ZTtcbiAgaGFzaDogVWludDhBcnJheTtcbn1cblxuaW50ZXJmYWNlIElkZW50aWZpZXIge1xuICBwYWNrYWdlSWQ6IHN0cmluZztcbiAgbW9kdWxlTmFtZTogc3RyaW5nO1xuICBlbnRpdHlOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdWUge1xuICBzdW06XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3VuaXQnO1xuICAgICAgICB1bml0OiBFbXB0eTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnYm9vbCc7XG4gICAgICAgIGJvb2w6IGJvb2xlYW47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ2ludDY0JztcbiAgICAgICAgaW50NjQ6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnZGF0ZSc7XG4gICAgICAgIGRhdGU6IG51bWJlcjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAndGltZXN0YW1wJztcbiAgICAgICAgdGltZXN0YW1wOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ251bWVyaWMnO1xuICAgICAgICBudW1lcmljOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3BhcnR5JztcbiAgICAgICAgcGFydHk6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAndGV4dCc7XG4gICAgICAgIHRleHQ6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnY29udHJhY3RJZCc7XG4gICAgICAgIGNvbnRyYWN0SWQ6IHN0cmluZztcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnb3B0aW9uYWwnO1xuICAgICAgICBvcHRpb25hbDogT3B0aW9uYWw7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ2xpc3QnO1xuICAgICAgICBsaXN0OiBMaXN0O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICd0ZXh0TWFwJztcbiAgICAgICAgdGV4dE1hcDogVGV4dE1hcDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnZ2VuTWFwJztcbiAgICAgICAgZ2VuTWFwOiBHZW5NYXA7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3JlY29yZCc7XG4gICAgICAgIHJlY29yZDogUmVjb3JkO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICd2YXJpYW50JztcbiAgICAgICAgdmFyaWFudDogVmFyaWFudDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnZW51bSc7XG4gICAgICAgIGVudW06IEVudW07XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogdW5kZWZpbmVkO1xuICAgICAgfTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmludGVyZmFjZSBFbXB0eSB7fVxuXG5pbnRlcmZhY2UgT3B0aW9uYWwge1xuICB2YWx1ZT86IFZhbHVlO1xufVxuXG5pbnRlcmZhY2UgTGlzdCB7XG4gIGVsZW1lbnRzOiBWYWx1ZVtdO1xufVxuXG5pbnRlcmZhY2UgVGV4dE1hcCB7XG4gIGVudHJpZXM6IFRleHRNYXBfRW50cnlbXTtcbn1cblxuaW50ZXJmYWNlIFRleHRNYXBfRW50cnkge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIEdlbk1hcCB7XG4gIGVudHJpZXM6IEdlbk1hcF9FbnRyeVtdO1xufVxuXG5pbnRlcmZhY2UgR2VuTWFwX0VudHJ5IHtcbiAga2V5PzogVmFsdWU7XG4gIHZhbHVlPzogVmFsdWU7XG59XG5cbmludGVyZmFjZSBSZWNvcmQge1xuICByZWNvcmRJZD86IElkZW50aWZpZXI7XG4gIGZpZWxkczogUmVjb3JkRmllbGRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRGaWVsZCB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlPzogVmFsdWU7XG59XG5cbmludGVyZmFjZSBWYXJpYW50IHtcbiAgdmFyaWFudElkPzogSWRlbnRpZmllcjtcbiAgY29uc3RydWN0b3I6IHN0cmluZztcbiAgdmFsdWU/OiBWYWx1ZTtcbn1cblxuaW50ZXJmYWNlIEVudW0ge1xuICBlbnVtSWQ/OiBJZGVudGlmaWVyO1xuICBjb25zdHJ1Y3Rvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhbWxUcmFuc2FjdGlvbiB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgcm9vdHM6IHN0cmluZ1tdO1xuICBub2RlczogRGFtbFRyYW5zYWN0aW9uX05vZGVbXTtcbiAgbm9kZVNlZWRzOiBEYW1sVHJhbnNhY3Rpb25fTm9kZVNlZWRbXTtcbn1cblxuaW50ZXJmYWNlIERhbWxUcmFuc2FjdGlvbl9Ob2RlIHtcbiAgbm9kZUlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWZXJzaW9uZWQgbm9kZVxuICAgKlxuICAgKiBAZ2VuZXJhdGVkIGZyb20gcHJvdG9idWYgb25lb2Y6IHZlcnNpb25lZF9ub2RlXG4gICAqL1xuICB2ZXJzaW9uZWROb2RlOlxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICd2MSc7XG4gICAgICAgIHYxOiBOb2RlO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6IHVuZGVmaW5lZDtcbiAgICAgIH07XG59XG5cbmludGVyZmFjZSBOb2RlIHtcbiAgbm9kZVR5cGU6XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ2NyZWF0ZSc7XG4gICAgICAgIGNyZWF0ZTogQ3JlYXRlO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6ICdmZXRjaCc7XG4gICAgICAgIGZldGNoOiBGZXRjaDtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgb25lb2ZLaW5kOiAnZXhlcmNpc2UnO1xuICAgICAgICBleGVyY2lzZTogRXhlcmNpc2U7XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIG9uZW9mS2luZDogJ3JvbGxiYWNrJztcbiAgICAgICAgcm9sbGJhY2s6IFJvbGxiYWNrO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBvbmVvZktpbmQ6IHVuZGVmaW5lZDtcbiAgICAgIH07XG59XG5cbmludGVyZmFjZSBGZXRjaCB7XG4gIGxmVmVyc2lvbjogc3RyaW5nO1xuICBjb250cmFjdElkOiBzdHJpbmc7XG4gIHBhY2thZ2VOYW1lOiBzdHJpbmc7XG4gIHRlbXBsYXRlSWQ/OiBJZGVudGlmaWVyO1xuICBzaWduYXRvcmllczogc3RyaW5nW107XG4gIHN0YWtlaG9sZGVyczogc3RyaW5nW107XG4gIGFjdGluZ1BhcnRpZXM6IHN0cmluZ1tdO1xuICBpbnRlcmZhY2VJZD86IElkZW50aWZpZXI7XG59XG5cbmludGVyZmFjZSBFeGVyY2lzZSB7XG4gIGxmVmVyc2lvbjogc3RyaW5nO1xuICBjb250cmFjdElkOiBzdHJpbmc7XG4gIHBhY2thZ2VOYW1lOiBzdHJpbmc7XG4gIHRlbXBsYXRlSWQ/OiBJZGVudGlmaWVyO1xuICBzaWduYXRvcmllczogc3RyaW5nW107XG4gIHN0YWtlaG9sZGVyczogc3RyaW5nW107XG4gIGFjdGluZ1BhcnRpZXM6IHN0cmluZ1tdO1xuICBpbnRlcmZhY2VJZD86IElkZW50aWZpZXI7XG4gIGNob2ljZUlkOiBzdHJpbmc7XG4gIGNob3NlblZhbHVlPzogVmFsdWU7XG4gIGNvbnN1bWluZzogYm9vbGVhbjtcbiAgY2hpbGRyZW46IHN0cmluZ1tdO1xuICBleGVyY2lzZVJlc3VsdD86IFZhbHVlO1xuICBjaG9pY2VPYnNlcnZlcnM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUm9sbGJhY2sge1xuICBjaGlsZHJlbjogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBEYW1sVHJhbnNhY3Rpb25fTm9kZVNlZWQge1xuICBub2RlSWQ6IG51bWJlcjtcbiAgc2VlZDogVWludDhBcnJheTtcbn1cbiJdfQ==
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import { BaseKey, BaseTransaction, TransactionType } from '@bitgo-beta/sdk-core';
|
|
2
2
|
import { BaseCoin as CoinConfig } from '@bitgo-beta/statics';
|
|
3
|
-
import { CantonPrepareCommandResponse, TransferAcknowledge, TxData } from '../iface';
|
|
3
|
+
import { AllocationRequest, CantonPrepareCommandResponse, CosignDelegationProposal, EndInvestorOnboardingOfferData, TransactionExplanation, TransferAcknowledge, TxData } from '../iface';
|
|
4
4
|
export declare class Transaction extends BaseTransaction {
|
|
5
5
|
private _prepareCommand;
|
|
6
6
|
private _signerFingerprint;
|
|
7
7
|
private _acknowledgeData;
|
|
8
|
+
private _cosignDelegationProposalData;
|
|
9
|
+
private _allocationRequestData;
|
|
10
|
+
private _endInvestorOnboardingOfferData;
|
|
11
|
+
private _cantonCommandActAs;
|
|
8
12
|
constructor(coinConfig: Readonly<CoinConfig>);
|
|
9
13
|
get prepareCommand(): CantonPrepareCommandResponse;
|
|
10
14
|
set prepareCommand(transaction: CantonPrepareCommandResponse);
|
|
11
15
|
set transactionType(transactionType: TransactionType);
|
|
12
16
|
set acknowledgeData(data: TransferAcknowledge);
|
|
17
|
+
set cosignDelegationProposalData(data: CosignDelegationProposal);
|
|
18
|
+
set allocationRequestData(data: AllocationRequest);
|
|
19
|
+
set endInvestorOnboardingOfferData(data: EndInvestorOnboardingOfferData);
|
|
20
|
+
set cantonCommandActAs(parties: string[]);
|
|
13
21
|
get id(): string;
|
|
14
22
|
set id(id: string);
|
|
15
23
|
canSign(key: BaseKey): boolean;
|
|
@@ -18,6 +26,14 @@ export declare class Transaction extends BaseTransaction {
|
|
|
18
26
|
toBroadcastFormat(): string;
|
|
19
27
|
toJson(): TxData;
|
|
20
28
|
get signablePayload(): Buffer;
|
|
29
|
+
get cantonCommandActAsParties(): string[];
|
|
21
30
|
fromRawTransaction(rawTx: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Loads the input & output fields for the transaction
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
loadInputsAndOutputs(): void;
|
|
36
|
+
explainTransaction(): TransactionExplanation;
|
|
37
|
+
private buildCantonCommandSummary;
|
|
22
38
|
}
|
|
23
39
|
//# sourceMappingURL=transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../../src/lib/transaction/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EAIf,eAAe,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,iBAAiB,EAEjB,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAK9B,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,EACP,MAAM,UAAU,CAAC;AAIlB,qBAAa,WAAY,SAAQ,eAAe;IAC9C,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,6BAA6B,CAA2B;IAChE,OAAO,CAAC,sBAAsB,CAAoB;IAClD,OAAO,CAAC,+BAA+B,CAAiC;IACxE,OAAO,CAAC,mBAAmB,CAAW;gBAE1B,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC;IAI5C,IAAI,cAAc,IAAI,4BAA4B,CAEjD;IAED,IAAI,cAAc,CAAC,WAAW,EAAE,4BAA4B,EAE3D;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,EAEnD;IAED,IAAI,eAAe,CAAC,IAAI,EAAE,mBAAmB,EAE5C;IAED,IAAI,4BAA4B,CAAC,IAAI,EAAE,wBAAwB,EAE9D;IAED,IAAI,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,EAEhD;IAED,IAAI,8BAA8B,CAAC,IAAI,EAAE,8BAA8B,EAEtE;IAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAEvC;IAED,IAAI,EAAE,IAAI,MAAM,CAKf;IAED,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAEhB;IAED,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAI9B,IAAI,UAAU,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED,IAAI,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAExC;IAED,iBAAiB,IAAI,MAAM;IAsG3B,MAAM,IAAI,MAAM;IAoEhB,IAAI,eAAe,IAAI,MAAM,CAa5B;IAED,IAAI,yBAAyB,IAAI,MAAM,EAAE,CAExC;IAED,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAyCvC;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAoB5B,kBAAkB,IAAI,sBAAsB;IAgI5C,OAAO,CAAC,yBAAyB;CAoBlC"}
|
|
@@ -23,6 +23,18 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
23
23
|
set acknowledgeData(data) {
|
|
24
24
|
this._acknowledgeData = data;
|
|
25
25
|
}
|
|
26
|
+
set cosignDelegationProposalData(data) {
|
|
27
|
+
this._cosignDelegationProposalData = data;
|
|
28
|
+
}
|
|
29
|
+
set allocationRequestData(data) {
|
|
30
|
+
this._allocationRequestData = data;
|
|
31
|
+
}
|
|
32
|
+
set endInvestorOnboardingOfferData(data) {
|
|
33
|
+
this._endInvestorOnboardingOfferData = data;
|
|
34
|
+
}
|
|
35
|
+
set cantonCommandActAs(parties) {
|
|
36
|
+
this._cantonCommandActAs = parties;
|
|
37
|
+
}
|
|
26
38
|
get id() {
|
|
27
39
|
if (!this._id) {
|
|
28
40
|
throw new sdk_core_1.InvalidTransactionError('transaction is is not set');
|
|
@@ -42,7 +54,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
42
54
|
this._signerFingerprint = fingerprint;
|
|
43
55
|
}
|
|
44
56
|
toBroadcastFormat() {
|
|
45
|
-
if (
|
|
57
|
+
if (this._type === undefined) {
|
|
46
58
|
throw new sdk_core_1.InvalidTransactionError('Transaction type is not set');
|
|
47
59
|
}
|
|
48
60
|
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
@@ -56,13 +68,46 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
56
68
|
};
|
|
57
69
|
return Buffer.from(JSON.stringify(minData)).toString('base64');
|
|
58
70
|
}
|
|
71
|
+
if (this._type === sdk_core_1.TransactionType.CosignDelegationProposal) {
|
|
72
|
+
if (!this._cosignDelegationProposalData) {
|
|
73
|
+
throw new sdk_core_1.InvalidTransactionError('CosignDelegationProposalData is not set');
|
|
74
|
+
}
|
|
75
|
+
const minData = {
|
|
76
|
+
txType: sdk_core_1.TransactionType[this._type],
|
|
77
|
+
submissionId: this.id,
|
|
78
|
+
cosignDelegationProposalData: this._cosignDelegationProposalData,
|
|
79
|
+
};
|
|
80
|
+
return Buffer.from(JSON.stringify(minData)).toString('base64');
|
|
81
|
+
}
|
|
82
|
+
if (this._type === sdk_core_1.TransactionType.AllocationRequest) {
|
|
83
|
+
if (!this._allocationRequestData) {
|
|
84
|
+
throw new sdk_core_1.InvalidTransactionError('AllocationRequestData is not set');
|
|
85
|
+
}
|
|
86
|
+
const minData = {
|
|
87
|
+
txType: sdk_core_1.TransactionType[this._type],
|
|
88
|
+
submissionId: this.id,
|
|
89
|
+
allocationRequestData: this._allocationRequestData,
|
|
90
|
+
};
|
|
91
|
+
return Buffer.from(JSON.stringify(minData)).toString('base64');
|
|
92
|
+
}
|
|
93
|
+
if (this._type === sdk_core_1.TransactionType.EndInvestorOnboardingOffer) {
|
|
94
|
+
if (!this._endInvestorOnboardingOfferData) {
|
|
95
|
+
throw new sdk_core_1.InvalidTransactionError('EndInvestorOnboardingOfferData is not set');
|
|
96
|
+
}
|
|
97
|
+
const minData = {
|
|
98
|
+
txType: sdk_core_1.TransactionType[this._type],
|
|
99
|
+
submissionId: this.id,
|
|
100
|
+
endInvestorOnboardingOfferData: this._endInvestorOnboardingOfferData,
|
|
101
|
+
};
|
|
102
|
+
return Buffer.from(JSON.stringify(minData)).toString('base64');
|
|
103
|
+
}
|
|
59
104
|
if (!this._prepareCommand) {
|
|
60
105
|
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
61
106
|
}
|
|
62
107
|
const partySignatures = [];
|
|
63
108
|
const data = {
|
|
64
109
|
prepareCommandResponse: this._prepareCommand,
|
|
65
|
-
txType: this._type ? sdk_core_1.TransactionType[this._type] : '',
|
|
110
|
+
txType: this._type !== undefined ? sdk_core_1.TransactionType[this._type] : '',
|
|
66
111
|
preparedTransaction: '',
|
|
67
112
|
partySignatures: {
|
|
68
113
|
signatures: partySignatures,
|
|
@@ -80,7 +125,6 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
80
125
|
};
|
|
81
126
|
const signatures = [];
|
|
82
127
|
if (this._signatures.length > 0 && this._signerFingerprint) {
|
|
83
|
-
const signerPartyId = `${this._signerFingerprint.slice(0, 5)}::${this._signerFingerprint}`;
|
|
84
128
|
this.signature.map((signature) => {
|
|
85
129
|
const signatureObj = {
|
|
86
130
|
format: constant_1.SIGNATURE_FORMAT,
|
|
@@ -90,11 +134,19 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
90
134
|
};
|
|
91
135
|
signatures.push(signatureObj);
|
|
92
136
|
});
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
137
|
+
// CantonCommand: the Canton protocol requires one partySignatures entry per actAs party; all parties share the same TSS key and signature.
|
|
138
|
+
if (this._type === sdk_core_1.TransactionType.CantonCommand) {
|
|
139
|
+
if (!this._cantonCommandActAs?.length) {
|
|
140
|
+
throw new sdk_core_1.InvalidTransactionError('CantonCommand transaction is missing actAs parties required for partySignatures');
|
|
141
|
+
}
|
|
142
|
+
for (const party of this._cantonCommandActAs) {
|
|
143
|
+
data.partySignatures?.signatures.push({ party, signatures });
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
const signerPartyId = `${this._signerFingerprint.slice(0, 5)}::${this._signerFingerprint}`;
|
|
148
|
+
data.partySignatures?.signatures.push({ party: signerPartyId, signatures });
|
|
149
|
+
}
|
|
98
150
|
data.preparedTransaction = this._prepareCommand.preparedTransaction
|
|
99
151
|
? this._prepareCommand.preparedTransaction
|
|
100
152
|
: '';
|
|
@@ -107,6 +159,7 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
107
159
|
type: this._type,
|
|
108
160
|
sender: '',
|
|
109
161
|
receiver: '',
|
|
162
|
+
amount: '',
|
|
110
163
|
};
|
|
111
164
|
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
112
165
|
if (!this._acknowledgeData) {
|
|
@@ -115,23 +168,64 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
115
168
|
result.acknowledgeData = this._acknowledgeData;
|
|
116
169
|
return result;
|
|
117
170
|
}
|
|
171
|
+
if (this._type === sdk_core_1.TransactionType.CosignDelegationProposal) {
|
|
172
|
+
if (!this._cosignDelegationProposalData) {
|
|
173
|
+
throw new sdk_core_1.InvalidTransactionError('CosignDelegationProposalData is not set');
|
|
174
|
+
}
|
|
175
|
+
result.cosignDelegationProposalData = this._cosignDelegationProposalData;
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
178
|
+
if (this._type === sdk_core_1.TransactionType.AllocationRequest) {
|
|
179
|
+
if (!this._allocationRequestData) {
|
|
180
|
+
throw new sdk_core_1.InvalidTransactionError('AllocationRequestData is not set');
|
|
181
|
+
}
|
|
182
|
+
result.allocationRequestData = this._allocationRequestData;
|
|
183
|
+
return result;
|
|
184
|
+
}
|
|
185
|
+
if (this._type === sdk_core_1.TransactionType.EndInvestorOnboardingOffer) {
|
|
186
|
+
if (!this._endInvestorOnboardingOfferData) {
|
|
187
|
+
throw new sdk_core_1.InvalidTransactionError('EndInvestorOnboardingOfferData is not set');
|
|
188
|
+
}
|
|
189
|
+
result.endInvestorOnboardingOfferData = this._endInvestorOnboardingOfferData;
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
if (this._type === sdk_core_1.TransactionType.CantonCommand) {
|
|
193
|
+
if (!this._prepareCommand?.preparedTransaction) {
|
|
194
|
+
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
195
|
+
}
|
|
196
|
+
const commandSummary = this.buildCantonCommandSummary();
|
|
197
|
+
if (commandSummary) {
|
|
198
|
+
result.cantonCommand = commandSummary;
|
|
199
|
+
}
|
|
200
|
+
return result;
|
|
201
|
+
}
|
|
118
202
|
if (!this._prepareCommand || !this._prepareCommand.preparedTransaction) {
|
|
119
203
|
throw new sdk_core_1.InvalidTransactionError('Empty transaction data');
|
|
120
204
|
}
|
|
121
205
|
// TODO: extract other required data (utxo used, request time, execute before etc)
|
|
122
206
|
let parsedInfo;
|
|
123
207
|
try {
|
|
124
|
-
parsedInfo = utils_1.default.parseRawCantonTransactionData(this._prepareCommand.preparedTransaction);
|
|
208
|
+
parsedInfo = utils_1.default.parseRawCantonTransactionData(this._prepareCommand.preparedTransaction, this.type);
|
|
125
209
|
}
|
|
126
210
|
catch (e) {
|
|
127
211
|
throw new sdk_core_1.InvalidTransactionError(`Failed to parse transaction hash: ${e instanceof Error ? e.message : e}`);
|
|
128
212
|
}
|
|
129
213
|
result.sender = parsedInfo.sender;
|
|
130
214
|
result.receiver = parsedInfo.receiver;
|
|
215
|
+
result.amount = parsedInfo.amount;
|
|
216
|
+
if (parsedInfo.memoId) {
|
|
217
|
+
result.memoId = parsedInfo.memoId;
|
|
218
|
+
}
|
|
219
|
+
if (parsedInfo.token) {
|
|
220
|
+
result.token = parsedInfo.token;
|
|
221
|
+
}
|
|
131
222
|
return result;
|
|
132
223
|
}
|
|
133
224
|
get signablePayload() {
|
|
134
|
-
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge
|
|
225
|
+
if (this._type === sdk_core_1.TransactionType.TransferAcknowledge ||
|
|
226
|
+
this._type === sdk_core_1.TransactionType.CosignDelegationProposal ||
|
|
227
|
+
this._type === sdk_core_1.TransactionType.AllocationRequest ||
|
|
228
|
+
this._type === sdk_core_1.TransactionType.EndInvestorOnboardingOffer) {
|
|
135
229
|
return Buffer.from(constant_1.DUMMY_HASH, 'base64');
|
|
136
230
|
}
|
|
137
231
|
if (!this._prepareCommand) {
|
|
@@ -139,23 +233,47 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
139
233
|
}
|
|
140
234
|
return Buffer.from(this._prepareCommand.preparedTransactionHash, 'base64');
|
|
141
235
|
}
|
|
236
|
+
get cantonCommandActAsParties() {
|
|
237
|
+
return this._cantonCommandActAs ?? [];
|
|
238
|
+
}
|
|
142
239
|
fromRawTransaction(rawTx) {
|
|
143
240
|
try {
|
|
144
241
|
const decoded = JSON.parse(Buffer.from(rawTx, 'base64').toString('utf8'));
|
|
145
242
|
this.id = decoded.submissionId;
|
|
146
243
|
this.transactionType = sdk_core_1.TransactionType[decoded.txType];
|
|
147
|
-
if (this.type
|
|
244
|
+
if (this.type === sdk_core_1.TransactionType.TransferAcknowledge) {
|
|
245
|
+
if (decoded.acknowledgeData) {
|
|
246
|
+
this.acknowledgeData = decoded.acknowledgeData;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else if (this.type === sdk_core_1.TransactionType.CosignDelegationProposal) {
|
|
250
|
+
if (decoded.cosignDelegationProposalData) {
|
|
251
|
+
this.cosignDelegationProposalData = decoded.cosignDelegationProposalData;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
else if (this.type === sdk_core_1.TransactionType.AllocationRequest) {
|
|
255
|
+
if (decoded.allocationRequestData) {
|
|
256
|
+
this.allocationRequestData = decoded.allocationRequestData;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
else if (this.type === sdk_core_1.TransactionType.EndInvestorOnboardingOffer) {
|
|
260
|
+
if (decoded.endInvestorOnboardingOfferData) {
|
|
261
|
+
this.endInvestorOnboardingOfferData = decoded.endInvestorOnboardingOfferData;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
148
265
|
if (decoded.prepareCommandResponse) {
|
|
149
266
|
this.prepareCommand = decoded.prepareCommandResponse;
|
|
267
|
+
if (this.type !== sdk_core_1.TransactionType.CantonCommand) {
|
|
268
|
+
this.loadInputsAndOutputs();
|
|
269
|
+
}
|
|
150
270
|
}
|
|
151
271
|
if (decoded.partySignatures && decoded.partySignatures.signatures.length > 0) {
|
|
152
272
|
this.signerFingerprint = decoded.partySignatures.signatures[0].party.split('::')[1];
|
|
153
273
|
this.signatures = decoded.partySignatures.signatures[0].signatures[0].signature;
|
|
154
274
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
if (decoded.acknowledgeData) {
|
|
158
|
-
this.acknowledgeData = decoded.acknowledgeData;
|
|
275
|
+
if (this.type === sdk_core_1.TransactionType.CantonCommand && decoded.prepareCommandResponse?.preparedTransaction) {
|
|
276
|
+
this.cantonCommandActAs = utils_1.default.extractSubmitterActAs(decoded.prepareCommandResponse.preparedTransaction);
|
|
159
277
|
}
|
|
160
278
|
}
|
|
161
279
|
}
|
|
@@ -163,6 +281,179 @@ class Transaction extends sdk_core_1.BaseTransaction {
|
|
|
163
281
|
throw new sdk_core_1.InvalidTransactionError('Unable to parse raw transaction data');
|
|
164
282
|
}
|
|
165
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Loads the input & output fields for the transaction
|
|
286
|
+
*
|
|
287
|
+
*/
|
|
288
|
+
loadInputsAndOutputs() {
|
|
289
|
+
const outputs = [];
|
|
290
|
+
const inputs = [];
|
|
291
|
+
const txData = this.toJson();
|
|
292
|
+
const input = {
|
|
293
|
+
address: txData.sender,
|
|
294
|
+
value: txData.amount,
|
|
295
|
+
coin: txData.token ? txData.token : this._coinConfig.name,
|
|
296
|
+
};
|
|
297
|
+
const output = {
|
|
298
|
+
address: txData.receiver,
|
|
299
|
+
value: txData.amount,
|
|
300
|
+
coin: txData.token ? txData.token : this._coinConfig.name,
|
|
301
|
+
};
|
|
302
|
+
inputs.push(input);
|
|
303
|
+
outputs.push(output);
|
|
304
|
+
this._inputs = inputs;
|
|
305
|
+
this._outputs = outputs;
|
|
306
|
+
}
|
|
307
|
+
explainTransaction() {
|
|
308
|
+
const displayOrder = [
|
|
309
|
+
'id',
|
|
310
|
+
'outputs',
|
|
311
|
+
'outputAmount',
|
|
312
|
+
'inputs',
|
|
313
|
+
'inputAmount',
|
|
314
|
+
'changeOutputs',
|
|
315
|
+
'changeAmount',
|
|
316
|
+
'fee',
|
|
317
|
+
'type',
|
|
318
|
+
];
|
|
319
|
+
const inputs = [];
|
|
320
|
+
const outputs = [];
|
|
321
|
+
let inputAmount = '0';
|
|
322
|
+
let outputAmount = '0';
|
|
323
|
+
switch (this.type) {
|
|
324
|
+
case sdk_core_1.TransactionType.CosignDelegationAccept:
|
|
325
|
+
case sdk_core_1.TransactionType.TransferAccept:
|
|
326
|
+
case sdk_core_1.TransactionType.TransferReject: {
|
|
327
|
+
const txData = this.toJson();
|
|
328
|
+
const input = {
|
|
329
|
+
address: txData.sender,
|
|
330
|
+
amount: txData.amount,
|
|
331
|
+
};
|
|
332
|
+
if (txData.token) {
|
|
333
|
+
input.tokenName = txData.token;
|
|
334
|
+
}
|
|
335
|
+
inputs.push(input);
|
|
336
|
+
inputAmount = txData.amount;
|
|
337
|
+
break;
|
|
338
|
+
}
|
|
339
|
+
case sdk_core_1.TransactionType.AllocationAllocate:
|
|
340
|
+
case sdk_core_1.TransactionType.Send: {
|
|
341
|
+
const txData = this.toJson();
|
|
342
|
+
const output = {
|
|
343
|
+
address: txData.receiver,
|
|
344
|
+
amount: txData.amount,
|
|
345
|
+
};
|
|
346
|
+
if (txData.memoId) {
|
|
347
|
+
output.memo = txData.memoId;
|
|
348
|
+
}
|
|
349
|
+
if (txData.token) {
|
|
350
|
+
output.tokenName = txData.token;
|
|
351
|
+
}
|
|
352
|
+
outputs.push(output);
|
|
353
|
+
outputAmount = txData.amount;
|
|
354
|
+
break;
|
|
355
|
+
}
|
|
356
|
+
case sdk_core_1.TransactionType.TransferOfferWithdrawn:
|
|
357
|
+
case sdk_core_1.TransactionType.AllocationAllocateWithdrawn: {
|
|
358
|
+
const txData = this.toJson();
|
|
359
|
+
const input = {
|
|
360
|
+
address: txData.receiver,
|
|
361
|
+
amount: txData.amount,
|
|
362
|
+
};
|
|
363
|
+
if (txData.token) {
|
|
364
|
+
input.tokenName = txData.token;
|
|
365
|
+
}
|
|
366
|
+
inputs.push(input);
|
|
367
|
+
inputAmount = txData.amount;
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
case sdk_core_1.TransactionType.CantonCommand: {
|
|
371
|
+
const commandSummary = this.buildCantonCommandSummary();
|
|
372
|
+
const explanation = {
|
|
373
|
+
id: this.id,
|
|
374
|
+
displayOrder,
|
|
375
|
+
outputs: outputs,
|
|
376
|
+
outputAmount: outputAmount,
|
|
377
|
+
inputs: inputs,
|
|
378
|
+
inputAmount: inputAmount,
|
|
379
|
+
changeOutputs: [],
|
|
380
|
+
changeAmount: '0',
|
|
381
|
+
fee: { fee: '0' },
|
|
382
|
+
type: this.type,
|
|
383
|
+
};
|
|
384
|
+
if (commandSummary) {
|
|
385
|
+
explanation.cantonCommand = commandSummary;
|
|
386
|
+
}
|
|
387
|
+
return explanation;
|
|
388
|
+
}
|
|
389
|
+
case sdk_core_1.TransactionType.EndInvestorOnboardingOffer: {
|
|
390
|
+
// Non-signable notification record — no inputs, outputs, or amounts to explain.
|
|
391
|
+
return {
|
|
392
|
+
id: this.id,
|
|
393
|
+
displayOrder,
|
|
394
|
+
outputs: [],
|
|
395
|
+
outputAmount: '0',
|
|
396
|
+
inputs: [],
|
|
397
|
+
inputAmount: '0',
|
|
398
|
+
changeOutputs: [],
|
|
399
|
+
changeAmount: '0',
|
|
400
|
+
fee: { fee: '0' },
|
|
401
|
+
type: this.type,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
case sdk_core_1.TransactionType.OneStepPreApproval:
|
|
405
|
+
case sdk_core_1.TransactionType.TransferPreapprovalCancel: {
|
|
406
|
+
// Both are zero-amount self-service operations on the wallet's own preapproval contract.
|
|
407
|
+
// Show the party address as an input so callers can identify whose preapproval is affected.
|
|
408
|
+
const txData = this.toJson();
|
|
409
|
+
const input = {
|
|
410
|
+
address: txData.receiver,
|
|
411
|
+
amount: txData.amount,
|
|
412
|
+
};
|
|
413
|
+
if (txData.token) {
|
|
414
|
+
input.tokenName = txData.token;
|
|
415
|
+
}
|
|
416
|
+
inputs.push(input);
|
|
417
|
+
inputAmount = txData.amount;
|
|
418
|
+
break;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
return {
|
|
422
|
+
id: this.id,
|
|
423
|
+
displayOrder,
|
|
424
|
+
outputs: outputs,
|
|
425
|
+
outputAmount: outputAmount,
|
|
426
|
+
inputs: inputs,
|
|
427
|
+
inputAmount: inputAmount,
|
|
428
|
+
changeOutputs: [],
|
|
429
|
+
changeAmount: '0',
|
|
430
|
+
fee: { fee: '0' },
|
|
431
|
+
type: this.type,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
buildCantonCommandSummary() {
|
|
435
|
+
const rawPrepared = this._prepareCommand?.preparedTransaction;
|
|
436
|
+
if (!rawPrepared) {
|
|
437
|
+
return undefined;
|
|
438
|
+
}
|
|
439
|
+
try {
|
|
440
|
+
const info = utils_1.default.extractCantonCommandInfo(rawPrepared);
|
|
441
|
+
const templateIdStr = `${info.templateId.packageId}:${info.templateId.moduleName}:${info.templateId.entityName}`;
|
|
442
|
+
const summary = {
|
|
443
|
+
kind: info.kind,
|
|
444
|
+
templateId: templateIdStr,
|
|
445
|
+
actAs: this._cantonCommandActAs ?? [],
|
|
446
|
+
};
|
|
447
|
+
if (info.choice !== undefined)
|
|
448
|
+
summary.choice = info.choice;
|
|
449
|
+
if (info.contractId !== undefined && info.contractId !== '')
|
|
450
|
+
summary.contractId = info.contractId;
|
|
451
|
+
return summary;
|
|
452
|
+
}
|
|
453
|
+
catch {
|
|
454
|
+
return undefined;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
166
457
|
}
|
|
167
458
|
exports.Transaction = Transaction;
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQUEwRztBQVcxRyxxREFBNkI7QUFDN0IsMENBQTZHO0FBRTdHLE1BQWEsV0FBWSxTQUFRLDBCQUFlO0lBSzlDLFlBQVksVUFBZ0M7UUFDMUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxXQUF5QztRQUMxRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsZUFBZ0M7UUFDbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLElBQXlCO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksa0NBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQyxFQUFVO1FBQ2YsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFZO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFNBQWlCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25D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QWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsSUFBSSxPQUFPLENBQUMsZUFBZSxJQUFJLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDN0UsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BGLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDbEYsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDNUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO2dCQUNqRCxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLGtDQUF1QixDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFLRCxrQ0EwS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlS2V5LCBCYXNlVHJhbnNhY3Rpb24sIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLCBUcmFuc2FjdGlvblR5cGUgfSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29pbiBhcyBDb2luQ29uZmlnIH0gZnJvbSAnQGJpdGdvLWJldGEvc3RhdGljcyc7XG5pbXBvcnQge1xuICBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLFxuICBNdWx0aUhhc2hTaWduYXR1cmUsXG4gIFBhcnR5U2lnbmF0dXJlLFxuICBQcmVwYXJlZFR4blBhcnNlZEluZm8sXG4gIFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSxcbiAgVHJhbnNmZXJBY2tub3dsZWRnZSxcbiAgVHhEYXRhLFxufSBmcm9tICcuLi9pZmFjZSc7XG5pbXBvcnQgdXRpbHMgZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRFVNTVlfSEFTSCwgSEFTSElOR19TQ0hFTUVfVkVSU0lPTiwgU0lHTkFUVVJFX0FMR09SSVRITV9TUEVDLCBTSUdOQVRVUkVfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnQnO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb24gZXh0ZW5kcyBCYXNlVHJhbnNhY3Rpb24ge1xuICBwcml2YXRlIF9wcmVwYXJlQ29tbWFuZDogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZTtcbiAgcHJpdmF0ZSBfc2lnbmVyRmluZ2VycHJpbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSBfYWNrbm93bGVkZ2VEYXRhOiBUcmFuc2ZlckFja25vd2xlZGdlO1xuXG4gIGNvbnN0cnVjdG9yKGNvaW5Db25maWc6IFJlYWRvbmx5PENvaW5Db25maWc+KSB7XG4gICAgc3VwZXIoY29pbkNvbmZpZyk7XG4gIH1cblxuICBnZXQgcHJlcGFyZUNvbW1hbmQoKTogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXBhcmVDb21tYW5kO1xuICB9XG5cbiAgc2V0IHByZXBhcmVDb21tYW5kKHRyYW5zYWN0aW9uOiBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlKSB7XG4gICAgdGhpcy5fcHJlcGFyZUNvbW1hbmQgPSB0cmFuc2FjdGlvbjtcbiAgfVxuXG4gIHNldCB0cmFuc2FjdGlvblR5cGUodHJhbnNhY3Rpb25UeXBlOiBUcmFuc2FjdGlvblR5cGUpIHtcbiAgICB0aGlzLl90eXBlID0gdHJhbnNhY3Rpb25UeXBlO1xuICB9XG5cbiAgc2V0IGFja25vd2xlZGdlRGF0YShkYXRhOiBUcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgdGhpcy5fYWNrbm93bGVkZ2VEYXRhID0gZGF0YTtcbiAgfVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5faWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcigndHJhbnNhY3Rpb24gaXMgaXMgbm90IHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5faWQ7XG4gIH1cblxuICBzZXQgaWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gaWQ7XG4gIH1cblxuICBjYW5TaWduKGtleTogQmFzZUtleSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHNldCBzaWduYXR1cmVzKHNpZ25hdHVyZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZSk7XG4gIH1cblxuICBzZXQgc2lnbmVyRmluZ2VycHJpbnQoZmluZ2VycHJpbnQ6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25lckZpbmdlcnByaW50ID0gZmluZ2VycHJpbnQ7XG4gIH1cblxuICB0b0Jyb2FkY2FzdEZvcm1hdCgpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fdHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdUcmFuc2FjdGlvbiB0eXBlIGlzIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICBpZiAoIXRoaXMuX2Fja25vd2xlZGdlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0Fja25vd2xlZGdlRGF0YSBpcyBub3Qgc2V0Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBtaW5EYXRhOiBUcmFuc2FjdGlvbkJyb2FkY2FzdERhdGEgPSB7XG4gICAgICAgIHR4VHlwZTogVHJhbnNhY3Rpb25UeXBlW3RoaXMuX3R5cGVdLFxuICAgICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICAgIGFja25vd2xlZGdlRGF0YTogdGhpcy5fYWNrbm93bGVkZ2VEYXRhLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShtaW5EYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgY29uc3QgcGFydHlTaWduYXR1cmVzOiBQYXJ0eVNpZ25hdHVyZVtdID0gW107XG4gICAgY29uc3QgZGF0YTogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0ge1xuICAgICAgcHJlcGFyZUNvbW1hbmRSZXNwb25zZTogdGhpcy5fcHJlcGFyZUNvbW1hbmQsXG4gICAgICB0eFR5cGU6IHRoaXMuX3R5cGUgPyBUcmFuc2FjdGlvblR5cGVbdGhpcy5fdHlwZV0gOiAnJyxcbiAgICAgIHByZXBhcmVkVHJhbnNhY3Rpb246ICcnLFxuICAgICAgcGFydHlTaWduYXR1cmVzOiB7XG4gICAgICAgIHNpZ25hdHVyZXM6IHBhcnR5U2lnbmF0dXJlcyxcbiAgICAgIH0sXG4gICAgICBkZWR1cGxpY2F0aW9uUGVyaW9kOiB7XG4gICAgICAgIEVtcHR5OiB7fSxcbiAgICAgIH0sXG4gICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICBoYXNoaW5nU2NoZW1lVmVyc2lvbjogSEFTSElOR19TQ0hFTUVfVkVSU0lPTixcbiAgICAgIG1pbkxlZGdlclRpbWU6IHtcbiAgICAgICAgdGltZToge1xuICAgICAgICAgIEVtcHR5OiB7fSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXSA9IFtdO1xuICAgIGlmICh0aGlzLl9zaWduYXR1cmVzLmxlbmd0aCA+IDAgJiYgdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQpIHtcbiAgICAgIGNvbnN0IHNpZ25lclBhcnR5SWQgPSBgJHt0aGlzLl9zaWduZXJGaW5nZXJwcmludC5zbGljZSgwLCA1KX06OiR7dGhpcy5fc2lnbmVyRmluZ2VycHJpbnR9YDtcbiAgICAgIHRoaXMuc2lnbmF0dXJlLm1hcCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZU9iajogTXVsdGlIYXNoU2lnbmF0dXJlID0ge1xuICAgICAgICAgIGZvcm1hdDogU0lHTkFUVVJFX0ZPUk1BVCxcbiAgICAgICAgICBzaWduYXR1cmU6IHNpZ25hdHVyZSxcbiAgICAgICAgICBzaWduZWRCeTogdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQsXG4gICAgICAgICAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQyxcbiAgICAgICAgfTtcbiAgICAgICAgc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZU9iaik7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHBhcnR5U2lnbmF0dXJlID0ge1xuICAgICAgICBwYXJ0eTogc2lnbmVyUGFydHlJZCxcbiAgICAgICAgc2lnbmF0dXJlczogc2lnbmF0dXJlcyxcbiAgICAgIH07XG4gICAgICBkYXRhLnBhcnR5U2lnbmF0dXJlcz8uc2lnbmF0dXJlcy5wdXNoKHBhcnR5U2lnbmF0dXJlKTtcbiAgICAgIGRhdGEucHJlcGFyZWRUcmFuc2FjdGlvbiA9IHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb25cbiAgICAgICAgPyB0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShkYXRhKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICB9XG5cbiAgdG9Kc29uKCk6IFR4RGF0YSB7XG4gICAgY29uc3QgcmVzdWx0OiBUeERhdGEgPSB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIHR5cGU6IHRoaXMuX3R5cGUgYXMgVHJhbnNhY3Rpb25UeXBlLFxuICAgICAgc2VuZGVyOiAnJyxcbiAgICAgIHJlY2VpdmVyOiAnJyxcbiAgICB9O1xuICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZSkge1xuICAgICAgaWYgKCF0aGlzLl9hY2tub3dsZWRnZURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBY2tub3dsZWRnZURhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmFja25vd2xlZGdlRGF0YSA9IHRoaXMuX2Fja25vd2xlZGdlRGF0YTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQgfHwgIXRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICAvLyBUT0RPOiBleHRyYWN0IG90aGVyIHJlcXVpcmVkIGRhdGEgKHV0eG8gdXNlZCwgcmVxdWVzdCB0aW1lLCBleGVjdXRlIGJlZm9yZSBldGMpXG4gICAgbGV0IHBhcnNlZEluZm86IFByZXBhcmVkVHhuUGFyc2VkSW5mbztcbiAgICB0cnkge1xuICAgICAgcGFyc2VkSW5mbyA9IHV0aWxzLnBhcnNlUmF3Q2FudG9uVHJhbnNhY3Rpb25EYXRhKHRoaXMuX3ByZXBhcmVDb21tYW5kLnByZXBhcmVkVHJhbnNhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGhhc2g6ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gKTtcbiAgICB9XG4gICAgcmVzdWx0LnNlbmRlciA9IHBhcnNlZEluZm8uc2VuZGVyO1xuICAgIHJlc3VsdC5yZWNlaXZlciA9IHBhcnNlZEluZm8ucmVjZWl2ZXI7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2UpIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShEVU1NWV9IQVNILCAnYmFzZTY0Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZUNvbW1hbmQucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2gsICdiYXNlNjQnKTtcbiAgfVxuXG4gIGZyb21SYXdUcmFuc2FjdGlvbihyYXdUeDogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRlY29kZWQ6IFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSA9IEpTT04ucGFyc2UoQnVmZmVyLmZyb20ocmF3VHgsICdiYXNlNjQnKS50b1N0cmluZygndXRmOCcpKTtcbiAgICAgIHRoaXMuaWQgPSBkZWNvZGVkLnN1Ym1pc3Npb25JZDtcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25UeXBlID0gVHJhbnNhY3Rpb25UeXBlW2RlY29kZWQudHhUeXBlXTtcbiAgICAgIGlmICh0aGlzLnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICAgIGlmIChkZWNvZGVkLnByZXBhcmVDb21tYW5kUmVzcG9uc2UpIHtcbiAgICAgICAgICB0aGlzLnByZXBhcmVDb21tYW5kID0gZGVjb2RlZC5wcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcyAmJiBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNpZ25lckZpbmdlcnByaW50ID0gZGVjb2RlZC5wYXJ0eVNpZ25hdHVyZXMuc2lnbmF0dXJlc1swXS5wYXJ0eS5zcGxpdCgnOjonKVsxXTtcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZXMgPSBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzWzBdLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoZGVjb2RlZC5hY2tub3dsZWRnZURhdGEpIHtcbiAgICAgICAgICB0aGlzLmFja25vd2xlZGdlRGF0YSA9IGRlY29kZWQuYWNrbm93bGVkZ2VEYXRhO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdVbmFibGUgdG8gcGFyc2UgcmF3IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
459
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG1EQU84QjtBQWdCOUIscURBQTZCO0FBQzdCLDBDQUE2RztBQUU3RyxNQUFhLFdBQVksU0FBUSwwQkFBZTtJQVM5QyxZQUFZLFVBQWdDO1FBQzFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxjQUFjLENBQUMsV0FBeUM7UUFDMUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksZUFBZSxDQUFDLGVBQWdDO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGVBQWUsQ0FBQyxJQUF5QjtRQUMzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLDRCQUE0QixDQUFDLElBQThCO1FBQzdELElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUkscUJBQXFCLENBQUMsSUFBdUI7UUFDL0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSw4QkFBOEIsQ0FBQyxJQUFvQztRQUNyRSxJQUFJLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGtCQUFrQixDQUFDLE9BQWlCO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxF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QUUsQ0FBQztZQUNqSCxNQUFNLE9BQU8sR0FBeUI7Z0JBQ3BDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixVQUFVLEVBQUUsYUFBYTtnQkFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxFQUFFO2FBQ3RDLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUztnQkFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUQsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUU7Z0JBQUUsT0FBTyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2xHLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBdGRELGtDQXNkQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VLZXksXG4gIEJhc2VUcmFuc2FjdGlvbixcbiAgRW50cnksXG4gIEludmFsaWRUcmFuc2FjdGlvbkVycm9yLFxuICBJVHJhbnNhY3Rpb25SZWNpcGllbnQsXG4gIFRyYW5zYWN0aW9uVHlwZSxcbn0gZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgQmFzZUNvaW4gYXMgQ29pbkNvbmZpZyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuaW1wb3J0IHtcbiAgQWxsb2NhdGlvblJlcXVlc3QsXG4gIENhbnRvbkNvbW1hbmRFeHBsYWluLFxuICBDYW50b25QcmVwYXJlQ29tbWFuZFJlc3BvbnNlLFxuICBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWwsXG4gIEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyRGF0YSxcbiAgTXVsdGlIYXNoU2lnbmF0dXJlLFxuICBQYXJ0eVNpZ25hdHVyZSxcbiAgUHJlcGFyZWRUeG5QYXJzZWRJbmZvLFxuICBUcmFuc2FjdGlvbkJyb2FkY2FzdERhdGEsXG4gIFRyYW5zYWN0aW9uRXhwbGFuYXRpb24sXG4gIFRyYW5zZmVyQWNrbm93bGVkZ2UsXG4gIFR4RGF0YSxcbn0gZnJvbSAnLi4vaWZhY2UnO1xuaW1wb3J0IHV0aWxzIGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IERVTU1ZX0hBU0gsIEhBU0hJTkdfU0NIRU1FX1ZFUlNJT04sIFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQywgU0lHTkFUVVJFX0ZPUk1BVCB9IGZyb20gJy4uL2NvbnN0YW50JztcblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uIGV4dGVuZHMgQmFzZVRyYW5zYWN0aW9uIHtcbiAgcHJpdmF0ZSBfcHJlcGFyZUNvbW1hbmQ6IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2U7XG4gIHByaXZhdGUgX3NpZ25lckZpbmdlcnByaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgX2Fja25vd2xlZGdlRGF0YTogVHJhbnNmZXJBY2tub3dsZWRnZTtcbiAgcHJpdmF0ZSBfY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YTogQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsO1xuICBwcml2YXRlIF9hbGxvY2F0aW9uUmVxdWVzdERhdGE6IEFsbG9jYXRpb25SZXF1ZXN0O1xuICBwcml2YXRlIF9lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE6IEVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyRGF0YTtcbiAgcHJpdmF0ZSBfY2FudG9uQ29tbWFuZEFjdEFzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3Rvcihjb2luQ29uZmlnOiBSZWFkb25seTxDb2luQ29uZmlnPikge1xuICAgIHN1cGVyKGNvaW5Db25maWcpO1xuICB9XG5cbiAgZ2V0IHByZXBhcmVDb21tYW5kKCk6IENhbnRvblByZXBhcmVDb21tYW5kUmVzcG9uc2Uge1xuICAgIHJldHVybiB0aGlzLl9wcmVwYXJlQ29tbWFuZDtcbiAgfVxuXG4gIHNldCBwcmVwYXJlQ29tbWFuZCh0cmFuc2FjdGlvbjogQ2FudG9uUHJlcGFyZUNvbW1hbmRSZXNwb25zZSkge1xuICAgIHRoaXMuX3ByZXBhcmVDb21tYW5kID0gdHJhbnNhY3Rpb247XG4gIH1cblxuICBzZXQgdHJhbnNhY3Rpb25UeXBlKHRyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25UeXBlKSB7XG4gICAgdGhpcy5fdHlwZSA9IHRyYW5zYWN0aW9uVHlwZTtcbiAgfVxuXG4gIHNldCBhY2tub3dsZWRnZURhdGEoZGF0YTogVHJhbnNmZXJBY2tub3dsZWRnZSkge1xuICAgIHRoaXMuX2Fja25vd2xlZGdlRGF0YSA9IGRhdGE7XG4gIH1cblxuICBzZXQgY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YShkYXRhOiBDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWwpIHtcbiAgICB0aGlzLl9jb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxEYXRhID0gZGF0YTtcbiAgfVxuXG4gIHNldCBhbGxvY2F0aW9uUmVxdWVzdERhdGEoZGF0YTogQWxsb2NhdGlvblJlcXVlc3QpIHtcbiAgICB0aGlzLl9hbGxvY2F0aW9uUmVxdWVzdERhdGEgPSBkYXRhO1xuICB9XG5cbiAgc2V0IGVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyRGF0YShkYXRhOiBFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEpIHtcbiAgICB0aGlzLl9lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEgPSBkYXRhO1xuICB9XG5cbiAgc2V0IGNhbnRvbkNvbW1hbmRBY3RBcyhwYXJ0aWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2NhbnRvbkNvbW1hbmRBY3RBcyA9IHBhcnRpZXM7XG4gIH1cblxuICBnZXQgaWQoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2lkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ3RyYW5zYWN0aW9uIGlzIGlzIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZCA9IGlkO1xuICB9XG5cbiAgY2FuU2lnbihrZXk6IEJhc2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBzZXQgc2lnbmF0dXJlcyhzaWduYXR1cmU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpZ25hdHVyZXMucHVzaChzaWduYXR1cmUpO1xuICB9XG5cbiAgc2V0IHNpZ25lckZpbmdlcnByaW50KGZpbmdlcnByaW50OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zaWduZXJGaW5nZXJwcmludCA9IGZpbmdlcnByaW50O1xuICB9XG5cbiAgdG9Ccm9hZGNhc3RGb3JtYXQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ1RyYW5zYWN0aW9uIHR5cGUgaXMgbm90IHNldCcpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2UpIHtcbiAgICAgIGlmICghdGhpcy5fYWNrbm93bGVkZ2VEYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignQWNrbm93bGVkZ2VEYXRhIGlzIG5vdCBzZXQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbkRhdGE6IFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSA9IHtcbiAgICAgICAgdHhUeXBlOiBUcmFuc2FjdGlvblR5cGVbdGhpcy5fdHlwZV0sXG4gICAgICAgIHN1Ym1pc3Npb25JZDogdGhpcy5pZCxcbiAgICAgICAgYWNrbm93bGVkZ2VEYXRhOiB0aGlzLl9hY2tub3dsZWRnZURhdGEsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG1pbkRhdGEpKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQ29zaWduRGVsZWdhdGlvblByb3Bvc2FsKSB7XG4gICAgICBpZiAoIXRoaXMuX2Nvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdDb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxEYXRhIGlzIG5vdCBzZXQnKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbkRhdGE6IFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSA9IHtcbiAgICAgICAgdHhUeXBlOiBUcmFuc2FjdGlvblR5cGVbdGhpcy5fdHlwZV0sXG4gICAgICAgIHN1Ym1pc3Npb25JZDogdGhpcy5pZCxcbiAgICAgICAgY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YTogdGhpcy5fY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkobWluRGF0YSkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uUmVxdWVzdCkge1xuICAgICAgaWYgKCF0aGlzLl9hbGxvY2F0aW9uUmVxdWVzdERhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBbGxvY2F0aW9uUmVxdWVzdERhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluRGF0YTogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0ge1xuICAgICAgICB0eFR5cGU6IFRyYW5zYWN0aW9uVHlwZVt0aGlzLl90eXBlXSxcbiAgICAgICAgc3VibWlzc2lvbklkOiB0aGlzLmlkLFxuICAgICAgICBhbGxvY2F0aW9uUmVxdWVzdERhdGE6IHRoaXMuX2FsbG9jYXRpb25SZXF1ZXN0RGF0YSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkobWluRGF0YSkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5FbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlcikge1xuICAgICAgaWYgKCF0aGlzLl9lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWluRGF0YTogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0ge1xuICAgICAgICB0eFR5cGU6IFRyYW5zYWN0aW9uVHlwZVt0aGlzLl90eXBlXSxcbiAgICAgICAgc3VibWlzc2lvbklkOiB0aGlzLmlkLFxuICAgICAgICBlbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE6IHRoaXMuX2VuZEludmVzdG9yT25ib2FyZGluZ09mZmVyRGF0YSxcbiAgICAgIH07XG4gICAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkobWluRGF0YSkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9wcmVwYXJlQ29tbWFuZCkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICAgIGNvbnN0IHBhcnR5U2lnbmF0dXJlczogUGFydHlTaWduYXR1cmVbXSA9IFtdO1xuICAgIGNvbnN0IGRhdGE6IFRyYW5zYWN0aW9uQnJvYWRjYXN0RGF0YSA9IHtcbiAgICAgIHByZXBhcmVDb21tYW5kUmVzcG9uc2U6IHRoaXMuX3ByZXBhcmVDb21tYW5kLFxuICAgICAgdHhUeXBlOiB0aGlzLl90eXBlICE9PSB1bmRlZmluZWQgPyBUcmFuc2FjdGlvblR5cGVbdGhpcy5fdHlwZV0gOiAnJyxcbiAgICAgIHByZXBhcmVkVHJhbnNhY3Rpb246ICcnLFxuICAgICAgcGFydHlTaWduYXR1cmVzOiB7XG4gICAgICAgIHNpZ25hdHVyZXM6IHBhcnR5U2lnbmF0dXJlcyxcbiAgICAgIH0sXG4gICAgICBkZWR1cGxpY2F0aW9uUGVyaW9kOiB7XG4gICAgICAgIEVtcHR5OiB7fSxcbiAgICAgIH0sXG4gICAgICBzdWJtaXNzaW9uSWQ6IHRoaXMuaWQsXG4gICAgICBoYXNoaW5nU2NoZW1lVmVyc2lvbjogSEFTSElOR19TQ0hFTUVfVkVSU0lPTixcbiAgICAgIG1pbkxlZGdlclRpbWU6IHtcbiAgICAgICAgdGltZToge1xuICAgICAgICAgIEVtcHR5OiB7fSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCBzaWduYXR1cmVzOiBNdWx0aUhhc2hTaWduYXR1cmVbXSA9IFtdO1xuICAgIGlmICh0aGlzLl9zaWduYXR1cmVzLmxlbmd0aCA+IDAgJiYgdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQpIHtcbiAgICAgIHRoaXMuc2lnbmF0dXJlLm1hcCgoc2lnbmF0dXJlKSA9PiB7XG4gICAgICAgIGNvbnN0IHNpZ25hdHVyZU9iajogTXVsdGlIYXNoU2lnbmF0dXJlID0ge1xuICAgICAgICAgIGZvcm1hdDogU0lHTkFUVVJFX0ZPUk1BVCxcbiAgICAgICAgICBzaWduYXR1cmU6IHNpZ25hdHVyZSxcbiAgICAgICAgICBzaWduZWRCeTogdGhpcy5fc2lnbmVyRmluZ2VycHJpbnQsXG4gICAgICAgICAgc2lnbmluZ0FsZ29yaXRobVNwZWM6IFNJR05BVFVSRV9BTEdPUklUSE1fU1BFQyxcbiAgICAgICAgfTtcbiAgICAgICAgc2lnbmF0dXJlcy5wdXNoKHNpZ25hdHVyZU9iaik7XG4gICAgICB9KTtcbiAgICAgIC8vIENhbnRvbkNvbW1hbmQ6IHRoZSBDYW50b24gcHJvdG9jb2wgcmVxdWlyZXMgb25lIHBhcnR5U2lnbmF0dXJlcyBlbnRyeSBwZXIgYWN0QXMgcGFydHk7IGFsbCBwYXJ0aWVzIHNoYXJlIHRoZSBzYW1lIFRTUyBrZXkgYW5kIHNpZ25hdHVyZS5cbiAgICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQ2FudG9uQ29tbWFuZCkge1xuICAgICAgICBpZiAoIXRoaXMuX2NhbnRvbkNvbW1hbmRBY3RBcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKFxuICAgICAgICAgICAgJ0NhbnRvbkNvbW1hbmQgdHJhbnNhY3Rpb24gaXMgbWlzc2luZyBhY3RBcyBwYXJ0aWVzIHJlcXVpcmVkIGZvciBwYXJ0eVNpZ25hdHVyZXMnXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IHBhcnR5IG9mIHRoaXMuX2NhbnRvbkNvbW1hbmRBY3RBcykge1xuICAgICAgICAgIGRhdGEucGFydHlTaWduYXR1cmVzPy5zaWduYXR1cmVzLnB1c2goeyBwYXJ0eSwgc2lnbmF0dXJlcyB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2lnbmVyUGFydHlJZCA9IGAke3RoaXMuX3NpZ25lckZpbmdlcnByaW50LnNsaWNlKDAsIDUpfTo6JHt0aGlzLl9zaWduZXJGaW5nZXJwcmludH1gO1xuICAgICAgICBkYXRhLnBhcnR5U2lnbmF0dXJlcz8uc2lnbmF0dXJlcy5wdXNoKHsgcGFydHk6IHNpZ25lclBhcnR5SWQsIHNpZ25hdHVyZXMgfSk7XG4gICAgICB9XG4gICAgICBkYXRhLnByZXBhcmVkVHJhbnNhY3Rpb24gPSB0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uXG4gICAgICAgID8gdGhpcy5fcHJlcGFyZUNvbW1hbmQucHJlcGFyZWRUcmFuc2FjdGlvblxuICAgICAgICA6ICcnO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkoZGF0YSkpLnRvU3RyaW5nKCdiYXNlNjQnKTtcbiAgfVxuXG4gIHRvSnNvbigpOiBUeERhdGEge1xuICAgIGNvbnN0IHJlc3VsdDogVHhEYXRhID0ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICB0eXBlOiB0aGlzLl90eXBlIGFzIFRyYW5zYWN0aW9uVHlwZSxcbiAgICAgIHNlbmRlcjogJycsXG4gICAgICByZWNlaXZlcjogJycsXG4gICAgICBhbW91bnQ6ICcnLFxuICAgIH07XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFja25vd2xlZGdlKSB7XG4gICAgICBpZiAoIXRoaXMuX2Fja25vd2xlZGdlRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0Fja25vd2xlZGdlRGF0YSBpcyBub3Qgc2V0Jyk7XG4gICAgICB9XG4gICAgICByZXN1bHQuYWNrbm93bGVkZ2VEYXRhID0gdGhpcy5fYWNrbm93bGVkZ2VEYXRhO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5Db3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWwpIHtcbiAgICAgIGlmICghdGhpcy5fY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0Nvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbERhdGEgPSB0aGlzLl9jb3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWxEYXRhO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3R5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uUmVxdWVzdCkge1xuICAgICAgaWYgKCF0aGlzLl9hbGxvY2F0aW9uUmVxdWVzdERhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdBbGxvY2F0aW9uUmVxdWVzdERhdGEgaXMgbm90IHNldCcpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LmFsbG9jYXRpb25SZXF1ZXN0RGF0YSA9IHRoaXMuX2FsbG9jYXRpb25SZXF1ZXN0RGF0YTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICh0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXIpIHtcbiAgICAgIGlmICghdGhpcy5fZW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJEYXRhKSB7XG4gICAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJEYXRhIGlzIG5vdCBzZXQnKTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdC5lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGEgPSB0aGlzLl9lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAodGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkNhbnRvbkNvbW1hbmQpIHtcbiAgICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQ/LnByZXBhcmVkVHJhbnNhY3Rpb24pIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRUcmFuc2FjdGlvbkVycm9yKCdFbXB0eSB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBjb21tYW5kU3VtbWFyeSA9IHRoaXMuYnVpbGRDYW50b25Db21tYW5kU3VtbWFyeSgpO1xuICAgICAgaWYgKGNvbW1hbmRTdW1tYXJ5KSB7XG4gICAgICAgIHJlc3VsdC5jYW50b25Db21tYW5kID0gY29tbWFuZFN1bW1hcnk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBpZiAoIXRoaXMuX3ByZXBhcmVDb21tYW5kIHx8ICF0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgSW52YWxpZFRyYW5zYWN0aW9uRXJyb3IoJ0VtcHR5IHRyYW5zYWN0aW9uIGRhdGEnKTtcbiAgICB9XG4gICAgLy8gVE9ETzogZXh0cmFjdCBvdGhlciByZXF1aXJlZCBkYXRhICh1dHhvIHVzZWQsIHJlcXVlc3QgdGltZSwgZXhlY3V0ZSBiZWZvcmUgZXRjKVxuICAgIGxldCBwYXJzZWRJbmZvOiBQcmVwYXJlZFR4blBhcnNlZEluZm87XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZEluZm8gPSB1dGlscy5wYXJzZVJhd0NhbnRvblRyYW5zYWN0aW9uRGF0YSh0aGlzLl9wcmVwYXJlQ29tbWFuZC5wcmVwYXJlZFRyYW5zYWN0aW9uLCB0aGlzLnR5cGUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcihgRmFpbGVkIHRvIHBhcnNlIHRyYW5zYWN0aW9uIGhhc2g6ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gKTtcbiAgICB9XG4gICAgcmVzdWx0LnNlbmRlciA9IHBhcnNlZEluZm8uc2VuZGVyO1xuICAgIHJlc3VsdC5yZWNlaXZlciA9IHBhcnNlZEluZm8ucmVjZWl2ZXI7XG4gICAgcmVzdWx0LmFtb3VudCA9IHBhcnNlZEluZm8uYW1vdW50O1xuICAgIGlmIChwYXJzZWRJbmZvLm1lbW9JZCkge1xuICAgICAgcmVzdWx0Lm1lbW9JZCA9IHBhcnNlZEluZm8ubWVtb0lkO1xuICAgIH1cbiAgICBpZiAocGFyc2VkSW5mby50b2tlbikge1xuICAgICAgcmVzdWx0LnRva2VuID0gcGFyc2VkSW5mby50b2tlbjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGdldCBzaWduYWJsZVBheWxvYWQoKTogQnVmZmVyIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuVHJhbnNmZXJBY2tub3dsZWRnZSB8fFxuICAgICAgdGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkNvc2lnbkRlbGVnYXRpb25Qcm9wb3NhbCB8fFxuICAgICAgdGhpcy5fdHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFsbG9jYXRpb25SZXF1ZXN0IHx8XG4gICAgICB0aGlzLl90eXBlID09PSBUcmFuc2FjdGlvblR5cGUuRW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJcbiAgICApIHtcbiAgICAgIHJldHVybiBCdWZmZXIuZnJvbShEVU1NWV9IQVNILCAnYmFzZTY0Jyk7XG4gICAgfVxuICAgIGlmICghdGhpcy5fcHJlcGFyZUNvbW1hbmQpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignRW1wdHkgdHJhbnNhY3Rpb24gZGF0YScpO1xuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyLmZyb20odGhpcy5fcHJlcGFyZUNvbW1hbmQucHJlcGFyZWRUcmFuc2FjdGlvbkhhc2gsICdiYXNlNjQnKTtcbiAgfVxuXG4gIGdldCBjYW50b25Db21tYW5kQWN0QXNQYXJ0aWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fY2FudG9uQ29tbWFuZEFjdEFzID8/IFtdO1xuICB9XG5cbiAgZnJvbVJhd1RyYW5zYWN0aW9uKHJhd1R4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZGVjb2RlZDogVHJhbnNhY3Rpb25Ccm9hZGNhc3REYXRhID0gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShyYXdUeCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgICAgdGhpcy5pZCA9IGRlY29kZWQuc3VibWlzc2lvbklkO1xuICAgICAgdGhpcy50cmFuc2FjdGlvblR5cGUgPSBUcmFuc2FjdGlvblR5cGVbZGVjb2RlZC50eFR5cGVdO1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyQWNrbm93bGVkZ2UpIHtcbiAgICAgICAgaWYgKGRlY29kZWQuYWNrbm93bGVkZ2VEYXRhKSB7XG4gICAgICAgICAgdGhpcy5hY2tub3dsZWRnZURhdGEgPSBkZWNvZGVkLmFja25vd2xlZGdlRGF0YTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5Db3NpZ25EZWxlZ2F0aW9uUHJvcG9zYWwpIHtcbiAgICAgICAgaWYgKGRlY29kZWQuY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YSkge1xuICAgICAgICAgIHRoaXMuY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YSA9IGRlY29kZWQuY29zaWduRGVsZWdhdGlvblByb3Bvc2FsRGF0YTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5BbGxvY2F0aW9uUmVxdWVzdCkge1xuICAgICAgICBpZiAoZGVjb2RlZC5hbGxvY2F0aW9uUmVxdWVzdERhdGEpIHtcbiAgICAgICAgICB0aGlzLmFsbG9jYXRpb25SZXF1ZXN0RGF0YSA9IGRlY29kZWQuYWxsb2NhdGlvblJlcXVlc3REYXRhO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gVHJhbnNhY3Rpb25UeXBlLkVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyKSB7XG4gICAgICAgIGlmIChkZWNvZGVkLmVuZEludmVzdG9yT25ib2FyZGluZ09mZmVyRGF0YSkge1xuICAgICAgICAgIHRoaXMuZW5kSW52ZXN0b3JPbmJvYXJkaW5nT2ZmZXJEYXRhID0gZGVjb2RlZC5lbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlckRhdGE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChkZWNvZGVkLnByZXBhcmVDb21tYW5kUmVzcG9uc2UpIHtcbiAgICAgICAgICB0aGlzLnByZXBhcmVDb21tYW5kID0gZGVjb2RlZC5wcmVwYXJlQ29tbWFuZFJlc3BvbnNlO1xuICAgICAgICAgIGlmICh0aGlzLnR5cGUgIT09IFRyYW5zYWN0aW9uVHlwZS5DYW50b25Db21tYW5kKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRJbnB1dHNBbmRPdXRwdXRzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcyAmJiBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnNpZ25lckZpbmdlcnByaW50ID0gZGVjb2RlZC5wYXJ0eVNpZ25hdHVyZXMuc2lnbmF0dXJlc1swXS5wYXJ0eS5zcGxpdCgnOjonKVsxXTtcbiAgICAgICAgICB0aGlzLnNpZ25hdHVyZXMgPSBkZWNvZGVkLnBhcnR5U2lnbmF0dXJlcy5zaWduYXR1cmVzWzBdLnNpZ25hdHVyZXNbMF0uc2lnbmF0dXJlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09IFRyYW5zYWN0aW9uVHlwZS5DYW50b25Db21tYW5kICYmIGRlY29kZWQucHJlcGFyZUNvbW1hbmRSZXNwb25zZT8ucHJlcGFyZWRUcmFuc2FjdGlvbikge1xuICAgICAgICAgIHRoaXMuY2FudG9uQ29tbWFuZEFjdEFzID0gdXRpbHMuZXh0cmFjdFN1Ym1pdHRlckFjdEFzKGRlY29kZWQucHJlcGFyZUNvbW1hbmRSZXNwb25zZS5wcmVwYXJlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkVHJhbnNhY3Rpb25FcnJvcignVW5hYmxlIHRvIHBhcnNlIHJhdyB0cmFuc2FjdGlvbiBkYXRhJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBpbnB1dCAmIG91dHB1dCBmaWVsZHMgZm9yIHRoZSB0cmFuc2FjdGlvblxuICAgKlxuICAgKi9cbiAgbG9hZElucHV0c0FuZE91dHB1dHMoKTogdm9pZCB7XG4gICAgY29uc3Qgb3V0cHV0czogRW50cnlbXSA9IFtdO1xuICAgIGNvbnN0IGlucHV0czogRW50cnlbXSA9IFtdO1xuICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMudG9Kc29uKCk7XG4gICAgY29uc3QgaW5wdXQ6IEVudHJ5ID0ge1xuICAgICAgYWRkcmVzczogdHhEYXRhLnNlbmRlcixcbiAgICAgIHZhbHVlOiB0eERhdGEuYW1vdW50LFxuICAgICAgY29pbjogdHhEYXRhLnRva2VuID8gdHhEYXRhLnRva2VuIDogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH07XG4gICAgY29uc3Qgb3V0cHV0OiBFbnRyeSA9IHtcbiAgICAgIGFkZHJlc3M6IHR4RGF0YS5yZWNlaXZlcixcbiAgICAgIHZhbHVlOiB0eERhdGEuYW1vdW50LFxuICAgICAgY29pbjogdHhEYXRhLnRva2VuID8gdHhEYXRhLnRva2VuIDogdGhpcy5fY29pbkNvbmZpZy5uYW1lLFxuICAgIH07XG4gICAgaW5wdXRzLnB1c2goaW5wdXQpO1xuICAgIG91dHB1dHMucHVzaChvdXRwdXQpO1xuICAgIHRoaXMuX2lucHV0cyA9IGlucHV0cztcbiAgICB0aGlzLl9vdXRwdXRzID0gb3V0cHV0cztcbiAgfVxuXG4gIGV4cGxhaW5UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uIHtcbiAgICBjb25zdCBkaXNwbGF5T3JkZXIgPSBbXG4gICAgICAnaWQnLFxuICAgICAgJ291dHB1dHMnLFxuICAgICAgJ291dHB1dEFtb3VudCcsXG4gICAgICAnaW5wdXRzJyxcbiAgICAgICdpbnB1dEFtb3VudCcsXG4gICAgICAnY2hhbmdlT3V0cHV0cycsXG4gICAgICAnY2hhbmdlQW1vdW50JyxcbiAgICAgICdmZWUnLFxuICAgICAgJ3R5cGUnLFxuICAgIF07XG4gICAgY29uc3QgaW5wdXRzOiBJVHJhbnNhY3Rpb25SZWNpcGllbnRbXSA9IFtdO1xuICAgIGNvbnN0IG91dHB1dHM6IElUcmFuc2FjdGlvblJlY2lwaWVudFtdID0gW107XG4gICAgbGV0IGlucHV0QW1vdW50ID0gJzAnO1xuICAgIGxldCBvdXRwdXRBbW91bnQgPSAnMCc7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkNvc2lnbkRlbGVnYXRpb25BY2NlcHQ6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlckFjY2VwdDpcbiAgICAgIGNhc2UgVHJhbnNhY3Rpb25UeXBlLlRyYW5zZmVyUmVqZWN0OiB7XG4gICAgICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IGlucHV0OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQgPSB7XG4gICAgICAgICAgYWRkcmVzczogdHhEYXRhLnNlbmRlcixcbiAgICAgICAgICBhbW91bnQ6IHR4RGF0YS5hbW91bnQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICh0eERhdGEudG9rZW4pIHtcbiAgICAgICAgICBpbnB1dC50b2tlbk5hbWUgPSB0eERhdGEudG9rZW47XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRzLnB1c2goaW5wdXQpO1xuICAgICAgICBpbnB1dEFtb3VudCA9IHR4RGF0YS5hbW91bnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQWxsb2NhdGlvbkFsbG9jYXRlOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuU2VuZDoge1xuICAgICAgICBjb25zdCB0eERhdGEgPSB0aGlzLnRvSnNvbigpO1xuICAgICAgICBjb25zdCBvdXRwdXQ6IElUcmFuc2FjdGlvblJlY2lwaWVudCA9IHtcbiAgICAgICAgICBhZGRyZXNzOiB0eERhdGEucmVjZWl2ZXIsXG4gICAgICAgICAgYW1vdW50OiB0eERhdGEuYW1vdW50LFxuICAgICAgICB9O1xuICAgICAgICBpZiAodHhEYXRhLm1lbW9JZCkge1xuICAgICAgICAgIG91dHB1dC5tZW1vID0gdHhEYXRhLm1lbW9JZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHhEYXRhLnRva2VuKSB7XG4gICAgICAgICAgb3V0cHV0LnRva2VuTmFtZSA9IHR4RGF0YS50b2tlbjtcbiAgICAgICAgfVxuICAgICAgICBvdXRwdXRzLnB1c2gob3V0cHV0KTtcbiAgICAgICAgb3V0cHV0QW1vdW50ID0gdHhEYXRhLmFtb3VudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2Zlck9mZmVyV2l0aGRyYXduOlxuICAgICAgY2FzZSBUcmFuc2FjdGlvblR5cGUuQWxsb2NhdGlvbkFsbG9jYXRlV2l0aGRyYXduOiB7XG4gICAgICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IGlucHV0OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQgPSB7XG4gICAgICAgICAgYWRkcmVzczogdHhEYXRhLnJlY2VpdmVyLFxuICAgICAgICAgIGFtb3VudDogdHhEYXRhLmFtb3VudCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR4RGF0YS50b2tlbikge1xuICAgICAgICAgIGlucHV0LnRva2VuTmFtZSA9IHR4RGF0YS50b2tlbjtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dHMucHVzaChpbnB1dCk7XG4gICAgICAgIGlucHV0QW1vdW50ID0gdHhEYXRhLmFtb3VudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5DYW50b25Db21tYW5kOiB7XG4gICAgICAgIGNvbnN0IGNvbW1hbmRTdW1tYXJ5ID0gdGhpcy5idWlsZENhbnRvbkNvbW1hbmRTdW1tYXJ5KCk7XG4gICAgICAgIGNvbnN0IGV4cGxhbmF0aW9uOiBUcmFuc2FjdGlvbkV4cGxhbmF0aW9uID0ge1xuICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgICAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgICAgICAgIG91dHB1dEFtb3VudDogb3V0cHV0QW1vdW50LFxuICAgICAgICAgIGlucHV0czogaW5wdXRzLFxuICAgICAgICAgIGlucHV0QW1vdW50OiBpbnB1dEFtb3VudCxcbiAgICAgICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChjb21tYW5kU3VtbWFyeSkge1xuICAgICAgICAgIGV4cGxhbmF0aW9uLmNhbnRvbkNvbW1hbmQgPSBjb21tYW5kU3VtbWFyeTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXhwbGFuYXRpb247XG4gICAgICB9XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5FbmRJbnZlc3Rvck9uYm9hcmRpbmdPZmZlcjoge1xuICAgICAgICAvLyBOb24tc2lnbmFibGUgbm90aWZpY2F0aW9uIHJlY29yZCDigJQgbm8gaW5wdXRzLCBvdXRwdXRzLCBvciBhbW91bnRzIHRvIGV4cGxhaW4uXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgZGlzcGxheU9yZGVyLFxuICAgICAgICAgIG91dHB1dHM6IFtdLFxuICAgICAgICAgIG91dHB1dEFtb3VudDogJzAnLFxuICAgICAgICAgIGlucHV0czogW10sXG4gICAgICAgICAgaW5wdXRBbW91bnQ6ICcwJyxcbiAgICAgICAgICBjaGFuZ2VPdXRwdXRzOiBbXSxcbiAgICAgICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgICAgICBmZWU6IHsgZmVlOiAnMCcgfSxcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5PbmVTdGVwUHJlQXBwcm92YWw6XG4gICAgICBjYXNlIFRyYW5zYWN0aW9uVHlwZS5UcmFuc2ZlclByZWFwcHJvdmFsQ2FuY2VsOiB7XG4gICAgICAgIC8vIEJvdGggYXJlIHplcm8tYW1vdW50IHNlbGYtc2VydmljZSBvcGVyYXRpb25zIG9uIHRoZSB3YWxsZXQncyBvd24gcHJlYXBwcm92YWwgY29udHJhY3QuXG4gICAgICAgIC8vIFNob3cgdGhlIHBhcnR5IGFkZHJlc3MgYXMgYW4gaW5wdXQgc28gY2FsbGVycyBjYW4gaWRlbnRpZnkgd2hvc2UgcHJlYXBwcm92YWwgaXMgYWZmZWN0ZWQuXG4gICAgICAgIGNvbnN0IHR4RGF0YSA9IHRoaXMudG9Kc29uKCk7XG4gICAgICAgIGNvbnN0IGlucHV0OiBJVHJhbnNhY3Rpb25SZWNpcGllbnQgPSB7XG4gICAgICAgICAgYWRkcmVzczogdHhEYXRhLnJlY2VpdmVyLFxuICAgICAgICAgIGFtb3VudDogdHhEYXRhLmFtb3VudCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR4RGF0YS50b2tlbikge1xuICAgICAgICAgIGlucHV0LnRva2VuTmFtZSA9IHR4RGF0YS50b2tlbjtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dHMucHVzaChpbnB1dCk7XG4gICAgICAgIGlucHV0QW1vdW50ID0gdHhEYXRhLmFtb3VudDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGRpc3BsYXlPcmRlcixcbiAgICAgIG91dHB1dHM6IG91dHB1dHMsXG4gICAgICBvdXRwdXRBbW91bnQ6IG91dHB1dEFtb3VudCxcbiAgICAgIGlucHV0czogaW5wdXRzLFxuICAgICAgaW5wdXRBbW91bnQ6IGlucHV0QW1vdW50LFxuICAgICAgY2hhbmdlT3V0cHV0czogW10sXG4gICAgICBjaGFuZ2VBbW91bnQ6ICcwJyxcbiAgICAgIGZlZTogeyBmZWU6ICcwJyB9LFxuICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkQ2FudG9uQ29tbWFuZFN1bW1hcnkoKTogQ2FudG9uQ29tbWFuZEV4cGxhaW4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJhd1ByZXBhcmVkID0gdGhpcy5fcHJlcGFyZUNvbW1hbmQ/LnByZXBhcmVkVHJhbnNhY3Rpb247XG4gICAgaWYgKCFyYXdQcmVwYXJlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluZm8gPSB1dGlscy5leHRyYWN0Q2FudG9uQ29tbWFuZEluZm8ocmF3UHJlcGFyZWQpO1xuICAgICAgY29uc3QgdGVtcGxhdGVJZFN0ciA9IGAke2luZm8udGVtcGxhdGVJZC5wYWNrYWdlSWR9OiR7aW5mby50ZW1wbGF0ZUlkLm1vZHVsZU5hbWV9OiR7aW5mby50ZW1wbGF0ZUlkLmVudGl0eU5hbWV9YDtcbiAgICAgIGNvbnN0IHN1bW1hcnk6IENhbnRvbkNvbW1hbmRFeHBsYWluID0ge1xuICAgICAgICBraW5kOiBpbmZvLmtpbmQsXG4gICAgICAgIHRlbXBsYXRlSWQ6IHRlbXBsYXRlSWRTdHIsXG4gICAgICAgIGFjdEFzOiB0aGlzLl9jYW50b25Db21tYW5kQWN0QXMgPz8gW10sXG4gICAgICB9O1xuICAgICAgaWYgKGluZm8uY2hvaWNlICE9PSB1bmRlZmluZWQpIHN1bW1hcnkuY2hvaWNlID0gaW5mby5jaG9pY2U7XG4gICAgICBpZiAoaW5mby5jb250cmFjdElkICE9PSB1bmRlZmluZWQgJiYgaW5mby5jb250cmFjdElkICE9PSAnJykgc3VtbWFyeS5jb250cmFjdElkID0gaW5mby5jb250cmFjdElkO1xuICAgICAgcmV0dXJuIHN1bW1hcnk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
|