@vansite/ts-sharetribe-flex-sdk 1.0.33 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/endpoints/assets/index.d.ts +47 -0
- package/dist/endpoints/auth/index.d.ts +45 -0
- package/dist/endpoints/integrationApi/AvailabilityExceptions.d.ts +66 -0
- package/dist/endpoints/integrationApi/Events.d.ts +43 -0
- package/dist/endpoints/integrationApi/Images.d.ts +36 -0
- package/dist/endpoints/integrationApi/Listings.d.ts +87 -0
- package/dist/endpoints/integrationApi/Marketplace.d.ts +30 -0
- package/dist/endpoints/integrationApi/Stock.d.ts +42 -0
- package/dist/endpoints/integrationApi/StockAdjustments.d.ts +64 -0
- package/dist/{types/endpoints/integrationApi/StockReservation.d.ts → endpoints/integrationApi/StockReservations.d.ts} +3 -4
- package/dist/endpoints/integrationApi/Transactions.d.ts +76 -0
- package/dist/endpoints/integrationApi/Users.d.ts +72 -0
- package/dist/endpoints/integrationApi/index.d.ts +58 -0
- package/dist/endpoints/marketplace/AvailabilityExceptions.d.ts +69 -0
- package/dist/endpoints/marketplace/Bookings.d.ts +45 -0
- package/dist/endpoints/marketplace/CurrentUser.d.ts +110 -0
- package/dist/endpoints/marketplace/Images.d.ts +38 -0
- package/dist/endpoints/marketplace/Listings.d.ts +52 -0
- package/dist/endpoints/marketplace/Marketplace.d.ts +33 -0
- package/dist/endpoints/marketplace/Messages.d.ts +51 -0
- package/dist/endpoints/marketplace/OwnListings.d.ts +116 -0
- package/dist/endpoints/marketplace/PasswordReset.d.ts +50 -0
- package/dist/endpoints/marketplace/ProcessTransitions.d.ts +42 -0
- package/dist/endpoints/marketplace/Reviews.d.ts +49 -0
- package/dist/endpoints/marketplace/Stock.d.ts +50 -0
- package/dist/endpoints/marketplace/StockAdjustments.d.ts +64 -0
- package/dist/endpoints/marketplace/StripeAccount.d.ts +56 -0
- package/dist/endpoints/marketplace/StripeAccountLinks.d.ts +42 -0
- package/dist/endpoints/marketplace/StripeCustomer.d.ts +62 -0
- package/dist/endpoints/marketplace/StripePersons.d.ts +37 -0
- package/dist/endpoints/marketplace/StripeSetupIntents.d.ts +42 -0
- package/dist/endpoints/marketplace/TimeSlots.d.ts +40 -0
- package/dist/endpoints/marketplace/Transactions.d.ts +89 -0
- package/dist/endpoints/marketplace/Users.d.ts +34 -0
- package/dist/endpoints/marketplace/index.d.ts +80 -0
- package/dist/index.d.ts +161 -0
- package/dist/index.js +3 -0
- package/dist/{ts-sharetribe-flex-sdk.cjs.LICENSE.txt → index.js.LICENSE.txt} +53 -41
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +3 -0
- package/dist/{ts-sharetribe-flex-sdk.js.LICENSE.txt → index.mjs.LICENSE.txt} +13 -5
- package/dist/index.mjs.map +1 -0
- package/dist/index.umd.js +3 -0
- package/dist/{ts-sharetribe-flex-sdk.mjs.LICENSE.txt → index.umd.js.LICENSE.txt} +13 -5
- package/dist/index.umd.js.map +1 -0
- package/dist/integrationSdk.d.ts +119 -0
- package/dist/sdk.d.ts +211 -0
- package/dist/sdkTypes/BigDecimal.d.ts +30 -0
- package/dist/sdkTypes/LatLng.d.ts +34 -0
- package/dist/sdkTypes/LatLngBounds.d.ts +51 -0
- package/dist/sdkTypes/Money.d.ts +28 -0
- package/dist/sdkTypes/UUID.d.ts +38 -0
- package/dist/types/apiConfigs.d.ts +104 -0
- package/dist/types/assets/index.d.ts +101 -0
- package/dist/types/authentication/index.d.ts +152 -0
- package/dist/types/axios.d.ts +10 -0
- package/dist/types/config.d.ts +99 -0
- package/dist/types/endpoints/assets/index.d.ts +22 -36
- package/dist/types/endpoints/assets/index.d.ts.map +1 -1
- package/dist/types/endpoints/auth/index.d.ts +20 -41
- package/dist/types/endpoints/auth/index.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/AvailabilityExceptions.d.ts +30 -49
- package/dist/types/endpoints/integrationApi/AvailabilityExceptions.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Events.d.ts +23 -27
- package/dist/types/endpoints/integrationApi/Events.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Images.d.ts +17 -28
- package/dist/types/endpoints/integrationApi/Images.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Listings.d.ts +42 -104
- package/dist/types/endpoints/integrationApi/Listings.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Marketplace.d.ts +12 -20
- package/dist/types/endpoints/integrationApi/Marketplace.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Stock.d.ts +22 -28
- package/dist/types/endpoints/integrationApi/Stock.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/StockAdjustments.d.ts +35 -35
- package/dist/types/endpoints/integrationApi/StockAdjustments.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/StockReservations.d.ts +43 -0
- package/dist/types/endpoints/integrationApi/StockReservations.d.ts.map +1 -0
- package/dist/types/endpoints/integrationApi/Transactions.d.ts +36 -80
- package/dist/types/endpoints/integrationApi/Transactions.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/Users.d.ts +35 -70
- package/dist/types/endpoints/integrationApi/Users.d.ts.map +1 -1
- package/dist/types/endpoints/integrationApi/index.d.ts +40 -40
- package/dist/types/endpoints/integrationApi/index.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/AvailabilityExceptions.d.ts +34 -48
- package/dist/types/endpoints/marketplace/AvailabilityExceptions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Bookings.d.ts +24 -23
- package/dist/types/endpoints/marketplace/Bookings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/CurrentUser.d.ts +54 -125
- package/dist/types/endpoints/marketplace/CurrentUser.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Images.d.ts +19 -27
- package/dist/types/endpoints/marketplace/Images.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Listings.d.ts +26 -25
- package/dist/types/endpoints/marketplace/Listings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Marketplace.d.ts +15 -19
- package/dist/types/endpoints/marketplace/Marketplace.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Messages.d.ts +24 -29
- package/dist/types/endpoints/marketplace/Messages.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/OwnListings.d.ts +55 -119
- package/dist/types/endpoints/marketplace/OwnListings.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/PasswordReset.d.ts +23 -35
- package/dist/types/endpoints/marketplace/PasswordReset.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/ProcessTransitions.d.ts +22 -22
- package/dist/types/endpoints/marketplace/ProcessTransitions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Reviews.d.ts +23 -25
- package/dist/types/endpoints/marketplace/Reviews.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Stock.d.ts +30 -26
- package/dist/types/endpoints/marketplace/Stock.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StockAdjustments.d.ts +36 -34
- package/dist/types/endpoints/marketplace/StockAdjustments.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeAccount.d.ts +28 -49
- package/dist/types/endpoints/marketplace/StripeAccount.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeAccountLinks.d.ts +22 -31
- package/dist/types/endpoints/marketplace/StripeAccountLinks.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeCustomer.d.ts +32 -46
- package/dist/types/endpoints/marketplace/StripeCustomer.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripePersons.d.ts +17 -25
- package/dist/types/endpoints/marketplace/StripePersons.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/StripeSetupIntents.d.ts +24 -24
- package/dist/types/endpoints/marketplace/StripeSetupIntents.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/TimeSlots.d.ts +20 -23
- package/dist/types/endpoints/marketplace/TimeSlots.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Transactions.d.ts +45 -81
- package/dist/types/endpoints/marketplace/Transactions.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/Users.d.ts +15 -22
- package/dist/types/endpoints/marketplace/Users.d.ts.map +1 -1
- package/dist/types/endpoints/marketplace/index.d.ts +50 -40
- package/dist/types/endpoints/marketplace/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +15 -30
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/integration/events.d.ts +87 -0
- package/dist/types/integrationSdk.d.ts +4 -5
- package/dist/types/integrationSdk.d.ts.map +1 -1
- package/dist/types/marketplace/availabilityExceptions.d.ts +99 -0
- package/dist/types/marketplace/availabilityPlan.d.ts +17 -0
- package/dist/types/marketplace/bookings.d.ts +80 -0
- package/dist/types/marketplace/currentUser.d.ts +202 -0
- package/dist/types/marketplace/images.d.ts +65 -0
- package/dist/types/marketplace/listings.d.ts +169 -0
- package/dist/types/marketplace/marketplace.d.ts +30 -0
- package/dist/types/marketplace/messages.d.ts +87 -0
- package/dist/types/marketplace/ownListings.d.ts +155 -0
- package/dist/types/marketplace/passwordReset.d.ts +54 -0
- package/dist/types/marketplace/processTransitions.d.ts +56 -0
- package/dist/types/marketplace/reviews.d.ts +108 -0
- package/dist/types/marketplace/stock.d.ts +45 -0
- package/dist/types/marketplace/stockAdjustment.d.ts +97 -0
- package/dist/types/marketplace/stockReservations.d.ts +89 -0
- package/dist/types/marketplace/stripeAccount.d.ts +67 -0
- package/dist/types/marketplace/stripeAccountLinks.d.ts +55 -0
- package/dist/types/marketplace/stripeCustomer.d.ts +94 -0
- package/dist/types/marketplace/stripePaymentMethod.d.ts +21 -0
- package/dist/types/marketplace/stripePersons.d.ts +48 -0
- package/dist/types/marketplace/stripeSetupIntents.d.ts +48 -0
- package/dist/types/marketplace/timeSlots.d.ts +51 -0
- package/dist/types/marketplace/transactions.d.ts +200 -0
- package/dist/types/marketplace/user.d.ts +200 -0
- package/dist/types/sdk-types.d.ts +10 -0
- package/dist/types/sdk.d.ts +6 -7
- package/dist/types/sdk.d.ts.map +1 -1
- package/dist/types/sdkTypes/BigDecimal.d.ts +1 -1
- package/dist/types/sdkTypes/BigDecimal.d.ts.map +1 -1
- package/dist/types/sdkTypes/LatLng.d.ts +1 -1
- package/dist/types/sdkTypes/LatLng.d.ts.map +1 -1
- package/dist/types/sdkTypes/LatLngBounds.d.ts +1 -1
- package/dist/types/sdkTypes/LatLngBounds.d.ts.map +1 -1
- package/dist/types/sdkTypes/Money.d.ts +1 -1
- package/dist/types/sdkTypes/Money.d.ts.map +1 -1
- package/dist/types/sdkTypes/UUID.d.ts +1 -1
- package/dist/types/sdkTypes/UUID.d.ts.map +1 -1
- package/dist/types/sharetribe.d.ts +227 -0
- package/dist/types/store.d.ts +22 -0
- package/dist/types/types/apiConfigs.d.ts.map +1 -1
- package/dist/types/types/assets/index.d.ts +74 -36
- package/dist/types/types/assets/index.d.ts.map +1 -1
- package/dist/types/types/authentication/index.d.ts +111 -60
- package/dist/types/types/authentication/index.d.ts.map +1 -1
- package/dist/types/types/axios.d.ts.map +1 -1
- package/dist/types/types/config.d.ts +1 -39
- package/dist/types/types/config.d.ts.map +1 -1
- package/dist/types/types/integration/events.d.ts +52 -20
- package/dist/types/types/integration/events.d.ts.map +1 -1
- package/dist/types/types/marketplace/availabilityExceptions.d.ts +59 -16
- package/dist/types/types/marketplace/availabilityExceptions.d.ts.map +1 -1
- package/dist/types/types/marketplace/availabilityPlan.d.ts +18 -0
- package/dist/types/types/marketplace/availabilityPlan.d.ts.map +1 -0
- package/dist/types/types/marketplace/bookings.d.ts +48 -14
- package/dist/types/types/marketplace/bookings.d.ts.map +1 -1
- package/dist/types/types/marketplace/currentUser.d.ts +99 -55
- package/dist/types/types/marketplace/currentUser.d.ts.map +1 -1
- package/dist/types/types/marketplace/images.d.ts +40 -14
- package/dist/types/types/marketplace/images.d.ts.map +1 -1
- package/dist/types/types/marketplace/listings.d.ts +96 -66
- package/dist/types/types/marketplace/listings.d.ts.map +1 -1
- package/dist/types/types/marketplace/marketplace.d.ts +16 -6
- package/dist/types/types/marketplace/marketplace.d.ts.map +1 -1
- package/dist/types/types/marketplace/messages.d.ts +53 -15
- package/dist/types/types/marketplace/messages.d.ts.map +1 -1
- package/dist/types/types/marketplace/ownListings.d.ts +92 -65
- package/dist/types/types/marketplace/ownListings.d.ts.map +1 -1
- package/dist/types/types/marketplace/passwordReset.d.ts +32 -9
- package/dist/types/types/marketplace/passwordReset.d.ts.map +1 -1
- package/dist/types/types/marketplace/processTransitions.d.ts +33 -14
- package/dist/types/types/marketplace/processTransitions.d.ts.map +1 -1
- package/dist/types/types/marketplace/reviews.d.ts +72 -23
- package/dist/types/types/marketplace/reviews.d.ts.map +1 -1
- package/dist/types/types/marketplace/stock.d.ts +23 -6
- package/dist/types/types/marketplace/stock.d.ts.map +1 -1
- package/dist/types/types/marketplace/stockAdjustment.d.ts +60 -14
- package/dist/types/types/marketplace/stockAdjustment.d.ts.map +1 -1
- package/dist/types/types/marketplace/stockReservations.d.ts +59 -14
- package/dist/types/types/marketplace/stockReservations.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeAccount.d.ts +28 -5
- package/dist/types/types/marketplace/stripeAccount.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeAccountLinks.d.ts +26 -6
- package/dist/types/types/marketplace/stripeAccountLinks.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeCustomer.d.ts +60 -13
- package/dist/types/types/marketplace/stripeCustomer.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripePaymentMethod.d.ts +1 -2
- package/dist/types/types/marketplace/stripePaymentMethod.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripePersons.d.ts +17 -15
- package/dist/types/types/marketplace/stripePersons.d.ts.map +1 -1
- package/dist/types/types/marketplace/stripeSetupIntents.d.ts +16 -14
- package/dist/types/types/marketplace/stripeSetupIntents.d.ts.map +1 -1
- package/dist/types/types/marketplace/timeSlots.d.ts +13 -15
- package/dist/types/types/marketplace/timeSlots.d.ts.map +1 -1
- package/dist/types/types/marketplace/transactions.d.ts +77 -83
- package/dist/types/types/marketplace/transactions.d.ts.map +1 -1
- package/dist/types/types/marketplace/user.d.ts +85 -64
- package/dist/types/types/marketplace/user.d.ts.map +1 -1
- package/dist/types/types/sharetribe.d.ts +130 -92
- package/dist/types/types/sharetribe.d.ts.map +1 -1
- package/dist/types/types/store.d.ts +3 -14
- package/dist/types/types/store.d.ts.map +1 -1
- package/dist/types/utils/apis.d.ts +1 -1
- package/dist/types/utils/apis.d.ts.map +1 -1
- package/dist/types/utils/config.d.ts.map +1 -1
- package/dist/types/utils/convert-types.d.ts.map +1 -1
- package/dist/types/utils/parameter-serializer.d.ts.map +1 -1
- package/dist/types/utils/prepare-axios-instance.d.ts +1 -1
- package/dist/types/utils/prepare-axios-instance.d.ts.map +1 -1
- package/dist/types/utils/stores/BrowserStore.d.ts +1 -2
- package/dist/types/utils/stores/BrowserStore.d.ts.map +1 -1
- package/dist/types/utils/stores/ExpressStore.d.ts +6 -7
- package/dist/types/utils/stores/ExpressStore.d.ts.map +1 -1
- package/dist/types/utils/stores/MemoryStore.d.ts +1 -2
- package/dist/types/utils/stores/MemoryStore.d.ts.map +1 -1
- package/dist/types/utils/stores/store.d.ts.map +1 -1
- package/dist/types/utils/transit.d.ts +1 -1
- package/dist/types/utils/transit.d.ts.map +1 -1
- package/dist/types/utils/util.d.ts +2 -2
- package/dist/types/utils/util.d.ts.map +1 -1
- package/dist/utils/apis.d.ts +8 -0
- package/dist/utils/config.d.ts +32 -0
- package/dist/utils/convert-types.d.ts +13 -0
- package/dist/utils/parameter-serializer.d.ts +23 -0
- package/dist/utils/prepare-axios-instance.d.ts +14 -0
- package/dist/utils/stores/BrowserStore.d.ts +37 -0
- package/dist/utils/stores/ExpressStore.d.ts +48 -0
- package/dist/utils/stores/MemoryStore.d.ts +23 -0
- package/dist/utils/stores/store.d.ts +8 -0
- package/dist/utils/transit.d.ts +28 -0
- package/dist/utils/util.d.ts +15 -0
- package/package.json +18 -17
- package/dist/ts-sharetribe-flex-sdk.cjs +0 -3
- package/dist/ts-sharetribe-flex-sdk.cjs.map +0 -1
- package/dist/ts-sharetribe-flex-sdk.js +0 -3
- package/dist/ts-sharetribe-flex-sdk.js.map +0 -1
- package/dist/ts-sharetribe-flex-sdk.mjs +0 -3
- package/dist/ts-sharetribe-flex-sdk.mjs.map +0 -1
- package/dist/types/endpoints/integrationApi/StockReservation.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/auth/index.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/serialOrdered.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/throttle.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Events.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/defer.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/round.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/get-intrinsic/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/spread.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/index.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-define-property/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/toFormData.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/uuid/dist/esm-node/rng.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/debug/src/common.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/form-data/lib/form_data.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StripeCustomer.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Messages.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/combined-stream/lib/combined_stream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/defaults/transitional.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"os\"","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/ProcessTransitions.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/is-retry-allowed/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/eval.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/has-symbols/shams.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/form-data/lib/populate.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/integrationSdk.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdkTypes/LatLngBounds.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/platform/node/classes/URLSearchParams.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/abs.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/trackStream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios-retry/dist/esm/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"tty\"","webpack://@vansite/ts-sharetribe-flex-sdk/external commonjs \"https\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/serial.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/bind.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/assets/index.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/stores/BrowserStore.ts","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"stream\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/async.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/platform/node/classes/FormData.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StripeAccountLinks.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/config.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/prepare-axios-instance.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdk.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Stock.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/platform/common/utils.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"assert\"","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StripeSetupIntents.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/composeSignals.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/PasswordReset.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdkTypes/BigDecimal.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/sign.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"zlib\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/call-bind-apply-helpers/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/follow-redirects/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/stores/MemoryStore.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/StockReservations.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/validator.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/transit-js/transit.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/stores/store.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/get-proto/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Listings.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/platform/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StripePersons.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/settle.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/CurrentUser.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/speedometer.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/buildURL.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Marketplace.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/has-symbols/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/AxiosError.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"events\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/isNaN.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Bookings.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/abort.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/mergeConfig.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/AxiosTransformStream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/cancel/CancelToken.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/AvailabilityExceptions.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/OwnListings.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/index.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/uri.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"http2\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/debug/src/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/gopd/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/AvailabilityExceptions.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Stock.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/pow.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/has-flag/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/Axios.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/defaults/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/debug/src/node.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/mime-types/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/fromDataURI.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/max.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/stores/ExpressStore.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/adapters/adapters.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/terminator.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/uuid/dist/esm-node/v4.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/proxy-from-env/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/gopd/gOPD.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/ms/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Users.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/function-bind/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/combineURLs.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"path\"","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"crypto\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/adapters/xhr.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"url\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/readBlob.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/dunder-proto/get.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/utils.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/InterceptorManager.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Users.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/StockAdjustments.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Transactions.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/follow-redirects/debug.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/util.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/axios.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/mime-db/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Listings.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/uuid/dist/esm-node/stringify.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/supports-color/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Images.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/debug/src/browser.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/apis.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StripeAccount.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/adapters/fetch.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/min.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/iterate.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/types/sharetribe.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/syntax.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/delayed-stream/lib/delayed_stream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdkTypes/UUID.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Images.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/buildFullPath.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/integrationApi/Marketplace.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/convert-types.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/cancel/CanceledError.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/transit.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/dispatchRequest.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/parallel.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/uuid/dist/esm-node/native.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Transactions.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/adapters/http.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/math-intrinsics/floor.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/js-cookie/dist/js.cookie.mjs","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/TimeSlots.ts","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"util\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/has-tostringtag/shams.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/platform/node/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/core/transformData.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/utils/parameter-serializer.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/callbackify.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/range.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/function-bind/implementation.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdkTypes/Money.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/asynckit/lib/state.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/Reviews.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/ref.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/cancel/isCancel.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-set-tostringtag/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-object-atoms/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/formDataToStream.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/es-errors/type.js","webpack://@vansite/ts-sharetribe-flex-sdk/external commonjs \"http\"","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/helpers/cookies.js","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/axios/lib/env/data.js","webpack://@vansite/ts-sharetribe-flex-sdk/external node-commonjs \"fs\"","webpack://@vansite/ts-sharetribe-flex-sdk/./src/endpoints/marketplace/StockAdjustments.ts","webpack://@vansite/ts-sharetribe-flex-sdk/./node_modules/hasown/index.js","webpack://@vansite/ts-sharetribe-flex-sdk/./src/sdkTypes/LatLng.ts","webpack://@vansite/ts-sharetribe-flex-sdk/webpack/bootstrap","webpack://@vansite/ts-sharetribe-flex-sdk/webpack/runtime/compat get default export","webpack://@vansite/ts-sharetribe-flex-sdk/webpack/runtime/define property getters","webpack://@vansite/ts-sharetribe-flex-sdk/webpack/runtime/hasOwnProperty shorthand","webpack://@vansite/ts-sharetribe-flex-sdk/webpack/runtime/make namespace object","webpack://@vansite/ts-sharetribe-flex-sdk/./src/index.ts"],"sourcesContent":["/**\n * @fileoverview Client for Sharetribe Authentication API (OAuth2)\n *\n * @see https://www.sharetribe.com/api-reference/authentication.html\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\nimport IntegrationSdk from \"../../integrationSdk\";\nimport {\n AuthWithIdpParameter,\n RevokeResponse,\n TokenDetails,\n TokenRequest,\n TokenResponse,\n UserTokenRequest,\n} from \"../../types\";\n\n/**\n * Encodes object as application/x-www-form-urlencoded\n */\nexport const urlEncodeFormData = (obj: Record<string, any> | null): string => {\n if (!obj) return \"\";\n\n return Object.entries(obj)\n .filter(([, v]) => v !== null && v !== undefined)\n .map(([k, v]) => {\n const key = encodeURIComponent(k);\n const value = Array.isArray(v)\n ? encodeURIComponent(v.join(\",\"))\n : typeof v === \"object\"\n ? encodeURIComponent(JSON.stringify(v))\n : encodeURIComponent(String(v));\n return `${key}=${value}`;\n })\n .join(\"&\");\n};\n\nclass AuthenticationApi {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(sdk: SharetribeSdk | IntegrationSdk) {\n const config = sdk.apisConfigs.auth(sdk.sdkConfig);\n this.endpoint = config.baseUrl;\n this.headers = {...config.headers, \"Content-Type\": \"application/x-www-form-urlencoded\"};\n this.axios = sdk.axios;\n }\n\n /**\n * Request a token using any supported OAuth2 grant\n *\n * @template T - Token request type\n * @param {T} params - OAuth2 token request parameters\n * @returns {Promise<AxiosResponse<TokenResponse<T>>>}\n */\n async token<T extends TokenRequest>(\n params: T\n ): Promise<AxiosResponse<TokenResponse<T>>> {\n return this.axios.post(\n `${this.endpoint}/token`,\n urlEncodeFormData(params as Record<string, any>),\n {headers: this.headers}\n );\n }\n\n /**\n * Authenticate via external Identity Provider\n *\n * @param {AuthWithIdpParameter} params\n * @returns {Promise<AxiosResponse<TokenResponse<UserTokenRequest>>>}\n */\n async authWithIdp(\n params: AuthWithIdpParameter\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n return this.axios.post(\n `${this.endpoint}/auth_with_idp`,\n urlEncodeFormData(params),\n {headers: this.headers}\n );\n }\n\n /**\n * Revoke a refresh token\n *\n * @param {string} token - Refresh token to revoke\n */\n async revoke(token: string): Promise<AxiosResponse<RevokeResponse>> {\n return this.axios.post(\n `${this.endpoint}/revoke`,\n urlEncodeFormData({token}),\n {headers: this.headers}\n );\n }\n\n /**\n * Introspect current access token\n */\n async details(): Promise<AxiosResponse<TokenDetails>> {\n return this.axios.get(`${this.endpoint}/details`, {\n headers: this.headers,\n });\n }\n}\n\nexport default AuthenticationApi;","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = serialOrdered;\n// sorting helpers\nmodule.exports.ascending = ascending;\nmodule.exports.descending = descending;\n\n/**\n * Runs iterator over provided sorted array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} sortMethod - custom sort function\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serialOrdered(list, iterator, sortMethod, callback)\n{\n var state = initState(list, sortMethod);\n\n iterate(list, iterator, state, function iteratorHandler(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n state.index++;\n\n // are we there yet?\n if (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, iteratorHandler);\n return;\n }\n\n // done here\n callback(null, state.results);\n });\n\n return terminator.bind(state, callback);\n}\n\n/*\n * -- Sort methods\n */\n\n/**\n * sort helper to sort array elements in ascending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction ascending(a, b)\n{\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/**\n * sort helper to sort array elements in descending order\n *\n * @param {mixed} a - an item to compare\n * @param {mixed} b - an item to compare\n * @returns {number} - comparison result\n */\nfunction descending(a, b)\n{\n return -1 * ascending(a, b);\n}\n","/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n }\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs)\n }, threshold - passed);\n }\n }\n }\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nexport default throttle;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","/**\n * @fileoverview Client for querying events in the Sharetribe Integration API.\n *\n * The Events API provides a stream of marketplace events (e.g. listing created, transaction transitioned)\n * for building integrations, webhooks, analytics, or real-time features.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#events\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {EventsQueryParameter, EventsResponse} from \"../../types\";\n\n/**\n * Events API client\n */\nclass Events {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/events`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query marketplace events\n *\n * @template P\n * @param {P & EventsQueryParameter} params - Query filters and pagination\n * @returns {Promise<AxiosResponse<EventsResponse<\"query\">>>}\n *\n * @example\n * // Fetch events after a specific sequence ID\n * const response = await sdk.events.query({\n * startAfterSequenceId: 12345,\n * eventTypes: [\"transaction/initiated\", \"booking/created\"]\n * });\n *\n * @example\n * // Fetch recent events for a specific listing\n * await sdk.events.query({\n * resourceId: \"listing-abc-123\",\n * createdAtStart: \"2025-01-01T00:00:00Z\"\n * });\n */\n async query<P extends EventsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<EventsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Events;","module.exports = defer;\n\n/**\n * Runs provided function on next iteration of the event loop\n *\n * @param {function} fn - function to run\n */\nfunction defer(fn)\n{\n var nextTick = typeof setImmediate == 'function'\n ? setImmediate\n : (\n typeof process == 'object' && typeof process.nextTick == 'function'\n ? process.nextTick\n : null\n );\n\n if (nextTick)\n {\n nextTick(fn);\n }\n else\n {\n setTimeout(fn, 0);\n }\n}\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","/**\n * @fileoverview Client for the Sharetribe Integration API.\n *\n * This is the main entry point for server-side or trusted integrations.\n * It provides access to all privileged endpoints: availability exceptions, events,\n * image uploads, stock management, transactions, users, and more.\n *\n * Requires a client secret for authentication.\n *\n * @example\n * const sdk = new IntegrationSdk({\n * clientId: \"abc123\",\n * clientSecret: \"super-secret\",\n * baseUrl: \"https://api.sharetribe.com\"\n * });\n *\n * // Query recent events\n * const { data: events } = await sdk.integration.events.query({\n * createdAtStart: \"2025-01-01T00:00:00Z\"\n * });\n */\n\nimport type {AxiosInstance} from \"axios\";\nimport IntegrationSdk from \"../../integrationSdk\";\n\nimport AvailabilityExceptions from \"./AvailabilityExceptions\";\nimport Events from \"./Events\";\nimport Images from \"./Images\";\nimport Listings from \"./Listings\";\nimport Marketplace from \"./Marketplace\";\nimport Stock from \"./Stock\";\nimport StockAdjustments from \"./StockAdjustments\";\nimport StockReservations from \"./StockReservations\";\nimport Transactions from \"./Transactions\";\nimport Users from \"./Users\";\n\n/**\n * Integration API client\n */\nclass IntegrationApi {\n /** Axios instance with auth headers */\n readonly axios: AxiosInstance;\n\n /** Base URL for all Integration API endpoints */\n readonly endpoint: string;\n\n /** Default headers (includes Authorization) */\n readonly headers: Record<string, string>;\n\n /** Most endpoints require authentication */\n readonly authRequired = true;\n\n // Sub-clients\n readonly availabilityExceptions: AvailabilityExceptions;\n readonly events: Events;\n readonly images: Images;\n readonly listings: Listings;\n readonly marketplace: Marketplace;\n readonly stock: Stock;\n readonly stockAdjustments: StockAdjustments;\n readonly stockReservations: StockReservations;\n readonly transactions: Transactions;\n readonly users: Users;\n\n constructor(sdk: IntegrationSdk) {\n const config = sdk.apisConfigs.integrationApi(sdk.sdkConfig);\n\n this.axios = sdk.axios;\n this.endpoint = config.baseUrl;\n this.headers = config.headers;\n\n // Initialize all sub-APIs\n this.availabilityExceptions = new AvailabilityExceptions(this);\n this.events = new Events(this);\n this.images = new Images(this);\n this.listings = new Listings(this);\n this.marketplace = new Marketplace(this);\n this.stock = new Stock(this);\n this.stockAdjustments = new StockAdjustments(this);\n this.stockReservations = new StockReservations(this);\n this.transactions = new Transactions(this);\n this.users = new Users(this);\n }\n}\n\nexport default IntegrationApi;","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","import crypto from 'crypto';\nconst rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate\n\nlet poolPtr = rnds8Pool.length;\nexport default function rng() {\n if (poolPtr > rnds8Pool.length - 16) {\n crypto.randomFillSync(rnds8Pool);\n poolPtr = 0;\n }\n\n return rnds8Pool.slice(poolPtr, poolPtr += 16);\n}","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '')\n\t\t\t.trim()\n\t\t\t.replace(/\\s+/g, ',')\n\t\t\t.split(',')\n\t\t\t.filter(Boolean);\n\n\t\tfor (const ns of split) {\n\t\t\tif (ns[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(ns.slice(1));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(ns);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Checks if the given string matches a namespace template, honoring\n\t * asterisks as wildcards.\n\t *\n\t * @param {String} search\n\t * @param {String} template\n\t * @return {Boolean}\n\t */\n\tfunction matchesTemplate(search, template) {\n\t\tlet searchIndex = 0;\n\t\tlet templateIndex = 0;\n\t\tlet starIndex = -1;\n\t\tlet matchIndex = 0;\n\n\t\twhile (searchIndex < search.length) {\n\t\t\tif (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === '*')) {\n\t\t\t\t// Match character or proceed with wildcard\n\t\t\t\tif (template[templateIndex] === '*') {\n\t\t\t\t\tstarIndex = templateIndex;\n\t\t\t\t\tmatchIndex = searchIndex;\n\t\t\t\t\ttemplateIndex++; // Skip the '*'\n\t\t\t\t} else {\n\t\t\t\t\tsearchIndex++;\n\t\t\t\t\ttemplateIndex++;\n\t\t\t\t}\n\t\t\t} else if (starIndex !== -1) { // eslint-disable-line no-negated-condition\n\t\t\t\t// Backtrack to the last '*' and try to match more characters\n\t\t\t\ttemplateIndex = starIndex + 1;\n\t\t\t\tmatchIndex++;\n\t\t\t\tsearchIndex = matchIndex;\n\t\t\t} else {\n\t\t\t\treturn false; // No match\n\t\t\t}\n\t\t}\n\n\t\t// Handle trailing '*' in template\n\t\twhile (templateIndex < template.length && template[templateIndex] === '*') {\n\t\t\ttemplateIndex++;\n\t\t}\n\n\t\treturn templateIndex === template.length;\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names,\n\t\t\t...createDebug.skips.map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tfor (const skip of createDebug.skips) {\n\t\t\tif (matchesTemplate(name, skip)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (const ns of createDebug.names) {\n\t\t\tif (matchesTemplate(name, ns)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","'use strict';\n\nvar CombinedStream = require('combined-stream');\nvar util = require('util');\nvar path = require('path');\nvar http = require('http');\nvar https = require('https');\nvar parseUrl = require('url').parse;\nvar fs = require('fs');\nvar Stream = require('stream').Stream;\nvar crypto = require('crypto');\nvar mime = require('mime-types');\nvar asynckit = require('asynckit');\nvar setToStringTag = require('es-set-tostringtag');\nvar hasOwn = require('hasown');\nvar populate = require('./populate.js');\n\n/**\n * Create readable \"multipart/form-data\" streams.\n * Can be used to submit forms\n * and file uploads to other web applications.\n *\n * @constructor\n * @param {object} options - Properties to be added/overriden for FormData and CombinedStream\n */\nfunction FormData(options) {\n if (!(this instanceof FormData)) {\n return new FormData(options);\n }\n\n this._overheadLength = 0;\n this._valueLength = 0;\n this._valuesToMeasure = [];\n\n CombinedStream.call(this);\n\n options = options || {}; // eslint-disable-line no-param-reassign\n for (var option in options) { // eslint-disable-line no-restricted-syntax\n this[option] = options[option];\n }\n}\n\n// make it a Stream\nutil.inherits(FormData, CombinedStream);\n\nFormData.LINE_BREAK = '\\r\\n';\nFormData.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n\nFormData.prototype.append = function (field, value, options) {\n options = options || {}; // eslint-disable-line no-param-reassign\n\n // allow filename as single option\n if (typeof options === 'string') {\n options = { filename: options }; // eslint-disable-line no-param-reassign\n }\n\n var append = CombinedStream.prototype.append.bind(this);\n\n // all that streamy business can't handle numbers\n if (typeof value === 'number' || value == null) {\n value = String(value); // eslint-disable-line no-param-reassign\n }\n\n // https://github.com/felixge/node-form-data/issues/38\n if (Array.isArray(value)) {\n /*\n * Please convert your array into string\n * the way web server expects it\n */\n this._error(new Error('Arrays are not supported.'));\n return;\n }\n\n var header = this._multiPartHeader(field, value, options);\n var footer = this._multiPartFooter();\n\n append(header);\n append(value);\n append(footer);\n\n // pass along options.knownLength\n this._trackLength(header, value, options);\n};\n\nFormData.prototype._trackLength = function (header, value, options) {\n var valueLength = 0;\n\n /*\n * used w/ getLengthSync(), when length is known.\n * e.g. for streaming directly from a remote server,\n * w/ a known file a size, and not wanting to wait for\n * incoming file to finish to get its size.\n */\n if (options.knownLength != null) {\n valueLength += Number(options.knownLength);\n } else if (Buffer.isBuffer(value)) {\n valueLength = value.length;\n } else if (typeof value === 'string') {\n valueLength = Buffer.byteLength(value);\n }\n\n this._valueLength += valueLength;\n\n // @check why add CRLF? does this account for custom/multiple CRLFs?\n this._overheadLength += Buffer.byteLength(header) + FormData.LINE_BREAK.length;\n\n // empty or either doesn't have path or not an http response or not a stream\n if (!value || (!value.path && !(value.readable && hasOwn(value, 'httpVersion')) && !(value instanceof Stream))) {\n return;\n }\n\n // no need to bother with the length\n if (!options.knownLength) {\n this._valuesToMeasure.push(value);\n }\n};\n\nFormData.prototype._lengthRetriever = function (value, callback) {\n if (hasOwn(value, 'fd')) {\n // take read range into a account\n // `end` = Infinity –> read file till the end\n //\n // TODO: Looks like there is bug in Node fs.createReadStream\n // it doesn't respect `end` options without `start` options\n // Fix it when node fixes it.\n // https://github.com/joyent/node/issues/7819\n if (value.end != undefined && value.end != Infinity && value.start != undefined) {\n // when end specified\n // no need to calculate range\n // inclusive, starts with 0\n callback(null, value.end + 1 - (value.start ? value.start : 0)); // eslint-disable-line callback-return\n\n // not that fast snoopy\n } else {\n // still need to fetch file size from fs\n fs.stat(value.path, function (err, stat) {\n if (err) {\n callback(err);\n return;\n }\n\n // update final size based on the range options\n var fileSize = stat.size - (value.start ? value.start : 0);\n callback(null, fileSize);\n });\n }\n\n // or http response\n } else if (hasOwn(value, 'httpVersion')) {\n callback(null, Number(value.headers['content-length'])); // eslint-disable-line callback-return\n\n // or request stream http://github.com/mikeal/request\n } else if (hasOwn(value, 'httpModule')) {\n // wait till response come back\n value.on('response', function (response) {\n value.pause();\n callback(null, Number(response.headers['content-length']));\n });\n value.resume();\n\n // something else\n } else {\n callback('Unknown stream'); // eslint-disable-line callback-return\n }\n};\n\nFormData.prototype._multiPartHeader = function (field, value, options) {\n /*\n * custom header specified (as string)?\n * it becomes responsible for boundary\n * (e.g. to handle extra CRLFs on .NET servers)\n */\n if (typeof options.header === 'string') {\n return options.header;\n }\n\n var contentDisposition = this._getContentDisposition(value, options);\n var contentType = this._getContentType(value, options);\n\n var contents = '';\n var headers = {\n // add custom disposition as third element or keep it two elements if not\n 'Content-Disposition': ['form-data', 'name=\"' + field + '\"'].concat(contentDisposition || []),\n // if no content type. allow it to be empty array\n 'Content-Type': [].concat(contentType || [])\n };\n\n // allow custom headers.\n if (typeof options.header === 'object') {\n populate(headers, options.header);\n }\n\n var header;\n for (var prop in headers) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(headers, prop)) {\n header = headers[prop];\n\n // skip nullish headers.\n if (header == null) {\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n }\n\n // convert all headers to arrays.\n if (!Array.isArray(header)) {\n header = [header];\n }\n\n // add non-empty headers.\n if (header.length) {\n contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;\n }\n }\n }\n\n return '--' + this.getBoundary() + FormData.LINE_BREAK + contents + FormData.LINE_BREAK;\n};\n\nFormData.prototype._getContentDisposition = function (value, options) { // eslint-disable-line consistent-return\n var filename;\n\n if (typeof options.filepath === 'string') {\n // custom filepath for relative paths\n filename = path.normalize(options.filepath).replace(/\\\\/g, '/');\n } else if (options.filename || (value && (value.name || value.path))) {\n /*\n * custom filename take precedence\n * formidable and the browser add a name property\n * fs- and request- streams have path property\n */\n filename = path.basename(options.filename || (value && (value.name || value.path)));\n } else if (value && value.readable && hasOwn(value, 'httpVersion')) {\n // or try http response\n filename = path.basename(value.client._httpMessage.path || '');\n }\n\n if (filename) {\n return 'filename=\"' + filename + '\"';\n }\n};\n\nFormData.prototype._getContentType = function (value, options) {\n // use custom content-type above all\n var contentType = options.contentType;\n\n // or try `name` from formidable, browser\n if (!contentType && value && value.name) {\n contentType = mime.lookup(value.name);\n }\n\n // or try `path` from fs-, request- streams\n if (!contentType && value && value.path) {\n contentType = mime.lookup(value.path);\n }\n\n // or if it's http-reponse\n if (!contentType && value && value.readable && hasOwn(value, 'httpVersion')) {\n contentType = value.headers['content-type'];\n }\n\n // or guess it from the filepath or filename\n if (!contentType && (options.filepath || options.filename)) {\n contentType = mime.lookup(options.filepath || options.filename);\n }\n\n // fallback to the default content type if `value` is not simple value\n if (!contentType && value && typeof value === 'object') {\n contentType = FormData.DEFAULT_CONTENT_TYPE;\n }\n\n return contentType;\n};\n\nFormData.prototype._multiPartFooter = function () {\n return function (next) {\n var footer = FormData.LINE_BREAK;\n\n var lastPart = this._streams.length === 0;\n if (lastPart) {\n footer += this._lastBoundary();\n }\n\n next(footer);\n }.bind(this);\n};\n\nFormData.prototype._lastBoundary = function () {\n return '--' + this.getBoundary() + '--' + FormData.LINE_BREAK;\n};\n\nFormData.prototype.getHeaders = function (userHeaders) {\n var header;\n var formHeaders = {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary()\n };\n\n for (header in userHeaders) { // eslint-disable-line no-restricted-syntax\n if (hasOwn(userHeaders, header)) {\n formHeaders[header.toLowerCase()] = userHeaders[header];\n }\n }\n\n return formHeaders;\n};\n\nFormData.prototype.setBoundary = function (boundary) {\n if (typeof boundary !== 'string') {\n throw new TypeError('FormData boundary must be a string');\n }\n this._boundary = boundary;\n};\n\nFormData.prototype.getBoundary = function () {\n if (!this._boundary) {\n this._generateBoundary();\n }\n\n return this._boundary;\n};\n\nFormData.prototype.getBuffer = function () {\n var dataBuffer = new Buffer.alloc(0); // eslint-disable-line new-cap\n var boundary = this.getBoundary();\n\n // Create the form content. Add Line breaks to the end of data.\n for (var i = 0, len = this._streams.length; i < len; i++) {\n if (typeof this._streams[i] !== 'function') {\n // Add content to the buffer.\n if (Buffer.isBuffer(this._streams[i])) {\n dataBuffer = Buffer.concat([dataBuffer, this._streams[i]]);\n } else {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(this._streams[i])]);\n }\n\n // Add break after content.\n if (typeof this._streams[i] !== 'string' || this._streams[i].substring(2, boundary.length + 2) !== boundary) {\n dataBuffer = Buffer.concat([dataBuffer, Buffer.from(FormData.LINE_BREAK)]);\n }\n }\n }\n\n // Add the footer and return the Buffer object.\n return Buffer.concat([dataBuffer, Buffer.from(this._lastBoundary())]);\n};\n\nFormData.prototype._generateBoundary = function () {\n // This generates a 50 character boundary similar to those used by Firefox.\n\n // They are optimized for boyer-moore parsing.\n this._boundary = '--------------------------' + crypto.randomBytes(12).toString('hex');\n};\n\n// Note: getLengthSync DOESN'T calculate streams length\n// As workaround one can calculate file size manually and add it as knownLength option\nFormData.prototype.getLengthSync = function () {\n var knownLength = this._overheadLength + this._valueLength;\n\n // Don't get confused, there are 3 \"internal\" streams for each keyval pair so it basically checks if there is any value added to the form\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n // https://github.com/form-data/form-data/issues/40\n if (!this.hasKnownLength()) {\n /*\n * Some async length retrievers are present\n * therefore synchronous length calculation is false.\n * Please use getLength(callback) to get proper length\n */\n this._error(new Error('Cannot calculate proper length in synchronous way.'));\n }\n\n return knownLength;\n};\n\n// Public API to check if length of added values is known\n// https://github.com/form-data/form-data/issues/196\n// https://github.com/form-data/form-data/issues/262\nFormData.prototype.hasKnownLength = function () {\n var hasKnownLength = true;\n\n if (this._valuesToMeasure.length) {\n hasKnownLength = false;\n }\n\n return hasKnownLength;\n};\n\nFormData.prototype.getLength = function (cb) {\n var knownLength = this._overheadLength + this._valueLength;\n\n if (this._streams.length) {\n knownLength += this._lastBoundary().length;\n }\n\n if (!this._valuesToMeasure.length) {\n process.nextTick(cb.bind(this, null, knownLength));\n return;\n }\n\n asynckit.parallel(this._valuesToMeasure, this._lengthRetriever, function (err, values) {\n if (err) {\n cb(err);\n return;\n }\n\n values.forEach(function (length) {\n knownLength += length;\n });\n\n cb(null, knownLength);\n });\n};\n\nFormData.prototype.submit = function (params, cb) {\n var request;\n var options;\n var defaults = { method: 'post' };\n\n // parse provided url if it's string or treat it as options object\n if (typeof params === 'string') {\n params = parseUrl(params); // eslint-disable-line no-param-reassign\n /* eslint sort-keys: 0 */\n options = populate({\n port: params.port,\n path: params.pathname,\n host: params.hostname,\n protocol: params.protocol\n }, defaults);\n } else { // use custom params\n options = populate(params, defaults);\n // if no port provided use default one\n if (!options.port) {\n options.port = options.protocol === 'https:' ? 443 : 80;\n }\n }\n\n // put that good code in getHeaders to some use\n options.headers = this.getHeaders(params.headers);\n\n // https if specified, fallback to http in any other case\n if (options.protocol === 'https:') {\n request = https.request(options);\n } else {\n request = http.request(options);\n }\n\n // get content length and fire away\n this.getLength(function (err, length) {\n if (err && err !== 'Unknown stream') {\n this._error(err);\n return;\n }\n\n // add content length\n if (length) {\n request.setHeader('Content-Length', length);\n }\n\n this.pipe(request);\n if (cb) {\n var onResponse;\n\n var callback = function (error, responce) {\n request.removeListener('error', callback);\n request.removeListener('response', onResponse);\n\n return cb.call(this, error, responce);\n };\n\n onResponse = callback.bind(this, null);\n\n request.on('error', callback);\n request.on('response', onResponse);\n }\n }.bind(this));\n\n return request;\n};\n\nFormData.prototype._error = function (err) {\n if (!this.error) {\n this.error = err;\n this.pause();\n this.emit('error', err);\n }\n};\n\nFormData.prototype.toString = function () {\n return '[object FormData]';\n};\nsetToStringTag(FormData.prototype, 'FormData');\n\n// Public API\nmodule.exports = FormData;\n","/**\n * @fileoverview Client for managing the current user's Stripe Customer object in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Create a Stripe Customer (required for charging users)\n * - Attach payment methods (e.g. saved cards)\n * - Remove payment methods\n *\n * All operations are performed on the current authenticated user.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-customer\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StripeCustomerAddPaymentMethodParameter,\n StripeCustomerCreateParameter,\n StripeCustomerDeletePaymentMethodParameter,\n StripeCustomerResponse,\n} from \"../../types\";\n\n/**\n * Stripe Customer API client (current user)\n */\nclass StripeCustomer {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_customer`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a Stripe Customer for the current user\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"create\", P, EP>>>}\n *\n * @example\n * await sdk.stripeCustomer.create({\n * stripePaymentMethodId: \"pm_card_visa\",\n * stripeCustomerEmail: \"user@example.com\"\n * });\n */\n async create<\n P extends StripeCustomerCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Attach a new payment method to the current user's Stripe Customer\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerAddPaymentMethodParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"addPaymentMethod\", P, EP>>>}\n */\n async addPaymentMethod<\n P extends StripeCustomerAddPaymentMethodParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"addPaymentMethod\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/add_payment_method`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Remove a saved payment method\n *\n * @template P\n * @template EP\n * @param {P & StripeCustomerDeletePaymentMethodParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeCustomerResponse<\"deletePaymentMethod\", P, EP>>>}\n */\n async deletePaymentMethod<\n P extends StripeCustomerDeletePaymentMethodParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeCustomerResponse<\"deletePaymentMethod\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/delete_payment_method`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeCustomer;","/**\n * @fileoverview Client for querying and sending messages in the Sharetribe Marketplace API.\n *\n * Use this to read conversation history and send messages in transactions.\n * Messages are tied to a specific transaction (order/inquiry).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#messages\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, MessagesQueryParameter, MessagesResponse, MessagesSendParameter,} from \"../../types\";\n\n/**\n * Messages API client\n */\nclass Messages {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/messages`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query messages in a transaction\n *\n * @template P\n * @param {P & MessagesQueryParameter} params\n * @returns {Promise<AxiosResponse<MessagesResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.messages.query({\n * transactionId: \"tx-abc123\"\n * });\n */\n async query<P extends MessagesQueryParameter>(\n params: P\n ): Promise<AxiosResponse<MessagesResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Send a new message in a transaction\n *\n * @template P\n * @template EP\n * @param {P & MessagesSendParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<MessagesResponse<\"send\", P, EP>>>}\n *\n * @example\n * await sdk.messages.send({\n * transactionId: \"tx-abc123\",\n * content: \"Hi! When are you available?\"\n * });\n */\n async send<\n P extends MessagesSendParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<MessagesResponse<\"send\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/send`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Messages;","var util = require('util');\nvar Stream = require('stream').Stream;\nvar DelayedStream = require('delayed-stream');\n\nmodule.exports = CombinedStream;\nfunction CombinedStream() {\n this.writable = false;\n this.readable = true;\n this.dataSize = 0;\n this.maxDataSize = 2 * 1024 * 1024;\n this.pauseStreams = true;\n\n this._released = false;\n this._streams = [];\n this._currentStream = null;\n this._insideLoop = false;\n this._pendingNext = false;\n}\nutil.inherits(CombinedStream, Stream);\n\nCombinedStream.create = function(options) {\n var combinedStream = new this();\n\n options = options || {};\n for (var option in options) {\n combinedStream[option] = options[option];\n }\n\n return combinedStream;\n};\n\nCombinedStream.isStreamLike = function(stream) {\n return (typeof stream !== 'function')\n && (typeof stream !== 'string')\n && (typeof stream !== 'boolean')\n && (typeof stream !== 'number')\n && (!Buffer.isBuffer(stream));\n};\n\nCombinedStream.prototype.append = function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n\n if (isStreamLike) {\n if (!(stream instanceof DelayedStream)) {\n var newStream = DelayedStream.create(stream, {\n maxDataSize: Infinity,\n pauseStream: this.pauseStreams,\n });\n stream.on('data', this._checkDataSize.bind(this));\n stream = newStream;\n }\n\n this._handleErrors(stream);\n\n if (this.pauseStreams) {\n stream.pause();\n }\n }\n\n this._streams.push(stream);\n return this;\n};\n\nCombinedStream.prototype.pipe = function(dest, options) {\n Stream.prototype.pipe.call(this, dest, options);\n this.resume();\n return dest;\n};\n\nCombinedStream.prototype._getNext = function() {\n this._currentStream = null;\n\n if (this._insideLoop) {\n this._pendingNext = true;\n return; // defer call\n }\n\n this._insideLoop = true;\n try {\n do {\n this._pendingNext = false;\n this._realGetNext();\n } while (this._pendingNext);\n } finally {\n this._insideLoop = false;\n }\n};\n\nCombinedStream.prototype._realGetNext = function() {\n var stream = this._streams.shift();\n\n\n if (typeof stream == 'undefined') {\n this.end();\n return;\n }\n\n if (typeof stream !== 'function') {\n this._pipeNext(stream);\n return;\n }\n\n var getStream = stream;\n getStream(function(stream) {\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('data', this._checkDataSize.bind(this));\n this._handleErrors(stream);\n }\n\n this._pipeNext(stream);\n }.bind(this));\n};\n\nCombinedStream.prototype._pipeNext = function(stream) {\n this._currentStream = stream;\n\n var isStreamLike = CombinedStream.isStreamLike(stream);\n if (isStreamLike) {\n stream.on('end', this._getNext.bind(this));\n stream.pipe(this, {end: false});\n return;\n }\n\n var value = stream;\n this.write(value);\n this._getNext();\n};\n\nCombinedStream.prototype._handleErrors = function(stream) {\n var self = this;\n stream.on('error', function(err) {\n self._emitError(err);\n });\n};\n\nCombinedStream.prototype.write = function(data) {\n this.emit('data', data);\n};\n\nCombinedStream.prototype.pause = function() {\n if (!this.pauseStreams) {\n return;\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.pause) == 'function') this._currentStream.pause();\n this.emit('pause');\n};\n\nCombinedStream.prototype.resume = function() {\n if (!this._released) {\n this._released = true;\n this.writable = true;\n this._getNext();\n }\n\n if(this.pauseStreams && this._currentStream && typeof(this._currentStream.resume) == 'function') this._currentStream.resume();\n this.emit('resume');\n};\n\nCombinedStream.prototype.end = function() {\n this._reset();\n this.emit('end');\n};\n\nCombinedStream.prototype.destroy = function() {\n this._reset();\n this.emit('close');\n};\n\nCombinedStream.prototype._reset = function() {\n this.writable = false;\n this._streams = [];\n this._currentStream = null;\n};\n\nCombinedStream.prototype._checkDataSize = function() {\n this._updateDataSize();\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.';\n this._emitError(new Error(message));\n};\n\nCombinedStream.prototype._updateDataSize = function() {\n this.dataSize = 0;\n\n var self = this;\n this._streams.forEach(function(stream) {\n if (!stream.dataSize) {\n return;\n }\n\n self.dataSize += stream.dataSize;\n });\n\n if (this._currentStream && this._currentStream.dataSize) {\n this.dataSize += this._currentStream.dataSize;\n }\n};\n\nCombinedStream.prototype._emitError = function(err) {\n this._reset();\n this.emit('error', err);\n};\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = require(\"os\");","/**\n * @fileoverview Client for querying process transitions in the Sharetribe Marketplace API.\n *\n * Process transitions define the state machine of a transaction process (e.g. booking, sale).\n * Use this endpoint to inspect available transitions and their parameters.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#process-transitions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ProcessTransitionsQueryParameter, ProcessTransitionsResponse,} from \"../../types\";\n\n/**\n * Process Transitions API client\n */\nclass ProcessTransitions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/process_transitions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query available process transitions\n *\n * @template P\n * @param {P & ProcessTransitionsQueryParameter} params\n * @returns {Promise<AxiosResponse<ProcessTransitionsResponse<\"query\">>>}\n *\n * @example\n * // Fetch all transitions for the default booking process\n * const { data } = await sdk.processTransitions.query({\n * processAlias: \"default-booking\"\n * });\n *\n * @example\n * // Inspect a specific transition\n * await sdk.processTransitions.query({\n * lastTransition: \"transition/confirm-payment\"\n * });\n */\n async query<P extends ProcessTransitionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ProcessTransitionsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default ProcessTransitions;","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n","'use strict';\n\nconst denyList = new Set([\n\t'ENOTFOUND',\n\t'ENETUNREACH',\n\n\t// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328\n\t'UNABLE_TO_GET_ISSUER_CERT',\n\t'UNABLE_TO_GET_CRL',\n\t'UNABLE_TO_DECRYPT_CERT_SIGNATURE',\n\t'UNABLE_TO_DECRYPT_CRL_SIGNATURE',\n\t'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',\n\t'CERT_SIGNATURE_FAILURE',\n\t'CRL_SIGNATURE_FAILURE',\n\t'CERT_NOT_YET_VALID',\n\t'CERT_HAS_EXPIRED',\n\t'CRL_NOT_YET_VALID',\n\t'CRL_HAS_EXPIRED',\n\t'ERROR_IN_CERT_NOT_BEFORE_FIELD',\n\t'ERROR_IN_CERT_NOT_AFTER_FIELD',\n\t'ERROR_IN_CRL_LAST_UPDATE_FIELD',\n\t'ERROR_IN_CRL_NEXT_UPDATE_FIELD',\n\t'OUT_OF_MEM',\n\t'DEPTH_ZERO_SELF_SIGNED_CERT',\n\t'SELF_SIGNED_CERT_IN_CHAIN',\n\t'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',\n\t'UNABLE_TO_VERIFY_LEAF_SIGNATURE',\n\t'CERT_CHAIN_TOO_LONG',\n\t'CERT_REVOKED',\n\t'INVALID_CA',\n\t'PATH_LENGTH_EXCEEDED',\n\t'INVALID_PURPOSE',\n\t'CERT_UNTRUSTED',\n\t'CERT_REJECTED',\n\t'HOSTNAME_MISMATCH'\n]);\n\n// TODO: Use `error?.code` when targeting Node.js 14\nmodule.exports = error => !denyList.has(error && error.code);\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n// populates missing values\nmodule.exports = function (dst, src) {\n Object.keys(src).forEach(function (prop) {\n dst[prop] = dst[prop] || src[prop]; // eslint-disable-line no-param-reassign\n });\n\n return dst;\n};\n","import {ApiConfigs, SdkConfig} from \"./types\";\nimport axios, {AxiosInstance} from \"axios\";\nimport IntegrationApi from \"./endpoints/integrationApi\";\nimport {createApisConfigs} from \"./utils/apis\";\nimport {createAxiosConfig, prepareAxiosInstance,} from \"./utils/prepare-axios-instance\";\nimport AuthenticationApi from \"./endpoints/auth\";\nimport AvailabilityExceptions from \"./endpoints/integrationApi/AvailabilityExceptions\";\nimport Events from \"./endpoints/integrationApi/Events\";\nimport Images from \"./endpoints/integrationApi/Images\";\nimport Listings from \"./endpoints/integrationApi/Listings\";\nimport Marketplace from \"./endpoints/integrationApi/Marketplace\";\nimport Stock from \"./endpoints/integrationApi/Stock\";\nimport StockAdjustments from \"./endpoints/integrationApi/StockAdjustments\";\nimport StockReservations from \"./endpoints/integrationApi/StockReservations\";\nimport Transactions from \"./endpoints/integrationApi/Transactions\";\nimport Users from \"./endpoints/integrationApi/Users\";\nimport {DefaultIntegrationSdkConfig} from \"./utils/config\";\n\n/**\n * The main Sharetribe Integration SDK for interacting with the Sharetribe Integration API.\n *\n * @class\n */\nclass IntegrationSdk {\n /**\n * Configuration for the SDK.\n *\n * @type {SdkConfig}\n */\n sdkConfig: SdkConfig;\n\n /**\n * Configuration for the API endpoints.\n *\n * @type {ApiConfigs<true>}\n */\n apisConfigs: ApiConfigs<true>;\n\n /**\n * Axios instance used for making API requests.\n *\n * @type {AxiosInstance}\n */\n axios: AxiosInstance;\n\n // Endpoints\n /**\n * Endpoint for handling authentication.\n *\n * @type {AuthenticationApi}\n */\n auth: AuthenticationApi;\n\n /**\n * Main integration API.\n *\n * @type {IntegrationApi}\n */\n integration_api: IntegrationApi;\n\n // API Endpoints\n /**\n * Endpoint for managing availability exceptions.\n *\n * @type {AvailabilityExceptions}\n */\n availabilityExceptions: AvailabilityExceptions;\n\n /**\n * Endpoint for retrieving and managing events.\n *\n * @type {Events}\n */\n events: Events;\n\n /**\n * Endpoint for handling image-related operations.\n *\n * @type {Images}\n */\n images: Images;\n\n /**\n * Endpoint for managing listings.\n *\n * @type {Listings}\n */\n listings: Listings;\n\n /**\n * Endpoint for accessing marketplace details.\n *\n * @type {Marketplace}\n */\n marketplace: Marketplace;\n\n /**\n * Endpoint for managing stock.\n *\n * @type {Stock}\n */\n stock: Stock;\n\n /**\n * Endpoint for handling stock adjustments.\n *\n * @type {StockAdjustments}\n */\n stockAdjustments: StockAdjustments;\n\n /**\n * Endpoint for managing stock reservations.\n *\n * @type {StockReservations}\n */\n stockReservations: StockReservations;\n\n /**\n * Endpoint for managing transactions.\n *\n * @type {Transactions}\n */\n transactions: Transactions;\n\n /**\n * Endpoint for managing user data.\n *\n * @type {Users}\n */\n users: Users;\n\n /**\n * Initializes a new instance of the SharetribeIntegrationSdk class.\n *\n * @constructor\n * @param {SdkConfig} config - The configuration object for the SDK.\n */\n constructor(config: SdkConfig) {\n this.sdkConfig = {\n ...DefaultIntegrationSdkConfig,\n ...config,\n };\n\n this.apisConfigs = createApisConfigs(true);\n this.axios = axios.create(\n createAxiosConfig(this, {\n baseURL: `${this.sdkConfig.baseUrl}/${this.sdkConfig.version}/`,\n httpAgent: this.sdkConfig.httpAgent,\n httpsAgent: this.sdkConfig.httpsAgent,\n })\n );\n prepareAxiosInstance(this);\n\n this.auth = new AuthenticationApi(this);\n this.integration_api = new IntegrationApi(this);\n\n // Api Endpoints\n this.availabilityExceptions = this.integration_api.availabilityExceptions;\n this.events = this.integration_api.events;\n this.images = this.integration_api.images;\n this.listings = this.integration_api.listings;\n this.marketplace = this.integration_api.marketplace;\n this.stock = this.integration_api.stock;\n this.stockAdjustments = this.integration_api.stockAdjustments;\n this.stockReservations = this.integration_api.stockReservations;\n this.transactions = this.integration_api.transactions;\n this.users = this.integration_api.users;\n }\n}\n\nexport default IntegrationSdk;\n","/**\n * @fileoverview Provides the LatLngBounds class for representing geographical bounding boxes.\n * This class encapsulates a northeast (NE) and southwest (SW) pair of coordinates to define a rectangular area.\n */\n\nimport LatLng from \"./LatLng\";\nimport {SdkType} from \"../types\";\n// Define a static class name\nconst LATLNGBOUNDS_SDK_TYPE = \"LatLngBounds\";\n\n/**\n * Class representing a geographical bounding box with NE and SW coordinates.\n */\nclass LatLngBounds implements SdkType {\n ne: LatLng | { lat: number | string; lng: number | string };\n sw: LatLng | { lat: number | string; lng: number | string };\n readonly _sdkType: typeof LATLNGBOUNDS_SDK_TYPE;\n\n /**\n * Creates an instance of the LatLngBounds class.\n *\n * @param {LatLng | { lat: number; lng: number }} ne - The northeast coordinate.\n * @param {LatLng | { lat: number; lng: number }} sw - The southwest coordinate.\n * @example\n * const ne = new LatLng(40.7128, -74.0060);\n * const sw = new LatLng(34.0522, -118.2437);\n * const bounds = new LatLngBounds(ne, sw);\n * console.log(bounds.toString()); // Outputs: '40.7128,-74.0060,34.0522,-118.2437'\n */\n constructor(\n ne: LatLng | { lat: number; lng: number },\n sw: LatLng | { lat: number; lng: number }\n ) {\n this._sdkType = LATLNGBOUNDS_SDK_TYPE;\n\n let isValid = true;\n\n // Helper function to check if a value is an object with numeric lat/lng.\n const isLatLngObject = (val: any): boolean =>\n val &&\n typeof val === \"object\" &&\n typeof val.lat === \"number\" &&\n typeof val.lng === \"number\";\n\n // Validate the northeast (NE) coordinate.\n let neLatLng: LatLng;\n if (ne instanceof LatLng) {\n neLatLng = ne;\n } else if (isLatLngObject(ne)) {\n neLatLng = new LatLng(ne.lat, ne.lng);\n } else {\n console.warn(\n \"Invalid 'ne' value. Must be an instance of LatLng or an object with lat and lng numbers.\"\n );\n isValid = false;\n neLatLng = new LatLng(Number(ne.lat), Number(ne.lng));\n }\n\n // Validate the southwest (SW) coordinate.\n let swLatLng: LatLng;\n if (sw instanceof LatLng) {\n swLatLng = sw;\n } else if (isLatLngObject(sw)) {\n swLatLng = new LatLng(sw.lat, sw.lng);\n } else {\n console.warn(\n \"Invalid 'sw' value. Must be an instance of LatLng or an object with lat and lng numbers.\"\n );\n isValid = false;\n swLatLng = new LatLng(Number(sw.lat), Number(sw.lng));\n }\n\n this.ne = neLatLng;\n this.sw = swLatLng;\n\n if (!isValid) {\n console.warn(\n \"LatLngBounds must be an object with valid NE and SW values.\"\n );\n }\n }\n\n /**\n * Converts the LatLngBounds instance to a string representation.\n *\n * @returns {string} - A string in the format \"NE_lat,NE_lng,SW_lat,SW_lng\".\n * @example\n * const ne = new LatLng(40.7128, -74.0060);\n * const sw = new LatLng(34.0522, -118.2437);\n * const bounds = new LatLngBounds(ne, sw);\n * console.log(bounds.toString()); // Outputs: '40.7128,-74.0060,34.0522,-118.2437'\n */\n toString(): string {\n return `${this.ne.toString()},${this.sw.toString()}`;\n }\n}\n\n// Default export for backward compatibility\nexport default LatLngBounds;\n","'use strict';\n\nimport url from 'url';\nexport default url.URLSearchParams;\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","/**\n * Estimate decoded byte length of a data:// URL *without* allocating large buffers.\n * - For base64: compute exact decoded size using length and padding;\n * handle %XX at the character-count level (no string allocation).\n * - For non-base64: use UTF-8 byteLength of the encoded body as a safe upper bound.\n *\n * @param {string} url\n * @returns {number}\n */\nexport default function estimateDataURLDecodedBytes(url) {\n if (!url || typeof url !== 'string') return 0;\n if (!url.startsWith('data:')) return 0;\n\n const comma = url.indexOf(',');\n if (comma < 0) return 0;\n\n const meta = url.slice(5, comma);\n const body = url.slice(comma + 1);\n const isBase64 = /;base64/i.test(meta);\n\n if (isBase64) {\n let effectiveLen = body.length;\n const len = body.length; // cache length\n\n for (let i = 0; i < len; i++) {\n if (body.charCodeAt(i) === 37 /* '%' */ && i + 2 < len) {\n const a = body.charCodeAt(i + 1);\n const b = body.charCodeAt(i + 2);\n const isHex =\n ((a >= 48 && a <= 57) || (a >= 65 && a <= 70) || (a >= 97 && a <= 102)) &&\n ((b >= 48 && b <= 57) || (b >= 65 && b <= 70) || (b >= 97 && b <= 102));\n\n if (isHex) {\n effectiveLen -= 2;\n i += 2;\n }\n }\n }\n\n let pad = 0;\n let idx = len - 1;\n\n const tailIsPct3D = (j) =>\n j >= 2 &&\n body.charCodeAt(j - 2) === 37 && // '%'\n body.charCodeAt(j - 1) === 51 && // '3'\n (body.charCodeAt(j) === 68 || body.charCodeAt(j) === 100); // 'D' or 'd'\n\n if (idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n idx--;\n } else if (tailIsPct3D(idx)) {\n pad++;\n idx -= 3;\n }\n }\n\n if (pad === 1 && idx >= 0) {\n if (body.charCodeAt(idx) === 61 /* '=' */) {\n pad++;\n } else if (tailIsPct3D(idx)) {\n pad++;\n }\n }\n\n const groups = Math.floor(effectiveLen / 4);\n const bytes = groups * 3 - (pad || 0);\n return bytes > 0 ? bytes : 0;\n }\n\n return Buffer.byteLength(body, 'utf8');\n}\n","\nexport const streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n}\n\nexport const readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n}\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n}\n\nexport const trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n }\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n}\n","module.exports =\n{\n parallel : require('./parallel.js'),\n serial : require('./serial.js'),\n serialOrdered : require('./serialOrdered.js')\n};\n","import isRetryAllowed from 'is-retry-allowed';\nexport const namespace = 'axios-retry';\nexport function isNetworkError(error) {\n const CODE_EXCLUDE_LIST = ['ERR_CANCELED', 'ECONNABORTED'];\n if (error.response) {\n return false;\n }\n if (!error.code) {\n return false;\n }\n // Prevents retrying timed out & cancelled requests\n if (CODE_EXCLUDE_LIST.includes(error.code)) {\n return false;\n }\n // Prevents retrying unsafe errors\n return isRetryAllowed(error);\n}\nconst SAFE_HTTP_METHODS = ['get', 'head', 'options'];\nconst IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(['put', 'delete']);\nexport function isRetryableError(error) {\n return (error.code !== 'ECONNABORTED' &&\n (!error.response ||\n error.response.status === 429 ||\n (error.response.status >= 500 && error.response.status <= 599)));\n}\nexport function isSafeRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isIdempotentRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isNetworkOrIdempotentRequestError(error) {\n return isNetworkError(error) || isIdempotentRequestError(error);\n}\nexport function retryAfter(error = undefined) {\n const retryAfterHeader = error?.response?.headers['retry-after'];\n if (!retryAfterHeader) {\n return 0;\n }\n // if the retry after header is a number, convert it to milliseconds\n let retryAfterMs = (Number(retryAfterHeader) || 0) * 1000;\n // If the retry after header is a date, get the number of milliseconds until that date\n if (retryAfterMs === 0) {\n retryAfterMs = (new Date(retryAfterHeader).valueOf() || 0) - Date.now();\n }\n return Math.max(0, retryAfterMs);\n}\nfunction noDelay(_retryNumber = 0, error = undefined) {\n return Math.max(0, retryAfter(error));\n}\nexport function exponentialDelay(retryNumber = 0, error = undefined, delayFactor = 100) {\n const calculatedDelay = 2 ** retryNumber * delayFactor;\n const delay = Math.max(calculatedDelay, retryAfter(error));\n const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay\n return delay + randomSum;\n}\n/**\n * Linear delay\n * @param {number | undefined} delayFactor - delay factor in milliseconds (default: 100)\n * @returns {function} (retryNumber: number, error: AxiosError | undefined) => number\n */\nexport function linearDelay(delayFactor = 100) {\n return (retryNumber = 0, error = undefined) => {\n const delay = retryNumber * delayFactor;\n return Math.max(delay, retryAfter(error));\n };\n}\nexport const DEFAULT_OPTIONS = {\n retries: 3,\n retryCondition: isNetworkOrIdempotentRequestError,\n retryDelay: noDelay,\n shouldResetTimeout: false,\n onRetry: () => { },\n onMaxRetryTimesExceeded: () => { },\n validateResponse: null\n};\nfunction getRequestOptions(config, defaultOptions) {\n return { ...DEFAULT_OPTIONS, ...defaultOptions, ...config[namespace] };\n}\nfunction setCurrentState(config, defaultOptions, resetLastRequestTime = false) {\n const currentState = getRequestOptions(config, defaultOptions || {});\n currentState.retryCount = currentState.retryCount || 0;\n if (!currentState.lastRequestTime || resetLastRequestTime) {\n currentState.lastRequestTime = Date.now();\n }\n config[namespace] = currentState;\n return currentState;\n}\nfunction fixConfig(axiosInstance, config) {\n // @ts-ignore\n if (axiosInstance.defaults.agent === config.agent) {\n // @ts-ignore\n delete config.agent;\n }\n if (axiosInstance.defaults.httpAgent === config.httpAgent) {\n delete config.httpAgent;\n }\n if (axiosInstance.defaults.httpsAgent === config.httpsAgent) {\n delete config.httpsAgent;\n }\n}\nasync function shouldRetry(currentState, error) {\n const { retries, retryCondition } = currentState;\n const shouldRetryOrPromise = (currentState.retryCount || 0) < retries && retryCondition(error);\n // This could be a promise\n if (typeof shouldRetryOrPromise === 'object') {\n try {\n const shouldRetryPromiseResult = await shouldRetryOrPromise;\n // keep return true unless shouldRetryPromiseResult return false for compatibility\n return shouldRetryPromiseResult !== false;\n }\n catch (_err) {\n return false;\n }\n }\n return shouldRetryOrPromise;\n}\nasync function handleRetry(axiosInstance, currentState, error, config) {\n currentState.retryCount += 1;\n const { retryDelay, shouldResetTimeout, onRetry } = currentState;\n const delay = retryDelay(currentState.retryCount, error);\n // Axios fails merging this configuration to the default configuration because it has an issue\n // with circular structures: https://github.com/mzabriskie/axios/issues/370\n fixConfig(axiosInstance, config);\n if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {\n const lastRequestDuration = Date.now() - currentState.lastRequestTime;\n const timeout = config.timeout - lastRequestDuration - delay;\n if (timeout <= 0) {\n return Promise.reject(error);\n }\n config.timeout = timeout;\n }\n config.transformRequest = [(data) => data];\n await onRetry(currentState.retryCount, error, config);\n if (config.signal?.aborted) {\n return Promise.resolve(axiosInstance(config));\n }\n return new Promise((resolve) => {\n const abortListener = () => {\n clearTimeout(timeout);\n resolve(axiosInstance(config));\n };\n const timeout = setTimeout(() => {\n resolve(axiosInstance(config));\n if (config.signal?.removeEventListener) {\n config.signal.removeEventListener('abort', abortListener);\n }\n }, delay);\n if (config.signal?.addEventListener) {\n config.signal.addEventListener('abort', abortListener, { once: true });\n }\n });\n}\nasync function handleMaxRetryTimesExceeded(currentState, error) {\n if (currentState.retryCount >= currentState.retries)\n await currentState.onMaxRetryTimesExceeded(error, currentState.retryCount);\n}\nconst axiosRetry = (axiosInstance, defaultOptions) => {\n const requestInterceptorId = axiosInstance.interceptors.request.use((config) => {\n setCurrentState(config, defaultOptions, true);\n if (config[namespace]?.validateResponse) {\n // by setting this, all HTTP responses will be go through the error interceptor first\n config.validateStatus = () => false;\n }\n return config;\n });\n const responseInterceptorId = axiosInstance.interceptors.response.use(null, async (error) => {\n const { config } = error;\n // If we have no information to retry the request\n if (!config) {\n return Promise.reject(error);\n }\n const currentState = setCurrentState(config, defaultOptions);\n if (error.response && currentState.validateResponse?.(error.response)) {\n // no issue with response\n return error.response;\n }\n if (await shouldRetry(currentState, error)) {\n return handleRetry(axiosInstance, currentState, error, config);\n }\n await handleMaxRetryTimesExceeded(currentState, error);\n return Promise.reject(error);\n });\n return { requestInterceptorId, responseInterceptorId };\n};\n// Compatibility with CommonJS\naxiosRetry.isNetworkError = isNetworkError;\naxiosRetry.isSafeRequestError = isSafeRequestError;\naxiosRetry.isIdempotentRequestError = isIdempotentRequestError;\naxiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;\naxiosRetry.exponentialDelay = exponentialDelay;\naxiosRetry.linearDelay = linearDelay;\naxiosRetry.isRetryableError = isRetryableError;\nexport default axiosRetry;\n","module.exports = require(\"tty\");","module.exports = require(\"https\");","var serialOrdered = require('./serialOrdered.js');\n\n// Public API\nmodule.exports = serial;\n\n/**\n * Runs iterator over provided array elements in series\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction serial(list, iterator, callback)\n{\n return serialOrdered(list, iterator, null, callback);\n}\n","'use strict';\n\n/**\n * Create a bound version of a function with a specified `this` context\n *\n * @param {Function} fn - The function to bind\n * @param {*} thisArg - The value to be passed as the `this` parameter\n * @returns {Function} A new function that will call the original function with the specified `this` context\n */\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","/**\n * @fileoverview Provides the AssetsApi class for interacting with the Sharetribe Asset Delivery API.\n *\n * @see https://www.sharetribe.com/api-reference/asset-delivery-api.html\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\nimport {\n AssetByAliasParameter,\n AssetByVersionParameter,\n AssetResponse,\n AssetsByAliasParameter,\n AssetsByVersionParameter,\n} from \"../../types\";\n\n/**\n * Extracts common directory and asset names from paths.\n * All paths must share the same parent directory.\n */\nconst extractCommonPathAndAssets = (paths: readonly string[]) => {\n // ... implementation unchanged (robust version from before)\n if (paths.length === 0) throw new Error(\"Paths array must not be empty\");\n\n const normalized = paths.map(p => p.replace(/^\\/+|\\/+$/g, \"\"));\n const parts = normalized.map(p => p.split(\"/\"));\n\n let commonLength = parts[0].length - 1;\n for (let i = 1; i < parts.length && commonLength > 0; i++) {\n let j = 0;\n while (j < commonLength && parts[0][j] === parts[i][j]) j++;\n commonLength = j;\n }\n\n if (commonLength === 0) {\n throw new Error(\"All paths must share a common directory prefix\");\n }\n\n const commonPath = parts[0].slice(0, commonLength).join(\"/\");\n const assets = normalized.map(p => p.slice(commonPath.length + 1));\n\n return {commonPath, assets};\n};\n\nclass AssetsApi {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(sdk: SharetribeSdk) {\n const config = sdk.apisConfigs.assets(sdk.sdkConfig);\n this.endpoint = `${config.baseUrl}/pub/${sdk.sdkConfig.clientId}`;\n this.headers = config.headers;\n this.axios = sdk.axios;\n }\n\n /**\n * Fetch a single asset by alias (e.g. \"latest\")\n *\n * @template P\n * @param {P & AssetByAliasParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetByAlias\", P & AssetByAliasParameter>>>}\n */\n async assetByAlias<P extends AssetByAliasParameter>(\n params: P & AssetByAliasParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetByAlias\", P & AssetByAliasParameter>>> {\n const {path, alias, ...rest} = params;\n if (path.startsWith(\"/\")) throw new Error(\"Asset path must not start with '/'\");\n\n const url = `${this.endpoint}/a/${encodeURIComponent(alias)}/${path}`;\n return this.axios.get(url, {headers: this.headers, params: rest});\n }\n\n /**\n * Fetch multiple assets by alias from the same directory\n *\n * @template P\n * @param {P & AssetsByAliasParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetsByAlias\", P & AssetsByAliasParameter>>>}\n */\n async assetsByAlias<P extends AssetsByAliasParameter>(\n params: P & AssetsByAliasParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetsByAlias\", P & AssetsByAliasParameter>>> {\n const {paths, alias, ...rest} = params;\n if (paths.some(p => p.startsWith(\"/\"))) {\n throw new Error(\"Asset paths must not start with '/'\");\n }\n\n const {commonPath, assets} = extractCommonPathAndAssets(paths);\n const url = `${this.endpoint}/a/${encodeURIComponent(alias)}/${commonPath}/`;\n\n return this.axios.get(url, {\n headers: this.headers,\n params: {...rest, assets},\n });\n }\n\n /**\n * Fetch a single asset by version\n *\n * @template P\n * @param {P & AssetByVersionParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetByVersion\", P & AssetByVersionParameter>>>}\n */\n async assetByVersion<P extends AssetByVersionParameter>(\n params: P & AssetByVersionParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetByVersion\", P & AssetByVersionParameter>>> {\n const {path, version, ...rest} = params;\n if (path.startsWith(\"/\")) throw new Error(\"Asset path must not start with '/'\");\n\n const url = `${this.endpoint}/v/${encodeURIComponent(version)}/${path}`;\n return this.axios.get(url, {headers: this.headers, params: rest});\n }\n\n /**\n * Fetch multiple assets by version from the same directory\n *\n * @template P\n * @param {P & AssetsByVersionParameter} params\n * @returns {Promise<AxiosResponse<AssetResponse<\"assetsByVersion\", P & AssetsByVersionParameter>>>}\n */\n async assetsByVersion<P extends AssetsByVersionParameter>(\n params: P & AssetsByVersionParameter\n ): Promise<AxiosResponse<AssetResponse<\"assetsByVersion\", P & AssetsByVersionParameter>>> {\n const {paths, version, ...rest} = params;\n if (paths.some(p => p.startsWith(\"/\"))) {\n throw new Error(\"Asset paths must not start with '/'\");\n }\n\n const {commonPath, assets} = extractCommonPathAndAssets(paths);\n const url = `${this.endpoint}/v/${encodeURIComponent(version)}/${commonPath}/`;\n\n return this.axios.get(url, {\n headers: this.headers,\n params: {...rest, assets},\n });\n }\n}\n\nexport default AssetsApi;","import Cookies from \"js-cookie\";\nimport {generateKey} from \"./store\";\nimport {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * Configuration options for the `BrowserStore`.\n */\nexport type BrowserStoreOptions = {\n clientId: string; // Unique identifier for the client\n secure?: boolean; // Whether to use secure cookies (HTTPS only)\n};\n\n/**\n * `BrowserStore` is an implementation of the `TokenStore` interface for storing authentication tokens in browser cookies.\n */\nclass BrowserStore implements TokenStore {\n expiration: number = 30; // Default cookie expiration in days\n private namespace: string = \"st\"; // Namespace for cookie keys\n private readonly key: string; // Generated key for the cookie\n private readonly secure: boolean | undefined; // Indicates if cookies should be marked as secure\n\n /**\n * Initializes the `BrowserStore` with client-specific options.\n * @param options - Configuration options for the store.\n */\n constructor({clientId, secure}: BrowserStoreOptions) {\n this.secure = secure;\n this.key = generateKey(clientId, this.namespace);\n }\n\n /**\n * Retrieves the authentication token from browser cookies.\n * @returns A promise that resolves to the `AuthToken` or null if no token exists.\n */\n getToken(): AuthToken | null {\n const cookie = Cookies.get(this.key);\n return cookie ? (JSON.parse(cookie) as AuthToken) : null;\n }\n\n /**\n * Stores the authentication token in a browser cookie.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n const secureFlag = this.secure ? {secure: true} : {};\n Cookies.set(this.key, JSON.stringify(token), {\n expires: this.expiration,\n ...secureFlag,\n });\n }\n\n /**\n * Removes the authentication token from browser cookies.\n */\n removeToken(): void {\n Cookies.remove(this.key);\n }\n}\n\nexport default BrowserStore;\n","module.exports = require(\"stream\");","var defer = require('./defer.js');\n\n// API\nmodule.exports = async;\n\n/**\n * Runs provided callback asynchronously\n * even if callback itself is not\n *\n * @param {function} callback - callback to invoke\n * @returns {function} - augmented callback\n */\nfunction async(callback)\n{\n var isAsync = false;\n\n // check if async happened\n defer(function() { isAsync = true; });\n\n return function async_callback(err, result)\n {\n if (isAsync)\n {\n callback(err, result);\n }\n else\n {\n defer(function nextTick_callback()\n {\n callback(err, result);\n });\n }\n };\n}\n","import FormData from 'form-data';\n\nexport default FormData;\n","/**\n * @fileoverview Client for creating Stripe Account Links in the Sharetribe Marketplace API.\n *\n * Use this to generate onboarding or verification links for the current user's Stripe Connect account.\n * The returned link redirects the user to Stripe to complete account setup or provide missing info.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-account-links\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripeAccountLinksCreateParameter, StripeAccountLinksResponse,} from \"../../types\";\n\n/**\n * Stripe Account Links API client (current user)\n */\nclass StripeAccountLinks {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_account_links`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a Stripe Account Link (onboarding or verification)\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountLinksCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountLinksResponse<\"create\", EP>>>}\n *\n * @example\n * const { data } = await sdk.stripeAccountLinks.create({\n * failureURL: \"https://yoursite.com/stripe/failure\",\n * successURL: \"https://yoursite.com/stripe/success\",\n * type: \"account_onboarding\",\n * });\n *\n * // Redirect user\n * window.location.href = data.attributes.url;\n */\n async create<\n P extends StripeAccountLinksCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountLinksResponse<\"create\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeAccountLinks;","import MemoryStore from \"./stores/MemoryStore\";\nimport {TypeHandler} from \"../types\";\nimport {Agent as HttpAgent} from \"http\";\nimport {Agent as HttpsAgent} from \"https\";\n\ntype DefaultSdkConfigType = {\n baseUrl: string;\n assetCdnBaseUrl?: string;\n version: string;\n transitVerbose: boolean;\n tokenStore?: MemoryStore;\n typeHandlers?: TypeHandler[];\n httpAgent?: HttpAgent;\n httpsAgent?: HttpsAgent;\n};\n\ntype DefaultIntegrationSdkConfigType = {\n baseUrl: string;\n version: string;\n transitVerbose: boolean;\n tokenStore?: MemoryStore;\n httpAgent?: HttpAgent;\n httpsAgent?: HttpsAgent;\n typeHandlers?: TypeHandler[];\n};\n\nconst isNode = typeof window === \"undefined\";\nconst hasAgents =\n typeof HttpAgent === \"function\" && typeof HttpsAgent === \"function\";\n\n// Create safe agent creators that work in both ESM and CommonJS environments\nlet httpAgentCreator: (options: any) => any = () => undefined;\nlet httpsAgentCreator: (options: any) => any = () => undefined;\n\n// Only initialize agents if we're in a Node.js environment and the modules are available\nif (isNode && hasAgents) {\n try {\n httpAgentCreator = (options: any) => new HttpAgent(options);\n httpsAgentCreator = (options: any) => new HttpsAgent(options);\n } catch (e) {\n console.warn(\"Failed to initialize HTTP/HTTPS agents:\", e);\n }\n}\n\n/**\n * Default SDK configuration object for the Sharetribe Flex API.\n */\nexport const DefaultSdkConfig: DefaultSdkConfigType = {\n assetCdnBaseUrl: \"https://cdn.st-api.com\", // Base URL for assets\n baseUrl: \"https://flex-api.sharetribe.com\", // Base URL for the API\n tokenStore: new MemoryStore(), // Default token store (in-memory)\n transitVerbose: false, // Toggle for verbose transit serialization\n typeHandlers: [], // Array to handle custom data types\n version: \"v1\", // API version\n};\n\n/**\n * Default SDK configuration object for the Sharetribe Flex Integration API.\n */\nexport const DefaultIntegrationSdkConfig: DefaultIntegrationSdkConfigType = {\n baseUrl: \"https://flex-integ-api.sharetribe.com\",\n ...(isNode && {\n httpAgent: httpAgentCreator({keepAlive: true, maxSockets: 10}), // Default HTTP agent\n httpsAgent: httpsAgentCreator({keepAlive: true, maxSockets: 10}), // Default HTTPS agent\n }),\n tokenStore: new MemoryStore(), // Default token store (in-memory)\n transitVerbose: false, // Toggle for verbose transit serialization\n typeHandlers: [], // Array to handle custom data types\n version: \"v1\", // API version\n};\n","import {AxiosError, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig,} from \"axios\";\nimport {\n AnonymousTokenRequest,\n ExtendedInternalAxiosRequestConfig,\n IntegrationTokenRequest,\n RefreshTokenRequest\n} from \"../types\";\nimport SharetribeSdk from \"../sdk\";\nimport parameterSerializer from \"./parameter-serializer\";\nimport IntegrationSdk from \"../integrationSdk\";\nimport {createTransitConverters} from \"./transit\";\nimport axiosRetry, {IAxiosRetryConfig} from \"axios-retry\";\nimport {createSharetribeApiError} from \"./util\";\n\nexport const QUERY_PARAMETERS = [\n \"include\",\n \"page\",\n \"perPage\",\n \"expand\",\n \"fields\",\n \"limit\",\n];\n\nconst isTransit = (res: any) => {\n const headers = res.headers || {};\n const contentType = headers[\"content-type\"] || \"\";\n\n return contentType.startsWith(\"application/transit+json\");\n};\n\nconst isJson = (res: any) => {\n const headers = res.headers || {};\n const contentType = headers[\"content-type\"] || \"\";\n\n return contentType.startsWith(\"application/json\");\n};\n\n// Utility functions\nexport const isTokenUnauthorized = (status: number) => [401].includes(status);\nexport const isTokenExpired = (status: number) => [401, 403].includes(status);\nexport const isAuthTokenUnauthorized = (error: AxiosError) =>\n error.response?.status === 401 && error?.config?.method === \"post\" && error?.config?.url?.includes(\"/auth/token\")\n\nexport const routeNeedsTrustedUser = (\n requestConfig: InternalAxiosRequestConfig,\n sdk: SharetribeSdk | IntegrationSdk\n) => {\n const requestUrl = requestConfig.url!;\n const found = Object.entries(sdk).find(([_, value]) => {\n if (typeof value === \"object\") {\n return Object.entries(value).find(([key, endpoint]) => {\n if (key === \"endpoint\" && typeof endpoint === \"string\") {\n return (\n requestUrl.substring(0, requestUrl.lastIndexOf(\"/\")) === endpoint\n );\n }\n });\n }\n }) as [string, { authRequired: boolean }] | undefined;\n return found && found[1].authRequired;\n};\n\nexport const prepareAuthorizationHeader = (data: any) =>\n `${data.token_type} ${data.access_token}`;\n\n// Interceptor handlers\nexport function handleResponseSuccess(sdk: SharetribeSdk | IntegrationSdk) {\n return function onFulfilled(response: AxiosResponse): AxiosResponse {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n if (isTransit(response)) {\n const {reader} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n response.data = reader.read(response.data);\n } else if (isJson(response)) {\n response.data = JSON.parse(response.data);\n }\n\n if (response?.data?.access_token) {\n sdk.sdkConfig.tokenStore.setToken(response.data);\n }\n\n if (response?.data?.revoked) {\n sdk.sdkConfig.tokenStore.removeToken();\n }\n\n return response;\n };\n}\n\nexport async function handleResponseFailure(\n sdk: SharetribeSdk | IntegrationSdk,\n error: AxiosError | any\n) {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n try {\n const originalRequest = error.config as ExtendedInternalAxiosRequestConfig;\n\n // Parse response data if needed\n if (error.response && isTransit(error.response)) {\n const {reader} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n error.response.data = reader.read(error.response.data as string);\n } else if (error.response && isJson(error.response)) {\n error.response.data = JSON.parse(error.response.data as string);\n }\n\n if (error.response && isTokenUnauthorized(error.response.status) && originalRequest.url?.includes(\"/auth/token\")) {\n sdk.sdkConfig.tokenStore.removeToken();\n return Promise.reject(createSharetribeApiError(error));\n }\n\n // Handle token refresh on 401/403 errors\n if (error.response && isTokenExpired(error.response.status)) {\n const token = await sdk.sdkConfig.tokenStore.getToken();\n if (token && token.refresh_token) {\n // Get a new token\n const response = await sdk.auth.token<RefreshTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"refresh_token\",\n refresh_token: token.refresh_token,\n });\n\n // Update the request with the new token\n originalRequest.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n\n // Store the new token\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n // Retry the request\n return sdk.axios(originalRequest);\n }\n\n if (isAuthTokenUnauthorized(error)) {\n return Promise.reject(createSharetribeApiError(error));\n }\n\n // Token is a public-read token or does not exist\n // We need to get a new public-read token\n if (token && !token.refresh_token || !token) {\n // Get a new public-read token\n const response = await sdk.auth.token<AnonymousTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n });\n\n originalRequest.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n\n // Store the new token\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n return sdk.axios(originalRequest);\n }\n }\n\n // Handle trusted user check\n if (\n error.response &&\n isTokenUnauthorized(error.response.status) &&\n routeNeedsTrustedUser(originalRequest, sdk)\n ) {\n const token = await sdk.sdkConfig.tokenStore.getToken();\n if (token?.scope !== \"trusted:user\") {\n console.error(\"Token is not trusted:user\");\n return Promise.reject(createSharetribeApiError(error));\n }\n }\n\n // Default error handling\n return Promise.reject(createSharetribeApiError(error));\n } catch (e) {\n console.error(\"Error in handleResponseFailure:\", e);\n return Promise.reject(e);\n }\n}\n\nexport async function handleRequestSuccess(\n sdk: SharetribeSdk | IntegrationSdk,\n requestConfig: InternalAxiosRequestConfig\n): Promise<InternalAxiosRequestConfig> {\n if (!sdk.sdkConfig.tokenStore) {\n throw new Error(\"Token store is not set\");\n }\n\n if (requestConfig.url?.includes(\"auth/revoke\")) {\n const authToken = sdk.sdkConfig.tokenStore.getToken();\n requestConfig.headers.Authorization = prepareAuthorizationHeader(authToken);\n return requestConfig;\n }\n\n if (\n requestConfig.headers[\"Content-Type\"] ===\n \"application/x-www-form-urlencoded\"\n ) {\n return requestConfig;\n }\n\n // Anonymous requests are allowed to use the public-read scope\n const isAnonymousRequest =\n requestConfig?.data?.grant_type === \"client_credentials\" &&\n requestConfig?.data?.scope === \"public-read\";\n if (isAnonymousRequest) {\n return requestConfig;\n }\n\n // when the request has no Authorization header, we need to add it\n if (!requestConfig.headers.Authorization) {\n const authToken = sdk.sdkConfig.tokenStore.getToken();\n if (authToken) {\n requestConfig.headers.Authorization =\n prepareAuthorizationHeader(authToken);\n } else {\n let response: AxiosResponse<any>;\n if (sdk instanceof SharetribeSdk) {\n response = await sdk.auth.token<AnonymousTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n });\n } else if (sdk instanceof IntegrationSdk) {\n if (!sdk.sdkConfig.clientSecret) {\n throw new Error(\"clientSecret is required for integration SDK\");\n }\n\n response = await sdk.auth.token<IntegrationTokenRequest>({\n client_id: sdk.sdkConfig.clientId,\n client_secret: sdk.sdkConfig.clientSecret,\n grant_type: \"client_credentials\",\n scope: \"integ\",\n });\n } else {\n throw new Error(\"Invalid SDK instance\");\n }\n\n sdk.sdkConfig.tokenStore.setToken(response.data);\n\n requestConfig.headers.Authorization = prepareAuthorizationHeader(\n response.data\n );\n }\n }\n\n // Convert data parameter to query Parameters\n if (requestConfig.data) {\n if (requestConfig.data instanceof FormData) {\n const newFormData = new FormData();\n requestConfig.data.forEach((value, key) => {\n const isQueryParameter = QUERY_PARAMETERS.find(\n (param) => key === param || key.startsWith(param)\n );\n if (isQueryParameter) {\n requestConfig.params = {\n ...requestConfig.params,\n [key]: Array.isArray(value) ? value.join(\",\") : value,\n };\n } else {\n newFormData.append(key, value);\n }\n });\n requestConfig.data = newFormData;\n } else {\n Object.keys(requestConfig.data).forEach((key) => {\n const isQueryParameter = QUERY_PARAMETERS.find(\n (param) => key === param || key.startsWith(param)\n );\n if (isQueryParameter) {\n requestConfig.params = {\n ...requestConfig.params,\n [key]: Array.isArray(requestConfig.data[key])\n ? requestConfig.data[key].join(\",\")\n : requestConfig.data[key],\n };\n delete requestConfig.data[key];\n }\n });\n }\n }\n\n // Turn sdkTypes into non sdkType objects\n if (requestConfig.method === \"post\") {\n if (requestConfig.url?.endsWith(\"/upload\")) {\n delete requestConfig.headers[\"Content-Type\"]\n } else {\n const {writer} = createTransitConverters(sdk.sdkConfig.typeHandlers, {\n verbose: sdk.sdkConfig.transitVerbose,\n });\n requestConfig.data = writer.write(requestConfig.data);\n requestConfig.headers[\"Content-Type\"] = \"application/transit+json\";\n }\n }\n\n return requestConfig;\n}\n\nexport function createAxiosConfig(\n sdk: SharetribeSdk | IntegrationSdk,\n config: AxiosRequestConfig\n) {\n config.headers = {\n ...config.headers,\n Accept: \"application/transit+json\",\n };\n config.transformRequest = (v) => v;\n config.transformResponse = (v) => v;\n if (sdk.sdkConfig.transitVerbose) {\n config.headers[\"X-Transit-Verbose\"] = true;\n }\n return config;\n}\n\n// Main setup function\nexport function prepareAxiosInstance(sdk: SharetribeSdk | IntegrationSdk) {\n try {\n const retryConfig: IAxiosRetryConfig = {\n retries: 3, // Number of retries\n retryDelay: axiosRetry.exponentialDelay,\n };\n\n // Use type assertion to bypass TypeScript error\n (axiosRetry as any)(sdk.axios, retryConfig);\n } catch (e) {\n console.warn(\"Failed to initialize axios-retry:\", e);\n }\n\n sdk.axios.interceptors.response.use(\n handleResponseSuccess(sdk),\n (error: AxiosError) => handleResponseFailure(sdk, error)\n );\n sdk.axios.interceptors.request.use((config: InternalAxiosRequestConfig) =>\n handleRequestSuccess(sdk, config)\n );\n sdk.axios.defaults.paramsSerializer = parameterSerializer;\n}","import {ApiConfigs, SdkConfig} from \"./types\";\nimport {createApisConfigs} from \"./utils/apis\";\nimport axios, {AxiosInstance, AxiosResponse} from \"axios\";\nimport AuthenticationApi from \"./endpoints/auth\";\nimport MarketplaceApi from \"./endpoints/marketplace\";\nimport {createAxiosConfig, prepareAxiosInstance,} from \"./utils/prepare-axios-instance\";\nimport Listings from \"./endpoints/marketplace/Listings\";\nimport AvailabilityExceptions from \"./endpoints/marketplace/AvailabilityExceptions\";\nimport Bookings from \"./endpoints/marketplace/Bookings\";\nimport CurrentUser from \"./endpoints/marketplace/CurrentUser\";\nimport Images from \"./endpoints/marketplace/Images\";\nimport Marketplace from \"./endpoints/marketplace/Marketplace\";\nimport Messages from \"./endpoints/marketplace/Messages\";\nimport OwnListings from \"./endpoints/marketplace/OwnListings\";\nimport PasswordReset from \"./endpoints/marketplace/PasswordReset\";\nimport ProcessTransitions from \"./endpoints/marketplace/ProcessTransitions\";\nimport Reviews from \"./endpoints/marketplace/Reviews\";\nimport Stock from \"./endpoints/marketplace/Stock\";\nimport StockAdjustments from \"./endpoints/marketplace/StockAdjustments\";\nimport StripeAccount from \"./endpoints/marketplace/StripeAccount\";\nimport StripeAccountLinks from \"./endpoints/marketplace/StripeAccountLinks\";\nimport StripeCustomer from \"./endpoints/marketplace/StripeCustomer\";\nimport StripePersons from \"./endpoints/marketplace/StripePersons\";\nimport StripeSetupIntents from \"./endpoints/marketplace/StripeSetupIntents\";\nimport TimeSlots from \"./endpoints/marketplace/TimeSlots\";\nimport Transactions from \"./endpoints/marketplace/Transactions\";\nimport Users from \"./endpoints/marketplace/Users\";\nimport {\n AnonymousTokenRequest,\n AuthInfoResponse,\n AuthToken,\n LoginParameter,\n LoginWithIdpParameter,\n RevokeResponse,\n Scope,\n TokenResponse,\n TrustedUserTokenRequest,\n UserTokenRequest,\n UserTokenRequestWithAuthCode,\n} from \"./types\";\nimport AssetsApi from \"./endpoints/assets\";\nimport {DefaultSdkConfig} from \"./utils/config\";\n\nclass SharetribeSdk {\n /**\n * The SDK configuration object.\n * @type {SdkConfig}\n */\n sdkConfig: SdkConfig;\n\n /**\n * The API configuration object.\n * @type {ApiConfigs}\n */\n apisConfigs: ApiConfigs;\n\n /**\n * Axios instance for making HTTP requests.\n * @type {AxiosInstance}\n */\n axios: AxiosInstance;\n\n /**\n * Endpoint for handling authentication.\n * @type {AuthenticationApi}\n */\n auth: AuthenticationApi;\n\n /**\n * Main marketplace API instance.\n * @type {MarketplaceApi}\n */\n api: MarketplaceApi;\n\n /**\n * Assets API instance for managing assets.\n * @type {AssetsApi}\n */\n assetsApi: AssetsApi;\n\n // API Endpoints\n\n /**\n * Endpoint for managing listings.\n * @type {Listings}\n */\n listings: Listings;\n\n /**\n * Endpoint for managing availability exceptions.\n * @type {AvailabilityExceptions}\n */\n availabilityExceptions: AvailabilityExceptions;\n\n /**\n * Endpoint for managing bookings.\n * @type {Bookings}\n * */\n bookings: Bookings;\n\n /**\n * Endpoint for managing the current user.\n * @type {CurrentUser}\n */\n currentUser: CurrentUser;\n\n /**\n * Endpoint for handling images.\n * @type {Images}\n */\n images: Images;\n\n /**\n * Endpoint for accessing marketplace details.\n * @type {Marketplace}\n */\n marketplace: Marketplace;\n\n /**\n * Endpoint for managing messages.\n * @type {Messages}\n */\n messages: Messages;\n\n /**\n * Endpoint for managing own listings.\n * @type {OwnListings} */\n ownListings: OwnListings;\n\n /**\n * Endpoint for managing password resets.\n * @type {PasswordReset} */\n passwordReset: PasswordReset;\n\n /**\n * Endpoint for managing process transitions.\n * @type {ProcessTransitions} */\n processTransitions: ProcessTransitions;\n\n /**\n * Endpoint for managing reviews.\n * @type {Reviews} */\n reviews: Reviews;\n\n /**\n * Endpoint for managing stock.\n * @type {Stock} */\n stock: Stock;\n\n /**\n * Endpoint for managing stock adjustments.\n * @type {StockAdjustments} */\n stockAdjustments: StockAdjustments;\n\n /**\n * Endpoint for managing stripe accounts.\n * @type {StripeAccount} */\n stripeAccount: StripeAccount;\n\n /**\n * Endpoint for managing stripe account links.\n * @type {StripeAccountLinks} */\n stripeAccountLinks: StripeAccountLinks;\n\n /**\n * Endpoint for managing stripe customers.\n * @type {StripeCustomer} */\n stripeCustomer: StripeCustomer;\n\n /**\n * Endpoint for managing stripe persons.\n * @type {StripePersons} */\n stripePersons: StripePersons;\n\n /**\n * Endpoint for managing stripe setup intents.\n * @type {StripeSetupIntents} */\n stripeSetupIntents: StripeSetupIntents;\n\n /**\n * Endpoint for managing timeslots.\n * @type {TimeSlots} */\n timeslots: TimeSlots;\n\n /**\n * Endpoint for managing transactions.\n * @type {Transactions} */\n transactions: Transactions;\n\n /**\n * Endpoint for managing users.\n * @type {Users} */\n users: Users;\n\n // Asset Endpoints\n\n /** @type {AssetsApi['assetByAlias']} */\n assetByAlias: AssetsApi[\"assetByAlias\"];\n\n /** @type {AssetsApi['assetsByAlias']} */\n assetsByAlias: AssetsApi[\"assetsByAlias\"];\n\n /** @type {AssetsApi['assetByVersion']} */\n assetByVersion: AssetsApi[\"assetByVersion\"];\n\n /** @type {AssetsApi['assetsByVersion']} */\n assetsByVersion: AssetsApi[\"assetsByVersion\"];\n\n /**\n * Creates an instance of the Sharetribe SDK.\n *\n * @constructor\n * @param {SdkConfig} config - The configuration object for the SDK.\n */\n constructor(config: SdkConfig) {\n this.sdkConfig = {\n ...DefaultSdkConfig,\n ...config,\n };\n\n this.apisConfigs = createApisConfigs();\n this.axios = axios.create(\n createAxiosConfig(this, {\n baseURL: `${this.sdkConfig.baseUrl}/${this.sdkConfig.version}/`,\n httpAgent: this.sdkConfig.httpAgent,\n httpsAgent: this.sdkConfig.httpsAgent,\n })\n );\n prepareAxiosInstance(this);\n\n this.auth = new AuthenticationApi(this);\n this.api = new MarketplaceApi(this);\n this.assetsApi = new AssetsApi(this);\n\n // Api Endpoints\n this.availabilityExceptions = this.api.availabilityExceptions;\n this.bookings = this.api.bookings;\n this.currentUser = this.api.currentUser;\n this.images = this.api.images;\n this.listings = this.api.listings;\n this.marketplace = this.api.marketplace;\n this.messages = this.api.messages;\n this.ownListings = this.api.ownListings;\n this.passwordReset = this.api.passwordReset;\n this.processTransitions = this.api.processTransitions;\n this.reviews = this.api.reviews;\n this.stock = this.api.stock;\n this.stockAdjustments = this.api.stockAdjustments;\n this.stripeAccount = this.api.stripeAccount;\n this.stripeAccountLinks = this.api.stripeAccountLinks;\n this.stripeCustomer = this.api.stripeCustomer;\n this.stripePersons = this.api.stripePersons;\n this.stripeSetupIntents = this.api.stripeSetupIntents;\n this.timeslots = this.api.timeslots;\n this.transactions = this.api.transactions;\n this.users = this.api.users;\n\n // Asset Endpoints\n this.assetByAlias = this.assetsApi.assetByAlias;\n this.assetsByAlias = this.assetsApi.assetsByAlias;\n this.assetByVersion = this.assetsApi.assetByVersion;\n this.assetsByVersion = this.assetsApi.assetsByVersion;\n }\n\n /**\n * Logs in a user using their credentials.\n *\n * @async\n * @param {LoginParameter} params - The login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async login(\n params: LoginParameter<'user'>\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n return this.auth.token<UserTokenRequest>({\n client_id: this.sdkConfig.clientId,\n scope: \"user\",\n grant_type: \"password\",\n ...params,\n });\n }\n\n /**\n * Logs in the marketplace operator as the marketplace user and returns a Promise\n *\n * @async\n * @param {LoginParameter} params - The login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async loginAs(\n params: LoginParameter<'auth_code'>\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequestWithAuthCode>>> {\n return this.auth.token<UserTokenRequestWithAuthCode>({\n client_id: this.sdkConfig.clientId,\n grant_type: \"authorization_code\",\n scope: \"user\",\n ...params,\n });\n }\n\n /**\n * Logs in a user using an identity provider (IDP).\n *\n * @async\n * @param {LoginWithIdpParameter} params - The IDP login parameters.\n * @returns {Promise<AuthToken>} - The authentication token.\n */\n async loginWithIdp(\n params: LoginWithIdpParameter\n ): Promise<AxiosResponse<TokenResponse<UserTokenRequest>>> {\n if (this.sdkConfig.clientSecret === undefined) {\n throw new Error(\"clientSecret is required to login with idp\");\n }\n return this.auth.authWithIdp({\n client_id: this.sdkConfig.clientId,\n client_secret: this.sdkConfig.clientSecret!,\n ...params,\n });\n }\n\n /**\n * Logs out the current user.\n *\n * @async\n * @returns {Promise<void>} - Resolves when the user is logged out.\n */\n async logout(): Promise<AxiosResponse<RevokeResponse>> {\n const {access_token} = (this.sdkConfig.tokenStore!.getToken()) as AuthToken;\n return this.auth.revoke(access_token);\n }\n\n /**\n * Exchanges the current token for a trusted user token.\n *\n * @async\n * @returns {Promise<AuthToken>} - The exchanged token.\n */\n async exchangeToken(): Promise<AxiosResponse<TokenResponse<TrustedUserTokenRequest>>> {\n const {access_token} = (await this.sdkConfig.tokenStore!.getToken())!;\n if (this.sdkConfig.clientSecret === undefined) {\n throw new Error(\"clientSecret is required to exchange token\");\n }\n return this.auth.token<TrustedUserTokenRequest>({\n client_id: this.sdkConfig.clientId,\n client_secret: this.sdkConfig.clientSecret!,\n grant_type: \"token_exchange\",\n scope: \"trusted:user\",\n subject_token: access_token,\n });\n }\n\n /**\n * Retrieves authentication info for the current user.\n *\n * @async\n * @returns {Promise<AuthInfoResponse>} - The authentication info.\n */\n async authInfo(): Promise<AuthInfoResponse> {\n const storedToken = await this.sdkConfig.tokenStore!.getToken()!;\n\n if (storedToken) {\n const tokenScope = storedToken.scope as Scope;\n\n if (tokenScope) {\n const scopes = tokenScope.split(' ') as Scope[];\n const isAnonymous = tokenScope === 'public-read';\n\n // Deprecated attribute, maintained here for client implementations\n // that rely on this attribute\n const grantType = isAnonymous ? 'client_credentials' : 'refresh_token';\n\n return {scopes, isAnonymous, grantType}\n }\n\n // Support old tokens that are stored in the client's token store\n // and possibly do not have the scope attribute\n const isAnonymous = !storedToken.refresh_token;\n const grantType = isAnonymous ? 'client_credentials' : 'refresh_token';\n return {isAnonymous, grantType}\n }\n\n const response = await this.auth.token<AnonymousTokenRequest>({\n client_id: this.sdkConfig.clientId,\n grant_type: \"client_credentials\",\n scope: \"public-read\",\n })\n\n if (response.data.access_token) {\n return {isAnonymous: true, grantType: 'client_credentials', scopes: [\"public-read\"]};\n }\n\n return {};\n }\n}\n\nexport default SharetribeSdk;\n","/**\n * @fileoverview Client for managing listing stock in the Sharetribe Marketplace API.\n *\n * Use this to safely update stock levels using atomic compare-and-set operations.\n * Prevents race conditions when multiple users try to book simultaneously.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stock\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StockCompareAndSetParameter, StockResponse,} from \"../../types\";\n\n/**\n * Stock API client (own listings only)\n */\nclass Stock {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stock`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Atomically update stock using compare-and-set\n *\n * Fails if current stock doesn't match `oldTotal` — prevents overselling.\n *\n * @template P\n * @template EP\n * @param {P & StockCompareAndSetParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>>}\n *\n * @example\n * // Reserve 2 units if current stock is 10\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 10,\n * newTotal: 8\n * });\n *\n * @example\n * // Restock from 5 to 50\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 5,\n * newTotal: 50\n * });\n */\n async compareAndSet<\n P extends StockCompareAndSetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/compare_and_set`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Stock;","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv,\n _navigator as navigator,\n origin\n}\n","module.exports = require(\"assert\");","/**\n * @fileoverview Client for creating Stripe Setup Intents in the Sharetribe Marketplace API.\n *\n * A Setup Intent is used to save a payment method (e.g. card) for future use\n * without charging immediately — ideal for marketplaces that charge later.\n *\n * Returns `client_secret` for use with Stripe.js / Elements.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-setup-intents\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripeSetupIntentsCreateParameter, StripeSetupIntentsResponse,} from \"../../types\";\n\n/**\n * Stripe Setup Intents API client (current user)\n */\nclass StripeSetupIntents {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_setup_intents`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a new Setup Intent for saving a payment method\n *\n * @template P\n * @template EP\n * @param {P & StripeSetupIntentsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeSetupIntentsResponse<\"create\">>>}\n *\n * @example\n * const { data } = await sdk.stripeSetupIntents.create({});\n *\n * // Use with Stripe.js\n * stripe.confirmCardSetup(data.attributes.clientSecret, {\n * payment_method: { card: cardElement }\n * });\n */\n async create<\n P extends StripeSetupIntentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P = {} as P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeSetupIntentsResponse<\"create\">>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeSetupIntents;","import CanceledError from \"../cancel/CanceledError.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport utils from '../utils.js';\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n }\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT))\n }, timeout)\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n }\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils.asap(unsubscribe);\n\n return signal;\n }\n}\n\nexport default composeSignals;\n","/**\n * @fileoverview Client for password reset operations in the Sharetribe Marketplace API.\n *\n * Use this to request a password-reset email and to complete the password reset flow.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#password-reset\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n PasswordResetRequestParameter,\n PasswordResetResetParameter,\n PasswordResetResponse,\n} from \"../../types\";\n\n/**\n * Password Reset API client\n */\nclass PasswordReset {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/password_reset`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Request a password-reset email\n *\n * @template P\n * @template EP\n * @param {P & PasswordResetRequestParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<PasswordResetResponse<\"request\", EP>>>}\n *\n * @example\n * await sdk.passwordReset.request({ email: \"user@example.com\" });\n */\n async request<\n P extends PasswordResetRequestParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<PasswordResetResponse<\"request\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/request`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Complete password reset using the token received by email\n *\n * @template P\n * @template EP\n * @param {P & PasswordResetResetParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<PasswordResetResponse<\"reset\", EP>>>}\n *\n * @example\n * await sdk.passwordReset.reset({\n * email: \"user@example.com\",\n * passwordResetToken: \"abc123...\",\n * newPassword: \"newSecurePassword123\"\n * });\n */\n async reset<\n P extends PasswordResetResetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<PasswordResetResponse<\"reset\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/reset`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default PasswordReset;","/**\n * Class representing a high-precision decimal number.\n *\n * The BigDecimal class ensures that large decimal numbers are stored as strings\n * to avoid precision loss during computations.\n */\n\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst BIGDECIMAL_SDK_TYPE = \"BigDecimal\";\n\nclass BigDecimal implements SdkType {\n value: string;\n readonly _sdkType: typeof BIGDECIMAL_SDK_TYPE;\n\n /**\n * Creates an instance of the BigDecimal class.\n *\n * @param {any} value - The value to be stored as a BigDecimal. It must be convertible to a string.\n * @example\n * const bigDecimal = new BigDecimal('123456789.123456789');\n */\n constructor(value: any) {\n this._sdkType = BIGDECIMAL_SDK_TYPE;\n\n if (typeof value !== \"string\") {\n console.warn(\n \"BigDecimal must be initialized with a string to ensure precision.\"\n );\n }\n // Convert the value to a string to maintain compatibility and precision.\n this.value = String(value);\n }\n\n /**\n * Converts the BigDecimal instance to a string representation.\n *\n * @returns {string} - The string representation of the BigDecimal.\n * @example\n * const bigDecimal = new BigDecimal('123456789.123456789');\n * console.log(bigDecimal.toString()); // Outputs: '123456789.123456789'\n */\n toString(): string {\n return `${this.value}`;\n }\n}\n\n// Default export for backward compatibility\nexport default BigDecimal;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","module.exports = require(\"zlib\");","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","var url = require(\"url\");\nvar URL = url.URL;\nvar http = require(\"http\");\nvar https = require(\"https\");\nvar Writable = require(\"stream\").Writable;\nvar assert = require(\"assert\");\nvar debug = require(\"./debug\");\n\n// Preventive platform detection\n// istanbul ignore next\n(function detectUnsupportedEnvironment() {\n var looksLikeNode = typeof process !== \"undefined\";\n var looksLikeBrowser = typeof window !== \"undefined\" && typeof document !== \"undefined\";\n var looksLikeV8 = isFunction(Error.captureStackTrace);\n if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {\n console.warn(\"The follow-redirects package should be excluded from browser builds.\");\n }\n}());\n\n// Whether to use the native URL object or the legacy url module\nvar useNativeURL = false;\ntry {\n assert(new URL(\"\"));\n}\ncatch (error) {\n useNativeURL = error.code === \"ERR_INVALID_URL\";\n}\n\n// URL fields to preserve in copy operations\nvar preservedUrlFields = [\n \"auth\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"hash\",\n];\n\n// Create handlers that pass events from native requests\nvar events = [\"abort\", \"aborted\", \"connect\", \"error\", \"socket\", \"timeout\"];\nvar eventHandlers = Object.create(null);\nevents.forEach(function (event) {\n eventHandlers[event] = function (arg1, arg2, arg3) {\n this._redirectable.emit(event, arg1, arg2, arg3);\n };\n});\n\n// Error types with codes\nvar InvalidUrlError = createErrorType(\n \"ERR_INVALID_URL\",\n \"Invalid URL\",\n TypeError\n);\nvar RedirectionError = createErrorType(\n \"ERR_FR_REDIRECTION_FAILURE\",\n \"Redirected request failed\"\n);\nvar TooManyRedirectsError = createErrorType(\n \"ERR_FR_TOO_MANY_REDIRECTS\",\n \"Maximum number of redirects exceeded\",\n RedirectionError\n);\nvar MaxBodyLengthExceededError = createErrorType(\n \"ERR_FR_MAX_BODY_LENGTH_EXCEEDED\",\n \"Request body larger than maxBodyLength limit\"\n);\nvar WriteAfterEndError = createErrorType(\n \"ERR_STREAM_WRITE_AFTER_END\",\n \"write after end\"\n);\n\n// istanbul ignore next\nvar destroy = Writable.prototype.destroy || noop;\n\n// An HTTP(S) request that can be redirected\nfunction RedirectableRequest(options, responseCallback) {\n // Initialize the request\n Writable.call(this);\n this._sanitizeOptions(options);\n this._options = options;\n this._ended = false;\n this._ending = false;\n this._redirectCount = 0;\n this._redirects = [];\n this._requestBodyLength = 0;\n this._requestBodyBuffers = [];\n\n // Attach a callback if passed\n if (responseCallback) {\n this.on(\"response\", responseCallback);\n }\n\n // React to responses of native requests\n var self = this;\n this._onNativeResponse = function (response) {\n try {\n self._processResponse(response);\n }\n catch (cause) {\n self.emit(\"error\", cause instanceof RedirectionError ?\n cause : new RedirectionError({ cause: cause }));\n }\n };\n\n // Perform the first request\n this._performRequest();\n}\nRedirectableRequest.prototype = Object.create(Writable.prototype);\n\nRedirectableRequest.prototype.abort = function () {\n destroyRequest(this._currentRequest);\n this._currentRequest.abort();\n this.emit(\"abort\");\n};\n\nRedirectableRequest.prototype.destroy = function (error) {\n destroyRequest(this._currentRequest, error);\n destroy.call(this, error);\n return this;\n};\n\n// Writes buffered data to the current native request\nRedirectableRequest.prototype.write = function (data, encoding, callback) {\n // Writing is not allowed if end has been called\n if (this._ending) {\n throw new WriteAfterEndError();\n }\n\n // Validate input and shift parameters if necessary\n if (!isString(data) && !isBuffer(data)) {\n throw new TypeError(\"data should be a string, Buffer or Uint8Array\");\n }\n if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Ignore empty buffers, since writing them doesn't invoke the callback\n // https://github.com/nodejs/node/issues/22066\n if (data.length === 0) {\n if (callback) {\n callback();\n }\n return;\n }\n // Only write when we don't exceed the maximum body length\n if (this._requestBodyLength + data.length <= this._options.maxBodyLength) {\n this._requestBodyLength += data.length;\n this._requestBodyBuffers.push({ data: data, encoding: encoding });\n this._currentRequest.write(data, encoding, callback);\n }\n // Error when we exceed the maximum body length\n else {\n this.emit(\"error\", new MaxBodyLengthExceededError());\n this.abort();\n }\n};\n\n// Ends the current native request\nRedirectableRequest.prototype.end = function (data, encoding, callback) {\n // Shift parameters if necessary\n if (isFunction(data)) {\n callback = data;\n data = encoding = null;\n }\n else if (isFunction(encoding)) {\n callback = encoding;\n encoding = null;\n }\n\n // Write data if needed and end\n if (!data) {\n this._ended = this._ending = true;\n this._currentRequest.end(null, null, callback);\n }\n else {\n var self = this;\n var currentRequest = this._currentRequest;\n this.write(data, encoding, function () {\n self._ended = true;\n currentRequest.end(null, null, callback);\n });\n this._ending = true;\n }\n};\n\n// Sets a header value on the current native request\nRedirectableRequest.prototype.setHeader = function (name, value) {\n this._options.headers[name] = value;\n this._currentRequest.setHeader(name, value);\n};\n\n// Clears a header value on the current native request\nRedirectableRequest.prototype.removeHeader = function (name) {\n delete this._options.headers[name];\n this._currentRequest.removeHeader(name);\n};\n\n// Global timeout for all underlying requests\nRedirectableRequest.prototype.setTimeout = function (msecs, callback) {\n var self = this;\n\n // Destroys the socket on timeout\n function destroyOnTimeout(socket) {\n socket.setTimeout(msecs);\n socket.removeListener(\"timeout\", socket.destroy);\n socket.addListener(\"timeout\", socket.destroy);\n }\n\n // Sets up a timer to trigger a timeout event\n function startTimer(socket) {\n if (self._timeout) {\n clearTimeout(self._timeout);\n }\n self._timeout = setTimeout(function () {\n self.emit(\"timeout\");\n clearTimer();\n }, msecs);\n destroyOnTimeout(socket);\n }\n\n // Stops a timeout from triggering\n function clearTimer() {\n // Clear the timeout\n if (self._timeout) {\n clearTimeout(self._timeout);\n self._timeout = null;\n }\n\n // Clean up all attached listeners\n self.removeListener(\"abort\", clearTimer);\n self.removeListener(\"error\", clearTimer);\n self.removeListener(\"response\", clearTimer);\n self.removeListener(\"close\", clearTimer);\n if (callback) {\n self.removeListener(\"timeout\", callback);\n }\n if (!self.socket) {\n self._currentRequest.removeListener(\"socket\", startTimer);\n }\n }\n\n // Attach callback if passed\n if (callback) {\n this.on(\"timeout\", callback);\n }\n\n // Start the timer if or when the socket is opened\n if (this.socket) {\n startTimer(this.socket);\n }\n else {\n this._currentRequest.once(\"socket\", startTimer);\n }\n\n // Clean up on events\n this.on(\"socket\", destroyOnTimeout);\n this.on(\"abort\", clearTimer);\n this.on(\"error\", clearTimer);\n this.on(\"response\", clearTimer);\n this.on(\"close\", clearTimer);\n\n return this;\n};\n\n// Proxy all other public ClientRequest methods\n[\n \"flushHeaders\", \"getHeader\",\n \"setNoDelay\", \"setSocketKeepAlive\",\n].forEach(function (method) {\n RedirectableRequest.prototype[method] = function (a, b) {\n return this._currentRequest[method](a, b);\n };\n});\n\n// Proxy all public ClientRequest properties\n[\"aborted\", \"connection\", \"socket\"].forEach(function (property) {\n Object.defineProperty(RedirectableRequest.prototype, property, {\n get: function () { return this._currentRequest[property]; },\n });\n});\n\nRedirectableRequest.prototype._sanitizeOptions = function (options) {\n // Ensure headers are always present\n if (!options.headers) {\n options.headers = {};\n }\n\n // Since http.request treats host as an alias of hostname,\n // but the url module interprets host as hostname plus port,\n // eliminate the host property to avoid confusion.\n if (options.host) {\n // Use hostname if set, because it has precedence\n if (!options.hostname) {\n options.hostname = options.host;\n }\n delete options.host;\n }\n\n // Complete the URL object when necessary\n if (!options.pathname && options.path) {\n var searchPos = options.path.indexOf(\"?\");\n if (searchPos < 0) {\n options.pathname = options.path;\n }\n else {\n options.pathname = options.path.substring(0, searchPos);\n options.search = options.path.substring(searchPos);\n }\n }\n};\n\n\n// Executes the next native request (initial or redirect)\nRedirectableRequest.prototype._performRequest = function () {\n // Load the native protocol\n var protocol = this._options.protocol;\n var nativeProtocol = this._options.nativeProtocols[protocol];\n if (!nativeProtocol) {\n throw new TypeError(\"Unsupported protocol \" + protocol);\n }\n\n // If specified, use the agent corresponding to the protocol\n // (HTTP and HTTPS use different types of agents)\n if (this._options.agents) {\n var scheme = protocol.slice(0, -1);\n this._options.agent = this._options.agents[scheme];\n }\n\n // Create the native request and set up its event handlers\n var request = this._currentRequest =\n nativeProtocol.request(this._options, this._onNativeResponse);\n request._redirectable = this;\n for (var event of events) {\n request.on(event, eventHandlers[event]);\n }\n\n // RFC7230§5.3.1: When making a request directly to an origin server, […]\n // a client MUST send only the absolute path […] as the request-target.\n this._currentUrl = /^\\//.test(this._options.path) ?\n url.format(this._options) :\n // When making a request to a proxy, […]\n // a client MUST send the target URI in absolute-form […].\n this._options.path;\n\n // End a redirected request\n // (The first request must be ended explicitly with RedirectableRequest#end)\n if (this._isRedirect) {\n // Write the request entity and end\n var i = 0;\n var self = this;\n var buffers = this._requestBodyBuffers;\n (function writeNext(error) {\n // Only write if this request has not been redirected yet\n // istanbul ignore else\n if (request === self._currentRequest) {\n // Report any write errors\n // istanbul ignore if\n if (error) {\n self.emit(\"error\", error);\n }\n // Write the next buffer if there are still left\n else if (i < buffers.length) {\n var buffer = buffers[i++];\n // istanbul ignore else\n if (!request.finished) {\n request.write(buffer.data, buffer.encoding, writeNext);\n }\n }\n // End the request if `end` has been called on us\n else if (self._ended) {\n request.end();\n }\n }\n }());\n }\n};\n\n// Processes a response from the current native request\nRedirectableRequest.prototype._processResponse = function (response) {\n // Store the redirected response\n var statusCode = response.statusCode;\n if (this._options.trackRedirects) {\n this._redirects.push({\n url: this._currentUrl,\n headers: response.headers,\n statusCode: statusCode,\n });\n }\n\n // RFC7231§6.4: The 3xx (Redirection) class of status code indicates\n // that further action needs to be taken by the user agent in order to\n // fulfill the request. If a Location header field is provided,\n // the user agent MAY automatically redirect its request to the URI\n // referenced by the Location field value,\n // even if the specific status code is not understood.\n\n // If the response is not a redirect; return it as-is\n var location = response.headers.location;\n if (!location || this._options.followRedirects === false ||\n statusCode < 300 || statusCode >= 400) {\n response.responseUrl = this._currentUrl;\n response.redirects = this._redirects;\n this.emit(\"response\", response);\n\n // Clean up\n this._requestBodyBuffers = [];\n return;\n }\n\n // The response is a redirect, so abort the current request\n destroyRequest(this._currentRequest);\n // Discard the remainder of the response to avoid waiting for data\n response.destroy();\n\n // RFC7231§6.4: A client SHOULD detect and intervene\n // in cyclical redirections (i.e., \"infinite\" redirection loops).\n if (++this._redirectCount > this._options.maxRedirects) {\n throw new TooManyRedirectsError();\n }\n\n // Store the request headers if applicable\n var requestHeaders;\n var beforeRedirect = this._options.beforeRedirect;\n if (beforeRedirect) {\n requestHeaders = Object.assign({\n // The Host header was set by nativeProtocol.request\n Host: response.req.getHeader(\"host\"),\n }, this._options.headers);\n }\n\n // RFC7231§6.4: Automatic redirection needs to done with\n // care for methods not known to be safe, […]\n // RFC7231§6.4.2–3: For historical reasons, a user agent MAY change\n // the request method from POST to GET for the subsequent request.\n var method = this._options.method;\n if ((statusCode === 301 || statusCode === 302) && this._options.method === \"POST\" ||\n // RFC7231§6.4.4: The 303 (See Other) status code indicates that\n // the server is redirecting the user agent to a different resource […]\n // A user agent can perform a retrieval request targeting that URI\n // (a GET or HEAD request if using HTTP) […]\n (statusCode === 303) && !/^(?:GET|HEAD)$/.test(this._options.method)) {\n this._options.method = \"GET\";\n // Drop a possible entity and headers related to it\n this._requestBodyBuffers = [];\n removeMatchingHeaders(/^content-/i, this._options.headers);\n }\n\n // Drop the Host header, as the redirect might lead to a different host\n var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);\n\n // If the redirect is relative, carry over the host of the last request\n var currentUrlParts = parseUrl(this._currentUrl);\n var currentHost = currentHostHeader || currentUrlParts.host;\n var currentUrl = /^\\w+:/.test(location) ? this._currentUrl :\n url.format(Object.assign(currentUrlParts, { host: currentHost }));\n\n // Create the redirected request\n var redirectUrl = resolveUrl(location, currentUrl);\n debug(\"redirecting to\", redirectUrl.href);\n this._isRedirect = true;\n spreadUrlObject(redirectUrl, this._options);\n\n // Drop confidential headers when redirecting to a less secure protocol\n // or to a different domain that is not a superdomain\n if (redirectUrl.protocol !== currentUrlParts.protocol &&\n redirectUrl.protocol !== \"https:\" ||\n redirectUrl.host !== currentHost &&\n !isSubdomain(redirectUrl.host, currentHost)) {\n removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);\n }\n\n // Evaluate the beforeRedirect callback\n if (isFunction(beforeRedirect)) {\n var responseDetails = {\n headers: response.headers,\n statusCode: statusCode,\n };\n var requestDetails = {\n url: currentUrl,\n method: method,\n headers: requestHeaders,\n };\n beforeRedirect(this._options, responseDetails, requestDetails);\n this._sanitizeOptions(this._options);\n }\n\n // Perform the redirected request\n this._performRequest();\n};\n\n// Wraps the key/value object of protocols with redirect functionality\nfunction wrap(protocols) {\n // Default settings\n var exports = {\n maxRedirects: 21,\n maxBodyLength: 10 * 1024 * 1024,\n };\n\n // Wrap each protocol\n var nativeProtocols = {};\n Object.keys(protocols).forEach(function (scheme) {\n var protocol = scheme + \":\";\n var nativeProtocol = nativeProtocols[protocol] = protocols[scheme];\n var wrappedProtocol = exports[scheme] = Object.create(nativeProtocol);\n\n // Executes a request, following redirects\n function request(input, options, callback) {\n // Parse parameters, ensuring that input is an object\n if (isURL(input)) {\n input = spreadUrlObject(input);\n }\n else if (isString(input)) {\n input = spreadUrlObject(parseUrl(input));\n }\n else {\n callback = options;\n options = validateUrl(input);\n input = { protocol: protocol };\n }\n if (isFunction(options)) {\n callback = options;\n options = null;\n }\n\n // Set defaults\n options = Object.assign({\n maxRedirects: exports.maxRedirects,\n maxBodyLength: exports.maxBodyLength,\n }, input, options);\n options.nativeProtocols = nativeProtocols;\n if (!isString(options.host) && !isString(options.hostname)) {\n options.hostname = \"::1\";\n }\n\n assert.equal(options.protocol, protocol, \"protocol mismatch\");\n debug(\"options\", options);\n return new RedirectableRequest(options, callback);\n }\n\n // Executes a GET request, following redirects\n function get(input, options, callback) {\n var wrappedRequest = wrappedProtocol.request(input, options, callback);\n wrappedRequest.end();\n return wrappedRequest;\n }\n\n // Expose the properties on the wrapped protocol\n Object.defineProperties(wrappedProtocol, {\n request: { value: request, configurable: true, enumerable: true, writable: true },\n get: { value: get, configurable: true, enumerable: true, writable: true },\n });\n });\n return exports;\n}\n\nfunction noop() { /* empty */ }\n\nfunction parseUrl(input) {\n var parsed;\n // istanbul ignore else\n if (useNativeURL) {\n parsed = new URL(input);\n }\n else {\n // Ensure the URL is valid and absolute\n parsed = validateUrl(url.parse(input));\n if (!isString(parsed.protocol)) {\n throw new InvalidUrlError({ input });\n }\n }\n return parsed;\n}\n\nfunction resolveUrl(relative, base) {\n // istanbul ignore next\n return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));\n}\n\nfunction validateUrl(input) {\n if (/^\\[/.test(input.hostname) && !/^\\[[:0-9a-f]+\\]$/i.test(input.hostname)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n if (/^\\[/.test(input.host) && !/^\\[[:0-9a-f]+\\](:\\d+)?$/i.test(input.host)) {\n throw new InvalidUrlError({ input: input.href || input });\n }\n return input;\n}\n\nfunction spreadUrlObject(urlObject, target) {\n var spread = target || {};\n for (var key of preservedUrlFields) {\n spread[key] = urlObject[key];\n }\n\n // Fix IPv6 hostname\n if (spread.hostname.startsWith(\"[\")) {\n spread.hostname = spread.hostname.slice(1, -1);\n }\n // Ensure port is a number\n if (spread.port !== \"\") {\n spread.port = Number(spread.port);\n }\n // Concatenate path\n spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;\n\n return spread;\n}\n\nfunction removeMatchingHeaders(regex, headers) {\n var lastValue;\n for (var header in headers) {\n if (regex.test(header)) {\n lastValue = headers[header];\n delete headers[header];\n }\n }\n return (lastValue === null || typeof lastValue === \"undefined\") ?\n undefined : String(lastValue).trim();\n}\n\nfunction createErrorType(code, message, baseClass) {\n // Create constructor\n function CustomError(properties) {\n // istanbul ignore else\n if (isFunction(Error.captureStackTrace)) {\n Error.captureStackTrace(this, this.constructor);\n }\n Object.assign(this, properties || {});\n this.code = code;\n this.message = this.cause ? message + \": \" + this.cause.message : message;\n }\n\n // Attach constructor and set default properties\n CustomError.prototype = new (baseClass || Error)();\n Object.defineProperties(CustomError.prototype, {\n constructor: {\n value: CustomError,\n enumerable: false,\n },\n name: {\n value: \"Error [\" + code + \"]\",\n enumerable: false,\n },\n });\n return CustomError;\n}\n\nfunction destroyRequest(request, error) {\n for (var event of events) {\n request.removeListener(event, eventHandlers[event]);\n }\n request.on(\"error\", noop);\n request.destroy(error);\n}\n\nfunction isSubdomain(subdomain, domain) {\n assert(isString(subdomain) && isString(domain));\n var dot = subdomain.length - domain.length - 1;\n return dot > 0 && subdomain[dot] === \".\" && subdomain.endsWith(domain);\n}\n\nfunction isString(value) {\n return typeof value === \"string\" || value instanceof String;\n}\n\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\nfunction isBuffer(value) {\n return typeof value === \"object\" && (\"length\" in value);\n}\n\nfunction isURL(value) {\n return URL && value instanceof URL;\n}\n\n// Exports\nmodule.exports = wrap({ http: http, https: https });\nmodule.exports.wrap = wrap;\n","import {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * `MemoryStore` is an in-memory implementation of the `TokenStore` interface.\n * It is suitable for short-lived or testing purposes, where tokens do not need to persist beyond the application's lifecycle.\n */\nclass MemoryStore implements TokenStore {\n token: AuthToken | null = null; // Holds the token in memory\n\n /**\n * Retrieves the stored authentication token.\n * @returns A promise resolving to the `AuthToken` or `null` if no token is stored.\n */\n getToken(): AuthToken | null {\n return this.token;\n }\n\n /**\n * Removes the stored authentication token from memory.\n */\n removeToken(): void {\n this.token = null;\n }\n\n /**\n * Stores the provided authentication token in memory.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n this.token = token;\n }\n}\n\nexport default MemoryStore;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","/**\n * @fileoverview Provides the StockReservation class for managing stock reservations in the Sharetribe Integration API.\n * This class allows retrieving details about stock reservations.\n *\n * For more details, refer to the Integration API documentation:\n * https://www.sharetribe.com/api-reference/integration.html#stock-reservations\n */\n\nimport {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {StockReservationShowParameter, StockReservationsResponse,} from \"../../types\";\n\n/**\n * Class representing the Stock Reservations API.\n *\n * The Stock Reservations API provides methods to manage stock reservations for marketplace resources.\n */\nclass StockReservations {\n private readonly endpoint: string;\n private readonly axios: AxiosInstance;\n private readonly headers: Record<string, string>;\n\n /**\n * Creates an instance of the StockReservation class.\n *\n * @param {IntegrationApi} api - The Integration API instance providing configuration and request handling.\n */\n constructor(api: IntegrationApi) {\n this.endpoint = api.endpoint + \"/stock_reservations\";\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Retrieves details about a specific stock reservation.\n *\n * @template P\n * @param {P & StockReservationShowParameter} params - The parameters to identify the stock reservation.\n * @returns {Promise<AxiosResponse<StockReservationsResponse<'show', P>>>} - A promise resolving to the stock reservation details.\n *\n * @example\n * const response = await integrationSdk.stockReservations.show({\n * id: 'reservation-id',\n * });\n *\n * const reservationDetails = response.data;\n */\n async show<P extends StockReservationShowParameter>(\n params: P\n ): Promise<AxiosResponse<StockReservationsResponse<\"show\", P>>> {\n return this.axios.get<StockReservationsResponse<\"show\", P>>(\n `${this.endpoint}/show`,\n {headers: this.headers, params}\n );\n }\n}\n\nexport default StockReservations;\n","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","// transit-js 0.8.877\n// http://transit-format.org\n// \n// Copyright 2014 Cognitect. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS-IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License..\n/*\n\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n*/\n'use strict';\nvar COMPILED = !0, goog = goog || {};\ngoog.global = this || self;\ngoog.exportPath_ = function(a, b, c, d) {\n a = a.split(\".\");\n d = d || goog.global;\n a[0] in d || \"undefined\" == typeof d.execScript || d.execScript(\"var \" + a[0]);\n for (var e; a.length && (e = a.shift());) {\n if (a.length || void 0 === b) {\n d = d[e] && d[e] !== Object.prototype[e] ? d[e] : d[e] = {};\n } else {\n if (!c && goog.isObject(b) && goog.isObject(d[e])) {\n for (var f in b) {\n b.hasOwnProperty(f) && (d[e][f] = b[f]);\n }\n } else {\n d[e] = b;\n }\n }\n }\n};\ngoog.define = function(a, b) {\n if (!COMPILED) {\n var c = goog.global.CLOSURE_UNCOMPILED_DEFINES, d = goog.global.CLOSURE_DEFINES;\n c && void 0 === c.nodeType && Object.prototype.hasOwnProperty.call(c, a) ? b = c[a] : d && void 0 === d.nodeType && Object.prototype.hasOwnProperty.call(d, a) && (b = d[a]);\n }\n return b;\n};\ngoog.FEATURESET_YEAR = 2012;\ngoog.DEBUG = !0;\ngoog.LOCALE = \"en\";\ngoog.TRUSTED_SITE = !0;\ngoog.DISALLOW_TEST_ONLY_CODE = COMPILED && !goog.DEBUG;\ngoog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING = !1;\ngoog.provide = function(a) {\n if (goog.isInModuleLoader_()) {\n throw Error(\"goog.provide cannot be used within a module.\");\n }\n if (!COMPILED && goog.isProvided_(a)) {\n throw Error('Namespace \"' + a + '\" already declared.');\n }\n goog.constructNamespace_(a);\n};\ngoog.constructNamespace_ = function(a, b, c) {\n if (!COMPILED) {\n delete goog.implicitNamespaces_[a];\n for (var d = a; (d = d.substring(0, d.lastIndexOf(\".\"))) && !goog.getObjectByName(d);) {\n goog.implicitNamespaces_[d] = !0;\n }\n }\n goog.exportPath_(a, b, c);\n};\ngoog.getScriptNonce = function(a) {\n if (a && a != goog.global) {\n return goog.getScriptNonce_(a.document);\n }\n null === goog.cspNonce_ && (goog.cspNonce_ = goog.getScriptNonce_(goog.global.document));\n return goog.cspNonce_;\n};\ngoog.NONCE_PATTERN_ = /^[\\w+/_-]+[=]{0,2}$/;\ngoog.cspNonce_ = null;\ngoog.getScriptNonce_ = function(a) {\n return (a = a.querySelector && a.querySelector(\"script[nonce]\")) && (a = a.nonce || a.getAttribute(\"nonce\")) && goog.NONCE_PATTERN_.test(a) ? a : \"\";\n};\ngoog.VALID_MODULE_RE_ = /^[a-zA-Z_$][a-zA-Z0-9._$]*$/;\ngoog.module = function(a) {\n if (\"string\" !== typeof a || !a || -1 == a.search(goog.VALID_MODULE_RE_)) {\n throw Error(\"Invalid module identifier\");\n }\n if (!goog.isInGoogModuleLoader_()) {\n throw Error(\"Module \" + a + \" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.\");\n }\n if (goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.module may only be called once per module.\");\n }\n goog.moduleLoaderState_.moduleName = a;\n if (!COMPILED) {\n if (goog.isProvided_(a)) {\n throw Error('Namespace \"' + a + '\" already declared.');\n }\n delete goog.implicitNamespaces_[a];\n }\n};\ngoog.module.get = function(a) {\n return goog.module.getInternal_(a);\n};\ngoog.module.getInternal_ = function(a) {\n if (!COMPILED) {\n if (a in goog.loadedModules_) {\n return goog.loadedModules_[a].exports;\n }\n if (!goog.implicitNamespaces_[a]) {\n return a = goog.getObjectByName(a), null != a ? a : null;\n }\n }\n return null;\n};\ngoog.ModuleType = {ES6:\"es6\", GOOG:\"goog\"};\ngoog.moduleLoaderState_ = null;\ngoog.isInModuleLoader_ = function() {\n return goog.isInGoogModuleLoader_() || goog.isInEs6ModuleLoader_();\n};\ngoog.isInGoogModuleLoader_ = function() {\n return !!goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.GOOG;\n};\ngoog.isInEs6ModuleLoader_ = function() {\n if (goog.moduleLoaderState_ && goog.moduleLoaderState_.type == goog.ModuleType.ES6) {\n return !0;\n }\n var a = goog.global.$jscomp;\n return a ? \"function\" != typeof a.getCurrentModulePath ? !1 : !!a.getCurrentModulePath() : !1;\n};\ngoog.module.declareLegacyNamespace = function() {\n if (!COMPILED && !goog.isInGoogModuleLoader_()) {\n throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");\n }\n if (!COMPILED && !goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");\n }\n goog.moduleLoaderState_.declareLegacyNamespace = !0;\n};\ngoog.declareModuleId = function(a) {\n if (!COMPILED) {\n if (!goog.isInEs6ModuleLoader_()) {\n throw Error(\"goog.declareModuleId may only be called from within an ES6 module\");\n }\n if (goog.moduleLoaderState_ && goog.moduleLoaderState_.moduleName) {\n throw Error(\"goog.declareModuleId may only be called once per module.\");\n }\n if (a in goog.loadedModules_) {\n throw Error('Module with namespace \"' + a + '\" already exists.');\n }\n }\n if (goog.moduleLoaderState_) {\n goog.moduleLoaderState_.moduleName = a;\n } else {\n var b = goog.global.$jscomp;\n if (!b || \"function\" != typeof b.getCurrentModulePath) {\n throw Error('Module with namespace \"' + a + '\" has been loaded incorrectly.');\n }\n b = b.require(b.getCurrentModulePath());\n goog.loadedModules_[a] = {exports:b, type:goog.ModuleType.ES6, moduleId:a};\n }\n};\ngoog.setTestOnly = function(a) {\n if (goog.DISALLOW_TEST_ONLY_CODE) {\n throw a = a || \"\", Error(\"Importing test-only code into non-debug environment\" + (a ? \": \" + a : \".\"));\n }\n};\ngoog.forwardDeclare = function(a) {\n};\nCOMPILED || (goog.isProvided_ = function(a) {\n return a in goog.loadedModules_ || !goog.implicitNamespaces_[a] && null != goog.getObjectByName(a);\n}, goog.implicitNamespaces_ = {\"goog.module\":!0});\ngoog.getObjectByName = function(a, b) {\n a = a.split(\".\");\n b = b || goog.global;\n for (var c = 0; c < a.length; c++) {\n if (b = b[a[c]], null == b) {\n return null;\n }\n }\n return b;\n};\ngoog.addDependency = function(a, b, c, d) {\n !COMPILED && goog.DEPENDENCIES_ENABLED && goog.debugLoader_.addDependency(a, b, c, d);\n};\ngoog.ENABLE_DEBUG_LOADER = !0;\ngoog.logToConsole_ = function(a) {\n goog.global.console && goog.global.console.error(a);\n};\ngoog.require = function(a) {\n if (!COMPILED) {\n goog.ENABLE_DEBUG_LOADER && goog.debugLoader_.requested(a);\n if (goog.isProvided_(a)) {\n if (goog.isInModuleLoader_()) {\n return goog.module.getInternal_(a);\n }\n } else {\n if (goog.ENABLE_DEBUG_LOADER) {\n var b = goog.moduleLoaderState_;\n goog.moduleLoaderState_ = null;\n try {\n goog.debugLoader_.load_(a);\n } finally {\n goog.moduleLoaderState_ = b;\n }\n }\n }\n return null;\n }\n};\ngoog.requireType = function(a) {\n return {};\n};\ngoog.basePath = \"\";\ngoog.nullFunction = function() {\n};\ngoog.abstractMethod = function() {\n throw Error(\"unimplemented abstract method\");\n};\ngoog.addSingletonGetter = function(a) {\n a.instance_ = void 0;\n a.getInstance = function() {\n if (a.instance_) {\n return a.instance_;\n }\n goog.DEBUG && (goog.instantiatedSingletons_[goog.instantiatedSingletons_.length] = a);\n return a.instance_ = new a;\n };\n};\ngoog.instantiatedSingletons_ = [];\ngoog.LOAD_MODULE_USING_EVAL = !0;\ngoog.SEAL_MODULE_EXPORTS = goog.DEBUG;\ngoog.loadedModules_ = {};\ngoog.DEPENDENCIES_ENABLED = !COMPILED && goog.ENABLE_DEBUG_LOADER;\ngoog.TRANSPILE = \"detect\";\ngoog.ASSUME_ES_MODULES_TRANSPILED = !1;\ngoog.TRANSPILE_TO_LANGUAGE = \"\";\ngoog.TRANSPILER = \"transpile.js\";\ngoog.TRUSTED_TYPES_POLICY_NAME = \"goog\";\ngoog.hasBadLetScoping = null;\ngoog.loadModule = function(a) {\n var b = goog.moduleLoaderState_;\n try {\n goog.moduleLoaderState_ = {moduleName:\"\", declareLegacyNamespace:!1, type:goog.ModuleType.GOOG};\n var c = {}, d = c;\n if (\"function\" === typeof a) {\n d = a.call(void 0, d);\n } else {\n if (\"string\" === typeof a) {\n d = goog.loadModuleFromSource_.call(void 0, d, a);\n } else {\n throw Error(\"Invalid module definition\");\n }\n }\n var e = goog.moduleLoaderState_.moduleName;\n if (\"string\" === typeof e && e) {\n goog.moduleLoaderState_.declareLegacyNamespace ? goog.constructNamespace_(e, d, c !== d) : goog.SEAL_MODULE_EXPORTS && Object.seal && \"object\" == typeof d && null != d && Object.seal(d), goog.loadedModules_[e] = {exports:d, type:goog.ModuleType.GOOG, moduleId:goog.moduleLoaderState_.moduleName};\n } else {\n throw Error('Invalid module name \"' + e + '\"');\n }\n } finally {\n goog.moduleLoaderState_ = b;\n }\n};\ngoog.loadModuleFromSource_ = function(a, b) {\n eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(b));\n return a;\n};\ngoog.normalizePath_ = function(a) {\n a = a.split(\"/\");\n for (var b = 0; b < a.length;) {\n \".\" == a[b] ? a.splice(b, 1) : b && \"..\" == a[b] && a[b - 1] && \"..\" != a[b - 1] ? a.splice(--b, 2) : b++;\n }\n return a.join(\"/\");\n};\ngoog.loadFileSync_ = function(a) {\n if (goog.global.CLOSURE_LOAD_FILE_SYNC) {\n return goog.global.CLOSURE_LOAD_FILE_SYNC(a);\n }\n try {\n var b = new goog.global.XMLHttpRequest;\n b.open(\"get\", a, !1);\n b.send();\n return 0 == b.status || 200 == b.status ? b.responseText : null;\n } catch (c) {\n return null;\n }\n};\ngoog.transpile_ = function(a, b, c) {\n var d = goog.global.$jscomp;\n d || (goog.global.$jscomp = d = {});\n var e = d.transpile;\n if (!e) {\n var f = goog.basePath + goog.TRANSPILER, g = goog.loadFileSync_(f);\n if (g) {\n (function() {\n (0,eval)(g + \"\\n//# sourceURL=\" + f);\n }).call(goog.global);\n if (goog.global.$gwtExport && goog.global.$gwtExport.$jscomp && !goog.global.$gwtExport.$jscomp.transpile) {\n throw Error('The transpiler did not properly export the \"transpile\" method. $gwtExport: ' + JSON.stringify(goog.global.$gwtExport));\n }\n goog.global.$jscomp.transpile = goog.global.$gwtExport.$jscomp.transpile;\n d = goog.global.$jscomp;\n e = d.transpile;\n }\n }\n e || (e = d.transpile = function(h, k) {\n goog.logToConsole_(k + \" requires transpilation but no transpiler was found.\");\n return h;\n });\n return e(a, b, c);\n};\ngoog.typeOf = function(a) {\n var b = typeof a;\n return \"object\" != b ? b : a ? Array.isArray(a) ? \"array\" : b : \"null\";\n};\ngoog.isArrayLike = function(a) {\n var b = goog.typeOf(a);\n return \"array\" == b || \"object\" == b && \"number\" == typeof a.length;\n};\ngoog.isDateLike = function(a) {\n return goog.isObject(a) && \"function\" == typeof a.getFullYear;\n};\ngoog.isObject = function(a) {\n var b = typeof a;\n return \"object\" == b && null != a || \"function\" == b;\n};\ngoog.getUid = function(a) {\n return Object.prototype.hasOwnProperty.call(a, goog.UID_PROPERTY_) && a[goog.UID_PROPERTY_] || (a[goog.UID_PROPERTY_] = ++goog.uidCounter_);\n};\ngoog.hasUid = function(a) {\n return !!a[goog.UID_PROPERTY_];\n};\ngoog.removeUid = function(a) {\n null !== a && \"removeAttribute\" in a && a.removeAttribute(goog.UID_PROPERTY_);\n try {\n delete a[goog.UID_PROPERTY_];\n } catch (b) {\n }\n};\ngoog.UID_PROPERTY_ = \"closure_uid_\" + (1e9 * Math.random() >>> 0);\ngoog.uidCounter_ = 0;\ngoog.cloneObject = function(a) {\n var b = goog.typeOf(a);\n if (\"object\" == b || \"array\" == b) {\n if (\"function\" === typeof a.clone) {\n return a.clone();\n }\n b = \"array\" == b ? [] : {};\n for (var c in a) {\n b[c] = goog.cloneObject(a[c]);\n }\n return b;\n }\n return a;\n};\ngoog.bindNative_ = function(a, b, c) {\n return a.call.apply(a.bind, arguments);\n};\ngoog.bindJs_ = function(a, b, c) {\n if (!a) {\n throw Error();\n }\n if (2 < arguments.length) {\n var d = Array.prototype.slice.call(arguments, 2);\n return function() {\n var e = Array.prototype.slice.call(arguments);\n Array.prototype.unshift.apply(e, d);\n return a.apply(b, e);\n };\n }\n return function() {\n return a.apply(b, arguments);\n };\n};\ngoog.bind = function(a, b, c) {\n Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf(\"native code\") ? goog.bind = goog.bindNative_ : goog.bind = goog.bindJs_;\n return goog.bind.apply(null, arguments);\n};\ngoog.partial = function(a, b) {\n var c = Array.prototype.slice.call(arguments, 1);\n return function() {\n var d = c.slice();\n d.push.apply(d, arguments);\n return a.apply(this, d);\n };\n};\ngoog.mixin = function(a, b) {\n for (var c in b) {\n a[c] = b[c];\n }\n};\ngoog.now = function() {\n return Date.now();\n};\ngoog.globalEval = function(a) {\n (0,eval)(a);\n};\ngoog.getCssName = function(a, b) {\n if (\".\" == String(a).charAt(0)) {\n throw Error('className passed in goog.getCssName must not start with \".\". You passed: ' + a);\n }\n var c = function(e) {\n return goog.cssNameMapping_[e] || e;\n }, d = function(e) {\n e = e.split(\"-\");\n for (var f = [], g = 0; g < e.length; g++) {\n f.push(c(e[g]));\n }\n return f.join(\"-\");\n };\n d = goog.cssNameMapping_ ? \"BY_WHOLE\" == goog.cssNameMappingStyle_ ? c : d : function(e) {\n return e;\n };\n a = b ? a + \"-\" + d(b) : d(a);\n return goog.global.CLOSURE_CSS_NAME_MAP_FN ? goog.global.CLOSURE_CSS_NAME_MAP_FN(a) : a;\n};\ngoog.setCssNameMapping = function(a, b) {\n goog.cssNameMapping_ = a;\n goog.cssNameMappingStyle_ = b;\n};\n!COMPILED && goog.global.CLOSURE_CSS_NAME_MAPPING && (goog.cssNameMapping_ = goog.global.CLOSURE_CSS_NAME_MAPPING);\ngoog.getMsg = function(a, b, c) {\n c && c.html && (a = a.replace(/</g, \"<\"));\n c && c.unescapeHtmlEntities && (a = a.replace(/</g, \"<\").replace(/>/g, \">\").replace(/'/g, \"'\").replace(/"/g, '\"').replace(/&/g, \"&\"));\n b && (a = a.replace(/\\{\\$([^}]+)}/g, function(d, e) {\n return null != b && e in b ? b[e] : d;\n }));\n return a;\n};\ngoog.getMsgWithFallback = function(a, b) {\n return a;\n};\ngoog.exportSymbol = function(a, b, c) {\n goog.exportPath_(a, b, !0, c);\n};\ngoog.exportProperty = function(a, b, c) {\n a[b] = c;\n};\ngoog.inherits = function(a, b) {\n function c() {\n }\n c.prototype = b.prototype;\n a.superClass_ = b.prototype;\n a.prototype = new c;\n a.prototype.constructor = a;\n a.base = function(d, e, f) {\n for (var g = Array(arguments.length - 2), h = 2; h < arguments.length; h++) {\n g[h - 2] = arguments[h];\n }\n return b.prototype[e].apply(d, g);\n };\n};\ngoog.scope = function(a) {\n if (goog.isInModuleLoader_()) {\n throw Error(\"goog.scope is not supported within a module.\");\n }\n a.call(goog.global);\n};\nCOMPILED || (goog.global.COMPILED = COMPILED);\ngoog.defineClass = function(a, b) {\n var c = b.constructor, d = b.statics;\n c && c != Object.prototype.constructor || (c = function() {\n throw Error(\"cannot instantiate an interface (no constructor defined).\");\n });\n c = goog.defineClass.createSealingConstructor_(c, a);\n a && goog.inherits(c, a);\n delete b.constructor;\n delete b.statics;\n goog.defineClass.applyProperties_(c.prototype, b);\n null != d && (d instanceof Function ? d(c) : goog.defineClass.applyProperties_(c, d));\n return c;\n};\ngoog.defineClass.SEAL_CLASS_INSTANCES = goog.DEBUG;\ngoog.defineClass.createSealingConstructor_ = function(a, b) {\n return goog.defineClass.SEAL_CLASS_INSTANCES ? function() {\n var c = a.apply(this, arguments) || this;\n c[goog.UID_PROPERTY_] = c[goog.UID_PROPERTY_];\n return c;\n } : a;\n};\ngoog.defineClass.OBJECT_PROTOTYPE_FIELDS_ = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.defineClass.applyProperties_ = function(a, b) {\n for (var c in b) {\n Object.prototype.hasOwnProperty.call(b, c) && (a[c] = b[c]);\n }\n for (var d = 0; d < goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length; d++) {\n c = goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d], Object.prototype.hasOwnProperty.call(b, c) && (a[c] = b[c]);\n }\n};\ngoog.identity_ = function(a) {\n return a;\n};\ngoog.createTrustedTypesPolicy = function(a) {\n var b = null, c = goog.global.trustedTypes;\n if (!c || !c.createPolicy) {\n return b;\n }\n try {\n b = c.createPolicy(a, {createHTML:goog.identity_, createScript:goog.identity_, createScriptURL:goog.identity_});\n } catch (d) {\n goog.logToConsole_(d.message);\n }\n return b;\n};\n!COMPILED && goog.DEPENDENCIES_ENABLED && (goog.isEdge_ = function() {\n return !!(goog.global.navigator && goog.global.navigator.userAgent ? goog.global.navigator.userAgent : \"\").match(/Edge\\/(\\d+)(\\.\\d)*/i);\n}, goog.inHtmlDocument_ = function() {\n var a = goog.global.document;\n return null != a && \"write\" in a;\n}, goog.isDocumentLoading_ = function() {\n var a = goog.global.document;\n return a.attachEvent ? \"complete\" != a.readyState : \"loading\" == a.readyState;\n}, goog.findBasePath_ = function() {\n if (void 0 != goog.global.CLOSURE_BASE_PATH && \"string\" === typeof goog.global.CLOSURE_BASE_PATH) {\n goog.basePath = goog.global.CLOSURE_BASE_PATH;\n } else {\n if (goog.inHtmlDocument_()) {\n var a = goog.global.document, b = a.currentScript;\n a = b ? [b] : a.getElementsByTagName(\"SCRIPT\");\n for (b = a.length - 1; 0 <= b; --b) {\n var c = a[b].src, d = c.lastIndexOf(\"?\");\n d = -1 == d ? c.length : d;\n if (\"base.js\" == c.substr(d - 7, 7)) {\n goog.basePath = c.substr(0, d - 7);\n break;\n }\n }\n }\n }\n}, goog.findBasePath_(), goog.Transpiler = function() {\n this.requiresTranspilation_ = null;\n this.transpilationTarget_ = goog.TRANSPILE_TO_LANGUAGE;\n}, goog.Transpiler.prototype.createRequiresTranspilation_ = function() {\n function a(f, g) {\n e ? d[f] = !0 : g() ? (c = f, d[f] = !1) : e = d[f] = !0;\n }\n function b(f) {\n try {\n return !!eval(goog.CLOSURE_EVAL_PREFILTER_.createScript(f));\n } catch (g) {\n return !1;\n }\n }\n var c = \"es3\", d = {es3:!1}, e = !1;\n a(\"es5\", function() {\n return b(\"[1,].length==1\");\n });\n a(\"es6\", function() {\n return goog.isEdge_() ? !1 : b('(()=>{\"use strict\";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()');\n });\n a(\"es7\", function() {\n return b(\"2**3==8\");\n });\n a(\"es8\", function() {\n return b(\"async()=>1,1\");\n });\n a(\"es9\", function() {\n return b(\"({...rest}={}),1\");\n });\n a(\"es_2019\", function() {\n return b('let r;try{throw 0}catch{r=\"\\u2029\"};r');\n });\n a(\"es_2020\", function() {\n return b(\"null?.x??1\");\n });\n a(\"es_next\", function() {\n return !1;\n });\n return {target:c, map:d};\n}, goog.Transpiler.prototype.needsTranspile = function(a, b) {\n if (\"always\" == goog.TRANSPILE) {\n return !0;\n }\n if (\"never\" == goog.TRANSPILE) {\n return !1;\n }\n if (!this.requiresTranspilation_) {\n var c = this.createRequiresTranspilation_();\n this.requiresTranspilation_ = c.map;\n this.transpilationTarget_ = this.transpilationTarget_ || c.target;\n }\n if (a in this.requiresTranspilation_) {\n return this.requiresTranspilation_[a] ? !0 : !goog.inHtmlDocument_() || \"es6\" != b || \"noModule\" in goog.global.document.createElement(\"script\") ? !1 : !0;\n }\n throw Error(\"Unknown language mode: \" + a);\n}, goog.Transpiler.prototype.transpile = function(a, b) {\n return goog.transpile_(a, b, this.transpilationTarget_);\n}, goog.transpiler_ = new goog.Transpiler, goog.protectScriptTag_ = function(a) {\n return a.replace(/<\\/(SCRIPT)/ig, \"\\\\x3c/$1\");\n}, goog.DebugLoader_ = function() {\n this.dependencies_ = {};\n this.idToPath_ = {};\n this.written_ = {};\n this.loadingDeps_ = [];\n this.depsToLoad_ = [];\n this.paused_ = !1;\n this.factory_ = new goog.DependencyFactory(goog.transpiler_);\n this.deferredCallbacks_ = {};\n this.deferredQueue_ = [];\n}, goog.DebugLoader_.prototype.bootstrap = function(a, b) {\n function c() {\n d && (goog.global.setTimeout(d, 0), d = null);\n }\n var d = b;\n if (a.length) {\n b = [];\n for (var e = 0; e < a.length; e++) {\n var f = this.getPathFromDeps_(a[e]);\n if (!f) {\n throw Error(\"Unregonized namespace: \" + a[e]);\n }\n b.push(this.dependencies_[f]);\n }\n f = goog.require;\n var g = 0;\n for (e = 0; e < a.length; e++) {\n f(a[e]), b[e].onLoad(function() {\n ++g == a.length && c();\n });\n }\n } else {\n c();\n }\n}, goog.DebugLoader_.prototype.loadClosureDeps = function() {\n this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath + \"deps.js\"), \"deps.js\", [], [], {}, !1));\n this.loadDeps_();\n}, goog.DebugLoader_.prototype.requested = function(a, b) {\n (a = this.getPathFromDeps_(a)) && (b || this.areDepsLoaded_(this.dependencies_[a].requires)) && (b = this.deferredCallbacks_[a]) && (delete this.deferredCallbacks_[a], b());\n}, goog.DebugLoader_.prototype.setDependencyFactory = function(a) {\n this.factory_ = a;\n}, goog.DebugLoader_.prototype.load_ = function(a) {\n if (this.getPathFromDeps_(a)) {\n var b = this, c = [], d = function(e) {\n var f = b.getPathFromDeps_(e);\n if (!f) {\n throw Error(\"Bad dependency path or symbol: \" + e);\n }\n if (!b.written_[f]) {\n b.written_[f] = !0;\n e = b.dependencies_[f];\n for (f = 0; f < e.requires.length; f++) {\n goog.isProvided_(e.requires[f]) || d(e.requires[f]);\n }\n c.push(e);\n }\n };\n d(a);\n a = !!this.depsToLoad_.length;\n this.depsToLoad_ = this.depsToLoad_.concat(c);\n this.paused_ || a || this.loadDeps_();\n } else {\n goog.logToConsole_(\"goog.require could not find: \" + a);\n }\n}, goog.DebugLoader_.prototype.loadDeps_ = function() {\n for (var a = this, b = this.paused_; this.depsToLoad_.length && !b;) {\n (function() {\n var c = !1, d = a.depsToLoad_.shift(), e = !1;\n a.loading_(d);\n var f = {pause:function() {\n if (c) {\n throw Error(\"Cannot call pause after the call to load.\");\n }\n b = !0;\n }, resume:function() {\n c ? a.resume_() : b = !1;\n }, loaded:function() {\n if (e) {\n throw Error(\"Double call to loaded.\");\n }\n e = !0;\n a.loaded_(d);\n }, pending:function() {\n for (var g = [], h = 0; h < a.loadingDeps_.length; h++) {\n g.push(a.loadingDeps_[h]);\n }\n return g;\n }, setModuleState:function(g) {\n goog.moduleLoaderState_ = {type:g, moduleName:\"\", declareLegacyNamespace:!1};\n }, registerEs6ModuleExports:function(g, h, k) {\n k && (goog.loadedModules_[k] = {exports:h, type:goog.ModuleType.ES6, moduleId:k || \"\"});\n }, registerGoogModuleExports:function(g, h) {\n goog.loadedModules_[g] = {exports:h, type:goog.ModuleType.GOOG, moduleId:g};\n }, clearModuleState:function() {\n goog.moduleLoaderState_ = null;\n }, defer:function(g) {\n if (c) {\n throw Error(\"Cannot register with defer after the call to load.\");\n }\n a.defer_(d, g);\n }, areDepsLoaded:function() {\n return a.areDepsLoaded_(d.requires);\n }};\n try {\n d.load(f);\n } finally {\n c = !0;\n }\n })();\n }\n b && this.pause_();\n}, goog.DebugLoader_.prototype.pause_ = function() {\n this.paused_ = !0;\n}, goog.DebugLoader_.prototype.resume_ = function() {\n this.paused_ && (this.paused_ = !1, this.loadDeps_());\n}, goog.DebugLoader_.prototype.loading_ = function(a) {\n this.loadingDeps_.push(a);\n}, goog.DebugLoader_.prototype.loaded_ = function(a) {\n for (var b = 0; b < this.loadingDeps_.length; b++) {\n if (this.loadingDeps_[b] == a) {\n this.loadingDeps_.splice(b, 1);\n break;\n }\n }\n for (b = 0; b < this.deferredQueue_.length; b++) {\n if (this.deferredQueue_[b] == a.path) {\n this.deferredQueue_.splice(b, 1);\n break;\n }\n }\n if (this.loadingDeps_.length == this.deferredQueue_.length && !this.depsToLoad_.length) {\n for (; this.deferredQueue_.length;) {\n this.requested(this.deferredQueue_.shift(), !0);\n }\n }\n a.loaded();\n}, goog.DebugLoader_.prototype.areDepsLoaded_ = function(a) {\n for (var b = 0; b < a.length; b++) {\n var c = this.getPathFromDeps_(a[b]);\n if (!c || !(c in this.deferredCallbacks_ || goog.isProvided_(a[b]))) {\n return !1;\n }\n }\n return !0;\n}, goog.DebugLoader_.prototype.getPathFromDeps_ = function(a) {\n return a in this.idToPath_ ? this.idToPath_[a] : a in this.dependencies_ ? a : null;\n}, goog.DebugLoader_.prototype.defer_ = function(a, b) {\n this.deferredCallbacks_[a.path] = b;\n this.deferredQueue_.push(a.path);\n}, goog.LoadController = function() {\n}, goog.LoadController.prototype.pause = function() {\n}, goog.LoadController.prototype.resume = function() {\n}, goog.LoadController.prototype.loaded = function() {\n}, goog.LoadController.prototype.pending = function() {\n}, goog.LoadController.prototype.registerEs6ModuleExports = function(a, b, c) {\n}, goog.LoadController.prototype.setModuleState = function(a) {\n}, goog.LoadController.prototype.clearModuleState = function() {\n}, goog.LoadController.prototype.defer = function(a) {\n}, goog.LoadController.prototype.areDepsLoaded = function() {\n}, goog.Dependency = function(a, b, c, d, e) {\n this.path = a;\n this.relativePath = b;\n this.provides = c;\n this.requires = d;\n this.loadFlags = e;\n this.loaded_ = !1;\n this.loadCallbacks_ = [];\n}, goog.Dependency.prototype.getPathName = function() {\n var a = this.path, b = a.indexOf(\"://\");\n 0 <= b && (a = a.substring(b + 3), b = a.indexOf(\"/\"), 0 <= b && (a = a.substring(b + 1)));\n return a;\n}, goog.Dependency.prototype.onLoad = function(a) {\n this.loaded_ ? a() : this.loadCallbacks_.push(a);\n}, goog.Dependency.prototype.loaded = function() {\n this.loaded_ = !0;\n var a = this.loadCallbacks_;\n this.loadCallbacks_ = [];\n for (var b = 0; b < a.length; b++) {\n a[b]();\n }\n}, goog.Dependency.defer_ = !1, goog.Dependency.callbackMap_ = {}, goog.Dependency.registerCallback_ = function(a) {\n var b = Math.random().toString(32);\n goog.Dependency.callbackMap_[b] = a;\n return b;\n}, goog.Dependency.unregisterCallback_ = function(a) {\n delete goog.Dependency.callbackMap_[a];\n}, goog.Dependency.callback_ = function(a, b) {\n if (a in goog.Dependency.callbackMap_) {\n for (var c = goog.Dependency.callbackMap_[a], d = [], e = 1; e < arguments.length; e++) {\n d.push(arguments[e]);\n }\n c.apply(void 0, d);\n } else {\n throw Error(\"Callback key \" + a + \" does not exist (was base.js loaded more than once?).\");\n }\n}, goog.Dependency.prototype.load = function(a) {\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n goog.global.CLOSURE_IMPORT_SCRIPT(this.path) ? a.loaded() : a.pause();\n } else {\n if (goog.inHtmlDocument_()) {\n var b = goog.global.document;\n if (\"complete\" == b.readyState && !goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING) {\n if (/\\bdeps.js$/.test(this.path)) {\n a.loaded();\n return;\n }\n throw Error('Cannot write \"' + this.path + '\" after document load');\n }\n var c = goog.getScriptNonce();\n if (!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING && goog.isDocumentLoading_()) {\n var d = function(h) {\n h.readyState && \"complete\" != h.readyState ? h.onload = d : (goog.Dependency.unregisterCallback_(e), a.loaded());\n };\n var e = goog.Dependency.registerCallback_(d);\n c = c ? ' nonce=\"' + c + '\"' : \"\";\n var f = '<script src=\"' + this.path + '\"' + c + (goog.Dependency.defer_ ? \" defer\" : \"\") + ' id=\"script-' + e + '\">\\x3c/script>';\n f += \"<script\" + c + \">\";\n f = goog.Dependency.defer_ ? f + (\"document.getElementById('script-\" + e + \"').onload = function() {\\n goog.Dependency.callback_('\" + e + \"', this);\\n};\\n\") : f + (\"goog.Dependency.callback_('\" + e + \"', document.getElementById('script-\" + e + \"'));\");\n f += \"\\x3c/script>\";\n b.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(f) : f);\n } else {\n var g = b.createElement(\"script\");\n g.defer = goog.Dependency.defer_;\n g.async = !1;\n c && (g.nonce = c);\n goog.DebugLoader_.IS_OLD_IE_ ? (a.pause(), g.onreadystatechange = function() {\n if (\"loaded\" == g.readyState || \"complete\" == g.readyState) {\n a.loaded(), a.resume();\n }\n }) : g.onload = function() {\n g.onload = null;\n a.loaded();\n };\n g.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path) : this.path;\n b.head.appendChild(g);\n }\n } else {\n goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"), \"deps.js\" == this.relativePath ? (goog.logToConsole_(\"Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true.\"), a.loaded()) : a.pause();\n }\n }\n}, goog.Es6ModuleDependency = function(a, b, c, d, e) {\n goog.Dependency.call(this, a, b, c, d, e);\n}, goog.inherits(goog.Es6ModuleDependency, goog.Dependency), goog.Es6ModuleDependency.prototype.load = function(a) {\n function b(l, n) {\n var m = \"\", p = goog.getScriptNonce();\n p && (m = ' nonce=\"' + p + '\"');\n l = n ? '<script type=\"module\" crossorigin' + m + \">\" + n + \"\\x3c/script>\" : '<script type=\"module\" crossorigin src=\"' + l + '\"' + m + \">\\x3c/script>\";\n d.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(l) : l);\n }\n function c(l, n) {\n var m = d.createElement(\"script\");\n m.defer = !0;\n m.async = !1;\n m.type = \"module\";\n m.setAttribute(\"crossorigin\", !0);\n var p = goog.getScriptNonce();\n p && (m.nonce = p);\n n ? m.text = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScript(n) : n : m.src = goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createScriptURL(l) : l;\n d.head.appendChild(m);\n }\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n goog.global.CLOSURE_IMPORT_SCRIPT(this.path) ? a.loaded() : a.pause();\n } else {\n if (goog.inHtmlDocument_()) {\n var d = goog.global.document, e = this;\n if (goog.isDocumentLoading_()) {\n var f = b;\n goog.Dependency.defer_ = !0;\n } else {\n f = c;\n }\n var g = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(g);\n a.setModuleState(goog.ModuleType.ES6);\n });\n f(void 0, 'goog.Dependency.callback_(\"' + g + '\")');\n f(this.path, void 0);\n var h = goog.Dependency.registerCallback_(function(l) {\n goog.Dependency.unregisterCallback_(h);\n a.registerEs6ModuleExports(e.path, l, goog.moduleLoaderState_.moduleName);\n });\n f(void 0, 'import * as m from \"' + this.path + '\"; goog.Dependency.callback_(\"' + h + '\", m)');\n var k = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(k);\n a.clearModuleState();\n a.loaded();\n });\n f(void 0, 'goog.Dependency.callback_(\"' + k + '\")');\n } else {\n goog.logToConsole_(\"Cannot use default debug loader outside of HTML documents.\"), a.pause();\n }\n }\n}, goog.TransformedDependency = function(a, b, c, d, e) {\n goog.Dependency.call(this, a, b, c, d, e);\n this.contents_ = null;\n this.lazyFetch_ = !goog.inHtmlDocument_() || !(\"noModule\" in goog.global.document.createElement(\"script\"));\n}, goog.inherits(goog.TransformedDependency, goog.Dependency), goog.TransformedDependency.prototype.load = function(a) {\n function b() {\n e.contents_ = goog.loadFileSync_(e.path);\n e.contents_ && (e.contents_ = e.transform(e.contents_), e.contents_ && (e.contents_ += \"\\n//# sourceURL=\" + e.path));\n }\n function c() {\n e.lazyFetch_ && b();\n if (e.contents_) {\n f && a.setModuleState(goog.ModuleType.ES6);\n try {\n var n = e.contents_;\n e.contents_ = null;\n goog.globalEval(goog.CLOSURE_EVAL_PREFILTER_.createScript(n));\n if (f) {\n var m = goog.moduleLoaderState_.moduleName;\n }\n } finally {\n f && a.clearModuleState();\n }\n f && goog.global.$jscomp.require.ensure([e.getPathName()], function() {\n a.registerEs6ModuleExports(e.path, goog.global.$jscomp.require(e.getPathName()), m);\n });\n a.loaded();\n }\n }\n function d() {\n var n = goog.global.document, m = goog.Dependency.registerCallback_(function() {\n goog.Dependency.unregisterCallback_(m);\n c();\n }), p = goog.getScriptNonce();\n p = \"<script\" + (p ? ' nonce=\"' + p + '\"' : \"\") + \">\" + goog.protectScriptTag_('goog.Dependency.callback_(\"' + m + '\");') + \"\\x3c/script>\";\n n.write(goog.TRUSTED_TYPES_POLICY_ ? goog.TRUSTED_TYPES_POLICY_.createHTML(p) : p);\n }\n var e = this;\n if (goog.global.CLOSURE_IMPORT_SCRIPT) {\n b(), this.contents_ && goog.global.CLOSURE_IMPORT_SCRIPT(\"\", this.contents_) ? (this.contents_ = null, a.loaded()) : a.pause();\n } else {\n var f = this.loadFlags.module == goog.ModuleType.ES6;\n this.lazyFetch_ || b();\n var g = 1 < a.pending().length, h = g && goog.DebugLoader_.IS_OLD_IE_;\n g = goog.Dependency.defer_ && (g || goog.isDocumentLoading_());\n if (h || g) {\n a.defer(function() {\n c();\n });\n } else {\n var k = goog.global.document;\n h = goog.inHtmlDocument_() && (\"ActiveXObject\" in goog.global || goog.isEdge_());\n if (f && goog.inHtmlDocument_() && goog.isDocumentLoading_() && !h) {\n goog.Dependency.defer_ = !0;\n a.pause();\n var l = k.onreadystatechange;\n k.onreadystatechange = function() {\n \"interactive\" == k.readyState && (k.onreadystatechange = l, c(), a.resume());\n \"function\" === typeof l && l.apply(void 0, arguments);\n };\n } else {\n !goog.DebugLoader_.IS_OLD_IE_ && goog.inHtmlDocument_() && goog.isDocumentLoading_() ? d() : c();\n }\n }\n }\n}, goog.TransformedDependency.prototype.transform = function(a) {\n}, goog.TranspiledDependency = function(a, b, c, d, e, f) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n this.transpiler = f;\n}, goog.inherits(goog.TranspiledDependency, goog.TransformedDependency), goog.TranspiledDependency.prototype.transform = function(a) {\n return this.transpiler.transpile(a, this.getPathName());\n}, goog.PreTranspiledEs6ModuleDependency = function(a, b, c, d, e) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n}, goog.inherits(goog.PreTranspiledEs6ModuleDependency, goog.TransformedDependency), goog.PreTranspiledEs6ModuleDependency.prototype.transform = function(a) {\n return a;\n}, goog.GoogModuleDependency = function(a, b, c, d, e, f, g) {\n goog.TransformedDependency.call(this, a, b, c, d, e);\n this.needsTranspile_ = f;\n this.transpiler_ = g;\n}, goog.inherits(goog.GoogModuleDependency, goog.TransformedDependency), goog.GoogModuleDependency.prototype.transform = function(a) {\n this.needsTranspile_ && (a = this.transpiler_.transpile(a, this.getPathName()));\n return goog.LOAD_MODULE_USING_EVAL && void 0 !== goog.global.JSON ? \"goog.loadModule(\" + goog.global.JSON.stringify(a + \"\\n//# sourceURL=\" + this.path + \"\\n\") + \");\" : 'goog.loadModule(function(exports) {\"use strict\";' + a + \"\\n;return exports});\\n//# sourceURL=\" + this.path + \"\\n\";\n}, goog.DebugLoader_.IS_OLD_IE_ = !(goog.global.atob || !goog.global.document || !goog.global.document.all), goog.DebugLoader_.prototype.addDependency = function(a, b, c, d) {\n b = b || [];\n a = a.replace(/\\\\/g, \"/\");\n var e = goog.normalizePath_(goog.basePath + a);\n d && \"boolean\" !== typeof d || (d = d ? {module:goog.ModuleType.GOOG} : {});\n c = this.factory_.createDependency(e, a, b, c, d, goog.transpiler_.needsTranspile(d.lang || \"es3\", d.module));\n this.dependencies_[e] = c;\n for (c = 0; c < b.length; c++) {\n this.idToPath_[b[c]] = e;\n }\n this.idToPath_[a] = e;\n}, goog.DependencyFactory = function(a) {\n this.transpiler = a;\n}, goog.DependencyFactory.prototype.createDependency = function(a, b, c, d, e, f) {\n return e.module == goog.ModuleType.GOOG ? new goog.GoogModuleDependency(a, b, c, d, e, f, this.transpiler) : f ? new goog.TranspiledDependency(a, b, c, d, e, this.transpiler) : e.module == goog.ModuleType.ES6 ? \"never\" == goog.TRANSPILE && goog.ASSUME_ES_MODULES_TRANSPILED ? new goog.PreTranspiledEs6ModuleDependency(a, b, c, d, e) : new goog.Es6ModuleDependency(a, b, c, d, e) : new goog.Dependency(a, b, c, d, e);\n}, goog.debugLoader_ = new goog.DebugLoader_, goog.loadClosureDeps = function() {\n goog.debugLoader_.loadClosureDeps();\n}, goog.setDependencyFactory = function(a) {\n goog.debugLoader_.setDependencyFactory(a);\n}, goog.TRUSTED_TYPES_POLICY_ = goog.TRUSTED_TYPES_POLICY_NAME ? goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME + \"#base\") : null, goog.global.CLOSURE_NO_DEPS || goog.debugLoader_.loadClosureDeps(), goog.bootstrap = function(a, b) {\n goog.debugLoader_.bootstrap(a, b);\n});\nif (!COMPILED) {\n var isChrome87 = !1;\n try {\n isChrome87 = eval(goog.global.trustedTypes.emptyScript) !== goog.global.trustedTypes.emptyScript;\n } catch (a) {\n }\n goog.CLOSURE_EVAL_PREFILTER_ = goog.global.trustedTypes && isChrome87 && goog.createTrustedTypesPolicy(\"goog#base#devonly#eval\") || {createScript:goog.identity_};\n}\n;goog.object = {};\ngoog.object.forEach = function(a, b, c) {\n for (const d in a) {\n b.call(c, a[d], d, a);\n }\n};\ngoog.object.filter = function(a, b, c) {\n const d = {};\n for (const e in a) {\n b.call(c, a[e], e, a) && (d[e] = a[e]);\n }\n return d;\n};\ngoog.object.map = function(a, b, c) {\n const d = {};\n for (const e in a) {\n d[e] = b.call(c, a[e], e, a);\n }\n return d;\n};\ngoog.object.some = function(a, b, c) {\n for (const d in a) {\n if (b.call(c, a[d], d, a)) {\n return !0;\n }\n }\n return !1;\n};\ngoog.object.every = function(a, b, c) {\n for (const d in a) {\n if (!b.call(c, a[d], d, a)) {\n return !1;\n }\n }\n return !0;\n};\ngoog.object.getCount = function(a) {\n let b = 0;\n for (const c in a) {\n b++;\n }\n return b;\n};\ngoog.object.getAnyKey = function(a) {\n for (const b in a) {\n return b;\n }\n};\ngoog.object.getAnyValue = function(a) {\n for (const b in a) {\n return a[b];\n }\n};\ngoog.object.contains = function(a, b) {\n return goog.object.containsValue(a, b);\n};\ngoog.object.getValues = function(a) {\n const b = [];\n let c = 0;\n for (const d in a) {\n b[c++] = a[d];\n }\n return b;\n};\ngoog.object.getKeys = function(a) {\n const b = [];\n let c = 0;\n for (const d in a) {\n b[c++] = d;\n }\n return b;\n};\ngoog.object.getValueByKeys = function(a, b) {\n var c = goog.isArrayLike(b);\n const d = c ? b : arguments;\n for (c = c ? 0 : 1; c < d.length; c++) {\n if (null == a) {\n return;\n }\n a = a[d[c]];\n }\n return a;\n};\ngoog.object.containsKey = function(a, b) {\n return null !== a && b in a;\n};\ngoog.object.containsValue = function(a, b) {\n for (const c in a) {\n if (a[c] == b) {\n return !0;\n }\n }\n return !1;\n};\ngoog.object.findKey = function(a, b, c) {\n for (const d in a) {\n if (b.call(c, a[d], d, a)) {\n return d;\n }\n }\n};\ngoog.object.findValue = function(a, b, c) {\n return (b = goog.object.findKey(a, b, c)) && a[b];\n};\ngoog.object.isEmpty = function(a) {\n for (const b in a) {\n return !1;\n }\n return !0;\n};\ngoog.object.clear = function(a) {\n for (const b in a) {\n delete a[b];\n }\n};\ngoog.object.remove = function(a, b) {\n let c;\n (c = b in a) && delete a[b];\n return c;\n};\ngoog.object.add = function(a, b, c) {\n if (null !== a && b in a) {\n throw Error('The object already contains the key \"' + b + '\"');\n }\n goog.object.set(a, b, c);\n};\ngoog.object.get = function(a, b, c) {\n return null !== a && b in a ? a[b] : c;\n};\ngoog.object.set = function(a, b, c) {\n a[b] = c;\n};\ngoog.object.setIfUndefined = function(a, b, c) {\n return b in a ? a[b] : a[b] = c;\n};\ngoog.object.setWithReturnValueIfNotSet = function(a, b, c) {\n if (b in a) {\n return a[b];\n }\n c = c();\n return a[b] = c;\n};\ngoog.object.equals = function(a, b) {\n for (const c in a) {\n if (!(c in b) || a[c] !== b[c]) {\n return !1;\n }\n }\n for (const c in b) {\n if (!(c in a)) {\n return !1;\n }\n }\n return !0;\n};\ngoog.object.clone = function(a) {\n const b = {};\n for (const c in a) {\n b[c] = a[c];\n }\n return b;\n};\ngoog.object.unsafeClone = function(a) {\n if (!a || \"object\" !== typeof a) {\n return a;\n }\n if (\"function\" === typeof a.clone) {\n return a.clone();\n }\n const b = Array.isArray(a) ? [] : \"function\" !== typeof ArrayBuffer || \"function\" !== typeof ArrayBuffer.isView || !ArrayBuffer.isView(a) || a instanceof DataView ? {} : new a.constructor(a.length);\n for (const c in a) {\n b[c] = goog.object.unsafeClone(a[c]);\n }\n return b;\n};\ngoog.object.transpose = function(a) {\n const b = {};\n for (const c in a) {\n b[a[c]] = c;\n }\n return b;\n};\ngoog.object.PROTOTYPE_FIELDS_ = \"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \");\ngoog.object.extend = function(a, b) {\n let c, d;\n for (let e = 1; e < arguments.length; e++) {\n d = arguments[e];\n for (c in d) {\n a[c] = d[c];\n }\n for (let f = 0; f < goog.object.PROTOTYPE_FIELDS_.length; f++) {\n c = goog.object.PROTOTYPE_FIELDS_[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c]);\n }\n }\n};\ngoog.object.create = function(a) {\n const b = arguments.length;\n if (1 == b && Array.isArray(arguments[0])) {\n return goog.object.create.apply(null, arguments[0]);\n }\n if (b % 2) {\n throw Error(\"Uneven number of arguments\");\n }\n const c = {};\n for (let d = 0; d < b; d += 2) {\n c[arguments[d]] = arguments[d + 1];\n }\n return c;\n};\ngoog.object.createSet = function(a) {\n const b = arguments.length;\n if (1 == b && Array.isArray(arguments[0])) {\n return goog.object.createSet.apply(null, arguments[0]);\n }\n const c = {};\n for (let d = 0; d < b; d++) {\n c[arguments[d]] = !0;\n }\n return c;\n};\ngoog.object.createImmutableView = function(a) {\n let b = a;\n Object.isFrozen && !Object.isFrozen(a) && (b = Object.create(a), Object.freeze(b));\n return b;\n};\ngoog.object.isImmutableView = function(a) {\n return !!Object.isFrozen && Object.isFrozen(a);\n};\ngoog.object.getAllPropertyNames = function(a, b, c) {\n if (!a) {\n return [];\n }\n if (!Object.getOwnPropertyNames || !Object.getPrototypeOf) {\n return goog.object.getKeys(a);\n }\n const d = {};\n for (; a && (a !== Object.prototype || b) && (a !== Function.prototype || c);) {\n const e = Object.getOwnPropertyNames(a);\n for (let f = 0; f < e.length; f++) {\n d[e[f]] = !0;\n }\n a = Object.getPrototypeOf(a);\n }\n return goog.object.getKeys(d);\n};\ngoog.object.getSuperClass = function(a) {\n return (a = Object.getPrototypeOf(a.prototype)) && a.constructor;\n};\nvar com = {cognitect:{}};\ncom.cognitect.transit = {};\ncom.cognitect.transit.util = {};\ncom.cognitect.transit.util.objectKeys = \"undefined\" != typeof Object.keys ? function(a) {\n return Object.keys(a);\n} : function(a) {\n return goog.object.getKeys(a);\n};\ncom.cognitect.transit.util.isArray = \"undefined\" != typeof Array.isArray ? function(a) {\n return Array.isArray(a);\n} : function(a) {\n return \"array\" === goog.typeOf(a);\n};\ncom.cognitect.transit.util.chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\ncom.cognitect.transit.util.randInt = function(a) {\n return Math.round(Math.random() * a);\n};\ncom.cognitect.transit.util.randHex = function() {\n return com.cognitect.transit.util.randInt(15).toString(16);\n};\ncom.cognitect.transit.util.randomUUID = function() {\n var a = (8 | 3 & com.cognitect.transit.util.randInt(14)).toString(16);\n return com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-4\" + com.cognitect.transit.util.randHex() + \n com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + a + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \"-\" + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + \n com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex() + com.cognitect.transit.util.randHex();\n};\ncom.cognitect.transit.util.btoa = function(a) {\n if (\"undefined\" != typeof btoa) {\n return btoa(a);\n }\n a = String(a);\n for (var b, c, d = 0, e = com.cognitect.transit.util.chars, f = \"\"; a.charAt(d | 0) || (e = \"=\", d % 1); f += e.charAt(63 & b >> 8 - d % 1 * 8)) {\n c = a.charCodeAt(d += .75);\n if (255 < c) {\n throw Error(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");\n }\n b = b << 8 | c;\n }\n return f;\n};\ncom.cognitect.transit.util.atob = function(a) {\n if (\"undefined\" != typeof atob) {\n return atob(a);\n }\n a = String(a).replace(/=+$/, \"\");\n if (1 == a.length % 4) {\n throw Error(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n }\n for (var b = 0, c, d, e = 0, f = \"\"; d = a.charAt(e++); ~d && (c = b % 4 ? 64 * c + d : d, b++ % 4) ? f += String.fromCharCode(255 & c >> (-2 * b & 6)) : 0) {\n d = com.cognitect.transit.util.chars.indexOf(d);\n }\n return f;\n};\ncom.cognitect.transit.util.Uint8ToBase64 = function(a) {\n for (var b = 0, c = a.length, d = \"\", e; b < c;) {\n e = a.subarray(b, Math.min(b + 32768, c)), d += String.fromCharCode.apply(null, e), b += 32768;\n }\n return com.cognitect.transit.util.btoa(d);\n};\ncom.cognitect.transit.util.Base64ToUint8 = function(a) {\n a = com.cognitect.transit.util.atob(a);\n for (var b = a.length, c = new Uint8Array(b), d = 0; d < b; d++) {\n var e = a.charCodeAt(d);\n c[d] = e;\n }\n return c;\n};\ncom.cognitect.transit.delimiters = {};\ncom.cognitect.transit.delimiters.ESC = \"~\";\ncom.cognitect.transit.delimiters.TAG = \"#\";\ncom.cognitect.transit.delimiters.SUB = \"^\";\ncom.cognitect.transit.delimiters.RES = \"`\";\ncom.cognitect.transit.delimiters.ESC_TAG = \"~#\";\ncom.cognitect.transit.caching = {};\ncom.cognitect.transit.caching.MIN_SIZE_CACHEABLE = 3;\ncom.cognitect.transit.caching.BASE_CHAR_IDX = 48;\ncom.cognitect.transit.caching.CACHE_CODE_DIGITS = 44;\ncom.cognitect.transit.caching.MAX_CACHE_ENTRIES = com.cognitect.transit.caching.CACHE_CODE_DIGITS * com.cognitect.transit.caching.CACHE_CODE_DIGITS;\ncom.cognitect.transit.caching.MAX_CACHE_SIZE = 4096;\ncom.cognitect.transit.caching.isCacheable = function(a, b) {\n if (a.length > com.cognitect.transit.caching.MIN_SIZE_CACHEABLE) {\n if (b) {\n return !0;\n }\n b = a.charAt(0);\n a = a.charAt(1);\n return b === com.cognitect.transit.delimiters.ESC ? \":\" === a || \"$\" === a || \"#\" === a : !1;\n }\n return !1;\n};\ncom.cognitect.transit.caching.idxToCode = function(a) {\n var b = Math.floor(a / com.cognitect.transit.caching.CACHE_CODE_DIGITS);\n a = String.fromCharCode(a % com.cognitect.transit.caching.CACHE_CODE_DIGITS + com.cognitect.transit.caching.BASE_CHAR_IDX);\n return 0 === b ? com.cognitect.transit.delimiters.SUB + a : com.cognitect.transit.delimiters.SUB + String.fromCharCode(b + com.cognitect.transit.caching.BASE_CHAR_IDX) + a;\n};\ncom.cognitect.transit.caching.WriteCache = function() {\n this.cacheSize = this.gen = this.idx = 0;\n this.cache = {};\n};\ncom.cognitect.transit.caching.WriteCache.prototype.write = function(a, b) {\n return com.cognitect.transit.caching.isCacheable(a, b) ? (this.cacheSize === com.cognitect.transit.caching.MAX_CACHE_SIZE ? (this.clear(), this.gen = 0, this.cache = {}) : this.idx === com.cognitect.transit.caching.MAX_CACHE_ENTRIES && this.clear(), b = this.cache[a], null == b ? (this.cache[a] = [com.cognitect.transit.caching.idxToCode(this.idx), this.gen], this.idx++, a) : b[1] != this.gen ? (b[1] = this.gen, b[0] = com.cognitect.transit.caching.idxToCode(this.idx), this.idx++, a) : b[0]) : a;\n};\ncom.cognitect.transit.caching.WriteCache.prototype.clear = function() {\n this.idx = 0;\n this.gen++;\n};\ncom.cognitect.transit.caching.writeCache = function() {\n return new com.cognitect.transit.caching.WriteCache;\n};\ncom.cognitect.transit.caching.isCacheCode = function(a) {\n return a.charAt(0) === com.cognitect.transit.delimiters.SUB && \" \" !== a.charAt(1);\n};\ncom.cognitect.transit.caching.codeToIdx = function(a) {\n if (2 === a.length) {\n return a.charCodeAt(1) - com.cognitect.transit.caching.BASE_CHAR_IDX;\n }\n var b = (a.charCodeAt(1) - com.cognitect.transit.caching.BASE_CHAR_IDX) * com.cognitect.transit.caching.CACHE_CODE_DIGITS;\n a = a.charCodeAt(2) - com.cognitect.transit.caching.BASE_CHAR_IDX;\n return b + a;\n};\ncom.cognitect.transit.caching.ReadCache = function() {\n this.idx = 0;\n this.cache = [];\n};\ncom.cognitect.transit.caching.ReadCache.prototype.write = function(a, b) {\n this.idx == com.cognitect.transit.caching.MAX_CACHE_ENTRIES && (this.idx = 0);\n this.cache[this.idx] = a;\n this.idx++;\n return a;\n};\ncom.cognitect.transit.caching.ReadCache.prototype.read = function(a, b) {\n return this.cache[com.cognitect.transit.caching.codeToIdx(a)];\n};\ncom.cognitect.transit.caching.ReadCache.prototype.clear = function() {\n this.idx = 0;\n};\ncom.cognitect.transit.caching.readCache = function() {\n return new com.cognitect.transit.caching.ReadCache;\n};\ncom.cognitect.transit.eq = {};\ncom.cognitect.transit.eq.hashCodeProperty = \"transit$hashCode$\";\ncom.cognitect.transit.eq.hashCodeCounter = 1;\ncom.cognitect.transit.eq.equals = function(a, b) {\n if (null == a) {\n return null == b;\n }\n if (a === b) {\n return !0;\n }\n if (\"object\" === typeof a) {\n if (com.cognitect.transit.util.isArray(a)) {\n if (com.cognitect.transit.util.isArray(b) && a.length === b.length) {\n for (var c = 0; c < a.length; c++) {\n if (!com.cognitect.transit.eq.equals(a[c], b[c])) {\n return !1;\n }\n }\n return !0;\n }\n return !1;\n }\n if (a.com$cognitect$transit$equals) {\n return a.com$cognitect$transit$equals(b);\n }\n if (null != b && \"object\" === typeof b) {\n if (b.com$cognitect$transit$equals) {\n return b.com$cognitect$transit$equals(a);\n }\n c = 0;\n var d = com.cognitect.transit.util.objectKeys(b).length, e;\n for (e in a) {\n if (a.hasOwnProperty(e) && (c++, !b.hasOwnProperty(e) || !com.cognitect.transit.eq.equals(a[e], b[e]))) {\n return !1;\n }\n }\n return c === d;\n }\n }\n return !1;\n};\ncom.cognitect.transit.eq.hashCombine = function(a, b) {\n return a ^ b + 2654435769 + (a << 6) + (a >> 2);\n};\ncom.cognitect.transit.eq.stringCodeCache = {};\ncom.cognitect.transit.eq.stringCodeCacheSize = 0;\ncom.cognitect.transit.eq.STR_CACHE_MAX = 256;\ncom.cognitect.transit.eq.hashString = function(a) {\n var b = com.cognitect.transit.eq.stringCodeCache[a];\n if (null != b) {\n return b;\n }\n for (var c = b = 0; c < a.length; ++c) {\n b = 31 * b + a.charCodeAt(c), b %= 4294967296;\n }\n com.cognitect.transit.eq.stringCodeCacheSize++;\n com.cognitect.transit.eq.stringCodeCacheSize >= com.cognitect.transit.eq.STR_CACHE_MAX && (com.cognitect.transit.eq.stringCodeCache = {}, com.cognitect.transit.eq.stringCodeCacheSize = 1);\n return com.cognitect.transit.eq.stringCodeCache[a] = b;\n};\ncom.cognitect.transit.eq.hashMapLike = function(a) {\n var b = 0;\n if (null != a.forEach) {\n a.forEach(function(g, h, k) {\n b = (b + (com.cognitect.transit.eq.hashCode(h) ^ com.cognitect.transit.eq.hashCode(g))) % 4503599627370496;\n });\n } else {\n for (var c = com.cognitect.transit.util.objectKeys(a), d = 0; d < c.length; d++) {\n var e = c[d], f = a[e];\n b = (b + (com.cognitect.transit.eq.hashCode(e) ^ com.cognitect.transit.eq.hashCode(f))) % 4503599627370496;\n }\n }\n return b;\n};\ncom.cognitect.transit.eq.hashArrayLike = function(a) {\n var b = 0;\n if (com.cognitect.transit.util.isArray(a)) {\n for (var c = 0; c < a.length; c++) {\n b = com.cognitect.transit.eq.hashCombine(b, com.cognitect.transit.eq.hashCode(a[c]));\n }\n } else {\n a.forEach && a.forEach(function(d, e) {\n b = com.cognitect.transit.eq.hashCombine(b, com.cognitect.transit.eq.hashCode(d));\n });\n }\n return b;\n};\ncom.cognitect.transit.eq.hashCode = function(a) {\n if (null == a) {\n return 0;\n }\n switch(typeof a) {\n case \"number\":\n return a;\n case \"boolean\":\n return !0 === a ? 1 : 0;\n case \"string\":\n return com.cognitect.transit.eq.hashString(a);\n case \"function\":\n var b = a[com.cognitect.transit.eq.hashCodeProperty];\n b || (b = com.cognitect.transit.eq.hashCodeCounter, \"undefined\" != typeof Object.defineProperty ? Object.defineProperty(a, com.cognitect.transit.eq.hashCodeProperty, {value:b, enumerable:!1}) : a[com.cognitect.transit.eq.hashCodeProperty] = b, com.cognitect.transit.eq.hashCodeCounter++);\n return b;\n default:\n return a instanceof Date ? a.valueOf() : com.cognitect.transit.util.isArray(a) ? com.cognitect.transit.eq.hashArrayLike(a) : a.com$cognitect$transit$hashCode ? a.com$cognitect$transit$hashCode() : com.cognitect.transit.eq.hashMapLike(a);\n }\n};\ncom.cognitect.transit.eq.extendToEQ = function(a, b) {\n a.com$cognitect$transit$hashCode = b.hashCode;\n a.com$cognitect$transit$equals = b.equals;\n return a;\n};\ngoog.debug = {};\nfunction module$contents$goog$debug$Error_DebugError(a, b) {\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, module$contents$goog$debug$Error_DebugError);\n } else {\n const c = Error().stack;\n c && (this.stack = c);\n }\n a && (this.message = String(a));\n b && (this.cause = b);\n this.reportErrorToServer = !0;\n}\ngoog.inherits(module$contents$goog$debug$Error_DebugError, Error);\nmodule$contents$goog$debug$Error_DebugError.prototype.name = \"CustomError\";\ngoog.debug.Error = module$contents$goog$debug$Error_DebugError;\ngoog.dom = {};\ngoog.dom.NodeType = {ELEMENT:1, ATTRIBUTE:2, TEXT:3, CDATA_SECTION:4, ENTITY_REFERENCE:5, ENTITY:6, PROCESSING_INSTRUCTION:7, COMMENT:8, DOCUMENT:9, DOCUMENT_TYPE:10, DOCUMENT_FRAGMENT:11, NOTATION:12};\ngoog.asserts = {};\ngoog.asserts.ENABLE_ASSERTS = goog.DEBUG;\ngoog.asserts.AssertionError = function(a, b) {\n module$contents$goog$debug$Error_DebugError.call(this, goog.asserts.subs_(a, b));\n this.messagePattern = a;\n};\ngoog.inherits(goog.asserts.AssertionError, module$contents$goog$debug$Error_DebugError);\ngoog.asserts.AssertionError.prototype.name = \"AssertionError\";\ngoog.asserts.DEFAULT_ERROR_HANDLER = function(a) {\n throw a;\n};\ngoog.asserts.errorHandler_ = goog.asserts.DEFAULT_ERROR_HANDLER;\ngoog.asserts.subs_ = function(a, b) {\n a = a.split(\"%s\");\n for (var c = \"\", d = a.length - 1, e = 0; e < d; e++) {\n c += a[e] + (e < b.length ? b[e] : \"%s\");\n }\n return c + a[d];\n};\ngoog.asserts.doAssertFailure_ = function(a, b, c, d) {\n var e = \"Assertion failed\";\n if (c) {\n e += \": \" + c;\n var f = d;\n } else {\n a && (e += \": \" + a, f = b);\n }\n a = new goog.asserts.AssertionError(\"\" + e, f || []);\n goog.asserts.errorHandler_(a);\n};\ngoog.asserts.setErrorHandler = function(a) {\n goog.asserts.ENABLE_ASSERTS && (goog.asserts.errorHandler_ = a);\n};\ngoog.asserts.assert = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !a && goog.asserts.doAssertFailure_(\"\", null, b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertExists = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && null == a && goog.asserts.doAssertFailure_(\"Expected to exist: %s.\", [a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.fail = function(a, b) {\n goog.asserts.ENABLE_ASSERTS && goog.asserts.errorHandler_(new goog.asserts.AssertionError(\"Failure\" + (a ? \": \" + a : \"\"), Array.prototype.slice.call(arguments, 1)));\n};\ngoog.asserts.assertNumber = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"number\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected number but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertString = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"string\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected string but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertFunction = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"function\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected function but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertObject = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !goog.isObject(a) && goog.asserts.doAssertFailure_(\"Expected object but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertArray = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && !Array.isArray(a) && goog.asserts.doAssertFailure_(\"Expected array but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertBoolean = function(a, b, c) {\n goog.asserts.ENABLE_ASSERTS && \"boolean\" !== typeof a && goog.asserts.doAssertFailure_(\"Expected boolean but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertElement = function(a, b, c) {\n !goog.asserts.ENABLE_ASSERTS || goog.isObject(a) && a.nodeType == goog.dom.NodeType.ELEMENT || goog.asserts.doAssertFailure_(\"Expected Element but got %s: %s.\", [goog.typeOf(a), a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.assertInstanceof = function(a, b, c, d) {\n !goog.asserts.ENABLE_ASSERTS || a instanceof b || goog.asserts.doAssertFailure_(\"Expected instanceof %s but got %s.\", [goog.asserts.getType_(b), goog.asserts.getType_(a)], c, Array.prototype.slice.call(arguments, 3));\n return a;\n};\ngoog.asserts.assertFinite = function(a, b, c) {\n !goog.asserts.ENABLE_ASSERTS || \"number\" == typeof a && isFinite(a) || goog.asserts.doAssertFailure_(\"Expected %s to be a finite number but it is not.\", [a], b, Array.prototype.slice.call(arguments, 2));\n return a;\n};\ngoog.asserts.getType_ = function(a) {\n return a instanceof Function ? a.displayName || a.name || \"unknown type name\" : a instanceof Object ? a.constructor.displayName || a.constructor.name || Object.prototype.toString.call(a) : null === a ? \"null\" : typeof a;\n};\ngoog.reflect = {};\ngoog.reflect.object = function(a, b) {\n return b;\n};\ngoog.reflect.objectProperty = function(a, b) {\n return a;\n};\ngoog.reflect.sinkValue = function(a) {\n goog.reflect.sinkValue[\" \"](a);\n return a;\n};\ngoog.reflect.sinkValue[\" \"] = goog.nullFunction;\ngoog.reflect.canAccessProperty = function(a, b) {\n try {\n return goog.reflect.sinkValue(a[b]), !0;\n } catch (c) {\n }\n return !1;\n};\ngoog.reflect.cache = function(a, b, c, d) {\n d = d ? d(b) : b;\n return Object.prototype.hasOwnProperty.call(a, d) ? a[d] : a[d] = c(b);\n};\ngoog.math = {};\nclass module$contents$goog$math$Long_Long {\n constructor(a, b) {\n this.low_ = a | 0;\n this.high_ = b | 0;\n }\n toInt() {\n return this.low_;\n }\n toNumber() {\n return this.high_ * module$contents$goog$math$Long_TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();\n }\n isSafeInteger() {\n var a = this.high_ >> 21;\n return 0 == a || -1 == a && !(0 == this.low_ && -2097152 == this.high_);\n }\n toString(a) {\n a = a || 10;\n if (2 > a || 36 < a) {\n throw Error(\"radix out of range: \" + a);\n }\n if (this.isSafeInteger()) {\n var b = this.toNumber();\n return 10 == a ? \"\" + b : b.toString(a);\n }\n b = 14 - (a >> 2);\n var c = Math.pow(a, b), d = module$contents$goog$math$Long_Long.fromBits(c, c / module$contents$goog$math$Long_TWO_PWR_32_DBL_);\n c = this.div(d);\n d = Math.abs(this.subtract(c.multiply(d)).toNumber());\n var e = 10 == a ? \"\" + d : d.toString(a);\n e.length < b && (e = \"0000000000000\".substr(e.length - b) + e);\n d = c.toNumber();\n return (10 == a ? d : d.toString(a)) + e;\n }\n getHighBits() {\n return this.high_;\n }\n getLowBits() {\n return this.low_;\n }\n getLowBitsUnsigned() {\n return this.low_ >>> 0;\n }\n getNumBitsAbs() {\n if (this.isNegative()) {\n return this.equals(module$contents$goog$math$Long_Long.getMinValue()) ? 64 : this.negate().getNumBitsAbs();\n }\n for (var a = 0 != this.high_ ? this.high_ : this.low_, b = 31; 0 < b && 0 == (a & 1 << b); b--) {\n }\n return 0 != this.high_ ? b + 33 : b + 1;\n }\n isZero() {\n return 0 == this.low_ && 0 == this.high_;\n }\n isNegative() {\n return 0 > this.high_;\n }\n isOdd() {\n return 1 == (this.low_ & 1);\n }\n equals(a) {\n return this.low_ == a.low_ && this.high_ == a.high_;\n }\n notEquals(a) {\n return !this.equals(a);\n }\n lessThan(a) {\n return 0 > this.compare(a);\n }\n lessThanOrEqual(a) {\n return 0 >= this.compare(a);\n }\n greaterThan(a) {\n return 0 < this.compare(a);\n }\n greaterThanOrEqual(a) {\n return 0 <= this.compare(a);\n }\n compare(a) {\n return this.high_ == a.high_ ? this.low_ == a.low_ ? 0 : this.getLowBitsUnsigned() > a.getLowBitsUnsigned() ? 1 : -1 : this.high_ > a.high_ ? 1 : -1;\n }\n negate() {\n var a = ~this.low_ + 1 | 0;\n return module$contents$goog$math$Long_Long.fromBits(a, ~this.high_ + !a | 0);\n }\n add(a) {\n var b = this.high_ >>> 16, c = this.high_ & 65535, d = this.low_ >>> 16, e = a.high_ >>> 16, f = a.high_ & 65535, g = a.low_ >>> 16;\n a = (this.low_ & 65535) + (a.low_ & 65535);\n g = (a >>> 16) + (d + g);\n d = g >>> 16;\n d += c + f;\n b = (d >>> 16) + (b + e) & 65535;\n return module$contents$goog$math$Long_Long.fromBits((g & 65535) << 16 | a & 65535, b << 16 | d & 65535);\n }\n subtract(a) {\n return this.add(a.negate());\n }\n multiply(a) {\n if (this.isZero()) {\n return this;\n }\n if (a.isZero()) {\n return a;\n }\n var b = this.high_ >>> 16, c = this.high_ & 65535, d = this.low_ >>> 16, e = this.low_ & 65535, f = a.high_ >>> 16, g = a.high_ & 65535, h = a.low_ >>> 16;\n a = a.low_ & 65535;\n var k = e * a;\n var l = (k >>> 16) + d * a;\n var n = l >>> 16;\n l = (l & 65535) + e * h;\n n += l >>> 16;\n n += c * a;\n var m = n >>> 16;\n n = (n & 65535) + d * h;\n m += n >>> 16;\n n = (n & 65535) + e * g;\n m = m + (n >>> 16) + (b * a + c * h + d * g + e * f) & 65535;\n return module$contents$goog$math$Long_Long.fromBits((l & 65535) << 16 | k & 65535, m << 16 | n & 65535);\n }\n div(a) {\n if (a.isZero()) {\n throw Error(\"division by zero\");\n }\n if (this.isNegative()) {\n if (this.equals(module$contents$goog$math$Long_Long.getMinValue())) {\n if (a.equals(module$contents$goog$math$Long_Long.getOne()) || a.equals(module$contents$goog$math$Long_Long.getNegOne())) {\n return module$contents$goog$math$Long_Long.getMinValue();\n }\n if (a.equals(module$contents$goog$math$Long_Long.getMinValue())) {\n return module$contents$goog$math$Long_Long.getOne();\n }\n var b = this.shiftRight(1).div(a).shiftLeft(1);\n if (b.equals(module$contents$goog$math$Long_Long.getZero())) {\n return a.isNegative() ? module$contents$goog$math$Long_Long.getOne() : module$contents$goog$math$Long_Long.getNegOne();\n }\n var c = this.subtract(a.multiply(b));\n return b.add(c.div(a));\n }\n return a.isNegative() ? this.negate().div(a.negate()) : this.negate().div(a).negate();\n }\n if (this.isZero()) {\n return module$contents$goog$math$Long_Long.getZero();\n }\n if (a.isNegative()) {\n return a.equals(module$contents$goog$math$Long_Long.getMinValue()) ? module$contents$goog$math$Long_Long.getZero() : this.div(a.negate()).negate();\n }\n var d = module$contents$goog$math$Long_Long.getZero();\n for (c = this; c.greaterThanOrEqual(a);) {\n b = Math.max(1, Math.floor(c.toNumber() / a.toNumber()));\n var e = Math.ceil(Math.log(b) / Math.LN2);\n e = 48 >= e ? 1 : Math.pow(2, e - 48);\n for (var f = module$contents$goog$math$Long_Long.fromNumber(b), g = f.multiply(a); g.isNegative() || g.greaterThan(c);) {\n b -= e, f = module$contents$goog$math$Long_Long.fromNumber(b), g = f.multiply(a);\n }\n f.isZero() && (f = module$contents$goog$math$Long_Long.getOne());\n d = d.add(f);\n c = c.subtract(g);\n }\n return d;\n }\n modulo(a) {\n return this.subtract(this.div(a).multiply(a));\n }\n not() {\n return module$contents$goog$math$Long_Long.fromBits(~this.low_, ~this.high_);\n }\n and(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ & a.low_, this.high_ & a.high_);\n }\n or(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ | a.low_, this.high_ | a.high_);\n }\n xor(a) {\n return module$contents$goog$math$Long_Long.fromBits(this.low_ ^ a.low_, this.high_ ^ a.high_);\n }\n shiftLeft(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.low_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(b << a, this.high_ << a | b >>> 32 - a) : module$contents$goog$math$Long_Long.fromBits(0, b << a - 32);\n }\n shiftRight(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.high_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(this.low_ >>> a | b << 32 - a, b >> a) : module$contents$goog$math$Long_Long.fromBits(b >> a - 32, 0 <= b ? 0 : -1);\n }\n shiftRightUnsigned(a) {\n a &= 63;\n if (0 == a) {\n return this;\n }\n var b = this.high_;\n return 32 > a ? module$contents$goog$math$Long_Long.fromBits(this.low_ >>> a | b << 32 - a, b >>> a) : 32 == a ? module$contents$goog$math$Long_Long.fromBits(b, 0) : module$contents$goog$math$Long_Long.fromBits(b >>> a - 32, 0);\n }\n static fromInt(a) {\n var b = a | 0;\n goog.asserts.assert(a === b, \"value should be a 32-bit integer\");\n return -128 <= b && 128 > b ? module$contents$goog$math$Long_getCachedIntValue_(b) : new module$contents$goog$math$Long_Long(b, 0 > b ? -1 : 0);\n }\n static fromNumber(a) {\n return 0 < a ? a >= module$contents$goog$math$Long_TWO_PWR_63_DBL_ ? module$contents$goog$math$Long_Long.getMaxValue() : new module$contents$goog$math$Long_Long(a, a / module$contents$goog$math$Long_TWO_PWR_32_DBL_) : 0 > a ? a <= -module$contents$goog$math$Long_TWO_PWR_63_DBL_ ? module$contents$goog$math$Long_Long.getMinValue() : (new module$contents$goog$math$Long_Long(-a, -a / module$contents$goog$math$Long_TWO_PWR_32_DBL_)).negate() : module$contents$goog$math$Long_Long.getZero();\n }\n static fromBits(a, b) {\n return new module$contents$goog$math$Long_Long(a, b);\n }\n static fromString(a, b) {\n if (\"-\" == a.charAt(0)) {\n return module$contents$goog$math$Long_Long.fromString(a.substring(1), b).negate();\n }\n var c = parseInt(a, b || 10);\n if (c <= module$contents$goog$math$Long_MAX_SAFE_INTEGER_) {\n return new module$contents$goog$math$Long_Long(c % module$contents$goog$math$Long_TWO_PWR_32_DBL_ | 0, c / module$contents$goog$math$Long_TWO_PWR_32_DBL_ | 0);\n }\n if (0 == a.length) {\n throw Error(\"number format error: empty string\");\n }\n if (0 <= a.indexOf(\"-\")) {\n throw Error('number format error: interior \"-\" character: ' + a);\n }\n b = b || 10;\n if (2 > b || 36 < b) {\n throw Error(\"radix out of range: \" + b);\n }\n c = module$contents$goog$math$Long_Long.fromNumber(Math.pow(b, 8));\n for (var d = module$contents$goog$math$Long_Long.getZero(), e = 0; e < a.length; e += 8) {\n var f = Math.min(8, a.length - e), g = parseInt(a.substring(e, e + f), b);\n 8 > f ? (f = module$contents$goog$math$Long_Long.fromNumber(Math.pow(b, f)), d = d.multiply(f).add(module$contents$goog$math$Long_Long.fromNumber(g))) : (d = d.multiply(c), d = d.add(module$contents$goog$math$Long_Long.fromNumber(g)));\n }\n return d;\n }\n static isStringInRange(a, b) {\n b = b || 10;\n if (2 > b || 36 < b) {\n throw Error(\"radix out of range: \" + b);\n }\n b = \"-\" == a.charAt(0) ? module$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_[b] : module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_[b];\n return a.length < b.length ? !0 : a.length == b.length && a <= b ? !0 : !1;\n }\n static getZero() {\n return module$contents$goog$math$Long_ZERO_;\n }\n static getOne() {\n return module$contents$goog$math$Long_ONE_;\n }\n static getNegOne() {\n return module$contents$goog$math$Long_NEG_ONE_;\n }\n static getMaxValue() {\n return module$contents$goog$math$Long_MAX_VALUE_;\n }\n static getMinValue() {\n return module$contents$goog$math$Long_MIN_VALUE_;\n }\n static getTwoPwr24() {\n return module$contents$goog$math$Long_TWO_PWR_24_;\n }\n}\ngoog.math.Long = module$contents$goog$math$Long_Long;\nconst module$contents$goog$math$Long_IntCache_ = {};\nfunction module$contents$goog$math$Long_getCachedIntValue_(a) {\n return goog.reflect.cache(module$contents$goog$math$Long_IntCache_, a, function(b) {\n return new module$contents$goog$math$Long_Long(b, 0 > b ? -1 : 0);\n });\n}\nconst module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_ = \" 111111111111111111111111111111111111111111111111111111111111111 2021110011022210012102010021220101220221 13333333333333333333333333333333 1104332401304422434310311212 1540241003031030222122211 22341010611245052052300 777777777777777777777 67404283172107811827 9223372036854775807 1728002635214590697 41a792678515120367 10b269549075433c37 4340724c6c71dc7a7 160e2ad3246366807 7fffffffffffffff 33d3d8307b214008 16agh595df825fa7 ba643dci0ffeehh 5cbfjia3fh26ja7 2heiciiie82dh97 1adaibb21dckfa7 i6k448cf4192c2 acd772jnc9l0l7 64ie1focnn5g77 3igoecjbmca687 27c48l5b37oaop 1bk39f3ah3dmq7 q1se8f0m04isb hajppbc1fc207 bm03i95hia437 7vvvvvvvvvvvv 5hg4ck9jd4u37 3tdtk1v8j6tpp 2pijmikexrxp7 1y2p0ij32e8e7\".split(\" \"), \nmodule$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_ = \" -1000000000000000000000000000000000000000000000000000000000000000 -2021110011022210012102010021220101220222 -20000000000000000000000000000000 -1104332401304422434310311213 -1540241003031030222122212 -22341010611245052052301 -1000000000000000000000 -67404283172107811828 -9223372036854775808 -1728002635214590698 -41a792678515120368 -10b269549075433c38 -4340724c6c71dc7a8 -160e2ad3246366808 -8000000000000000 -33d3d8307b214009 -16agh595df825fa8 -ba643dci0ffeehi -5cbfjia3fh26ja8 -2heiciiie82dh98 -1adaibb21dckfa8 -i6k448cf4192c3 -acd772jnc9l0l8 -64ie1focnn5g78 -3igoecjbmca688 -27c48l5b37oaoq -1bk39f3ah3dmq8 -q1se8f0m04isc -hajppbc1fc208 -bm03i95hia438 -8000000000000 -5hg4ck9jd4u38 -3tdtk1v8j6tpq -2pijmikexrxp8 -1y2p0ij32e8e8\".split(\" \"), \nmodule$contents$goog$math$Long_MAX_SAFE_INTEGER_ = 9007199254740991, module$contents$goog$math$Long_TWO_PWR_32_DBL_ = 4294967296, module$contents$goog$math$Long_TWO_PWR_63_DBL_ = 0x7fffffffffffffff, module$contents$goog$math$Long_ZERO_ = module$contents$goog$math$Long_Long.fromBits(0, 0), module$contents$goog$math$Long_ONE_ = module$contents$goog$math$Long_Long.fromBits(1, 0), module$contents$goog$math$Long_NEG_ONE_ = module$contents$goog$math$Long_Long.fromBits(-1, -1), module$contents$goog$math$Long_MAX_VALUE_ = \nmodule$contents$goog$math$Long_Long.fromBits(4294967295, 2147483647), module$contents$goog$math$Long_MIN_VALUE_ = module$contents$goog$math$Long_Long.fromBits(0, 2147483648), module$contents$goog$math$Long_TWO_PWR_24_ = module$contents$goog$math$Long_Long.fromBits(16777216, 0);\ncom.cognitect.transit.types = {};\ncom.cognitect.transit.types.ITERATOR = \"undefined\" != typeof Symbol ? Symbol.iterator : \"@@iterator\";\ncom.cognitect.transit.types.TaggedValue = function(a, b) {\n this.tag = a;\n this.rep = b;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.TaggedValue.prototype.toString = function() {\n return \"[TaggedValue: \" + this.tag + \", \" + this.rep + \"]\";\n};\ncom.cognitect.transit.types.TaggedValue.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.TaggedValue.prototype.equiv = com.cognitect.transit.types.TaggedValue.prototype.equiv;\ncom.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue ? this.tag === a.tag && com.cognitect.transit.eq.equals(this.rep, a.rep) : !1;\n};\ncom.cognitect.transit.types.TaggedValue.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCombine(com.cognitect.transit.eq.hashCode(this.tag), com.cognitect.transit.eq.hashCode(this.rep)));\n return this.hashCode;\n};\ncom.cognitect.transit.types.taggedValue = function(a, b) {\n return new com.cognitect.transit.types.TaggedValue(a, b);\n};\ncom.cognitect.transit.types.isTaggedValue = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue;\n};\ncom.cognitect.transit.types.nullValue = function() {\n return null;\n};\ncom.cognitect.transit.types.boolValue = function(a) {\n return \"t\" === a;\n};\ncom.cognitect.transit.types.MAX_INT = module$contents$goog$math$Long_Long.fromString(\"9007199254740991\");\ncom.cognitect.transit.types.MIN_INT = module$contents$goog$math$Long_Long.fromString(\"-9007199254740991\");\ncom.cognitect.transit.types.intValue = function(a) {\n if (\"number\" === typeof a || a instanceof module$contents$goog$math$Long_Long) {\n return a;\n }\n a = module$contents$goog$math$Long_Long.fromString(a, 10);\n return a.greaterThan(com.cognitect.transit.types.MAX_INT) || a.lessThan(com.cognitect.transit.types.MIN_INT) ? a : a.toNumber();\n};\nmodule$contents$goog$math$Long_Long.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\nmodule$contents$goog$math$Long_Long.prototype.equiv = module$contents$goog$math$Long_Long.prototype.equiv;\nmodule$contents$goog$math$Long_Long.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof module$contents$goog$math$Long_Long && this.equals(a);\n};\nmodule$contents$goog$math$Long_Long.prototype.com$cognitect$transit$hashCode = function() {\n return this.toInt();\n};\ncom.cognitect.transit.types.isInteger = function(a) {\n return a instanceof module$contents$goog$math$Long_Long ? !0 : \"number\" === typeof a && !isNaN(a) && Infinity !== a && parseFloat(a) === parseInt(a, 10);\n};\ncom.cognitect.transit.types.floatValue = function(a) {\n return parseFloat(a);\n};\ncom.cognitect.transit.types.bigInteger = function(a) {\n return com.cognitect.transit.types.taggedValue(\"n\", a);\n};\ncom.cognitect.transit.types.isBigInteger = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"n\" === a.tag;\n};\ncom.cognitect.transit.types.bigDecimalValue = function(a) {\n return com.cognitect.transit.types.taggedValue(\"f\", a);\n};\ncom.cognitect.transit.types.isBigDecimal = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"f\" === a.tag;\n};\ncom.cognitect.transit.types.charValue = function(a) {\n return a;\n};\ncom.cognitect.transit.types.Keyword = function(a) {\n this._name = a;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.Keyword.prototype.toString = function() {\n return \":\" + this._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.namespace = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(0, a) : null;\n};\ncom.cognitect.transit.types.Keyword.prototype.name = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(a + 1, this._name.length) : this._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.Keyword.prototype.equiv = com.cognitect.transit.types.Keyword.prototype.equiv;\ncom.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.Keyword && this._name == a._name;\n};\ncom.cognitect.transit.types.Keyword.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this._name));\n return this.hashCode;\n};\ncom.cognitect.transit.types.keyword = function(a) {\n return new com.cognitect.transit.types.Keyword(a);\n};\ncom.cognitect.transit.types.isKeyword = function(a) {\n return a instanceof com.cognitect.transit.types.Keyword;\n};\ncom.cognitect.transit.types.Symbol = function(a) {\n this._name = a;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.Symbol.prototype.namespace = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(0, a) : null;\n};\ncom.cognitect.transit.types.Symbol.prototype.name = function() {\n var a = this._name.indexOf(\"/\");\n return -1 != a ? this._name.substring(a + 1, this._name.length) : this._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.toString = function() {\n return this._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.Symbol.prototype.equiv = com.cognitect.transit.types.Symbol.prototype.equiv;\ncom.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.Symbol && this._name == a._name;\n};\ncom.cognitect.transit.types.Symbol.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this._name));\n return this.hashCode;\n};\ncom.cognitect.transit.types.symbol = function(a) {\n return new com.cognitect.transit.types.Symbol(a);\n};\ncom.cognitect.transit.types.isSymbol = function(a) {\n return a instanceof com.cognitect.transit.types.Symbol;\n};\ncom.cognitect.transit.types.hexFor = function(a, b, c) {\n var d = \"\";\n c = c || b + 1;\n for (var e = 8 * (7 - b), f = module$contents$goog$math$Long_Long.fromInt(255).shiftLeft(e); b < c; b++, e -= 8, f = f.shiftRightUnsigned(8)) {\n var g = a.and(f).shiftRightUnsigned(e).toString(16);\n 1 == g.length && (g = \"0\" + g);\n d += g;\n }\n return d;\n};\ncom.cognitect.transit.types.UUID = function(a, b) {\n this.high = a;\n this.low = b;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.UUID.prototype.getLeastSignificantBits = function() {\n return this.low;\n};\ncom.cognitect.transit.types.UUID.prototype.getMostSignificantBits = function() {\n return this.high;\n};\ncom.cognitect.transit.types.UUID.prototype.toString = function() {\n var a = this.high, b = this.low;\n var c = com.cognitect.transit.types.hexFor(a, 0, 4) + \"-\";\n c += com.cognitect.transit.types.hexFor(a, 4, 6) + \"-\";\n c += com.cognitect.transit.types.hexFor(a, 6, 8) + \"-\";\n c += com.cognitect.transit.types.hexFor(b, 0, 2) + \"-\";\n return c += com.cognitect.transit.types.hexFor(b, 2, 8);\n};\ncom.cognitect.transit.types.UUID.prototype.equiv = function(a) {\n return com.cognitect.transit.eq.equals(this, a);\n};\ncom.cognitect.transit.types.UUID.prototype.equiv = com.cognitect.transit.types.UUID.prototype.equiv;\ncom.cognitect.transit.types.UUID.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof com.cognitect.transit.types.UUID && this.high.equals(a.high) && this.low.equals(a.low);\n};\ncom.cognitect.transit.types.UUID.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashCode(this.toString()));\n return this.hashCode;\n};\ncom.cognitect.transit.types.UUIDfromString = function(a) {\n a = a.replace(/-/g, \"\");\n var b, c;\n var d = b = 0;\n for (c = 24; 8 > d; d += 2, c -= 8) {\n b |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n var e = 0;\n d = 8;\n for (c = 24; 16 > d; d += 2, c -= 8) {\n e |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n var f = module$contents$goog$math$Long_Long.fromBits(e, b);\n b = 0;\n d = 16;\n for (c = 24; 24 > d; d += 2, c -= 8) {\n b |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n e = 0;\n for (c = d = 24; 32 > d; d += 2, c -= 8) {\n e |= parseInt(a.substring(d, d + 2), 16) << c;\n }\n a = module$contents$goog$math$Long_Long.fromBits(e, b);\n return new com.cognitect.transit.types.UUID(f, a);\n};\ncom.cognitect.transit.types.uuid = function(a) {\n return com.cognitect.transit.types.UUIDfromString(a);\n};\ncom.cognitect.transit.types.isUUID = function(a) {\n return a instanceof com.cognitect.transit.types.UUID;\n};\ncom.cognitect.transit.types.date = function(a) {\n a = \"number\" === typeof a ? a : parseInt(a, 10);\n return new Date(a);\n};\ncom.cognitect.transit.types.verboseDate = function(a) {\n return new Date(a);\n};\nDate.prototype.com$cognitect$transit$equals = function(a) {\n return a instanceof Date ? this.valueOf() === a.valueOf() : !1;\n};\nDate.prototype.com$cognitect$transit$hashCode = function() {\n return this.valueOf();\n};\ncom.cognitect.transit.types.binary = function(a, b) {\n return b && !1 === b.preferBuffers || \"undefined\" == typeof goog.global.Buffer ? \"undefined\" != typeof Uint8Array ? com.cognitect.transit.util.Base64ToUint8(a) : com.cognitect.transit.types.taggedValue(\"b\", a) : new goog.global.Buffer(a, \"base64\");\n};\ncom.cognitect.transit.types.isBinary = function(a) {\n return \"undefined\" != typeof goog.global.Buffer && a instanceof goog.global.Buffer ? !0 : \"undefined\" != typeof Uint8Array && a instanceof Uint8Array ? !0 : a instanceof com.cognitect.transit.types.TaggedValue && \"b\" === a.tag;\n};\ncom.cognitect.transit.types.uri = function(a) {\n return com.cognitect.transit.types.taggedValue(\"r\", a);\n};\ncom.cognitect.transit.types.isURI = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"r\" === a.tag;\n};\ncom.cognitect.transit.types.KEYS = 0;\ncom.cognitect.transit.types.VALUES = 1;\ncom.cognitect.transit.types.ENTRIES = 2;\ncom.cognitect.transit.types.TransitArrayMapIterator = function(a, b) {\n this.entries = a;\n this.type = b || com.cognitect.transit.types.KEYS;\n this.idx = 0;\n};\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype.next = function() {\n if (this.idx < this.entries.length) {\n var a = {value:this.type === com.cognitect.transit.types.KEYS ? this.entries[this.idx] : this.type === com.cognitect.transit.types.VALUES ? this.entries[this.idx + 1] : [this.entries[this.idx], this.entries[this.idx + 1]], done:!1};\n this.idx += 2;\n return a;\n }\n return {value:null, done:!0};\n};\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype.next = com.cognitect.transit.types.TransitArrayMapIterator.prototype.next;\ncom.cognitect.transit.types.TransitArrayMapIterator.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this;\n};\ncom.cognitect.transit.types.TransitMapIterator = function(a, b) {\n this.map = a;\n this.type = b || com.cognitect.transit.types.KEYS;\n this.keys = this.map.getKeys();\n this.idx = 0;\n this.bucket = null;\n this.bucketIdx = 0;\n};\ncom.cognitect.transit.types.TransitMapIterator.prototype.next = function() {\n if (this.idx < this.map.size) {\n null != this.bucket && this.bucketIdx < this.bucket.length || (this.bucket = this.map.map[this.keys[this.idx]], this.bucketIdx = 0);\n var a = {value:this.type === com.cognitect.transit.types.KEYS ? this.bucket[this.bucketIdx] : this.type === com.cognitect.transit.types.VALUES ? this.bucket[this.bucketIdx + 1] : [this.bucket[this.bucketIdx], this.bucket[this.bucketIdx + 1]], done:!1};\n this.idx++;\n this.bucketIdx += 2;\n return a;\n }\n return {value:null, done:!0};\n};\ncom.cognitect.transit.types.TransitMapIterator.prototype.next = com.cognitect.transit.types.TransitMapIterator.prototype.next;\ncom.cognitect.transit.types.TransitMapIterator.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this;\n};\ncom.cognitect.transit.types.mapEquals = function(a, b) {\n if (a instanceof com.cognitect.transit.types.TransitMap && com.cognitect.transit.types.isMap(b)) {\n if (a.size !== b.size) {\n return !1;\n }\n for (var c in a.map) {\n for (var d = a.map[c], e = 0; e < d.length; e += 2) {\n if (!com.cognitect.transit.eq.equals(d[e + 1], b.get(d[e]))) {\n return !1;\n }\n }\n }\n return !0;\n }\n if (a instanceof com.cognitect.transit.types.TransitArrayMap && com.cognitect.transit.types.isMap(b)) {\n if (a.size !== b.size) {\n return !1;\n }\n a = a._entries;\n for (e = 0; e < a.length; e += 2) {\n if (!com.cognitect.transit.eq.equals(a[e + 1], b.get(a[e]))) {\n return !1;\n }\n }\n return !0;\n }\n if (null != b && \"object\" === typeof b && (e = com.cognitect.transit.util.objectKeys(b), c = e.length, a.size === c)) {\n for (d = 0; d < c; d++) {\n var f = e[d];\n if (!a.has(f) || !com.cognitect.transit.eq.equals(b[f], a.get(f))) {\n return !1;\n }\n }\n return !0;\n }\n return !1;\n};\ncom.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD = 8;\ncom.cognitect.transit.types.ARRAY_MAP_THRESHOLD = 32;\ncom.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD = 32;\ncom.cognitect.transit.types.print = function(a) {\n return null == a ? \"null\" : \"array\" === goog.typeOf(a) ? \"[\" + a.toString() + \"]\" : \"string\" === goog.typeOf(a) ? '\"' + a + '\"' : a.toString();\n};\ncom.cognitect.transit.types.printMap = function(a) {\n var b = 0, c = \"TransitMap {\";\n a.forEach(function(d, e) {\n c += com.cognitect.transit.types.print(e) + \" => \" + com.cognitect.transit.types.print(d);\n b < a.size - 1 && (c += \", \");\n b++;\n });\n return c + \"}\";\n};\ncom.cognitect.transit.types.printSet = function(a) {\n var b = 0, c = \"TransitSet {\";\n a.forEach(function(d) {\n c += com.cognitect.transit.types.print(d);\n b < a.size - 1 && (c += \", \");\n b++;\n });\n return c + \"}\";\n};\ncom.cognitect.transit.types.TransitArrayMap = function(a) {\n this._entries = a;\n this.backingMap = null;\n this.hashCode = -1;\n this.size = a.length / 2;\n this.accesses = 0;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.toString = function() {\n return com.cognitect.transit.types.printMap(this);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.convert = function() {\n if (this.backingMap) {\n throw Error(\"Invalid operation, already converted\");\n }\n if (this.size < com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD) {\n return !1;\n }\n this.accesses++;\n return this.accesses > com.cognitect.transit.types.ARRAY_MAP_ACCESS_THRESHOLD ? (this.backingMap = com.cognitect.transit.types.map(this._entries, !1, !0), this._entries = [], !0) : !1;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clear = function() {\n this.hashCode = -1;\n this.backingMap ? this.backingMap.clear() : this._entries = [];\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clear = com.cognitect.transit.types.TransitArrayMap.prototype.clear;\ncom.cognitect.transit.types.TransitArrayMap.prototype.keys = function() {\n return this.backingMap ? this.backingMap.keys() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.KEYS);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.keys = com.cognitect.transit.types.TransitArrayMap.prototype.keys;\ncom.cognitect.transit.types.TransitArrayMap.prototype.keySet = function() {\n if (this.backingMap) {\n return this.backingMap.keySet();\n }\n for (var a = [], b = 0, c = 0; c < this._entries.length; b++, c += 2) {\n a[b] = this._entries[c];\n }\n return a;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.keySet = com.cognitect.transit.types.TransitArrayMap.prototype.keySet;\ncom.cognitect.transit.types.TransitArrayMap.prototype.entries = function() {\n return this.backingMap ? this.backingMap.entries() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.ENTRIES);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.entries = com.cognitect.transit.types.TransitArrayMap.prototype.entries;\ncom.cognitect.transit.types.TransitArrayMap.prototype.values = function() {\n return this.backingMap ? this.backingMap.values() : new com.cognitect.transit.types.TransitArrayMapIterator(this._entries, com.cognitect.transit.types.VALUES);\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.values = com.cognitect.transit.types.TransitArrayMap.prototype.values;\ncom.cognitect.transit.types.TransitArrayMap.prototype.forEach = function(a) {\n if (this.backingMap) {\n this.backingMap.forEach(a);\n } else {\n for (var b = 0; b < this._entries.length; b += 2) {\n a(this._entries[b + 1], this._entries[b]);\n }\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.forEach = com.cognitect.transit.types.TransitArrayMap.prototype.forEach;\ncom.cognitect.transit.types.TransitArrayMap.prototype.get = function(a, b) {\n if (this.backingMap) {\n return this.backingMap.get(a);\n }\n if (this.convert()) {\n return this.get(a);\n }\n for (var c = 0; c < this._entries.length; c += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[c], a)) {\n return this._entries[c + 1];\n }\n }\n return b;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.get = com.cognitect.transit.types.TransitArrayMap.prototype.get;\ncom.cognitect.transit.types.TransitArrayMap.prototype.has = function(a) {\n if (this.backingMap) {\n return this.backingMap.has(a);\n }\n if (this.convert()) {\n return this.has(a);\n }\n for (var b = 0; b < this._entries.length; b += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[b], a)) {\n return !0;\n }\n }\n return !1;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.has = com.cognitect.transit.types.TransitArrayMap.prototype.has;\ncom.cognitect.transit.types.TransitArrayMap.prototype.set = function(a, b) {\n this.hashCode = -1;\n if (this.backingMap) {\n this.backingMap.set(a, b), this.size = this.backingMap.size;\n } else {\n for (var c = 0; c < this._entries.length; c += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[c], a)) {\n this._entries[c + 1] = b;\n return;\n }\n }\n this._entries.push(a);\n this._entries.push(b);\n this.size++;\n this.size > com.cognitect.transit.types.ARRAY_MAP_THRESHOLD && (this.backingMap = com.cognitect.transit.types.map(this._entries, !1, !0), this._entries = null);\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.set = com.cognitect.transit.types.TransitArrayMap.prototype.set;\ncom.cognitect.transit.types.TransitArrayMap.prototype[\"delete\"] = function(a) {\n this.hashCode = -1;\n if (this.backingMap) {\n return a = this.backingMap.delete(a), this.size = this.backingMap.size, a;\n }\n for (var b = 0; b < this._entries.length; b += 2) {\n if (com.cognitect.transit.eq.equals(this._entries[b], a)) {\n return a = this._entries[b + 1], this._entries.splice(b, 2), this.size--, a;\n }\n }\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clone = function() {\n var a = com.cognitect.transit.types.map();\n this.forEach(function(b, c) {\n a.set(c, b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.clone = com.cognitect.transit.types.TransitArrayMap.prototype.clone;\ncom.cognitect.transit.types.TransitArrayMap.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.entries();\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$hashCode = function() {\n if (this.backingMap) {\n return this.backingMap.com$cognitect$transit$hashCode();\n }\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashMapLike(this));\n return this.hashCode;\n};\ncom.cognitect.transit.types.TransitArrayMap.prototype.com$cognitect$transit$equals = function(a) {\n return this.backingMap ? com.cognitect.transit.types.mapEquals(this.backingMap, a) : com.cognitect.transit.types.mapEquals(this, a);\n};\ncom.cognitect.transit.types.TransitMap = function(a, b, c) {\n this.map = b || {};\n this._keys = a || [];\n this.size = c || 0;\n this.hashCode = -1;\n};\ncom.cognitect.transit.types.TransitMap.prototype.toString = function() {\n return com.cognitect.transit.types.printMap(this);\n};\ncom.cognitect.transit.types.TransitMap.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitMap.prototype.clear = function() {\n this.hashCode = -1;\n this.map = {};\n this._keys = [];\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitMap.prototype.clear = com.cognitect.transit.types.TransitMap.prototype.clear;\ncom.cognitect.transit.types.TransitMap.prototype.getKeys = function() {\n return null != this._keys ? this._keys : com.cognitect.transit.util.objectKeys(this.map);\n};\ncom.cognitect.transit.types.TransitMap.prototype[\"delete\"] = function(a) {\n this.hashCode = -1;\n this._keys = null;\n for (var b = com.cognitect.transit.eq.hashCode(a), c = this.map[b], d = 0; d < c.length; d += 2) {\n if (com.cognitect.transit.eq.equals(a, c[d])) {\n return a = c[d + 1], c.splice(d, 2), 0 === c.length && delete this.map[b], this.size--, a;\n }\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.entries = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.ENTRIES);\n};\ncom.cognitect.transit.types.TransitMap.prototype.entries = com.cognitect.transit.types.TransitMap.prototype.entries;\ncom.cognitect.transit.types.TransitMap.prototype.forEach = function(a) {\n for (var b = this.getKeys(), c = 0; c < b.length; c++) {\n for (var d = this.map[b[c]], e = 0; e < d.length; e += 2) {\n a(d[e + 1], d[e], this);\n }\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.forEach = com.cognitect.transit.types.TransitMap.prototype.forEach;\ncom.cognitect.transit.types.TransitMap.prototype.get = function(a, b) {\n var c = com.cognitect.transit.eq.hashCode(a);\n c = this.map[c];\n if (null != c) {\n for (b = 0; b < c.length; b += 2) {\n if (com.cognitect.transit.eq.equals(a, c[b])) {\n return c[b + 1];\n }\n }\n } else {\n return b;\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.get = com.cognitect.transit.types.TransitMap.prototype.get;\ncom.cognitect.transit.types.TransitMap.prototype.has = function(a) {\n var b = com.cognitect.transit.eq.hashCode(a);\n b = this.map[b];\n if (null != b) {\n for (var c = 0; c < b.length; c += 2) {\n if (com.cognitect.transit.eq.equals(a, b[c])) {\n return !0;\n }\n }\n }\n return !1;\n};\ncom.cognitect.transit.types.TransitMap.prototype.has = com.cognitect.transit.types.TransitMap.prototype.has;\ncom.cognitect.transit.types.TransitMap.prototype.keys = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.KEYS);\n};\ncom.cognitect.transit.types.TransitMap.prototype.keys = com.cognitect.transit.types.TransitMap.prototype.keys;\ncom.cognitect.transit.types.TransitMap.prototype.keySet = function() {\n for (var a = this.getKeys(), b = [], c = 0; c < a.length; c++) {\n for (var d = this.map[a[c]], e = 0; e < d.length; e += 2) {\n b.push(d[e]);\n }\n }\n return b;\n};\ncom.cognitect.transit.types.TransitMap.prototype.keySet = com.cognitect.transit.types.TransitMap.prototype.keySet;\ncom.cognitect.transit.types.TransitMap.prototype.set = function(a, b) {\n this.hashCode = -1;\n var c = com.cognitect.transit.eq.hashCode(a), d = this.map[c];\n if (null == d) {\n this._keys && this._keys.push(c), this.map[c] = [a, b], this.size++;\n } else {\n c = !0;\n for (var e = 0; e < d.length; e += 2) {\n if (com.cognitect.transit.eq.equals(b, d[e])) {\n c = !1;\n d[e] = b;\n break;\n }\n }\n c && (d.push(a), d.push(b), this.size++);\n }\n};\ncom.cognitect.transit.types.TransitMap.prototype.set = com.cognitect.transit.types.TransitMap.prototype.set;\ncom.cognitect.transit.types.TransitMap.prototype.values = function() {\n return new com.cognitect.transit.types.TransitMapIterator(this, com.cognitect.transit.types.VALUES);\n};\ncom.cognitect.transit.types.TransitMap.prototype.values = com.cognitect.transit.types.TransitMap.prototype.values;\ncom.cognitect.transit.types.TransitMap.prototype.clone = function() {\n var a = com.cognitect.transit.types.map();\n this.forEach(function(b, c) {\n a.set(c, b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitMap.prototype.clone = com.cognitect.transit.types.TransitMap.prototype.clone;\ncom.cognitect.transit.types.TransitMap.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.entries();\n};\ncom.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$hashCode = function() {\n -1 === this.hashCode && (this.hashCode = com.cognitect.transit.eq.hashMapLike(this));\n return this.hashCode;\n};\ncom.cognitect.transit.types.TransitMap.prototype.com$cognitect$transit$equals = function(a) {\n return com.cognitect.transit.types.mapEquals(this, a);\n};\ncom.cognitect.transit.types.map = function(a, b, c) {\n a = a || [];\n b = !1 === b ? b : !0;\n if ((!0 !== c || !c) && a.length <= 2 * com.cognitect.transit.types.ARRAY_MAP_THRESHOLD) {\n if (b) {\n var d = a;\n a = [];\n for (b = 0; b < d.length; b += 2) {\n var e = !1;\n for (c = 0; c < a.length; c += 2) {\n if (com.cognitect.transit.eq.equals(a[c], d[b])) {\n a[c + 1] = d[b + 1];\n e = !0;\n break;\n }\n }\n e || (a.push(d[b]), a.push(d[b + 1]));\n }\n }\n return new com.cognitect.transit.types.TransitArrayMap(a);\n }\n d = {};\n e = [];\n var f = 0;\n for (b = 0; b < a.length; b += 2) {\n c = com.cognitect.transit.eq.hashCode(a[b]);\n var g = d[c];\n if (null == g) {\n e.push(c), d[c] = [a[b], a[b + 1]], f++;\n } else {\n var h = !0;\n for (c = 0; c < g.length; c += 2) {\n if (com.cognitect.transit.eq.equals(g[c], a[b])) {\n g[c + 1] = a[b + 1];\n h = !1;\n break;\n }\n }\n h && (g.push(a[b]), g.push(a[b + 1]), f++);\n }\n }\n return new com.cognitect.transit.types.TransitMap(e, d, f);\n};\ncom.cognitect.transit.types.isArrayMap = function(a) {\n return a instanceof com.cognitect.transit.types.TransitArrayMap;\n};\ncom.cognitect.transit.types.isMap = function(a) {\n return a instanceof com.cognitect.transit.types.TransitArrayMap || a instanceof com.cognitect.transit.types.TransitMap;\n};\ncom.cognitect.transit.types.TransitSet = function(a) {\n this.map = a;\n this.size = a.size;\n};\ncom.cognitect.transit.types.TransitSet.prototype.toString = function() {\n return com.cognitect.transit.types.printSet(this);\n};\ncom.cognitect.transit.types.TransitSet.prototype.inspect = function() {\n return this.toString();\n};\ncom.cognitect.transit.types.TransitSet.prototype.add = function(a) {\n this.map.set(a, a);\n this.size = this.map.size;\n};\ncom.cognitect.transit.types.TransitSet.prototype.add = com.cognitect.transit.types.TransitSet.prototype.add;\ncom.cognitect.transit.types.TransitSet.prototype.clear = function() {\n this.map = new com.cognitect.transit.types.TransitMap;\n this.size = 0;\n};\ncom.cognitect.transit.types.TransitSet.prototype.clear = com.cognitect.transit.types.TransitSet.prototype.clear;\ncom.cognitect.transit.types.TransitSet.prototype[\"delete\"] = function(a) {\n a = this.map.delete(a);\n this.size = this.map.size;\n return a;\n};\ncom.cognitect.transit.types.TransitSet.prototype.entries = function() {\n return this.map.entries();\n};\ncom.cognitect.transit.types.TransitSet.prototype.entries = com.cognitect.transit.types.TransitSet.prototype.entries;\ncom.cognitect.transit.types.TransitSet.prototype.forEach = function(a, b) {\n var c = this;\n this.map.forEach(function(d, e, f) {\n a(e, c);\n });\n};\ncom.cognitect.transit.types.TransitSet.prototype.forEach = com.cognitect.transit.types.TransitSet.prototype.forEach;\ncom.cognitect.transit.types.TransitSet.prototype.has = function(a) {\n return this.map.has(a);\n};\ncom.cognitect.transit.types.TransitSet.prototype.has = com.cognitect.transit.types.TransitSet.prototype.has;\ncom.cognitect.transit.types.TransitSet.prototype.keys = function() {\n return this.map.keys();\n};\ncom.cognitect.transit.types.TransitSet.prototype.keys = com.cognitect.transit.types.TransitSet.prototype.keys;\ncom.cognitect.transit.types.TransitSet.prototype.keySet = function() {\n return this.map.keySet();\n};\ncom.cognitect.transit.types.TransitSet.prototype.keySet = com.cognitect.transit.types.TransitSet.prototype.keySet;\ncom.cognitect.transit.types.TransitSet.prototype.values = function() {\n return this.map.values();\n};\ncom.cognitect.transit.types.TransitSet.prototype.values = com.cognitect.transit.types.TransitSet.prototype.values;\ncom.cognitect.transit.types.TransitSet.prototype.clone = function() {\n var a = com.cognitect.transit.types.set();\n this.forEach(function(b) {\n a.add(b);\n });\n return a;\n};\ncom.cognitect.transit.types.TransitSet.prototype.clone = com.cognitect.transit.types.TransitSet.prototype.clone;\ncom.cognitect.transit.types.TransitSet.prototype[com.cognitect.transit.types.ITERATOR] = function() {\n return this.values();\n};\ncom.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$equals = function(a) {\n if (a instanceof com.cognitect.transit.types.TransitSet) {\n if (this.size === a.size) {\n return com.cognitect.transit.eq.equals(this.map, a.map);\n }\n } else {\n return !1;\n }\n};\ncom.cognitect.transit.types.TransitSet.prototype.com$cognitect$transit$hashCode = function(a) {\n return com.cognitect.transit.eq.hashCode(this.map);\n};\ncom.cognitect.transit.types.set = function(a) {\n a = a || [];\n for (var b = {}, c = [], d = 0, e = 0; e < a.length; e++) {\n var f = com.cognitect.transit.eq.hashCode(a[e]), g = b[f];\n if (null == g) {\n c.push(f), b[f] = [a[e], a[e]], d++;\n } else {\n f = !0;\n for (var h = 0; h < g.length; h += 2) {\n if (com.cognitect.transit.eq.equals(g[h], a[e])) {\n f = !1;\n break;\n }\n }\n f && (g.push(a[e]), g.push(a[e]), d++);\n }\n }\n return new com.cognitect.transit.types.TransitSet(new com.cognitect.transit.types.TransitMap(c, b, d));\n};\ncom.cognitect.transit.types.isSet = function(a) {\n return a instanceof com.cognitect.transit.types.TransitSet;\n};\ncom.cognitect.transit.types.quoted = function(a) {\n return com.cognitect.transit.types.taggedValue(\"'\", a);\n};\ncom.cognitect.transit.types.isQuoted = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"'\" === a.tag;\n};\ncom.cognitect.transit.types.list = function(a) {\n return com.cognitect.transit.types.taggedValue(\"list\", a);\n};\ncom.cognitect.transit.types.isList = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"list\" === a.tag;\n};\ncom.cognitect.transit.types.link = function(a) {\n return com.cognitect.transit.types.taggedValue(\"link\", a);\n};\ncom.cognitect.transit.types.isLink = function(a) {\n return a instanceof com.cognitect.transit.types.TaggedValue && \"link\" === a.tag;\n};\ncom.cognitect.transit.types.specialDouble = function(a) {\n switch(a) {\n case \"-INF\":\n return -Infinity;\n case \"INF\":\n return Infinity;\n case \"NaN\":\n return NaN;\n default:\n throw Error(\"Invalid special double value \" + a);\n }\n};\ncom.cognitect.transit.impl = {};\ncom.cognitect.transit.impl.decoder = {};\ncom.cognitect.transit.impl.decoder.Tag = function(a) {\n this.str = a;\n};\ncom.cognitect.transit.impl.decoder.tag = function(a) {\n return new com.cognitect.transit.impl.decoder.Tag(a);\n};\ncom.cognitect.transit.impl.decoder.isTag = function(a) {\n return a && a instanceof com.cognitect.transit.impl.decoder.Tag;\n};\ncom.cognitect.transit.impl.decoder.isGroundHandler = function(a) {\n switch(a) {\n case \"_\":\n case \"s\":\n case \"?\":\n case \"i\":\n case \"d\":\n case \"b\":\n case \"'\":\n case \"array\":\n case \"map\":\n return !0;\n }\n return !1;\n};\ncom.cognitect.transit.impl.decoder.Decoder = function(a) {\n this.options = a || {};\n this.handlers = {};\n for (var b in this.defaults.handlers) {\n this.handlers[b] = this.defaults.handlers[b];\n }\n for (b in this.options.handlers) {\n if (com.cognitect.transit.impl.decoder.isGroundHandler(b)) {\n throw Error('Cannot override handler for ground type \"' + b + '\"');\n }\n this.handlers[b] = this.options.handlers[b];\n }\n this.preferStrings = null != this.options.preferStrings ? this.options.preferStrings : this.defaults.preferStrings;\n this.preferBuffers = null != this.options.preferBuffers ? this.options.preferBuffers : this.defaults.preferBuffers;\n this.defaultHandler = this.options.defaultHandler || this.defaults.defaultHandler;\n this.mapBuilder = this.options.mapBuilder;\n this.arrayBuilder = this.options.arrayBuilder;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.defaults = {handlers:{_:function(a, b) {\n return com.cognitect.transit.types.nullValue();\n}, \"?\":function(a, b) {\n return com.cognitect.transit.types.boolValue(a);\n}, b:function(a, b) {\n return com.cognitect.transit.types.binary(a, b);\n}, i:function(a, b) {\n return com.cognitect.transit.types.intValue(a);\n}, n:function(a, b) {\n return com.cognitect.transit.types.bigInteger(a);\n}, d:function(a, b) {\n return com.cognitect.transit.types.floatValue(a);\n}, f:function(a, b) {\n return com.cognitect.transit.types.bigDecimalValue(a);\n}, c:function(a, b) {\n return com.cognitect.transit.types.charValue(a);\n}, \":\":function(a, b) {\n return com.cognitect.transit.types.keyword(a);\n}, $:function(a, b) {\n return com.cognitect.transit.types.symbol(a);\n}, r:function(a, b) {\n return com.cognitect.transit.types.uri(a);\n}, z:function(a, b) {\n return com.cognitect.transit.types.specialDouble(a);\n}, \"'\":function(a, b) {\n return a;\n}, m:function(a, b) {\n return com.cognitect.transit.types.date(a);\n}, t:function(a, b) {\n return com.cognitect.transit.types.verboseDate(a);\n}, u:function(a, b) {\n return com.cognitect.transit.types.uuid(a);\n}, set:function(a, b) {\n return com.cognitect.transit.types.set(a);\n}, list:function(a, b) {\n return com.cognitect.transit.types.list(a);\n}, link:function(a, b) {\n return com.cognitect.transit.types.link(a);\n}, cmap:function(a, b) {\n return com.cognitect.transit.types.map(a, !1);\n}}, defaultHandler:function(a, b) {\n return com.cognitect.transit.types.taggedValue(a, b);\n}, preferStrings:!0, preferBuffers:!0};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decode = function(a, b, c, d) {\n if (null == a) {\n return null;\n }\n switch(typeof a) {\n case \"string\":\n return this.decodeString(a, b, c, d);\n case \"object\":\n return com.cognitect.transit.util.isArray(a) ? \"^ \" === a[0] ? this.decodeArrayHash(a, b, c, d) : this.decodeArray(a, b, c, d) : this.decodeHash(a, b, c, d);\n }\n return a;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decode = com.cognitect.transit.impl.decoder.Decoder.prototype.decode;\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeString = function(a, b, c, d) {\n return com.cognitect.transit.caching.isCacheable(a, c) ? (a = this.parseString(a, b, !1), b && b.write(a, c), a) : com.cognitect.transit.caching.isCacheCode(a) ? b.read(a, c) : this.parseString(a, b, c);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeHash = function(a, b, c, d) {\n c = com.cognitect.transit.util.objectKeys(a);\n var e = c[0];\n d = 1 == c.length ? this.decode(e, b, !1, !1) : null;\n if (com.cognitect.transit.impl.decoder.isTag(d)) {\n return a = a[e], c = this.handlers[d.str], null != c ? c(this.decode(a, b, !1, !0), this) : com.cognitect.transit.types.taggedValue(d.str, this.decode(a, b, !1, !1));\n }\n if (this.mapBuilder) {\n if (c.length < 2 * com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD && this.mapBuilder.fromArray) {\n var f = [];\n for (d = 0; d < c.length; d++) {\n e = c[d], f.push(this.decode(e, b, !0, !1)), f.push(this.decode(a[e], b, !1, !1));\n }\n return this.mapBuilder.fromArray(f, a);\n }\n f = this.mapBuilder.init(a);\n for (d = 0; d < c.length; d++) {\n e = c[d], f = this.mapBuilder.add(f, this.decode(e, b, !0, !1), this.decode(a[e], b, !1, !1), a);\n }\n return this.mapBuilder.finalize(f, a);\n }\n f = [];\n for (d = 0; d < c.length; d++) {\n e = c[d], f.push(this.decode(e, b, !0, !1)), f.push(this.decode(a[e], b, !1, !1));\n }\n return com.cognitect.transit.types.map(f, !1);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeArrayHash = function(a, b, c, d) {\n if (this.mapBuilder) {\n if (a.length < 2 * com.cognitect.transit.types.SMALL_ARRAY_MAP_THRESHOLD + 1 && this.mapBuilder.fromArray) {\n d = [];\n for (c = 1; c < a.length; c += 2) {\n d.push(this.decode(a[c], b, !0, !1)), d.push(this.decode(a[c + 1], b, !1, !1));\n }\n return this.mapBuilder.fromArray(d, a);\n }\n d = this.mapBuilder.init(a);\n for (c = 1; c < a.length; c += 2) {\n d = this.mapBuilder.add(d, this.decode(a[c], b, !0, !1), this.decode(a[c + 1], b, !1, !1), a);\n }\n return this.mapBuilder.finalize(d, a);\n }\n d = [];\n for (c = 1; c < a.length; c += 2) {\n d.push(this.decode(a[c], b, !0, !1)), d.push(this.decode(a[c + 1], b, !1, !1));\n }\n return com.cognitect.transit.types.map(d, !1);\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.decodeArray = function(a, b, c, d) {\n if (d) {\n var e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return e;\n }\n e = b && b.idx;\n if (2 === a.length && \"string\" === typeof a[0] && (d = this.decode(a[0], b, !1, !1), com.cognitect.transit.impl.decoder.isTag(d))) {\n return a = a[1], e = this.handlers[d.str], null != e ? e = e(this.decode(a, b, c, !0), this) : com.cognitect.transit.types.taggedValue(d.str, this.decode(a, b, c, !1));\n }\n b && e != b.idx && (b.idx = e);\n if (this.arrayBuilder) {\n if (32 >= a.length && this.arrayBuilder.fromArray) {\n e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return this.arrayBuilder.fromArray(e, a);\n }\n e = this.arrayBuilder.init(a);\n for (d = 0; d < a.length; d++) {\n e = this.arrayBuilder.add(e, this.decode(a[d], b, c, !1), a);\n }\n return this.arrayBuilder.finalize(e, a);\n }\n e = [];\n for (d = 0; d < a.length; d++) {\n e.push(this.decode(a[d], b, c, !1));\n }\n return e;\n};\ncom.cognitect.transit.impl.decoder.Decoder.prototype.parseString = function(a, b, c) {\n if (a.charAt(0) === com.cognitect.transit.delimiters.ESC) {\n b = a.charAt(1);\n if (b === com.cognitect.transit.delimiters.ESC || b === com.cognitect.transit.delimiters.SUB || b === com.cognitect.transit.delimiters.RES) {\n return a.substring(1);\n }\n if (b === com.cognitect.transit.delimiters.TAG) {\n return com.cognitect.transit.impl.decoder.tag(a.substring(2));\n }\n c = this.handlers[b];\n return null == c ? this.defaultHandler(b, a.substring(2)) : c(a.substring(2), this);\n }\n return a;\n};\ncom.cognitect.transit.impl.decoder.decoder = function(a) {\n return new com.cognitect.transit.impl.decoder.Decoder(a);\n};\ncom.cognitect.transit.impl.reader = {};\ncom.cognitect.transit.impl.reader.JSONUnmarshaller = function(a) {\n this.decoder = new com.cognitect.transit.impl.decoder.Decoder(a);\n};\ncom.cognitect.transit.impl.reader.JSONUnmarshaller.prototype.unmarshal = function(a, b) {\n return this.decoder.decode(JSON.parse(a), b);\n};\ncom.cognitect.transit.impl.reader.Reader = function(a, b) {\n this.unmarshaller = a;\n this.options = b || {};\n this.cache = this.options.cache ? this.options.cache : new com.cognitect.transit.caching.ReadCache;\n};\ncom.cognitect.transit.impl.reader.Reader.prototype.read = function(a) {\n a = this.unmarshaller.unmarshal(a, this.cache);\n this.cache.clear();\n return a;\n};\ncom.cognitect.transit.impl.reader.Reader.prototype.read = com.cognitect.transit.impl.reader.Reader.prototype.read;\ncom.cognitect.transit.handlers = {};\ncom.cognitect.transit.handlers.ctorGuid = 0;\ncom.cognitect.transit.handlers.ctorGuidProperty = \"transit$guid$\" + com.cognitect.transit.util.randomUUID();\ncom.cognitect.transit.handlers.typeTag = function(a) {\n if (null == a) {\n return \"null\";\n }\n if (a === String) {\n return \"string\";\n }\n if (a === Boolean) {\n return \"boolean\";\n }\n if (a === Number) {\n return \"number\";\n }\n if (a === Array) {\n return \"array\";\n }\n if (a === Object) {\n return \"map\";\n }\n var b = a[com.cognitect.transit.handlers.ctorGuidProperty];\n null == b && (\"undefined\" != typeof Object.defineProperty ? (b = ++com.cognitect.transit.handlers.ctorGuid, Object.defineProperty(a, com.cognitect.transit.handlers.ctorGuidProperty, {value:b, enumerable:!1})) : a[com.cognitect.transit.handlers.ctorGuidProperty] = b = ++com.cognitect.transit.handlers.ctorGuid);\n return b;\n};\ncom.cognitect.transit.handlers.constructor = function(a) {\n return null == a ? null : a.constructor;\n};\ncom.cognitect.transit.handlers.padZeros = function(a, b) {\n a = a.toString();\n for (var c = a.length; c < b; c++) {\n a = \"0\" + a;\n }\n return a;\n};\ncom.cognitect.transit.handlers.stringableKeys = function(a) {\n a = com.cognitect.transit.util.objectKeys(a);\n for (var b = 0; b < a.length; b++) {\n }\n return !0;\n};\ncom.cognitect.transit.handlers.NilHandler = function() {\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.tag = function(a) {\n return \"_\";\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.rep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.NilHandler.prototype.stringRep = function(a) {\n return \"null\";\n};\ncom.cognitect.transit.handlers.StringHandler = function() {\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.tag = function(a) {\n return \"s\";\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.StringHandler.prototype.stringRep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.NumberHandler = function() {\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.tag = function(a) {\n return \"i\";\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.NumberHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.IntegerHandler = function() {\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.tag = function(a) {\n return \"i\";\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.rep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.IntegerHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.BooleanHandler = function() {\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.tag = function(a) {\n return \"?\";\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.BooleanHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.ArrayHandler = function() {\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.tag = function(a) {\n return \"array\";\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.ArrayHandler.prototype.stringRep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.MapHandler = function() {\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.MapHandler.prototype.stringRep = function(a) {\n return null;\n};\ncom.cognitect.transit.handlers.VerboseDateHandler = function() {\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.tag = function(a) {\n return \"t\";\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.rep = function(a) {\n return a.getUTCFullYear() + \"-\" + com.cognitect.transit.handlers.padZeros(a.getUTCMonth() + 1, 2) + \"-\" + com.cognitect.transit.handlers.padZeros(a.getUTCDate(), 2) + \"T\" + com.cognitect.transit.handlers.padZeros(a.getUTCHours(), 2) + \":\" + com.cognitect.transit.handlers.padZeros(a.getUTCMinutes(), 2) + \":\" + com.cognitect.transit.handlers.padZeros(a.getUTCSeconds(), 2) + \".\" + com.cognitect.transit.handlers.padZeros(a.getUTCMilliseconds(), 3) + \"Z\";\n};\ncom.cognitect.transit.handlers.VerboseDateHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.DateHandler = function() {\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.tag = function(a) {\n return \"m\";\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.rep = function(a) {\n return a.valueOf();\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.stringRep = function(a) {\n return a.valueOf().toString();\n};\ncom.cognitect.transit.handlers.DateHandler.prototype.getVerboseHandler = function(a) {\n return new com.cognitect.transit.handlers.VerboseDateHandler;\n};\ncom.cognitect.transit.handlers.UUIDHandler = function() {\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.tag = function(a) {\n return \"u\";\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.rep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.UUIDHandler.prototype.stringRep = function(a) {\n return a.toString();\n};\ncom.cognitect.transit.handlers.KeywordHandler = function() {\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.tag = function(a) {\n return \":\";\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.rep = function(a) {\n return a._name;\n};\ncom.cognitect.transit.handlers.KeywordHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.SymbolHandler = function() {\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.tag = function(a) {\n return \"$\";\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.rep = function(a) {\n return a._name;\n};\ncom.cognitect.transit.handlers.SymbolHandler.prototype.stringRep = function(a, b) {\n return b.rep(a);\n};\ncom.cognitect.transit.handlers.TaggedHandler = function() {\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.tag = function(a) {\n return a.tag;\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.rep = function(a) {\n return a.rep;\n};\ncom.cognitect.transit.handlers.TaggedHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitSetHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.tag = function(a) {\n return \"set\";\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.rep = function(a) {\n var b = [];\n a.forEach(function(c, d) {\n b.push(c);\n });\n return com.cognitect.transit.types.taggedValue(\"array\", b);\n};\ncom.cognitect.transit.handlers.TransitSetHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.TransitArrayMapHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.TransitMapHandler = function() {\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.tag = function(a) {\n return \"map\";\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.rep = function(a) {\n return a;\n};\ncom.cognitect.transit.handlers.TransitMapHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.BufferHandler = function() {\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.tag = function(a) {\n return \"b\";\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.rep = function(a) {\n return a.toString(\"base64\");\n};\ncom.cognitect.transit.handlers.BufferHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler = function() {\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.tag = function(a) {\n return \"b\";\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.rep = function(a) {\n return com.cognitect.transit.util.Uint8ToBase64(a);\n};\ncom.cognitect.transit.handlers.Uint8ArrayHandler.prototype.stringRep = function(a, b) {\n return null;\n};\ncom.cognitect.transit.handlers.defaultHandlers = function(a) {\n a.set(null, new com.cognitect.transit.handlers.NilHandler);\n a.set(String, new com.cognitect.transit.handlers.StringHandler);\n a.set(Number, new com.cognitect.transit.handlers.NumberHandler);\n a.set(module$contents$goog$math$Long_Long, new com.cognitect.transit.handlers.IntegerHandler);\n a.set(Boolean, new com.cognitect.transit.handlers.BooleanHandler);\n a.set(Array, new com.cognitect.transit.handlers.ArrayHandler);\n a.set(Object, new com.cognitect.transit.handlers.MapHandler);\n a.set(Date, new com.cognitect.transit.handlers.DateHandler);\n a.set(com.cognitect.transit.types.UUID, new com.cognitect.transit.handlers.UUIDHandler);\n a.set(com.cognitect.transit.types.Keyword, new com.cognitect.transit.handlers.KeywordHandler);\n a.set(com.cognitect.transit.types.Symbol, new com.cognitect.transit.handlers.SymbolHandler);\n a.set(com.cognitect.transit.types.TaggedValue, new com.cognitect.transit.handlers.TaggedHandler);\n a.set(com.cognitect.transit.types.TransitSet, new com.cognitect.transit.handlers.TransitSetHandler);\n a.set(com.cognitect.transit.types.TransitArrayMap, new com.cognitect.transit.handlers.TransitArrayMapHandler);\n a.set(com.cognitect.transit.types.TransitMap, new com.cognitect.transit.handlers.TransitMapHandler);\n \"undefined\" != typeof goog.global.Buffer && a.set(goog.global.Buffer, new com.cognitect.transit.handlers.BufferHandler);\n \"undefined\" != typeof Uint8Array && a.set(Uint8Array, new com.cognitect.transit.handlers.Uint8ArrayHandler);\n return a;\n};\ncom.cognitect.transit.handlers.Handlers = function() {\n this.handlers = {};\n com.cognitect.transit.handlers.defaultHandlers(this);\n};\ncom.cognitect.transit.handlers.Handlers.prototype.get = function(a) {\n a = \"string\" === typeof a ? this.handlers[a] : this.handlers[com.cognitect.transit.handlers.typeTag(a)];\n return null != a ? a : this.handlers[\"default\"];\n};\ncom.cognitect.transit.handlers.Handlers.prototype.get = com.cognitect.transit.handlers.Handlers.prototype.get;\ncom.cognitect.transit.handlers.validTag = function(a) {\n switch(a) {\n case \"null\":\n case \"string\":\n case \"boolean\":\n case \"number\":\n case \"array\":\n case \"map\":\n return !1;\n }\n return !0;\n};\ncom.cognitect.transit.handlers.Handlers.prototype.set = function(a, b) {\n \"string\" === typeof a && com.cognitect.transit.handlers.validTag(a) ? this.handlers[a] = b : this.handlers[com.cognitect.transit.handlers.typeTag(a)] = b;\n};\ncom.cognitect.transit.impl.writer = {};\ncom.cognitect.transit.impl.writer.escape = function(a) {\n if (0 < a.length) {\n var b = a.charAt(0);\n return b === com.cognitect.transit.delimiters.ESC || b === com.cognitect.transit.delimiters.SUB || b === com.cognitect.transit.delimiters.RES ? com.cognitect.transit.delimiters.ESC + a : a;\n }\n return a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller = function(a) {\n this.opts = a || {};\n this.preferStrings = null != this.opts.preferStrings ? this.opts.preferStrings : !0;\n this.objectBuilder = this.opts.objectBuilder || null;\n this.transform = this.opts.transform || null;\n this.handlers = new com.cognitect.transit.handlers.Handlers;\n if (a = this.opts.handlers) {\n if (com.cognitect.transit.util.isArray(a) || !a.forEach) {\n throw Error('transit writer \"handlers\" option must be a map');\n }\n var b = this;\n a.forEach(function(c, d) {\n if (void 0 !== d) {\n b.handlers.set(d, c);\n } else {\n throw Error(\"Cannot create handler for JavaScript undefined\");\n }\n });\n }\n this.handlerForForeign = this.opts.handlerForForeign;\n this.unpack = this.opts.unpack || function(c) {\n return com.cognitect.transit.types.isArrayMap(c) && null === c.backingMap ? c._entries : !1;\n };\n this.verbose = this.opts && this.opts.verbose || !1;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.handler = function(a) {\n var b = this.handlers.get(com.cognitect.transit.handlers.constructor(a));\n return null != b ? b : (a = a && a.transitTag) ? this.handlers.get(a) : null;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.registerHandler = function(a, b) {\n this.handlers.set(a, b);\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitNil = function(a, b) {\n return a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"_\", \"\", a, b) : null;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitString = function(a, b, c, d, e) {\n a = a + b + c;\n return e ? e.write(a, d) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBoolean = function(a, b, c) {\n return b ? this.emitString(com.cognitect.transit.delimiters.ESC, \"?\", a.toString()[0], b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitInteger = function(a, b, c) {\n return Infinity === a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"INF\", b, c) : -Infinity === a ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"-INF\", b, c) : isNaN(a) ? this.emitString(com.cognitect.transit.delimiters.ESC, \"z\", \"NaN\", b, c) : b || \"string\" === typeof a || a instanceof module$contents$goog$math$Long_Long ? this.emitString(com.cognitect.transit.delimiters.ESC, \"i\", a.toString(), b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitDouble = function(a, b, c) {\n return b ? this.emitString(a.ESC, \"d\", a, b, c) : a;\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitBinary = function(a, b, c) {\n return this.emitString(com.cognitect.transit.delimiters.ESC, \"b\", a, b, c);\n};\ncom.cognitect.transit.impl.writer.JSONMarshaller.prototype.emitQuoted = function(a, b, c) {\n if (a.verbose) {\n a = {};\n var d = this.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"'\", \"\", !0, c);\n a[d] = com.cognitect.transit.impl.writer.marshal(this, b, !1, c);\n return a;\n }\n return [this.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"'\", \"\", !0, c), com.cognitect.transit.impl.writer.marshal(this, b, !1, c)];\n};\ncom.cognitect.transit.impl.writer.emitObjects = function(a, b, c) {\n var d = [];\n if (com.cognitect.transit.util.isArray(b)) {\n for (var e = 0; e < b.length; e++) {\n d.push(com.cognitect.transit.impl.writer.marshal(a, b[e], !1, c));\n }\n } else {\n b.forEach(function(f, g) {\n d.push(com.cognitect.transit.impl.writer.marshal(a, f, !1, c));\n });\n }\n return d;\n};\ncom.cognitect.transit.impl.writer.emitArray = function(a, b, c, d) {\n return com.cognitect.transit.impl.writer.emitObjects(a, b, d);\n};\ncom.cognitect.transit.impl.writer.isStringableKey = function(a, b) {\n return \"string\" !== typeof b ? (a = a.handler(b)) && 1 === a.tag(b).length : !0;\n};\ncom.cognitect.transit.impl.writer.stringableKeys = function(a, b) {\n var c = a.unpack(b), d = !0;\n if (c) {\n for (b = 0; b < c.length && (d = com.cognitect.transit.impl.writer.isStringableKey(a, c[b]), d); b += 2) {\n }\n return d;\n }\n if (b.keys) {\n c = b.keys();\n var e = null;\n if (c.next) {\n for (e = c.next(); !e.done;) {\n d = com.cognitect.transit.impl.writer.isStringableKey(a, e.value);\n if (!d) {\n break;\n }\n e = c.next();\n }\n return d;\n }\n }\n if (b.forEach) {\n return b.forEach(function(f, g) {\n d = d && com.cognitect.transit.impl.writer.isStringableKey(a, g);\n }), d;\n }\n throw Error(\"Cannot walk keys of object type \" + com.cognitect.transit.handlers.constructor(b).name);\n};\ncom.cognitect.transit.impl.writer.isForeignObject = function(a) {\n if (a.constructor.transit$isObject) {\n return !0;\n }\n var b = a.constructor.toString();\n b = b.substr(9);\n b = b.substr(0, b.indexOf(\"(\"));\n b = \"Object\" == b;\n \"undefined\" != typeof Object.defineProperty ? Object.defineProperty(a.constructor, \"transit$isObject\", {value:b, enumerable:!1}) : a.constructor.transit$isObject = b;\n return b;\n};\ncom.cognitect.transit.impl.writer.emitMap = function(a, b, c, d) {\n var e = null, f = null, g = null;\n e = null;\n c = 0;\n if (b.constructor === Object || null != b.forEach || a.handlerForForeign && com.cognitect.transit.impl.writer.isForeignObject(b)) {\n if (a.verbose) {\n if (null != b.forEach) {\n if (com.cognitect.transit.impl.writer.stringableKeys(a, b)) {\n var h = {};\n b.forEach(function(k, l) {\n h[com.cognitect.transit.impl.writer.marshal(a, l, !0, !1)] = com.cognitect.transit.impl.writer.marshal(a, k, !1, d);\n });\n } else {\n e = a.unpack(b);\n f = [];\n g = a.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"cmap\", \"\", !0, d);\n if (e) {\n for (; c < e.length; c += 2) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !1, !1)), f.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, l, !1, !1));\n f.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n h = {};\n h[g] = f;\n }\n } else {\n for (e = com.cognitect.transit.util.objectKeys(b), h = {}; c < e.length; c++) {\n h[com.cognitect.transit.impl.writer.marshal(a, e[c], !0, !1)] = com.cognitect.transit.impl.writer.marshal(a, b[e[c]], !1, d);\n }\n }\n return h;\n }\n if (null != b.forEach) {\n if (com.cognitect.transit.impl.writer.stringableKeys(a, b)) {\n e = a.unpack(b);\n h = [\"^ \"];\n if (e) {\n for (; c < e.length; c += 2) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !0, d)), h.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, l, !0, d));\n h.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n return h;\n }\n e = a.unpack(b);\n f = [];\n g = a.emitString(com.cognitect.transit.delimiters.ESC_TAG, \"cmap\", \"\", !0, d);\n if (e) {\n for (; c < e.length; c += 2) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !1, d)), f.push(com.cognitect.transit.impl.writer.marshal(a, e[c + 1], !1, d));\n }\n } else {\n b.forEach(function(k, l) {\n f.push(com.cognitect.transit.impl.writer.marshal(a, l, !1, d));\n f.push(com.cognitect.transit.impl.writer.marshal(a, k, !1, d));\n });\n }\n return [g, f];\n }\n h = [\"^ \"];\n for (e = com.cognitect.transit.util.objectKeys(b); c < e.length; c++) {\n h.push(com.cognitect.transit.impl.writer.marshal(a, e[c], !0, d)), h.push(com.cognitect.transit.impl.writer.marshal(a, b[e[c]], !1, d));\n }\n return h;\n }\n if (null != a.objectBuilder) {\n return a.objectBuilder(b, function(k) {\n return com.cognitect.transit.impl.writer.marshal(a, k, !0, d);\n }, function(k) {\n return com.cognitect.transit.impl.writer.marshal(a, k, !1, d);\n });\n }\n c = com.cognitect.transit.handlers.constructor(b).name;\n e = Error(\"Cannot write \" + c);\n e.data = {obj:b, type:c};\n throw e;\n};\ncom.cognitect.transit.impl.writer.emitTaggedMap = function(a, b, c, d, e) {\n return a.verbose ? (d = {}, d[a.emitString(com.cognitect.transit.delimiters.ESC_TAG, b, \"\", !0, e)] = com.cognitect.transit.impl.writer.marshal(a, c, !1, e), d) : [a.emitString(com.cognitect.transit.delimiters.ESC_TAG, b, \"\", !0, e), com.cognitect.transit.impl.writer.marshal(a, c, !1, e)];\n};\ncom.cognitect.transit.impl.writer.emitEncoded = function(a, b, c, d, e, f, g) {\n if (1 === c.length) {\n if (\"string\" === typeof d) {\n return a.emitString(com.cognitect.transit.delimiters.ESC, c, d, f, g);\n }\n if (f || a.preferStrings) {\n (d = a.verbose && b.getVerboseHandler()) ? (c = d.tag(e), d = d.stringRep(e, d)) : d = b.stringRep(e, b);\n if (null !== d) {\n return a.emitString(com.cognitect.transit.delimiters.ESC, c, d, f, g);\n }\n a = Error('Tag \"' + c + '\" cannot be encoded as string');\n a.data = {tag:c, rep:d, obj:e};\n throw a;\n }\n }\n return com.cognitect.transit.impl.writer.emitTaggedMap(a, c, d, f, g);\n};\ncom.cognitect.transit.impl.writer.marshal = function(a, b, c, d) {\n null !== a.transform && (b = a.transform(b));\n var e = a.handler(b) || (a.handlerForForeign ? a.handlerForForeign(b, a.handlers) : null), f = e ? e.tag(b) : null, g = e ? e.rep(b) : null;\n if (null != e && null != f) {\n switch(f) {\n case \"_\":\n return a.emitNil(c, d);\n case \"s\":\n return a.emitString(\"\", \"\", com.cognitect.transit.impl.writer.escape(g), c, d);\n case \"?\":\n return a.emitBoolean(g, c, d);\n case \"i\":\n return a.emitInteger(g, c, d);\n case \"d\":\n return a.emitDouble(g, c, d);\n case \"b\":\n return a.emitBinary(g, c, d);\n case \"'\":\n return a.emitQuoted(a, g, d);\n case \"array\":\n return com.cognitect.transit.impl.writer.emitArray(a, g, c, d);\n case \"map\":\n return com.cognitect.transit.impl.writer.emitMap(a, g, c, d);\n default:\n return com.cognitect.transit.impl.writer.emitEncoded(a, e, f, g, b, c, d);\n }\n } else {\n throw a = com.cognitect.transit.handlers.constructor(b).name, c = Error(\"Cannot write \" + a), c.data = {obj:b, type:a}, c;\n }\n};\ncom.cognitect.transit.impl.writer.maybeQuoted = function(a, b) {\n a = a.handler(b) || (a.handlerForForeign ? a.handlerForForeign(b, a.handlers) : null);\n if (null != a) {\n return 1 === a.tag(b).length ? com.cognitect.transit.types.quoted(b) : b;\n }\n a = com.cognitect.transit.handlers.constructor(b).name;\n var c = Error(\"Cannot write \" + a);\n c.data = {obj:b, type:a};\n throw c;\n};\ncom.cognitect.transit.impl.writer.marshalTop = function(a, b, c, d) {\n return JSON.stringify(com.cognitect.transit.impl.writer.marshal(a, com.cognitect.transit.impl.writer.maybeQuoted(a, b), c, d));\n};\ncom.cognitect.transit.impl.writer.Writer = function(a, b) {\n this._marshaller = a;\n this.options = b || {};\n this.cache = !1 === this.options.cache ? null : this.options.cache ? this.options.cache : new com.cognitect.transit.caching.WriteCache;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.marshaller = function() {\n return this._marshaller;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.marshaller = com.cognitect.transit.impl.writer.Writer.prototype.marshaller;\ncom.cognitect.transit.impl.writer.Writer.prototype.write = function(a, b) {\n b = b || {};\n var c = b.asMapKey || !1, d = this._marshaller.verbose ? !1 : this.cache;\n a = !1 === b.marshalTop ? com.cognitect.transit.impl.writer.marshal(this._marshaller, a, c, d) : com.cognitect.transit.impl.writer.marshalTop(this._marshaller, a, c, d);\n null != this.cache && this.cache.clear();\n return a;\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.write = com.cognitect.transit.impl.writer.Writer.prototype.write;\ncom.cognitect.transit.impl.writer.Writer.prototype.register = function(a, b) {\n this._marshaller.registerHandler(a, b);\n};\ncom.cognitect.transit.impl.writer.Writer.prototype.register = com.cognitect.transit.impl.writer.Writer.prototype.register;\nvar TRANSIT_DEV = !0, TRANSIT_NODE_TARGET = !0, TRANSIT_BROWSER_TARGET = !1, TRANSIT_BROWSER_AMD_TARGET = !1;\ncom.cognitect.transit.reader = function(a, b) {\n if (\"json\" === a || \"json-verbose\" === a || null == a) {\n return a = new com.cognitect.transit.impl.reader.JSONUnmarshaller(b), new com.cognitect.transit.impl.reader.Reader(a, b);\n }\n throw Error(\"Cannot create reader of type \" + a);\n};\ncom.cognitect.transit.writer = function(a, b) {\n if (\"json\" === a || \"json-verbose\" === a || null == a) {\n return \"json-verbose\" === a && (null == b && (b = {}), b.verbose = !0), a = new com.cognitect.transit.impl.writer.JSONMarshaller(b), new com.cognitect.transit.impl.writer.Writer(a, b);\n }\n b = Error('Type must be \"json\"');\n b.data = {type:a};\n throw b;\n};\ncom.cognitect.transit.makeWriteHandler = function(a) {\n var b = function() {\n };\n b.prototype.tag = a.tag;\n b.prototype.rep = a.rep;\n b.prototype.stringRep = a.stringRep;\n b.prototype.getVerboseHandler = a.getVerboseHandler;\n return new b;\n};\ncom.cognitect.transit.makeBuilder = function(a) {\n var b = function() {\n };\n b.prototype.init = a.init;\n b.prototype.add = a.add;\n b.prototype.finalize = a.finalize;\n b.prototype.fromArray = a.fromArray;\n return new b;\n};\ncom.cognitect.transit.date = com.cognitect.transit.types.date;\ncom.cognitect.transit.integer = com.cognitect.transit.types.intValue;\ncom.cognitect.transit.isInteger = com.cognitect.transit.types.isInteger;\ncom.cognitect.transit.uuid = com.cognitect.transit.types.uuid;\ncom.cognitect.transit.isUUID = com.cognitect.transit.types.isUUID;\ncom.cognitect.transit.bigInt = com.cognitect.transit.types.bigInteger;\ncom.cognitect.transit.isBigInt = com.cognitect.transit.types.isBigInteger;\ncom.cognitect.transit.bigDec = com.cognitect.transit.types.bigDecimalValue;\ncom.cognitect.transit.isBigDec = com.cognitect.transit.types.isBigDecimal;\ncom.cognitect.transit.keyword = com.cognitect.transit.types.keyword;\ncom.cognitect.transit.isKeyword = com.cognitect.transit.types.isKeyword;\ncom.cognitect.transit.symbol = com.cognitect.transit.types.symbol;\ncom.cognitect.transit.isSymbol = com.cognitect.transit.types.isSymbol;\ncom.cognitect.transit.binary = com.cognitect.transit.types.binary;\ncom.cognitect.transit.isBinary = com.cognitect.transit.types.isBinary;\ncom.cognitect.transit.uri = com.cognitect.transit.types.uri;\ncom.cognitect.transit.isURI = com.cognitect.transit.types.isURI;\ncom.cognitect.transit.map = com.cognitect.transit.types.map;\ncom.cognitect.transit.isMap = com.cognitect.transit.types.isMap;\ncom.cognitect.transit.set = com.cognitect.transit.types.set;\ncom.cognitect.transit.isSet = com.cognitect.transit.types.isSet;\ncom.cognitect.transit.list = com.cognitect.transit.types.list;\ncom.cognitect.transit.isList = com.cognitect.transit.types.isList;\ncom.cognitect.transit.quoted = com.cognitect.transit.types.quoted;\ncom.cognitect.transit.isQuoted = com.cognitect.transit.types.isQuoted;\ncom.cognitect.transit.tagged = com.cognitect.transit.types.taggedValue;\ncom.cognitect.transit.isTaggedValue = com.cognitect.transit.types.isTaggedValue;\ncom.cognitect.transit.link = com.cognitect.transit.types.link;\ncom.cognitect.transit.isLink = com.cognitect.transit.types.isLink;\ncom.cognitect.transit.hash = com.cognitect.transit.eq.hashCode;\ncom.cognitect.transit.hashMapLike = com.cognitect.transit.eq.hashMapLike;\ncom.cognitect.transit.hashArrayLike = com.cognitect.transit.eq.hashArrayLike;\ncom.cognitect.transit.equals = com.cognitect.transit.eq.equals;\ncom.cognitect.transit.extendToEQ = com.cognitect.transit.eq.extendToEQ;\ncom.cognitect.transit.mapToObject = function(a) {\n var b = {};\n a.forEach(function(c, d) {\n if (\"string\" !== typeof d) {\n throw Error(\"Cannot convert map with non-string keys\");\n }\n b[d] = c;\n });\n return b;\n};\ncom.cognitect.transit.objectToMap = function(a) {\n var b = com.cognitect.transit.map(), c;\n for (c in a) {\n a.hasOwnProperty(c) && b.set(c, a[c]);\n }\n return b;\n};\ncom.cognitect.transit.decoder = com.cognitect.transit.impl.decoder.decoder;\ncom.cognitect.transit.readCache = com.cognitect.transit.caching.readCache;\ncom.cognitect.transit.writeCache = com.cognitect.transit.caching.writeCache;\ncom.cognitect.transit.UUIDfromString = com.cognitect.transit.types.UUIDfromString;\ncom.cognitect.transit.randomUUID = com.cognitect.transit.util.randomUUID;\ncom.cognitect.transit.stringableKeys = com.cognitect.transit.impl.writer.stringableKeys;\nTRANSIT_BROWSER_TARGET && (goog.exportSymbol(\"transit.reader\", com.cognitect.transit.reader), goog.exportSymbol(\"transit.writer\", com.cognitect.transit.writer), goog.exportSymbol(\"transit.makeBuilder\", com.cognitect.transit.makeBuilder), goog.exportSymbol(\"transit.makeWriteHandler\", com.cognitect.transit.makeWriteHandler), goog.exportSymbol(\"transit.date\", com.cognitect.transit.types.date), goog.exportSymbol(\"transit.integer\", com.cognitect.transit.types.intValue), goog.exportSymbol(\"transit.isInteger\", \ncom.cognitect.transit.types.isInteger), goog.exportSymbol(\"transit.uuid\", com.cognitect.transit.types.uuid), goog.exportSymbol(\"transit.isUUID\", com.cognitect.transit.types.isUUID), goog.exportSymbol(\"transit.bigInt\", com.cognitect.transit.types.bigInteger), goog.exportSymbol(\"transit.isBigInt\", com.cognitect.transit.types.isBigInteger), goog.exportSymbol(\"transit.bigDec\", com.cognitect.transit.types.bigDecimalValue), goog.exportSymbol(\"transit.isBigDec\", com.cognitect.transit.types.isBigDecimal), \ngoog.exportSymbol(\"transit.keyword\", com.cognitect.transit.types.keyword), goog.exportSymbol(\"transit.isKeyword\", com.cognitect.transit.types.isKeyword), goog.exportSymbol(\"transit.symbol\", com.cognitect.transit.types.symbol), goog.exportSymbol(\"transit.isSymbol\", com.cognitect.transit.types.isSymbol), goog.exportSymbol(\"transit.binary\", com.cognitect.transit.types.binary), goog.exportSymbol(\"transit.isBinary\", com.cognitect.transit.types.isBinary), goog.exportSymbol(\"transit.uri\", com.cognitect.transit.types.uri), \ngoog.exportSymbol(\"transit.isURI\", com.cognitect.transit.types.isURI), goog.exportSymbol(\"transit.map\", com.cognitect.transit.types.map), goog.exportSymbol(\"transit.isMap\", com.cognitect.transit.types.isMap), goog.exportSymbol(\"transit.set\", com.cognitect.transit.types.set), goog.exportSymbol(\"transit.isSet\", com.cognitect.transit.types.isSet), goog.exportSymbol(\"transit.list\", com.cognitect.transit.types.list), goog.exportSymbol(\"transit.isList\", com.cognitect.transit.types.isList), goog.exportSymbol(\"transit.quoted\", \ncom.cognitect.transit.types.quoted), goog.exportSymbol(\"transit.isQuoted\", com.cognitect.transit.types.isQuoted), goog.exportSymbol(\"transit.tagged\", com.cognitect.transit.types.taggedValue), goog.exportSymbol(\"transit.isTaggedValue\", com.cognitect.transit.types.isTaggedValue), goog.exportSymbol(\"transit.link\", com.cognitect.transit.types.link), goog.exportSymbol(\"transit.isLink\", com.cognitect.transit.types.isLink), goog.exportSymbol(\"transit.hash\", com.cognitect.transit.eq.hashCode), goog.exportSymbol(\"transit.hashMapLike\", \ncom.cognitect.transit.eq.hashMapLike), goog.exportSymbol(\"transit.hashArrayLike\", com.cognitect.transit.eq.hashArrayLike), goog.exportSymbol(\"transit.equals\", com.cognitect.transit.eq.equals), goog.exportSymbol(\"transit.extendToEQ\", com.cognitect.transit.eq.extendToEQ), goog.exportSymbol(\"transit.mapToObject\", com.cognitect.transit.mapToObject), goog.exportSymbol(\"transit.objectToMap\", com.cognitect.transit.objectToMap), goog.exportSymbol(\"transit.decoder\", com.cognitect.transit.impl.decoder.decoder), \ngoog.exportSymbol(\"transit.UUIDfromString\", com.cognitect.transit.types.UUIDfromString), goog.exportSymbol(\"transit.randomUUID\", com.cognitect.transit.util.randomUUID), goog.exportSymbol(\"transit.stringableKeys\", com.cognitect.transit.impl.writer.stringableKeys), goog.exportSymbol(\"transit.readCache\", com.cognitect.transit.caching.readCache), goog.exportSymbol(\"transit.writeCache\", com.cognitect.transit.caching.writeCache));\nTRANSIT_NODE_TARGET && (module.exports = {reader:com.cognitect.transit.reader, writer:com.cognitect.transit.writer, makeBuilder:com.cognitect.transit.makeBuilder, makeWriteHandler:com.cognitect.transit.makeWriteHandler, date:com.cognitect.transit.types.date, integer:com.cognitect.transit.types.intValue, isInteger:com.cognitect.transit.types.isInteger, uuid:com.cognitect.transit.types.uuid, isUUID:com.cognitect.transit.types.isUUID, bigInt:com.cognitect.transit.types.bigInteger, isBigInt:com.cognitect.transit.types.isBigInteger, \nbigDec:com.cognitect.transit.types.bigDecimalValue, isBigDec:com.cognitect.transit.types.isBigDecimal, keyword:com.cognitect.transit.types.keyword, isKeyword:com.cognitect.transit.types.isKeyword, symbol:com.cognitect.transit.types.symbol, isSymbol:com.cognitect.transit.types.isSymbol, binary:com.cognitect.transit.types.binary, isBinary:com.cognitect.transit.types.isBinary, uri:com.cognitect.transit.types.uri, isURI:com.cognitect.transit.types.isURI, map:com.cognitect.transit.types.map, isMap:com.cognitect.transit.types.isMap, \nset:com.cognitect.transit.types.set, isSet:com.cognitect.transit.types.isSet, list:com.cognitect.transit.types.list, isList:com.cognitect.transit.types.isList, quoted:com.cognitect.transit.types.quoted, isQuoted:com.cognitect.transit.types.isQuoted, tagged:com.cognitect.transit.types.taggedValue, isTaggedValue:com.cognitect.transit.types.isTaggedValue, link:com.cognitect.transit.types.link, isLink:com.cognitect.transit.types.isLink, hash:com.cognitect.transit.eq.hashCode, hashArrayLike:com.cognitect.transit.eq.hashArrayLike, \nhashMapLike:com.cognitect.transit.eq.hashMapLike, equals:com.cognitect.transit.eq.equals, extendToEQ:com.cognitect.transit.eq.extendToEQ, mapToObject:com.cognitect.transit.mapToObject, objectToMap:com.cognitect.transit.objectToMap, decoder:com.cognitect.transit.impl.decoder.decoder, UUIDfromString:com.cognitect.transit.types.UUIDfromString, randomUUID:com.cognitect.transit.util.randomUUID, stringableKeys:com.cognitect.transit.impl.writer.stringableKeys, readCache:com.cognitect.transit.caching.readCache, \nwriteCache:com.cognitect.transit.caching.writeCache});\n\n","/**\n * Generates a unique key for storing tokens.\n *\n * @param clientId - The unique identifier for the client.\n * @param namespace - The namespace to organize and scope the key.\n * @returns A string combining the namespace, client ID, and a token suffix.\n */\nexport const generateKey = (clientId: string, namespace: string): string => {\n return `${namespace}-${clientId}-token`;\n};\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","/**\n * @fileoverview Client for querying public listings in the Sharetribe Marketplace API.\n *\n * Use this to search and fetch listing details in your frontend.\n * Only returns publicly visible data — no privileged operations.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ListingsQueryParameter, ListingsResponse, ListingsShowParameter,} from \"../../types\";\n\n/**\n * Public Listings API client\n */\nclass Listings {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single listing by ID\n *\n * @template P\n * @param {P & ListingsShowParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.listings.show({ id: \"listing-abc123\" });\n */\n async show<P extends ListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Search and filter public listings\n *\n * @template P\n * @param {P & ListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"query\", P>>>}\n *\n * @example\n * // Basic keyword search\n * await sdk.listings.query({ keywords: \"yoga class\" });\n *\n * @example\n * // Geo + price filter\n * await sdk.listings.query({\n * origin: \"60.1699,24.9384\",\n * bounds: \"60.2,25.0,60.1,24.8\",\n * price: [0, 100]\n * });\n */\n async query<P extends ListingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Listings;","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","/**\n * @fileoverview Client for creating Stripe Persons in the Sharetribe Marketplace API.\n *\n * A \"Person\" represents an individual associated with a Stripe Connect account\n * (e.g. owner, director, representative). Required for compliance in many countries.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-persons\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, StripePersonsCreateParameter, StripePersonsResponse,} from \"../../types\";\n\n/**\n * Stripe Persons API client (current user)\n */\nclass StripePersons {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_persons`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Create a new Person for the current user's Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripePersonsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripePersonsResponse<\"create\">>>}\n *\n * @example\n * await sdk.stripePersons.create({\n * personToken: \"person_tok_1AbC2DeFGhiJkLMnOPqRsTuV\"\n * });\n */\n async create<\n P extends StripePersonsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripePersonsResponse<\"create\">>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripePersons;","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","/**\n * @fileoverview Client for managing the current authenticated user in the Sharetribe Marketplace API.\n *\n * This API allows users to view their profile, update personal info, change password/email,\n * verify email, and manage account lifecycle (signup, delete).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#current-user\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n CurrentUserChangeEmailParameter,\n CurrentUserChangePasswordParameter,\n CurrentUserCreateParameter,\n CurrentUserCreateWithIdpParameter,\n CurrentUserDeleteParameter,\n CurrentUserResponse,\n CurrentUserSendVerificationEmailParameter,\n CurrentUserShowParameter,\n CurrentUserUpdateProfileParameter,\n CurrentUserVerifyEmailParameter,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Current User API client\n */\nclass CurrentUser {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/current_user`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current user profile\n *\n * @template P\n * @param {P & CurrentUserShowParameter} params\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"show\", P>>>}\n */\n async show<P extends CurrentUserShowParameter>(\n params: P = {} as P\n ): Promise<AxiosResponse<CurrentUserResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new user account (signup)\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends CurrentUserCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Create account via external identity provider (Google, Facebook, etc.)\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserCreateWithIdpParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"create_with_idp\", P, EP>>>}\n */\n async createWithIdp<\n P extends CurrentUserCreateWithIdpParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"create_with_idp\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create_with_idp`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update current user profile\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserUpdateProfileParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"update_profile\", P, EP>>>}\n */\n async updateProfile<\n P extends CurrentUserUpdateProfileParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"update_profile\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_profile`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Change password\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserChangePasswordParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"change_password\", P, EP>>>}\n */\n async changePassword<\n P extends CurrentUserChangePasswordParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"change_password\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/change_password`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Change email address\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserChangeEmailParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"change_email\", P, EP>>>}\n */\n async changeEmail<\n P extends CurrentUserChangeEmailParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"change_email\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/change_email`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Verify email using token from email link\n *\n * @template P\n * @template EP\n * @param {P & CurrentUserVerifyEmailParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"verify_email\", P, EP>>>}\n */\n async verifyEmail<\n P extends CurrentUserVerifyEmailParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<CurrentUserResponse<\"verify_email\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/verify_email`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Resend email verification\n *\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"send_verification_email\">>>}\n */\n async sendVerificationEmail<P extends CurrentUserSendVerificationEmailParameter>(): Promise<\n AxiosResponse<CurrentUserResponse<\"send_verification_email\", P>>\n > {\n return this.axios.post(`${this.endpoint}/send_verification_email`, null, {\n headers: this.headers,\n });\n }\n\n /**\n * Delete current user account\n *\n * @returns {Promise<AxiosResponse<CurrentUserResponse<\"delete\">>>}\n */\n async delete<P extends CurrentUserDeleteParameter>(): Promise<AxiosResponse<CurrentUserResponse<\"delete\", P>>> {\n return this.axios.post(`${this.endpoint}/delete`, null, {\n headers: this.headers,\n });\n }\n\n /**\n * @deprecated Use `sdk.stripeAccount.create()` instead\n */\n createStripeAccount(): never {\n throw new Error(\n \"DEPRECATED: Use sdk.stripeAccount.create() instead\"\n );\n }\n\n /**\n * @deprecated Use `sdk.stripeAccount.update()` instead\n */\n updateStripeAccount(): never {\n throw new Error(\n \"DEPRECATED: Use sdk.stripeAccount.update() instead\"\n );\n }\n}\n\nexport default CurrentUser;","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","/**\n * @fileoverview Client for fetching marketplace configuration in the Sharetribe Marketplace API.\n *\n * Use this to get metadata about your marketplace — name, description, currency, logo,\n * supported countries, payout settings, and more.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#marketplace\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {MarketplaceResponse} from \"../../types\";\n\n/**\n * Public Marketplace API client\n */\nclass Marketplace {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/marketplace`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current marketplace configuration\n *\n * @returns {Promise<AxiosResponse<MarketplaceResponse<\"show\">>>}\n *\n * @example\n * const { data } = await sdk.marketplace.show();\n * console.log(data.attributes.name); // → \"My Awesome Marketplace\"\n * console.log(data.attributes.currency); // → \"USD\"\n * console.log(data.attributes.country); // → \"FI\"\n */\n async show(): Promise<AxiosResponse<MarketplaceResponse<\"show\">>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n });\n }\n}\n\nexport default Marketplace;","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","module.exports = require(\"events\");","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","/**\n * @fileoverview Client for querying bookings in the Sharetribe Marketplace API.\n *\n * Use this to fetch your own bookings or bookings for listings you own.\n * Only returns data the current user is authorized to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#bookings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {BookingsQueryParameter, BookingsResponse,} from \"../../types\";\n\n/**\n * Bookings API client (own bookings only)\n */\nclass Bookings {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/bookings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query your own bookings\n *\n * @template P\n * @param {P & BookingsQueryParameter} params\n * @returns {Promise<AxiosResponse<BookingsResponse<\"query\", P>>>}\n *\n * @example\n * // Fetch all bookings for one of your listings\n * const { data } = await sdk.bookings.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n *\n * @example\n * // Fetch upcoming bookings\n * await sdk.bookings.query({\n * start: new Date().toISOString(),\n * state: \"accepted\"\n * });\n */\n async query<P extends BookingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<BookingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Bookings;","// API\nmodule.exports = abort;\n\n/**\n * Aborts leftover active jobs\n *\n * @param {object} state - current state object\n */\nfunction abort(state)\n{\n Object.keys(state.jobs).forEach(clean.bind(state));\n\n // reset leftover jobs\n state.jobs = {};\n}\n\n/**\n * Cleans up leftover job by invoking abort function for the provided job id\n *\n * @this state\n * @param {string|number} key - job id to abort\n */\nfunction clean(key)\n{\n if (typeof this.jobs[key] == 'function')\n {\n this.jobs[key]();\n }\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, prop, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, prop, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b, prop) => mergeDeepProperties(headersToObject(a), headersToObject(b), prop, true)\n };\n\n utils.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","'use strict';\n\nimport stream from 'stream';\nimport utils from '../utils.js';\n\nconst kInternals = Symbol('internals');\n\nclass AxiosTransformStream extends stream.Transform{\n constructor(options) {\n options = utils.toFlatObject(options, {\n maxRate: 0,\n chunkSize: 64 * 1024,\n minChunkSize: 100,\n timeWindow: 500,\n ticksRate: 2,\n samplesCount: 15\n }, null, (prop, source) => {\n return !utils.isUndefined(source[prop]);\n });\n\n super({\n readableHighWaterMark: options.chunkSize\n });\n\n const internals = this[kInternals] = {\n timeWindow: options.timeWindow,\n chunkSize: options.chunkSize,\n maxRate: options.maxRate,\n minChunkSize: options.minChunkSize,\n bytesSeen: 0,\n isCaptured: false,\n notifiedBytesLoaded: 0,\n ts: Date.now(),\n bytes: 0,\n onReadCallback: null\n };\n\n this.on('newListener', event => {\n if (event === 'progress') {\n if (!internals.isCaptured) {\n internals.isCaptured = true;\n }\n }\n });\n }\n\n _read(size) {\n const internals = this[kInternals];\n\n if (internals.onReadCallback) {\n internals.onReadCallback();\n }\n\n return super._read(size);\n }\n\n _transform(chunk, encoding, callback) {\n const internals = this[kInternals];\n const maxRate = internals.maxRate;\n\n const readableHighWaterMark = this.readableHighWaterMark;\n\n const timeWindow = internals.timeWindow;\n\n const divider = 1000 / timeWindow;\n const bytesThreshold = (maxRate / divider);\n const minChunkSize = internals.minChunkSize !== false ? Math.max(internals.minChunkSize, bytesThreshold * 0.01) : 0;\n\n const pushChunk = (_chunk, _callback) => {\n const bytes = Buffer.byteLength(_chunk);\n internals.bytesSeen += bytes;\n internals.bytes += bytes;\n\n internals.isCaptured && this.emit('progress', internals.bytesSeen);\n\n if (this.push(_chunk)) {\n process.nextTick(_callback);\n } else {\n internals.onReadCallback = () => {\n internals.onReadCallback = null;\n process.nextTick(_callback);\n };\n }\n }\n\n const transformChunk = (_chunk, _callback) => {\n const chunkSize = Buffer.byteLength(_chunk);\n let chunkRemainder = null;\n let maxChunkSize = readableHighWaterMark;\n let bytesLeft;\n let passed = 0;\n\n if (maxRate) {\n const now = Date.now();\n\n if (!internals.ts || (passed = (now - internals.ts)) >= timeWindow) {\n internals.ts = now;\n bytesLeft = bytesThreshold - internals.bytes;\n internals.bytes = bytesLeft < 0 ? -bytesLeft : 0;\n passed = 0;\n }\n\n bytesLeft = bytesThreshold - internals.bytes;\n }\n\n if (maxRate) {\n if (bytesLeft <= 0) {\n // next time window\n return setTimeout(() => {\n _callback(null, _chunk);\n }, timeWindow - passed);\n }\n\n if (bytesLeft < maxChunkSize) {\n maxChunkSize = bytesLeft;\n }\n }\n\n if (maxChunkSize && chunkSize > maxChunkSize && (chunkSize - maxChunkSize) > minChunkSize) {\n chunkRemainder = _chunk.subarray(maxChunkSize);\n _chunk = _chunk.subarray(0, maxChunkSize);\n }\n\n pushChunk(_chunk, chunkRemainder ? () => {\n process.nextTick(_callback, null, chunkRemainder);\n } : _callback);\n };\n\n transformChunk(chunk, function transformNextChunk(err, _chunk) {\n if (err) {\n return callback(err);\n }\n\n if (_chunk) {\n transformChunk(_chunk, transformNextChunk);\n } else {\n callback(null);\n }\n });\n }\n}\n\nexport default AxiosTransformStream;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","/**\n * @fileoverview Client for managing availability exceptions in the Sharetribe Integration API.\n *\n * Availability exceptions override default availability rules for specific time ranges\n * (e.g. blocking off dates for maintenance or special events).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#availability-exceptions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n AvailabilityExceptionsCreateParameter,\n AvailabilityExceptionsDeleteParameter,\n AvailabilityExceptionsQueryParameter,\n AvailabilityExceptionsResponse,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Availability exceptions API client\n */\nclass AvailabilityExceptions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/availability_exceptions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query availability exceptions\n *\n * @template P\n * @param {P & AvailabilityExceptionsQueryParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.availabilityExceptions.query({\n * listingId: \"123-abc\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends AvailabilityExceptionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new availability exception\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. expand)\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>>}\n *\n * @example\n * await sdk.availabilityExceptions.create({\n * listingId: \"123-abc\",\n * start: \"2025-12-24\",\n * end: \"2025-12-26\",\n * seats: 0\n * });\n */\n async create<\n P extends AvailabilityExceptionsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Delete an availability exception\n *\n * @template P\n * @param {P & AvailabilityExceptionsDeleteParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P>>>}\n *\n * @example\n * await sdk.availabilityExceptions.delete({ id: \"exc-456-def\" });\n */\n async delete<P extends AvailabilityExceptionsDeleteParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P>>> {\n return this.axios.post(`${this.endpoint}/delete`, params, {\n headers: this.headers,\n });\n }\n}\n\nexport default AvailabilityExceptions;","/**\n * @fileoverview Client for managing your own listings in the Sharetribe Marketplace API.\n *\n * Use this to create, edit, publish, close, and manage images for listings you own.\n * All operations require authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#own-listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n OwnListingsAddImageParameter,\n OwnListingsCloseParameter,\n OwnListingsCreateDraftParameter,\n OwnListingsCreateParameter,\n OwnListingsDiscardDraftParameter,\n OwnListingsOpenParameter,\n OwnListingsPublishDraftParameter,\n OwnListingsQueryParameter,\n OwnListingsResponse,\n OwnListingsShowParameter,\n OwnListingsUpdateParameter,\n} from \"../../types\";\n\n/**\n * Own Listings API client (authenticated user)\n */\nclass OwnListings {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/own_listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch one of your listings by ID\n *\n * @template P\n * @param {P & OwnListingsShowParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"show\", P>>>}\n */\n async show<P extends OwnListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * List all your listings (drafts, published, closed)\n *\n * @template P\n * @param {P & OwnListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"query\", P>>>}\n */\n async query<P extends OwnListingsQueryParameter>(\n params?: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a published listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends OwnListingsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Create a draft listing (for step-by-step creation)\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCreateDraftParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"createDraft\", P, EP>>>}\n */\n async createDraft<\n P extends OwnListingsCreateDraftParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"createDraft\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create_draft`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update a listing (draft or published)\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"update\", P, EP>>>}\n */\n async update<\n P extends OwnListingsUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"update\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Publish a draft listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsPublishDraftParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"publishDraft\", P, EP>>>}\n */\n async publishDraft<\n P extends OwnListingsPublishDraftParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"publishDraft\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/publish_draft`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Discard a draft listing\n *\n * @template P\n * @param {P & OwnListingsDiscardDraftParameter} params\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"discardDraft\", P>>>}\n */\n async discardDraft<P extends OwnListingsDiscardDraftParameter>(\n params: P\n ): Promise<AxiosResponse<OwnListingsResponse<\"discardDraft\", P>>> {\n return this.axios.post(\n `${this.endpoint}/discard_draft`,\n params,\n {headers: this.headers}\n );\n }\n\n /**\n * Close a published listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsCloseParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"close\", P, EP>>>}\n */\n async close<\n P extends OwnListingsCloseParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"close\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/close`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Re-open a closed listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsOpenParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"open\", P, EP>>>}\n */\n async open<\n P extends OwnListingsOpenParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"open\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/open`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Attach an uploaded image to a listing\n *\n * @template P\n * @template EP\n * @param {P & OwnListingsAddImageParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<OwnListingsResponse<\"addImage\", P, EP>>>}\n */\n async addImage<\n P extends OwnListingsAddImageParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<OwnListingsResponse<\"addImage\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/add_image`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default OwnListings;","/**\n * @fileoverview Client for the Sharetribe Marketplace API.\n *\n * This is the main entry point for client-side applications.\n * Provides access to all public and authenticated endpoints:\n * - Listings, bookings, messages, reviews\n * - Current user management (signup, profile, password)\n * - Image uploads, Stripe payments\n * - Availability & stock queries\n *\n * Use `sdk.marketplace` for all frontend or authenticated user flows.\n *\n * @example\n * const sdk = new SharetribeSdk({ clientId: \"abc123\" });\n *\n * // Fetch current user\n * const { data: user } = await sdk.marketplace.currentUser.show();\n *\n * // Query public listings\n * const { data: listings } = await sdk.marketplace.listings.query({ perPage: 20 });\n */\n\nimport type {AxiosInstance} from \"axios\";\nimport SharetribeSdk from \"../../sdk\";\n\nimport AvailabilityExceptions from \"./AvailabilityExceptions\";\nimport Bookings from \"./Bookings\";\nimport CurrentUser from \"./CurrentUser\";\nimport Images from \"./Images\";\nimport Listings from \"./Listings\";\nimport Marketplace from \"./Marketplace\";\nimport Messages from \"./Messages\";\nimport OwnListings from \"./OwnListings\";\nimport PasswordReset from \"./PasswordReset\";\nimport ProcessTransitions from \"./ProcessTransitions\";\nimport Reviews from \"./Reviews\";\nimport Stock from \"./Stock\";\nimport StockAdjustments from \"./StockAdjustments\";\nimport StripeAccount from \"./StripeAccount\";\nimport StripeAccountLinks from \"./StripeAccountLinks\";\nimport StripeCustomer from \"./StripeCustomer\";\nimport StripePersons from \"./StripePersons\";\nimport StripeSetupIntents from \"./StripeSetupIntents\";\nimport TimeSlots from \"./TimeSlots\";\nimport Transactions from \"./Transactions\";\nimport Users from \"./Users\";\n\n/**\n * Marketplace API client\n */\nclass MarketplaceApi {\n /** Axios instance with auth & base config */\n readonly axios: AxiosInstance;\n\n /** Base URL for all Marketplace API endpoints */\n readonly endpoint: string;\n\n /** Default headers (includes Authorization when logged in) */\n readonly headers: Record<string, string>;\n\n /** Most endpoints require authentication */\n readonly authRequired = true;\n\n // Public & authenticated sub-clients\n readonly availabilityExceptions: AvailabilityExceptions;\n readonly bookings: Bookings;\n readonly currentUser: CurrentUser;\n readonly images: Images;\n readonly listings: Listings;\n readonly marketplace: Marketplace;\n readonly messages: Messages;\n readonly ownListings: OwnListings;\n readonly passwordReset: PasswordReset;\n readonly processTransitions: ProcessTransitions;\n readonly reviews: Reviews;\n readonly stock: Stock;\n readonly stockAdjustments: StockAdjustments;\n readonly stripeAccount: StripeAccount;\n readonly stripeAccountLinks: StripeAccountLinks;\n readonly stripeCustomer: StripeCustomer;\n readonly stripePersons: StripePersons;\n readonly stripeSetupIntents: StripeSetupIntents;\n readonly timeslots: TimeSlots;\n readonly transactions: Transactions;\n readonly users: Users;\n\n constructor(sdk: SharetribeSdk) {\n const config = sdk.apisConfigs.api(sdk.sdkConfig);\n\n this.axios = sdk.axios;\n this.endpoint = config.baseUrl;\n this.headers = config.headers;\n\n // Initialize all sub-APIs\n this.availabilityExceptions = new AvailabilityExceptions(this);\n this.bookings = new Bookings(this);\n this.currentUser = new CurrentUser(this);\n this.images = new Images(this);\n this.listings = new Listings(this);\n this.marketplace = new Marketplace(this);\n this.messages = new Messages(this);\n this.ownListings = new OwnListings(this);\n this.passwordReset = new PasswordReset(this);\n this.processTransitions = new ProcessTransitions(this);\n this.reviews = new Reviews(this);\n this.stock = new Stock(this);\n this.stockAdjustments = new StockAdjustments(this);\n this.stripeAccount = new StripeAccount(this);\n this.stripeAccountLinks = new StripeAccountLinks(this);\n this.stripeCustomer = new StripeCustomer(this);\n this.stripePersons = new StripePersons(this);\n this.stripeSetupIntents = new StripeSetupIntents(this);\n this.timeslots = new TimeSlots(this);\n this.transactions = new Transactions(this);\n this.users = new Users(this);\n }\n}\n\nexport default MarketplaceApi;","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","module.exports = require(\"http2\");","/**\n * Detect Electron renderer / nwjs process, which is node, but we should\n * treat as a browser.\n */\n\nif (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {\n\tmodule.exports = require('./browser.js');\n} else {\n\tmodule.exports = require('./node.js');\n}\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","/**\n * @fileoverview Client for managing availability exceptions in the Sharetribe Marketplace API.\n *\n * Availability exceptions allow users to block or open specific time ranges on their listings,\n * overriding the default availability plan (e.g. closing for holidays, maintenance, or personal use).\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#availability-exceptions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n AvailabilityExceptionsCreateParameter,\n AvailabilityExceptionsDeleteParameter,\n AvailabilityExceptionsQueryParameter,\n AvailabilityExceptionsResponse,\n ExtraParameter,\n} from \"../../types\";\n\n/**\n * Availability Exceptions API client (own listings only)\n */\nclass AvailabilityExceptions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/availability_exceptions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query your own availability exceptions\n *\n * @template P\n * @param {P & AvailabilityExceptionsQueryParameter} params\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.availabilityExceptions.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-12-01\",\n * end: \"2025-12-31\"\n * });\n */\n async query<P extends AvailabilityExceptionsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new availability exception (e.g. block dates)\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Block Christmas day\n * await sdk.availabilityExceptions.create({\n * listingId: \"listing-abc123\",\n * start: \"2025-12-25T00:00:00Z\",\n * end: \"2025-12-26T00:00:00Z\",\n * seats: 0\n * });\n */\n async create<\n P extends AvailabilityExceptionsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Delete an availability exception\n *\n * @template P\n * @template EP\n * @param {P & AvailabilityExceptionsDeleteParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P, EP>>>}\n *\n * @example\n * await sdk.availabilityExceptions.delete({ id: \"exc-456def\" });\n */\n async delete<\n P extends AvailabilityExceptionsDeleteParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<AvailabilityExceptionsResponse<\"delete\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/delete`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default AvailabilityExceptions;","/**\n * @fileoverview Client for managing stock levels in the Sharetribe Integration API.\n *\n * The Stock API provides atomic `compareAndSet` operations to safely update listing stock\n * in concurrent environments (e.g. during checkout or inventory sync).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#stock\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {ExtraParameter, StockCompareAndSetParameter, StockResponse,} from \"../../types\";\n\n/**\n * Stock API client (privileged)\n */\nclass Stock {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/stock`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Atomically update stock using compare-and-set\n *\n * Fails if current stock doesn't match `oldTotal` — prevents race conditions.\n *\n * @template P\n * @template EP\n * @param {P & StockCompareAndSetParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>>}\n *\n * @example\n * // Reserve 2 units if current stock is 10\n * await sdk.stock.compareAndSet({\n * listingId: \"listing-abc123\",\n * oldTotal: 10,\n * newTotal: 8\n * });\n */\n async compareAndSet<\n P extends StockCompareAndSetParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockResponse<\"compareAndSet\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/compare_and_set`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Stock;","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\nmodule.exports = (flag, argv = process.argv) => {\n\tconst prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--');\n\tconst position = argv.indexOf(prefix + flag);\n\tconst terminatorPosition = argv.indexOf('--');\n\treturn position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) {\n // do nothing\n } else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data) ||\n utils.isReadableStream(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils.isResponse(data) || utils.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","/**\n * Module dependencies.\n */\n\nconst tty = require('tty');\nconst util = require('util');\n\n/**\n * This is the Node.js implementation of `debug()`.\n */\n\nexports.init = init;\nexports.log = log;\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.destroy = util.deprecate(\n\t() => {},\n\t'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'\n);\n\n/**\n * Colors.\n */\n\nexports.colors = [6, 2, 3, 4, 5, 1];\n\ntry {\n\t// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)\n\t// eslint-disable-next-line import/no-extraneous-dependencies\n\tconst supportsColor = require('supports-color');\n\n\tif (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {\n\t\texports.colors = [\n\t\t\t20,\n\t\t\t21,\n\t\t\t26,\n\t\t\t27,\n\t\t\t32,\n\t\t\t33,\n\t\t\t38,\n\t\t\t39,\n\t\t\t40,\n\t\t\t41,\n\t\t\t42,\n\t\t\t43,\n\t\t\t44,\n\t\t\t45,\n\t\t\t56,\n\t\t\t57,\n\t\t\t62,\n\t\t\t63,\n\t\t\t68,\n\t\t\t69,\n\t\t\t74,\n\t\t\t75,\n\t\t\t76,\n\t\t\t77,\n\t\t\t78,\n\t\t\t79,\n\t\t\t80,\n\t\t\t81,\n\t\t\t92,\n\t\t\t93,\n\t\t\t98,\n\t\t\t99,\n\t\t\t112,\n\t\t\t113,\n\t\t\t128,\n\t\t\t129,\n\t\t\t134,\n\t\t\t135,\n\t\t\t148,\n\t\t\t149,\n\t\t\t160,\n\t\t\t161,\n\t\t\t162,\n\t\t\t163,\n\t\t\t164,\n\t\t\t165,\n\t\t\t166,\n\t\t\t167,\n\t\t\t168,\n\t\t\t169,\n\t\t\t170,\n\t\t\t171,\n\t\t\t172,\n\t\t\t173,\n\t\t\t178,\n\t\t\t179,\n\t\t\t184,\n\t\t\t185,\n\t\t\t196,\n\t\t\t197,\n\t\t\t198,\n\t\t\t199,\n\t\t\t200,\n\t\t\t201,\n\t\t\t202,\n\t\t\t203,\n\t\t\t204,\n\t\t\t205,\n\t\t\t206,\n\t\t\t207,\n\t\t\t208,\n\t\t\t209,\n\t\t\t214,\n\t\t\t215,\n\t\t\t220,\n\t\t\t221\n\t\t];\n\t}\n} catch (error) {\n\t// Swallow - we only care if `supports-color` is available; it doesn't have to be.\n}\n\n/**\n * Build up the default `inspectOpts` object from the environment variables.\n *\n * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js\n */\n\nexports.inspectOpts = Object.keys(process.env).filter(key => {\n\treturn /^debug_/i.test(key);\n}).reduce((obj, key) => {\n\t// Camel-case\n\tconst prop = key\n\t\t.substring(6)\n\t\t.toLowerCase()\n\t\t.replace(/_([a-z])/g, (_, k) => {\n\t\t\treturn k.toUpperCase();\n\t\t});\n\n\t// Coerce string value into JS value\n\tlet val = process.env[key];\n\tif (/^(yes|on|true|enabled)$/i.test(val)) {\n\t\tval = true;\n\t} else if (/^(no|off|false|disabled)$/i.test(val)) {\n\t\tval = false;\n\t} else if (val === 'null') {\n\t\tval = null;\n\t} else {\n\t\tval = Number(val);\n\t}\n\n\tobj[prop] = val;\n\treturn obj;\n}, {});\n\n/**\n * Is stdout a TTY? Colored output is enabled when `true`.\n */\n\nfunction useColors() {\n\treturn 'colors' in exports.inspectOpts ?\n\t\tBoolean(exports.inspectOpts.colors) :\n\t\ttty.isatty(process.stderr.fd);\n}\n\n/**\n * Adds ANSI color escape codes if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\tconst {namespace: name, useColors} = this;\n\n\tif (useColors) {\n\t\tconst c = this.color;\n\t\tconst colorCode = '\\u001B[3' + (c < 8 ? c : '8;5;' + c);\n\t\tconst prefix = ` ${colorCode};1m${name} \\u001B[0m`;\n\n\t\targs[0] = prefix + args[0].split('\\n').join('\\n' + prefix);\n\t\targs.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\\u001B[0m');\n\t} else {\n\t\targs[0] = getDate() + name + ' ' + args[0];\n\t}\n}\n\nfunction getDate() {\n\tif (exports.inspectOpts.hideDate) {\n\t\treturn '';\n\t}\n\treturn new Date().toISOString() + ' ';\n}\n\n/**\n * Invokes `util.formatWithOptions()` with the specified arguments and writes to stderr.\n */\n\nfunction log(...args) {\n\treturn process.stderr.write(util.formatWithOptions(exports.inspectOpts, ...args) + '\\n');\n}\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\tif (namespaces) {\n\t\tprocess.env.DEBUG = namespaces;\n\t} else {\n\t\t// If you set a process.env field to null or undefined, it gets cast to the\n\t\t// string 'null' or 'undefined'. Just delete instead.\n\t\tdelete process.env.DEBUG;\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\n\nfunction load() {\n\treturn process.env.DEBUG;\n}\n\n/**\n * Init logic for `debug` instances.\n *\n * Create a new `inspectOpts` object in case `useColors` is set\n * differently for a particular `debug` instance.\n */\n\nfunction init(debug) {\n\tdebug.inspectOpts = {};\n\n\tconst keys = Object.keys(exports.inspectOpts);\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tdebug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %o to `util.inspect()`, all on a single line.\n */\n\nformatters.o = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts)\n\t\t.split('\\n')\n\t\t.map(str => str.trim())\n\t\t.join(' ');\n};\n\n/**\n * Map %O to `util.inspect()`, allowing multiple lines if needed.\n */\n\nformatters.O = function (v) {\n\tthis.inspectOpts.colors = this.useColors;\n\treturn util.inspect(v, this.inspectOpts);\n};\n","/*!\n * mime-types\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict'\n\n/**\n * Module dependencies.\n * @private\n */\n\nvar db = require('mime-db')\nvar extname = require('path').extname\n\n/**\n * Module variables.\n * @private\n */\n\nvar EXTRACT_TYPE_REGEXP = /^\\s*([^;\\s]*)(?:;|\\s|$)/\nvar TEXT_TYPE_REGEXP = /^text\\//i\n\n/**\n * Module exports.\n * @public\n */\n\nexports.charset = charset\nexports.charsets = { lookup: charset }\nexports.contentType = contentType\nexports.extension = extension\nexports.extensions = Object.create(null)\nexports.lookup = lookup\nexports.types = Object.create(null)\n\n// Populate the extensions/types maps\npopulateMaps(exports.extensions, exports.types)\n\n/**\n * Get the default charset for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction charset (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n var mime = match && db[match[1].toLowerCase()]\n\n if (mime && mime.charset) {\n return mime.charset\n }\n\n // default text/* to utf-8\n if (match && TEXT_TYPE_REGEXP.test(match[1])) {\n return 'UTF-8'\n }\n\n return false\n}\n\n/**\n * Create a full Content-Type header given a MIME type or extension.\n *\n * @param {string} str\n * @return {boolean|string}\n */\n\nfunction contentType (str) {\n // TODO: should this even be in this module?\n if (!str || typeof str !== 'string') {\n return false\n }\n\n var mime = str.indexOf('/') === -1\n ? exports.lookup(str)\n : str\n\n if (!mime) {\n return false\n }\n\n // TODO: use content-type or other module\n if (mime.indexOf('charset') === -1) {\n var charset = exports.charset(mime)\n if (charset) mime += '; charset=' + charset.toLowerCase()\n }\n\n return mime\n}\n\n/**\n * Get the default extension for a MIME type.\n *\n * @param {string} type\n * @return {boolean|string}\n */\n\nfunction extension (type) {\n if (!type || typeof type !== 'string') {\n return false\n }\n\n // TODO: use media-typer\n var match = EXTRACT_TYPE_REGEXP.exec(type)\n\n // get extensions\n var exts = match && exports.extensions[match[1].toLowerCase()]\n\n if (!exts || !exts.length) {\n return false\n }\n\n return exts[0]\n}\n\n/**\n * Lookup the MIME type for a file path/extension.\n *\n * @param {string} path\n * @return {boolean|string}\n */\n\nfunction lookup (path) {\n if (!path || typeof path !== 'string') {\n return false\n }\n\n // get the extension (\"ext\" or \".ext\" or full path)\n var extension = extname('x.' + path)\n .toLowerCase()\n .substr(1)\n\n if (!extension) {\n return false\n }\n\n return exports.types[extension] || false\n}\n\n/**\n * Populate the extensions and types maps.\n * @private\n */\n\nfunction populateMaps (extensions, types) {\n // source preference (least -> most)\n var preference = ['nginx', 'apache', undefined, 'iana']\n\n Object.keys(db).forEach(function forEachMimeType (type) {\n var mime = db[type]\n var exts = mime.extensions\n\n if (!exts || !exts.length) {\n return\n }\n\n // mime -> extensions\n extensions[type] = exts\n\n // extension -> mime\n for (var i = 0; i < exts.length; i++) {\n var extension = exts[i]\n\n if (types[extension]) {\n var from = preference.indexOf(db[types[extension]].source)\n var to = preference.indexOf(mime.source)\n\n if (types[extension] !== 'application/octet-stream' &&\n (from > to || (from === to && types[extension].substr(0, 12) === 'application/'))) {\n // skip the remapping\n continue\n }\n }\n\n // set the extension -> mime\n types[extension] = type\n }\n })\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport parseProtocol from './parseProtocol.js';\nimport platform from '../platform/index.js';\n\nconst DATA_URL_PATTERN = /^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\\s\\S]*)$/;\n\n/**\n * Parse data uri to a Buffer or Blob\n *\n * @param {String} uri\n * @param {?Boolean} asBlob\n * @param {?Object} options\n * @param {?Function} options.Blob\n *\n * @returns {Buffer|Blob}\n */\nexport default function fromDataURI(uri, asBlob, options) {\n const _Blob = options && options.Blob || platform.classes.Blob;\n const protocol = parseProtocol(uri);\n\n if (asBlob === undefined && _Blob) {\n asBlob = true;\n }\n\n if (protocol === 'data') {\n uri = protocol.length ? uri.slice(protocol.length + 1) : uri;\n\n const match = DATA_URL_PATTERN.exec(uri);\n\n if (!match) {\n throw new AxiosError('Invalid URL', AxiosError.ERR_INVALID_URL);\n }\n\n const mime = match[1];\n const isBase64 = match[2];\n const body = match[3];\n const buffer = Buffer.from(decodeURIComponent(body), isBase64 ? 'base64' : 'utf8');\n\n if (asBlob) {\n if (!_Blob) {\n throw new AxiosError('Blob is not supported', AxiosError.ERR_NOT_SUPPORT);\n }\n\n return new _Blob([buffer], {type: mime});\n }\n\n return buffer;\n }\n\n throw new AxiosError('Unsupported protocol ' + protocol, AxiosError.ERR_NOT_SUPPORT);\n}\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","import {Request, Response} from \"express\";\nimport {generateKey} from \"./store\";\nimport {AuthToken, TokenStore} from \"../../types\";\n\n/**\n * Configuration options for the `ExpressStore`.\n */\nexport type ExpressStoreOptions = {\n clientId: string; // Unique identifier for the client\n req: Request; // Express request object\n res: Response; // Express response object\n secure?: boolean; // Whether to use secure cookies (HTTPS only)\n};\n\n/**\n * `ExpressStore` is an implementation of the `TokenStore` interface for managing authentication tokens via cookies in an Express application.\n */\nclass ExpressStore implements TokenStore {\n expiration: number = 180; // Default cookie expiration in days\n private namespace: string = \"st\"; // Namespace for cookie keys\n private key: string; // Generated key for the cookie\n private secure: boolean | undefined; // Indicates if cookies should be marked as secure\n private req: Request; // Reference to the Express request object\n private res: Response; // Reference to the Express response object\n private currentToken: AuthToken | null = null; // Cached token\n\n /**\n * Initializes the `ExpressStore` with client-specific options.\n * @param options - Configuration options for the store.\n */\n constructor({clientId, req, res, secure}: ExpressStoreOptions) {\n this.key = generateKey(clientId, this.namespace);\n this.secure = secure;\n\n if (!req || !res) {\n throw new Error(\"Request and Response are required\");\n }\n\n this.req = req;\n this.res = res;\n }\n\n /**\n * Retrieves the authentication token, either from cache or from the request cookies.\n * @returns A promise that resolves to the `AuthToken` or null if no token exists.\n */\n getToken(): AuthToken | null {\n this.currentToken = this.currentToken || this.readCookie();\n return this.currentToken;\n }\n\n /**\n * Stores the authentication token in a response cookie.\n * @param token - The authentication token to store.\n */\n setToken(token: AuthToken): void {\n this.currentToken = token;\n const secureFlag = this.secure ? {secure: true} : {};\n this.res.cookie(this.key, JSON.stringify(token), {\n maxAge: 1000 * 60 * 60 * 24 * this.expiration, // Convert expiration to milliseconds\n ...secureFlag,\n });\n }\n\n /**\n * Removes the authentication token from the response cookies.\n */\n removeToken(): void {\n this.currentToken = null;\n this.res.clearCookie(this.key);\n }\n\n /**\n * Reads the authentication token from the request cookies.\n * @returns The `AuthToken` if present in cookies, otherwise null.\n */\n private readCookie(): AuthToken | null {\n const cookie = this.req.cookies[this.key];\n return cookie ? (JSON.parse(cookie) as AuthToken) : null;\n }\n}\n\nexport default ExpressStore;\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport * as fetchAdapter from './fetch.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\n/**\n * Known adapters mapping.\n * Provides environment-specific adapters for Axios:\n * - `http` for Node.js\n * - `xhr` for browsers\n * - `fetch` for fetch API-based requests\n * \n * @type {Object<string, Function|Object>}\n */\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: fetchAdapter.getFetch,\n }\n};\n\n// Assign adapter names for easier debugging and identification\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', { value });\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', { value });\n }\n});\n\n/**\n * Render a rejection reason string for unknown or unsupported adapters\n * \n * @param {string} reason\n * @returns {string}\n */\nconst renderReason = (reason) => `- ${reason}`;\n\n/**\n * Check if the adapter is resolved (function, null, or false)\n * \n * @param {Function|null|false} adapter\n * @returns {boolean}\n */\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\n/**\n * Get the first suitable adapter from the provided list.\n * Tries each adapter in order until a supported one is found.\n * Throws an AxiosError if no adapter is suitable.\n * \n * @param {Array<string|Function>|string|Function} adapters - Adapter(s) by name or function.\n * @param {Object} config - Axios request configuration\n * @throws {AxiosError} If no suitable adapter is available\n * @returns {Function} The resolved adapter function\n */\nfunction getAdapter(adapters, config) {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const { length } = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n}\n\n/**\n * Exports Axios adapters and utility to resolve an adapter\n */\nexport default {\n /**\n * Resolve an adapter from a list of adapter names or functions.\n * @type {Function}\n */\n getAdapter,\n\n /**\n * Exposes all known adapters\n * @type {Object<string, Function|Object>}\n */\n adapters: knownAdapters\n};\n","var abort = require('./abort.js')\n , async = require('./async.js')\n ;\n\n// API\nmodule.exports = terminator;\n\n/**\n * Terminates jobs in the attached state context\n *\n * @this AsyncKitState#\n * @param {function} callback - final callback to invoke after termination\n */\nfunction terminator(callback)\n{\n if (!Object.keys(this.jobs).length)\n {\n return;\n }\n\n // fast forward iteration index\n this.index = this.size;\n\n // abort jobs\n abort(this);\n\n // send back results we have so far\n async(callback)(null, this.results);\n}\n","import platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;","'use strict';\n\nvar parseUrl = require('url').parse;\n\nvar DEFAULT_PORTS = {\n ftp: 21,\n gopher: 70,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443,\n};\n\nvar stringEndsWith = String.prototype.endsWith || function(s) {\n return s.length <= this.length &&\n this.indexOf(s, this.length - s.length) !== -1;\n};\n\n/**\n * @param {string|object} url - The URL, or the result from url.parse.\n * @return {string} The URL of the proxy that should handle the request to the\n * given URL. If no proxy is set, this will be an empty string.\n */\nfunction getProxyForUrl(url) {\n var parsedUrl = typeof url === 'string' ? parseUrl(url) : url || {};\n var proto = parsedUrl.protocol;\n var hostname = parsedUrl.host;\n var port = parsedUrl.port;\n if (typeof hostname !== 'string' || !hostname || typeof proto !== 'string') {\n return ''; // Don't proxy URLs without a valid scheme or host.\n }\n\n proto = proto.split(':', 1)[0];\n // Stripping ports in this way instead of using parsedUrl.hostname to make\n // sure that the brackets around IPv6 addresses are kept.\n hostname = hostname.replace(/:\\d*$/, '');\n port = parseInt(port) || DEFAULT_PORTS[proto] || 0;\n if (!shouldProxy(hostname, port)) {\n return ''; // Don't proxy URLs that match NO_PROXY.\n }\n\n var proxy =\n getEnv('npm_config_' + proto + '_proxy') ||\n getEnv(proto + '_proxy') ||\n getEnv('npm_config_proxy') ||\n getEnv('all_proxy');\n if (proxy && proxy.indexOf('://') === -1) {\n // Missing scheme in proxy, default to the requested URL's scheme.\n proxy = proto + '://' + proxy;\n }\n return proxy;\n}\n\n/**\n * Determines whether a given URL should be proxied.\n *\n * @param {string} hostname - The host name of the URL.\n * @param {number} port - The effective port of the URL.\n * @returns {boolean} Whether the given URL should be proxied.\n * @private\n */\nfunction shouldProxy(hostname, port) {\n var NO_PROXY =\n (getEnv('npm_config_no_proxy') || getEnv('no_proxy')).toLowerCase();\n if (!NO_PROXY) {\n return true; // Always proxy if NO_PROXY is not set.\n }\n if (NO_PROXY === '*') {\n return false; // Never proxy if wildcard is set.\n }\n\n return NO_PROXY.split(/[,\\s]/).every(function(proxy) {\n if (!proxy) {\n return true; // Skip zero-length hosts.\n }\n var parsedProxy = proxy.match(/^(.+):(\\d+)$/);\n var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;\n var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;\n if (parsedProxyPort && parsedProxyPort !== port) {\n return true; // Skip if ports don't match.\n }\n\n if (!/^[.*]/.test(parsedProxyHostname)) {\n // No wildcards, so stop proxying if there is an exact match.\n return hostname !== parsedProxyHostname;\n }\n\n if (parsedProxyHostname.charAt(0) === '*') {\n // Remove leading wildcard.\n parsedProxyHostname = parsedProxyHostname.slice(1);\n }\n // Stop proxying if the hostname ends with the no_proxy host.\n return !stringEndsWith.call(hostname, parsedProxyHostname);\n });\n}\n\n/**\n * Get the value for an environment variable.\n *\n * @param {string} key - The name of the environment variable.\n * @return {string} The value of the environment variable.\n * @private\n */\nfunction getEnv(key) {\n return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || '';\n}\n\nexports.getProxyForUrl = getProxyForUrl;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function (val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","/**\n * @fileoverview Client for managing users in the Sharetribe Integration API.\n *\n * This privileged API allows querying users, updating profiles, approving accounts,\n * and managing permissions — typically used by admin tools or backend services.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#users\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n UsersApproveParameter,\n UsersQueryParameter,\n UsersResponse,\n UsersShowParameter,\n UsersUpdatePermissionsParameter,\n UsersUpdateProfileParameter,\n} from \"../../types\";\n\n/**\n * Users API client (privileged)\n */\nclass Users {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/users`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single user by ID or email\n *\n * @template P\n * @param {P & UsersShowParameter<true>} params - Either `id` or `email` is required\n * @returns {Promise<AxiosResponse<UsersResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.users.show({ id: \"user-abc123\" });\n * const { data: userByEmail } = await sdk.users.show({ email: \"john@example.com\" });\n */\n async show<P extends UsersShowParameter<true>>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"show\", P>>> {\n if (!params.id && !params.email) {\n throw new Error(\"Either 'id' or 'email' must be provided\");\n }\n\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query users with privileged filters\n *\n * @template P\n * @param {P & UsersQueryParameter} params\n * @returns {Promise<AxiosResponse<UsersResponse<\"query\", P>>>}\n */\n async query<P extends UsersQueryParameter>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Update a user's profile\n *\n * @template P\n * @template EP\n * @param {P & UsersUpdateProfileParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"updateProfile\", P, EP>>>}\n */\n async updateProfile<\n P extends UsersUpdateProfileParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"updateProfile\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_profile`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Approve a pending user account\n *\n * @template P\n * @template EP\n * @param {P & UsersApproveParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"approve\", P, EP>>>}\n */\n async approve<\n P extends UsersApproveParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"approve\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/approve`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update a user's permissions\n *\n * @template P\n * @template EP\n * @param {P & UsersUpdatePermissionsParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<UsersResponse<\"updatePermissions\", P, EP>>>}\n */\n async updatePermissions<\n P extends UsersUpdatePermissionsParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<UsersResponse<\"updatePermissions\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_permissions`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Users;","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","module.exports = require(\"path\");","module.exports = require(\"crypto\");","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport {progressEventReducer} from '../helpers/progressEventReducer.js';\nimport resolveConfig from \"../helpers/resolveConfig.js\";\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","module.exports = require(\"url\");","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils.isObject(header) && utils.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite)\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","const {asyncIterator} = Symbol;\n\nconst readBlob = async function* (blob) {\n if (blob.stream) {\n yield* blob.stream()\n } else if (blob.arrayBuffer) {\n yield await blob.arrayBuffer()\n } else if (blob[asyncIterator]) {\n yield* blob[asyncIterator]();\n } else {\n yield blob;\n }\n}\n\nexport default readBlob;\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","\"use strict\";\n\nimport stream from \"stream\";\n\nclass ZlibHeaderTransformStream extends stream.Transform {\n __transform(chunk, encoding, callback) {\n this.push(chunk);\n callback();\n }\n\n _transform(chunk, encoding, callback) {\n if (chunk.length !== 0) {\n this._transform = this.__transform;\n\n // Add Default Compression headers if no zlib headers are present\n if (chunk[0] !== 120) { // Hex: 78\n const header = Buffer.alloc(2);\n header[0] = 120; // Hex: 78\n header[1] = 156; // Hex: 9C \n this.push(header, encoding);\n }\n }\n\n this.__transform(chunk, encoding, callback);\n }\n}\n\nexport default ZlibHeaderTransformStream;\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n}\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n}\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction(thing[iterator]);\n\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {void}\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","/**\n * @fileoverview Client for fetching public user profiles in the Sharetribe Marketplace API.\n *\n * Use this to retrieve publicly visible information about any user (e.g. name, bio, profile image).\n * Only returns data the current user is allowed to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#show-user\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {UsersResponse, UsersShowParameter,} from \"../../types\";\n\n/**\n * Public Users API client\n */\nclass Users {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/users`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a public user profile by ID\n *\n * @template P\n * @param {P & UsersShowParameter} params\n * @returns {Promise<AxiosResponse<UsersResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.users.show({ id: \"user-abc123\" });\n * console.log(data.attributes.profile.displayName);\n * console.log(data.attributes.profile.bio);\n */\n async show<P extends UsersShowParameter>(\n params: P\n ): Promise<AxiosResponse<UsersResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Users;","/**\n * @fileoverview Client for managing stock adjustments in the Sharetribe Integration API.\n *\n * Stock adjustments are manual changes to listing stock (e.g. restocking, corrections, damage write-offs).\n * They appear in the stock history and are separate from automatic reservation-based changes.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#stock-adjustments\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n StockAdjustmentsCreateParameter,\n StockAdjustmentsQueryParameter,\n StockAdjustmentsResponse,\n} from \"../../types\";\n\n/**\n * Stock Adjustments API client (privileged)\n */\nclass StockAdjustments {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/stock_adjustments`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query stock adjustment history\n *\n * @template P\n * @param {P & StockAdjustmentsQueryParameter} params\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.stockAdjustments.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends StockAdjustmentsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a manual stock adjustment\n *\n * Positive `quantity` = add stock\n * Negative `quantity` = remove stock\n *\n * @template P\n * @template EP\n * @param {P & StockAdjustmentsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Restock 50 units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: 50\n * });\n *\n * @example\n * // Write off 3 damaged units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: -3\n * });\n */\n async create<\n P extends StockAdjustmentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StockAdjustments;","/**\n * @fileoverview Client for managing transactions in the Sharetribe Integration API.\n *\n * This privileged API allows querying, transitioning, and updating metadata for transactions.\n * Use it for admin tools, backend services, or automated workflows.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#transactions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n TransactionsQueryParameter,\n TransactionsResponse,\n TransactionsShowParameter,\n TransactionsTransitionParameter,\n TransactionsTransitionSpeculativeParameter,\n TransactionsUpdateMetadataParameter,\n} from \"../../types\";\n\n/**\n * Transactions API client (privileged)\n */\nclass Transactions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/transactions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single transaction by ID\n *\n * @template P\n * @param {P & TransactionsShowParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"show\", P>>>}\n */\n async show<P extends TransactionsShowParameter>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query transactions with privileged filters\n *\n * @template P\n * @param {P & TransactionsQueryParameter<true>} params - Note: `true` enables privileged fields like `customerId`, `providerId`\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"query\", P>>>}\n */\n async query<P extends TransactionsQueryParameter<true>>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Transition a transaction to a new state\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>>}\n *\n * @example\n * await sdk.transactions.transition({\n * id: \"tx-abc123\",\n * transition: \"transition/confirm-payment\"\n * });\n */\n async transition<\n P extends TransactionsTransitionParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Perform a speculative transition (dry-run)\n *\n * Does not persist changes — useful for validation before real transition.\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>>}\n */\n async transitionSpeculative<\n P extends TransactionsTransitionSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update transaction metadata\n *\n * @template P\n * @template EP\n * @param {P & TransactionsUpdateMetadataParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"updateMetadata\", P, EP>>>}\n */\n async updateMetadata<\n P extends TransactionsUpdateMetadataParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"updateMetadata\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update_metadata`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Transactions;","var debug;\n\nmodule.exports = function () {\n if (!debug) {\n try {\n /* eslint global-require: off */\n debug = require(\"debug\")(\"follow-redirects\");\n }\n catch (error) { /* */ }\n if (typeof debug !== \"function\") {\n debug = function () { /* */ };\n }\n }\n debug.apply(null, arguments);\n};\n","import {SharetribeApiError} from \"../types\";\nimport {AxiosError} from \"axios\";\n\ntype ObjectQueryStringParam = Record<string, any>;\n\n/**\n * Serializes an attribute into a string representation for query parameters.\n *\n * @param {*} attribute - The attribute to serialize. Supported types:\n * - `Array`: serialized as a comma-separated string of its elements.\n * - Other types: returned as-is.\n * @returns {string} The serialized attribute.\n */\nconst serializeAttribute = (attribute: any): string => {\n if (Array.isArray(attribute)) {\n return attribute.join(\",\");\n } else {\n return attribute;\n }\n};\n\n/**\n * Serializes an object into a custom query string format.\n *\n * @param {ObjectQueryStringParam} obj - The object to serialize. Each key-value pair\n * is serialized in the format `key:value`. Attributes are processed using\n * `serializeAttribute`.\n * @throws {Error} If the input is not an object or is null.\n * @returns {string} A semicolon-separated query string.\n */\nexport const objectQueryString = (obj: ObjectQueryStringParam): string => {\n // Ensure the input is a valid object\n if (obj === null || typeof obj !== \"object\" || Array.isArray(obj)) {\n console.warn(\"Params must be an object\");\n // You can throw an error instead of warning if strict validation is required:\n // throw new Error(\"Params must be an object\");\n return \"\";\n }\n\n return Object.entries(obj)\n .filter(([_, value]) => value !== undefined && value !== null) // Exclude undefined or null values\n .map(([key, value]) => {\n const serializedValue = serializeAttribute(value);\n return `${key}:${encodeURIComponent(serializedValue)}`;\n }) // Serialize each key-value pair\n .join(\";\"); // Join the serialized pairs with semicolons\n};\n\nexport const createSharetribeApiError = (error: AxiosError): SharetribeApiError => ({\n name: error.name,\n message: error.message,\n status: error.status,\n statusText: error.code,\n data: error.response?.data\n})","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","/*!\n * mime-db\n * Copyright(c) 2014 Jonathan Ong\n * Copyright(c) 2015-2022 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n */\n\nmodule.exports = require('./db.json')\n","/**\n * @fileoverview Client for managing listings in the Sharetribe Integration API.\n *\n * This privileged API allows creating, updating, querying, approving, opening, and closing listings\n * on behalf of users — typically used by admin tools, onboarding flows, or backend services.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#listings\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {\n ExtraParameter,\n ListingsApproveParameter,\n ListingsCloseParameter,\n ListingsCreateParameter,\n ListingsOpenParameter,\n ListingsQueryParameter,\n ListingsResponse,\n ListingsShowParameter,\n ListingsUpdateParameter,\n} from \"../../types\";\n\n/**\n * Listings API client (privileged)\n */\nclass Listings {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/listings`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single listing by ID\n *\n * @template P\n * @param {P & ListingsShowParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"show\", P>>>}\n */\n async show<P extends ListingsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query listings with filters\n *\n * @template P\n * @param {P & ListingsQueryParameter} params\n * @returns {Promise<AxiosResponse<ListingsResponse<\"query\", P>>>}\n */\n async query<P extends ListingsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ListingsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a new listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ListingsResponse<\"create\", P, EP>>>}\n */\n async create<\n P extends ListingsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update an existing listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"update\", P, EP>>>}\n */\n async update<\n P extends ListingsUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"update\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Close a listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsCloseParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"close\", P, EP>>>}\n */\n async close<\n P extends ListingsCloseParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"close\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/close`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Open a previously closed listing\n *\n * @template P\n * @template EP\n * @param {P & ListingsOpenParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"open\", P, EP>>>}\n */\n async open<\n P extends ListingsOpenParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"open\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/open`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Approve a pending listing (admin only)\n *\n * @template P\n * @template EP\n * @param {P & ListingsApproveParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<ListingsResponse<\"approve\", P, EP>>>}\n */\n async approve<\n P extends ListingsApproveParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ListingsResponse<\"approve\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/approve`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Listings;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","'use strict';\nconst os = require('os');\nconst tty = require('tty');\nconst hasFlag = require('has-flag');\n\nconst {env} = process;\n\nlet forceColor;\nif (hasFlag('no-color') ||\n\thasFlag('no-colors') ||\n\thasFlag('color=false') ||\n\thasFlag('color=never')) {\n\tforceColor = 0;\n} else if (hasFlag('color') ||\n\thasFlag('colors') ||\n\thasFlag('color=true') ||\n\thasFlag('color=always')) {\n\tforceColor = 1;\n}\n\nif ('FORCE_COLOR' in env) {\n\tif (env.FORCE_COLOR === 'true') {\n\t\tforceColor = 1;\n\t} else if (env.FORCE_COLOR === 'false') {\n\t\tforceColor = 0;\n\t} else {\n\t\tforceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);\n\t}\n}\n\nfunction translateLevel(level) {\n\tif (level === 0) {\n\t\treturn false;\n\t}\n\n\treturn {\n\t\tlevel,\n\t\thasBasic: true,\n\t\thas256: level >= 2,\n\t\thas16m: level >= 3\n\t};\n}\n\nfunction supportsColor(haveStream, streamIsTTY) {\n\tif (forceColor === 0) {\n\t\treturn 0;\n\t}\n\n\tif (hasFlag('color=16m') ||\n\t\thasFlag('color=full') ||\n\t\thasFlag('color=truecolor')) {\n\t\treturn 3;\n\t}\n\n\tif (hasFlag('color=256')) {\n\t\treturn 2;\n\t}\n\n\tif (haveStream && !streamIsTTY && forceColor === undefined) {\n\t\treturn 0;\n\t}\n\n\tconst min = forceColor || 0;\n\n\tif (env.TERM === 'dumb') {\n\t\treturn min;\n\t}\n\n\tif (process.platform === 'win32') {\n\t\t// Windows 10 build 10586 is the first Windows release that supports 256 colors.\n\t\t// Windows 10 build 14931 is the first release that supports 16m/TrueColor.\n\t\tconst osRelease = os.release().split('.');\n\t\tif (\n\t\t\tNumber(osRelease[0]) >= 10 &&\n\t\t\tNumber(osRelease[2]) >= 10586\n\t\t) {\n\t\t\treturn Number(osRelease[2]) >= 14931 ? 3 : 2;\n\t\t}\n\n\t\treturn 1;\n\t}\n\n\tif ('CI' in env) {\n\t\tif (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI', 'GITHUB_ACTIONS', 'BUILDKITE'].some(sign => sign in env) || env.CI_NAME === 'codeship') {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn min;\n\t}\n\n\tif ('TEAMCITY_VERSION' in env) {\n\t\treturn /^(9\\.(0*[1-9]\\d*)\\.|\\d{2,}\\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;\n\t}\n\n\tif (env.COLORTERM === 'truecolor') {\n\t\treturn 3;\n\t}\n\n\tif ('TERM_PROGRAM' in env) {\n\t\tconst version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10);\n\n\t\tswitch (env.TERM_PROGRAM) {\n\t\t\tcase 'iTerm.app':\n\t\t\t\treturn version >= 3 ? 3 : 2;\n\t\t\tcase 'Apple_Terminal':\n\t\t\t\treturn 2;\n\t\t\t// No default\n\t\t}\n\t}\n\n\tif (/-256(color)?$/i.test(env.TERM)) {\n\t\treturn 2;\n\t}\n\n\tif (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {\n\t\treturn 1;\n\t}\n\n\tif ('COLORTERM' in env) {\n\t\treturn 1;\n\t}\n\n\treturn min;\n}\n\nfunction getSupportLevel(stream) {\n\tconst level = supportsColor(stream, stream && stream.isTTY);\n\treturn translateLevel(level);\n}\n\nmodule.exports = {\n\tsupportsColor: getSupportLevel,\n\tstdout: translateLevel(supportsColor(true, tty.isatty(1))),\n\tstderr: translateLevel(supportsColor(true, tty.isatty(2)))\n};\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n WebServerIsDown: 521,\n ConnectionTimedOut: 522,\n OriginIsUnreachable: 523,\n TimeoutOccurred: 524,\n SslHandshakeFailed: 525,\n InvalidSslCertificate: 526,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","/**\n * @fileoverview Client for uploading images in the Sharetribe Marketplace API.\n *\n * Use this to upload images for listings, user profiles, or other resources.\n * Returns an image resource with variants ready for responsive display.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#images\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ExtraParameter, ImagesResponse, ImagesUploadParameter,} from \"../../types\";\n\n/**\n * Images API client\n */\nclass Images {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/images`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Upload an image\n *\n * @template P\n * @template EP\n * @param {P & ImagesUploadParameter} params - Must include `image: File`\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>>}\n *\n * @example\n * const file = inputElement.files[0];\n * const { data } = await sdk.images.upload({ image: file });\n * console.log(data.id); // → \"img-abc123\"\n * console.log(data.attributes.variants[\"square-small\"]?.url);\n */\n async upload<\n P extends ImagesUploadParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>> {\n const formData = new FormData();\n\n // Append all defined fields (skip null/undefined)\n Object.entries({...params, ...extraParams}).forEach(([key, value]) => {\n if (value !== null && value !== undefined) {\n formData.append(key, value as any);\n }\n });\n\n return this.axios.post(`${this.endpoint}/upload`, formData, {\n headers: {\n ...this.headers,\n // Let browser set correct boundary\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n }\n}\n\nexport default Images;","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\t// eslint-disable-next-line no-return-assign\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug') || exports.storage.getItem('DEBUG') ;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","import speedometer from \"./speedometer.js\";\nimport throttle from \"./throttle.js\";\nimport utils from \"../utils.js\";\n\nexport const progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n}\n\nexport const progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n}\n\nexport const asyncDecorator = (fn) => (...args) => utils.asap(() => fn(...args));\n","import {ApiConfigs} from \"../types\";\n\n/**\n * Creates API configurations for the SDK.\n *\n * @param isIntegrationSdk - Determines whether the configuration is for the Integration SDK (default: false).\n * @returns An object containing API configurations for the standard SDK or Integration SDK.\n */\nexport const createApisConfigs = <I extends boolean = false>(\n isIntegrationSdk: I = false as I\n): ApiConfigs<I> => {\n if (isIntegrationSdk === false) {\n return {\n api: ({baseUrl, version, transitVerbose}) => ({\n headers: {\n ...(transitVerbose ? {\"X-Transit-Verbose\": \"true\"} : {}),\n Accept: \"application/transit+json\",\n },\n baseUrl: `${baseUrl}/${version}/api`,\n }),\n auth: ({baseUrl, version}) => ({\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\",\n },\n baseUrl: `${baseUrl}/${version}/auth`,\n }),\n assets: ({assetCdnBaseUrl, version}) => ({\n headers: {\n Accept: \"application/json\",\n },\n baseUrl: `${assetCdnBaseUrl}/${version}/assets`,\n }),\n } as ApiConfigs<I>;\n } else {\n return {\n auth: ({baseUrl, version}) => ({\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n Accept: \"application/json\",\n },\n baseUrl: `${baseUrl}/${version}/auth`,\n }),\n integrationApi: ({baseUrl, version, transitVerbose}) => ({\n headers: {\n ...(transitVerbose ? {\"X-Transit-Verbose\": \"true\"} : {}),\n Accept: \"application/transit+json\",\n },\n baseUrl: `${baseUrl}/${version}/integration_api`,\n }),\n } as ApiConfigs<I>;\n }\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","/**\n * @fileoverview Client for managing the current user's Stripe account in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Fetch existing Stripe account status\n * - Create a new Stripe Connect account\n * - Update account details or capabilities\n *\n * Requires authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stripe-account\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StripeAccountCreateParameter,\n StripeAccountResponse,\n StripeAccountUpdateParameter,\n} from \"../../types\";\n\n/**\n * Stripe Account API client (current user)\n */\nclass StripeAccount {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stripe_account`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current user's Stripe account\n *\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"fetch\">>>}\n *\n * @example\n * const { data } = await sdk.stripeAccount.fetch();\n * console.log(data.attributes.stripeAccountData.capabilities);\n */\n async fetch(): Promise<AxiosResponse<StripeAccountResponse<\"fetch\">>> {\n return this.axios.get(`${this.endpoint}/fetch`, {\n headers: this.headers,\n });\n }\n\n /**\n * Create a new Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountCreateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"create\", EP>>>}\n */\n async create<\n P extends StripeAccountCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountResponse<\"create\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Update existing Stripe Connect account\n *\n * @template P\n * @template EP\n * @param {P & StripeAccountUpdateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<StripeAccountResponse<\"update\", EP>>>}\n */\n async update<\n P extends StripeAccountUpdateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StripeAccountResponse<\"update\", EP>>> {\n return this.axios.post(\n `${this.endpoint}/update`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StripeAccount;","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport AxiosError from \"../core/AxiosError.js\";\nimport composeSignals from \"../helpers/composeSignals.js\";\nimport {trackStream} from \"../helpers/trackStream.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport resolveConfig from \"../helpers/resolveConfig.js\";\nimport settle from \"../core/settle.js\";\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils.global);\n\nconst {\n ReadableStream, TextEncoder\n} = utils.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n}\n\nconst factory = (env) => {\n env = utils.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n })\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils.isBlob(body)) {\n return body.size;\n }\n\n if (utils.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils.isArrayBufferView(body) || utils.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n }\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n }\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader)\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n })\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n}\n\nconst seedCache = new Map();\n\nexport const getFetch = (config) => {\n let env = (config && config.env) || {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)))\n\n map = target;\n }\n\n return target;\n};\n\nconst adapter = getFetch();\n\nexport default adapter;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","var async = require('./async.js')\n , abort = require('./abort.js')\n ;\n\n// API\nmodule.exports = iterate;\n\n/**\n * Iterates over each job object\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {object} state - current job status\n * @param {function} callback - invoked when all elements processed\n */\nfunction iterate(list, iterator, state, callback)\n{\n // store current index\n var key = state['keyedList'] ? state['keyedList'][state.index] : state.index;\n\n state.jobs[key] = runJob(iterator, key, list[key], function(error, output)\n {\n // don't repeat yourself\n // skip secondary callbacks\n if (!(key in state.jobs))\n {\n return;\n }\n\n // clean up jobs\n delete state.jobs[key];\n\n if (error)\n {\n // don't process rest of the results\n // stop still active jobs\n // and reset the list\n abort(state);\n }\n else\n {\n state.results[key] = output;\n }\n\n // return salvaged results\n callback(error, state.results);\n });\n}\n\n/**\n * Runs iterator over provided job element\n *\n * @param {function} iterator - iterator to invoke\n * @param {string|number} key - key/index of the element in the list of jobs\n * @param {mixed} item - job description\n * @param {function} callback - invoked after iterator is done with the job\n * @returns {function|mixed} - job abort function or something else\n */\nfunction runJob(iterator, key, item, callback)\n{\n var aborter;\n\n // allow shortcut if iterator expects only two arguments\n if (iterator.length == 2)\n {\n aborter = iterator(item, async(callback));\n }\n // otherwise go with full three arguments\n else\n {\n aborter = iterator(item, key, async(callback));\n }\n\n return aborter;\n}\n","import UUIDClass from \"../sdkTypes/UUID\";\nimport {User} from \"./marketplace/user\";\nimport {Booking} from \"./marketplace/bookings\";\nimport {Stock} from \"./marketplace/stock\";\nimport {StripePaymentMethod} from \"./marketplace/stripePaymentMethod\";\nimport {Image} from \"./marketplace/images\";\nimport {Listing} from \"./marketplace/listings\";\nimport {Marketplace} from \"./marketplace/marketplace\";\nimport {Message} from \"./marketplace/messages\";\nimport {OwnListing} from \"./marketplace/ownListings\";\nimport {Review} from \"./marketplace/reviews\";\nimport {StockReservation} from \"./marketplace/stockReservations\";\nimport {StripeAccount} from \"./marketplace/stripeAccount\";\nimport {StripeCustomer} from \"./marketplace/stripeCustomer\";\nimport {Transaction} from \"./marketplace/transactions\";\nimport {CurrentUserPermissionSet} from \"./marketplace/currentUser\";\nimport {StockAdjustment} from \"./marketplace/stockAdjustment\";\nimport {ImageAsset} from \"./assets\";\n\n/**\n * A mapping of relationship types to their corresponding entities.\n * The `I` flag controls whether private/protected user data is included.\n */\nexport type RelationshipTypeMap<I extends boolean = false> = {\n \"author.effectivePermissionSet\": CurrentUserPermissionSet;\n \"author.marketplace\": Marketplace;\n \"author.profileImage\": Image;\n \"author.stripeAccount\": StripeAccount;\n \"booking.transaction\": Transaction;\n \"customer.effectivePermissionSet\": CurrentUserPermissionSet;\n \"customer.marketplace\": Marketplace;\n \"customer.profileImage\": Image;\n \"customer.stripeAccount\": StripeAccount;\n \"effectivePermissionSet\": CurrentUserPermissionSet;\n \"listing.author\": User<I>;\n \"listing.currentStock\": Stock;\n \"listing.images\": Image;\n \"listing.marketplace\": Marketplace;\n \"messages.sender\": User<I>;\n \"messages.transaction\": Transaction;\n \"ownListing.author\": User<I>;\n \"ownListing.currentStock\": Stock;\n \"ownListing.images\": Image;\n \"ownListing.marketplace\": Marketplace;\n \"provider.effectivePermissionSet\": CurrentUserPermissionSet;\n \"provider.marketplace\": Marketplace;\n \"provider.profileImage\": Image;\n \"provider.stripeAccount\": StripeAccount;\n \"reviews.author\": User<I>;\n \"reviews.author.profileImage\": Image;\n \"reviews.listing\": Listing<I>;\n \"reviews.subject\": User<I>;\n \"sender.effectivePermissionSet\": CurrentUserPermissionSet;\n \"sender.marketplace\": Marketplace;\n \"sender.profileImage\": Image;\n \"sender.stripeAccount\": StripeAccount;\n \"stockReservation.transaction\": Transaction;\n \"stripeCustomer.defaultPaymentMethod\": StripePaymentMethod;\n \"subject.effectivePermissionSet\": CurrentUserPermissionSet;\n \"subject.marketplace\": Marketplace;\n \"subject.profileImage\": Image;\n \"subject.stripeAccount\": StripeAccount;\n \"transaction.booking\": Booking;\n \"transaction.customer\": User<I>;\n \"transaction.listing\": Listing<I>;\n \"transaction.marketplace\": Marketplace;\n \"transaction.messages\": Message;\n \"transaction.provider\": User<I>;\n \"transaction.reviews\": Review;\n \"transaction.stockReservation\": StockReservation;\n author: User<I>;\n booking: Booking;\n currentStock: Stock;\n customer: User<I>;\n defaultPaymentMethod: StripePaymentMethod;\n imageAsset: ImageAsset;\n images: Image;\n listing: Listing<I>;\n marketplace: Marketplace;\n messages: Message;\n ownListing: OwnListing;\n profileImage: Image;\n provider: User<I>;\n reviews: Review;\n sender: User<I>;\n stockAdjustment: StockAdjustment;\n stockReservation: StockReservation;\n stripeAccount: StripeAccount;\n stripeCustomer: StripeCustomer;\n subject: User<I>;\n transaction: Transaction;\n};\n\n/**\n * HTTP status codes that can return API errors\n */\nexport const ApiErrorStatuses = {\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n Conflict: 409,\n PayloadTooLarge: 413,\n TooManyRequests: 429,\n ServerError: 500,\n} as const;\n\nexport type ApiErrorStatus = typeof ApiErrorStatuses[keyof typeof ApiErrorStatuses];\n\n/**\n * Strongly typed error codes per status\n */\nexport type ApiErrorCode =\n// 400\n | \"unsupported-content-type\"\n | \"bad-request\"\n | \"validation-disallowed-key\"\n | \"validation-invalid-value\"\n | \"validation-invalid-params\"\n | \"validation-missing-key\"\n\n // 401\n | \"auth-invalid-access-token\"\n | \"auth-missing-access-token\"\n\n // 402\n | \"transaction-payment-failed\"\n\n // 403\n | \"forbidden\"\n\n // 404\n | \"not-found\"\n\n // 409 - grouped for readability\n | \"conflict\"\n | \"image-invalid\"\n | \"image-invalid-content\"\n | \"email-taken\"\n | \"email-already-verified\"\n | \"email-unverified\"\n | \"email-not-found\"\n | \"listing-not-found\"\n | \"listing-invalid-state\"\n | \"stripe-account-not-found\"\n | \"stripe-missing-api-key\"\n | \"stripe-invalid-payment-intent-status\"\n | \"stripe-customer-not-found\"\n | \"stripe-multiple-payment-methods-not-supported\"\n | \"stripe-payment-method-type-not-supported\"\n | \"user-missing-stripe-account\"\n | \"user-is-banned\"\n | \"user-not-found\"\n | \"transaction-locked\"\n | \"transaction-not-found\"\n | \"transaction-listing-not-found\"\n | \"transaction-booking-state-not-pending\"\n | \"transaction-booking-state-not-accepted\"\n | \"transaction-invalid-transition\"\n | \"transaction-invalid-action-sequence\"\n | \"transaction-missing-listing-price\"\n | \"transaction-missing-stripe-account\"\n | \"transaction-same-author-and-customer\"\n | \"transaction-stripe-account-disabled-charges\"\n | \"transaction-stripe-account-disabled-payouts\"\n | \"transaction-charge-zero-payin\"\n | \"transaction-charge-zero-payout\"\n | \"transaction-zero-payin\"\n | \"transaction-unknown-alias\"\n | \"transaction-provider-banned-or-deleted\"\n | \"transaction-customer-banned-or-deleted\"\n\n // 413\n | \"request-larger-than-content-length\"\n | \"request-upload-over-limit\"\n\n // 429\n | \"too-many-requests\";\n\n/**\n * Single API error object\n */\nexport interface ApiError {\n id: string;\n status: ApiErrorStatus;\n code: ApiErrorCode;\n title: string;\n detail?: string;\n source?: {\n pointer?: string; // JSON pointer like \"/data/attributes/bio\"\n parameter?: string; // query param name\n };\n meta?: Record<string, unknown>;\n}\n\n/**\n * Full error response from Sharetribe API\n */\nexport interface ApiErrorResponse {\n errors: ApiError[];\n}\n\n/**\n *\n */\nexport interface SharetribeApiError {\n name: string;\n message: string;\n status?: number;\n statusText?: string,\n data: any\n}\n\n/**\n * UUID wrapper instance\n */\nexport type UUID = InstanceType<typeof UUIDClass>;\n\n/**\n * Pagination metadata\n */\nexport interface ApiMeta {\n totalItems: number;\n totalPages: number;\n page: number;\n perPage: number;\n paginationLimit?: number;\n}\n\n/**\n * Relationship object in API responses\n */\nexport type Relationship<\n IsArray extends boolean = false,\n Type extends keyof RelationshipTypeMap = keyof RelationshipTypeMap\n> = IsArray extends true\n ? { data: { id: UUID; type: Type }[] }\n : { data: { id: UUID; type: Type } | null };\n\n/**\n * Query parameter prefixes\n */\nexport type QueryFields = `fields.${string}`;\nexport type QueryLimit = `limit.${string}`;\nexport type QueryImageVariant = `imageVariant.${string}`;\n\n/**\n * Public, metadata, private, protected data query keys\n */\nexport type QueryPub = `pub_${string}`;\nexport type QueryMeta = `meta_${string}`;\nexport type QueryPriv = `priv_${string}`;\nexport type QueryProt = `prot_${string}`;\n\n/**\n * Optional expand control\n */\nexport interface ExpandParam {\n expand?: boolean;\n}\n\nexport type ExtraParameter = ExpandParam | undefined;\nexport type ExtraParameterType = ExtraParameter;\n\n/**\n * Base API parameter interface (index signatures are now safe)\n */\nexport interface ApiParameter {\n /** Select fields: fields.listings=title,description */\n [K: QueryFields]: string | undefined;\n\n /** Pagination limits per resource type */\n [K: QueryLimit]: number | undefined;\n\n /** Image variants */\n [K: QueryImageVariant]: string | undefined;\n\n /** Public custom fields */\n [K: QueryPub]: string | undefined;\n\n /** Metadata fields */\n [K: QueryMeta]: string | undefined;\n\n /** Private fields (admin only) */\n [K: QueryPriv]: string | undefined;\n\n /** Protected fields (trusted user) */\n [K: QueryProt]: string | undefined;\n}\n\n/**\n * Geographic types\n */\nexport interface LatLng {\n lat: number;\n lng: number;\n}\n\nexport interface LatLngBounds {\n ne: LatLng;\n sw: LatLng;\n}\n\n/**\n * Money amount with currency\n */\nexport interface Money {\n amount: number; // in minor units (e.g. cents)\n currency: string; // ISO 4217 code\n}","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","var Stream = require('stream').Stream;\nvar util = require('util');\n\nmodule.exports = DelayedStream;\nfunction DelayedStream() {\n this.source = null;\n this.dataSize = 0;\n this.maxDataSize = 1024 * 1024;\n this.pauseStream = true;\n\n this._maxDataSizeExceeded = false;\n this._released = false;\n this._bufferedEvents = [];\n}\nutil.inherits(DelayedStream, Stream);\n\nDelayedStream.create = function(source, options) {\n var delayedStream = new this();\n\n options = options || {};\n for (var option in options) {\n delayedStream[option] = options[option];\n }\n\n delayedStream.source = source;\n\n var realEmit = source.emit;\n source.emit = function() {\n delayedStream._handleEmit(arguments);\n return realEmit.apply(source, arguments);\n };\n\n source.on('error', function() {});\n if (delayedStream.pauseStream) {\n source.pause();\n }\n\n return delayedStream;\n};\n\nObject.defineProperty(DelayedStream.prototype, 'readable', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.source.readable;\n }\n});\n\nDelayedStream.prototype.setEncoding = function() {\n return this.source.setEncoding.apply(this.source, arguments);\n};\n\nDelayedStream.prototype.resume = function() {\n if (!this._released) {\n this.release();\n }\n\n this.source.resume();\n};\n\nDelayedStream.prototype.pause = function() {\n this.source.pause();\n};\n\nDelayedStream.prototype.release = function() {\n this._released = true;\n\n this._bufferedEvents.forEach(function(args) {\n this.emit.apply(this, args);\n }.bind(this));\n this._bufferedEvents = [];\n};\n\nDelayedStream.prototype.pipe = function() {\n var r = Stream.prototype.pipe.apply(this, arguments);\n this.resume();\n return r;\n};\n\nDelayedStream.prototype._handleEmit = function(args) {\n if (this._released) {\n this.emit.apply(this, args);\n return;\n }\n\n if (args[0] === 'data') {\n this.dataSize += args[1].length;\n this._checkIfMaxDataSizeExceeded();\n }\n\n this._bufferedEvents.push(args);\n};\n\nDelayedStream.prototype._checkIfMaxDataSizeExceeded = function() {\n if (this._maxDataSizeExceeded) {\n return;\n }\n\n if (this.dataSize <= this.maxDataSize) {\n return;\n }\n\n this._maxDataSizeExceeded = true;\n var message =\n 'DelayedStream#maxDataSize of ' + this.maxDataSize + ' bytes exceeded.'\n this.emit('error', new Error(message));\n};\n","/**\n * @fileoverview Provides the UUID class for handling universally unique identifiers (UUIDs).\n * This class allows for the creation and validation of UUIDs, using the `uuid` library.\n */\n\nimport {v4 as uuidv4} from \"uuid\";\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst UUID_SDK_TYPE = \"UUID\";\n\n/**\n * Class representing a UUID (Universally Unique Identifier).\n *\n * The UUID class ensures that a valid UUID is created or used, with the option to generate one if none is provided.\n */\nclass UUID implements SdkType {\n uuid: string;\n readonly _sdkType: typeof UUID_SDK_TYPE;\n\n /**\n * Creates an instance of the UUID class.\n *\n * @param {string} [uuid] - An optional UUID string. If not provided, a new UUID will be generated.\n * @example\n * const id = new UUID();\n * console.log(id.toString()); // Outputs a newly generated UUID.\n *\n * const predefinedId = new UUID('123e4567-e89b-12d3-a456-426614174000');\n * console.log(predefinedId.toString()); // Outputs: '123e4567-e89b-12d3-a456-426614174000'\n */\n constructor(uuid?: string) {\n this._sdkType = UUID_SDK_TYPE;\n\n if (uuid !== undefined && typeof uuid !== \"string\") {\n console.warn(\"uuid must be a string\");\n // If it's not a string, fallback to a generated UUID.\n this.uuid = uuidv4();\n } else {\n // Use the provided UUID or generate a new one.\n this.uuid = uuid || uuidv4();\n }\n }\n\n /**\n * Converts the UUID instance to its string representation.\n *\n * @returns {string} - The string representation of the UUID.\n * @example\n * const id = new UUID();\n * console.log(id.toString()); // Outputs the UUID as a string.\n */\n toString(): string {\n return this.uuid;\n }\n}\n\n// Default export for backward compatibility\nexport default UUID;\n\n// Export the instance type\nexport type UUIDInstance = InstanceType<typeof UUID>;\n","/**\n * @fileoverview Client for uploading images in the Sharetribe Integration API.\n *\n * Images uploaded via this endpoint can be attached to listings, user profiles, or used as assets.\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#images\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {ExtraParameter, ImagesResponse, ImagesUploadParameter} from \"../../types\";\n\n/**\n * Images API client\n */\nclass Images {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/images`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Upload an image\n *\n * @template P\n * @template EP\n * @param {P & ImagesUploadParameter} params - Upload parameters (must include `image: File`)\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>>}\n *\n * @example\n * const file = input.files[0];\n * const { data } = await sdk.images.upload({ image: file });\n * console.log(data.id); // → \"img-abc123\"\n */\n async upload<\n P extends ImagesUploadParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<ImagesResponse<\"upload\", EP>>> {\n const formData = new FormData();\n\n // Append all params (including extraParams)\n Object.entries({...params, ...extraParams}).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n formData.append(key, value as any);\n }\n });\n\n return this.axios.post(`${this.endpoint}/upload`, formData, {\n headers: {\n ...this.headers,\n // Let browser set Content-Type with proper boundary\n \"Content-Type\": \"multipart/form-data\",\n },\n });\n }\n}\n\nexport default Images;","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","/**\n * @fileoverview Client for fetching marketplace configuration in the Sharetribe Integration API.\n *\n * Use this to retrieve metadata about the marketplace (name, description, currency, etc.).\n *\n * @see https://www.sharetribe.com/api-reference/integration.html#marketplace\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport IntegrationApi from \"./index\";\nimport {MarketplaceResponse} from \"../../types\";\n\n/**\n * Marketplace API client\n */\nclass Marketplace {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: IntegrationApi) {\n this.endpoint = `${api.endpoint}/marketplace`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch current marketplace configuration\n *\n * @returns {Promise<AxiosResponse<MarketplaceResponse<\"show\">>>}\n *\n * @example\n * const { data } = await sdk.marketplace.show();\n * console.log(data.attributes.name); // → \"My Awesome Marketplace\"\n */\n async show(): Promise<AxiosResponse<MarketplaceResponse<\"show\">>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n });\n }\n}\n\nexport default Marketplace;","import platform from \"../platform/index.js\";\nimport utils from \"../utils.js\";\nimport isURLSameOrigin from \"./isURLSameOrigin.js\";\nimport cookies from \"./cookies.js\";\nimport buildFullPath from \"../core/buildFullPath.js\";\nimport mergeConfig from \"../core/mergeConfig.js\";\nimport AxiosHeaders from \"../core/AxiosHeaders.js\";\nimport buildURL from \"./buildURL.js\";\n\nexport default (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n}\n\n","import Money from \"../sdkTypes/Money\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport LatLngBounds from \"../sdkTypes/LatLngBounds\";\nimport UUID from \"../sdkTypes/UUID\";\nimport BigDecimal from \"../sdkTypes/BigDecimal\";\n\n/**\n * Converts a value based on its `_sdkType` property to the appropriate SDK type.\n * @param {*} value - The value to convert.\n * @returns {*} The converted value or the original value if no conversion is needed.\n */\nexport function toSdkTypes(\n value: any\n): LatLng | LatLngBounds | UUID | Money | BigDecimal | any {\n const type = value && value._sdkType;\n\n switch (type) {\n case \"LatLng\":\n return new LatLng(value.lat, value.lng);\n case \"LatLngBounds\":\n return new LatLngBounds(value.ne, value.sw);\n case \"UUID\":\n return new UUID(value.uuid);\n case \"Money\":\n return new Money(value.amount, value.currency);\n case \"BigDecimal\":\n return new BigDecimal(value.value);\n default:\n return value;\n }\n}\n\n//\n// JSON replacer\n//\n// Deprecated\n//\n// The _sdkType field is added to the type object itself,\n// so the use of replacer is not needed. The function exists purely\n// for backwards compatibility. We don't want to remove it in case\n// applications are using it.\n//\nexport const replacer = (key: string, value: any) => value;\n\n//\n// JSON reviver\n//\nexport const reviver = (key: string, value: any) => toSdkTypes(value);\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","/* eslint no-underscore-dangle: [\"error\", { \"allow\": [\"_sdkType\"] }] */\n\nimport {\n keyword,\n makeWriteHandler,\n map as transitMap,\n reader as transitReader,\n writer as transitWriter,\n} from \"transit-js\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport UUID from \"../sdkTypes/UUID\";\nimport Money from \"../sdkTypes/Money\";\nimport BigDecimal from \"../sdkTypes/BigDecimal\";\nimport {TypeHandler} from \"../types\";\nimport {toSdkTypes} from \"./convert-types\";\n\n// Type definitions for SDK types\ntype SdkTypeClass = any; // Using any to avoid complex type issues\n\n// Helper functions to replace lodash\nconst identity = <T>(value: T): T => value;\nconst find = <T>(array: T[], predicate: (item: T) => boolean): T | undefined =>\n array.find(predicate);\nconst fromPairs = <T>(pairs: [string, T][]): Record<string, T> =>\n Object.fromEntries(pairs) as Record<string, T>;\nconst map = <T, R>(array: T[], callback: (item: T, index: number) => R): R[] =>\n array.map(callback);\nconst flatten = <T>(array: T[][]): T[] => array.flat();\nconst isObject = (value: any): boolean =>\n value !== null && typeof value === \"object\";\nconst entries = (obj: Record<string, any>): [string, any][] => {\n if (obj == null) {\n return [];\n }\n return Object.entries(obj);\n};\n\n// Define interfaces for reader and writer objects\nexport interface TransitReader {\n sdkType: SdkTypeClass;\n reader: (value: any) => any;\n}\n\nexport interface TransitWriter {\n sdkType?: SdkTypeClass;\n appType?: any;\n canHandle?: (args: { key: string; value: any }) => boolean;\n writer: (value: any) => any;\n}\n\nconst composeReader = (\n sdkTypeReader: TransitReader,\n appTypeReader: TransitReader | undefined\n) => {\n const sdkTypeReaderFn = sdkTypeReader.reader;\n const appTypeReaderFn = appTypeReader ? appTypeReader.reader : identity;\n\n return (rep: any) => appTypeReaderFn(sdkTypeReaderFn(rep));\n};\n\n/**\n * Map from transit tags to SDK type classes.\n */\nconst typeMap: Record<string, SdkTypeClass> = {\n u: UUID,\n geo: LatLng,\n mn: Money,\n f: BigDecimal,\n};\n\n/**\n * Readers for SDK types.\n */\nconst sdkTypeReaders: TransitReader[] = [\n {\n sdkType: UUID,\n reader: (rep: string) => new UUID(rep),\n },\n {\n sdkType: LatLng,\n reader: ([lat, lng]: [number | string, number | string]) =>\n new LatLng(lat, lng),\n },\n {\n sdkType: Money,\n reader: ([amount, currency]: [number, string]) =>\n new Money(amount, currency),\n },\n {\n sdkType: BigDecimal,\n reader: (rep: string) => new BigDecimal(rep),\n },\n];\n\n/**\n * Writers for SDK types.\n */\nconst sdkTypeWriters: TransitWriter[] = [\n {\n sdkType: UUID,\n writer: (v: UUID) => v.uuid,\n },\n {\n sdkType: LatLng,\n writer: (v: LatLng) => [v.lat, v.lng],\n },\n {\n sdkType: Money,\n writer: (v: Money) => [v.amount, v.currency],\n },\n {\n sdkType: BigDecimal,\n writer: (v: BigDecimal) => v.value,\n },\n];\n\n/**\n * Construct read handlers for transit types. The handlers are constructed\n * from `appTypeReaders`, `sdkTypeReaders` and `typeMap`.\n */\nconst constructReadHandlers = (appTypeReaders: TransitReader[]) =>\n fromPairs(\n map(Object.entries(typeMap), ([tag, typeClass]) => {\n const sdkTypeReader = find(\n sdkTypeReaders,\n (r) => r.sdkType === typeClass\n );\n const appTypeReader = find(\n appTypeReaders,\n (r) => r.sdkType === typeClass\n );\n\n if (!sdkTypeReader) {\n throw new Error(`SDK type reader not found for tag: ${tag}`);\n }\n\n return [tag, composeReader(sdkTypeReader, appTypeReader)];\n })\n );\n\nconst writeHandlers = flatten(\n map(Object.entries(typeMap), ([tag, typeClass]) => {\n const sdkTypeWriter = find(sdkTypeWriters, (w) => w.sdkType === typeClass);\n\n if (!sdkTypeWriter) {\n throw new Error(`SDK type writer not found for tag: ${tag}`);\n }\n\n const handler = makeWriteHandler({\n tag: () => tag,\n rep: sdkTypeWriter.writer,\n stringRep: (v: any) => sdkTypeWriter.writer(v.toString()),\n });\n\n return [typeClass, handler];\n })\n);\n\nconst mapBuilder = {\n init: () => ({}),\n add: (ret: Record<string, any>, key: string, val: any) => {\n ret[key] = val;\n return ret;\n },\n finalize: identity,\n};\n\nexport const reader = (appTypeReaders: TransitReader[] = []) => {\n const handlers = constructReadHandlers(appTypeReaders);\n\n return transitReader(\"json\", {\n handlers: {\n ...handlers,\n\n // Convert keyword to a string\n // This is a simplification. The API uses keywords, but we\n // can coerse strings to keywords, so it's ok to send strings\n // to the API when keywords is expected.\n \":\": (rep: string) => rep,\n\n // Convert set to an array\n // The conversion loses the information that the\n // value was a set, but that's ok. The API uses sets, but we\n // can coerse arrays to sets, so it's ok to send arrays\n // to the API when set is expected.\n set: (rep: any[]) => rep,\n\n // Convert list to an array\n list: (rep: any[]) => rep,\n },\n mapBuilder,\n });\n};\n\n// Convert JS object to transit map\nconst MapHandlers = [\n Object,\n makeWriteHandler({\n tag: () => \"map\",\n rep: (v: any) =>\n entries(v).reduce((map: any, entry: [string, any]) => {\n const [key, val] = entry;\n map.set(keyword(key), val);\n return map;\n }, transitMap()),\n stringRep: (v: any) => JSON.stringify(v),\n }),\n];\n\nexport const writer = (\n appTypeWriters: TransitWriter[] = [],\n opts: TransitOptions = {}\n) => {\n const {verbose} = opts;\n const transitType = verbose ? \"json-verbose\" : \"json\";\n\n return transitWriter(transitType, {\n handlers: transitMap([...writeHandlers, ...MapHandlers]),\n\n // @ts-ignore - Adding custom properties to transit writer\n transform: (v: any) => {\n if (isObject(v)) {\n if (v._sdkType) {\n return toSdkTypes(v);\n }\n\n const appTypeWriter = find(\n appTypeWriters,\n (w) =>\n (w.appType && v instanceof w.appType) ||\n (w.canHandle && w.canHandle(v))\n );\n\n if (appTypeWriter && appTypeWriter.writer) {\n return appTypeWriter.writer(v);\n }\n }\n return v;\n },\n handlerForForeign: (x, handlers) => {\n if (Array.isArray(x)) {\n return handlers.get(\"array\");\n }\n if (typeof x === \"object\") {\n return handlers.get(\"map\");\n }\n\n return null;\n },\n });\n};\n\nexport type TransitOptions = {\n verbose?: boolean;\n typeHandlers?: TypeHandler[];\n};\n\nexport const createTransitConverters = (\n typeHandlers: TypeHandler[] = [],\n opts: TransitOptions = {}\n) => {\n const {readers, writers} = typeHandlers.reduce<{\n readers: TransitReader[];\n writers: TransitWriter[];\n }>(\n (memo, handler) => {\n const r: TransitReader = {\n sdkType: handler.sdkType,\n reader: handler.reader!,\n };\n const w: TransitWriter = {\n sdkType: handler.sdkType,\n appType: handler.appType,\n canHandle: handler.canHandle,\n writer: handler.writer!,\n };\n\n memo.readers.push(r);\n memo.writers.push(w);\n\n return memo;\n },\n {readers: [], writers: []}\n );\n\n return {\n reader: reader(readers),\n writer: writer(writers, opts),\n };\n};\n\nexport const read = (str: string, opts: TransitOptions = {}) => {\n const {typeHandlers = [], verbose = false} = opts;\n const {reader: r} = createTransitConverters(typeHandlers, opts);\n return r.read(str);\n};\n\nexport const write = (data: any, opts: TransitOptions = {}) => {\n const {typeHandlers = [], verbose = false} = opts;\n const {writer: w} = createTransitConverters(typeHandlers, opts);\n return w.write(data);\n};\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","var iterate = require('./lib/iterate.js')\n , initState = require('./lib/state.js')\n , terminator = require('./lib/terminator.js')\n ;\n\n// Public API\nmodule.exports = parallel;\n\n/**\n * Runs iterator over provided array elements in parallel\n *\n * @param {array|object} list - array or object (named list) to iterate over\n * @param {function} iterator - iterator to run\n * @param {function} callback - invoked when all elements processed\n * @returns {function} - jobs terminator\n */\nfunction parallel(list, iterator, callback)\n{\n var state = initState(list);\n\n while (state.index < (state['keyedList'] || list).length)\n {\n iterate(list, iterator, state, function(error, result)\n {\n if (error)\n {\n callback(error, result);\n return;\n }\n\n // looks like it's the last one\n if (Object.keys(state.jobs).length === 0)\n {\n callback(null, state.results);\n return;\n }\n });\n\n state.index++;\n }\n\n return terminator.bind(state, callback);\n}\n","import crypto from 'crypto';\nexport default {\n randomUUID: crypto.randomUUID\n};","/**\n * @fileoverview Client for managing transactions in the Sharetribe Marketplace API.\n *\n * Use this to:\n * - Query your own transactions\n * - Initiate new orders/inquiries\n * - Transition transactions (accept, complete, cancel, etc.)\n * - Perform speculative transitions (dry-run)\n *\n * All operations require authentication.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#transactions\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n TransactionsInitiateParameter,\n TransactionsInitiateSpeculativeParameter,\n TransactionsQueryParameter,\n TransactionsResponse,\n TransactionsShowParameter,\n TransactionsTransitionParameter,\n TransactionsTransitionSpeculativeParameter,\n} from \"../../types\";\n\n/**\n * Transactions API client (current user)\n */\nclass Transactions {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/transactions`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single transaction by ID\n *\n * @template P\n * @param {P & TransactionsShowParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"show\", P>>>}\n */\n async show<P extends TransactionsShowParameter>(\n params: P\n ): Promise<AxiosResponse<TransactionsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query your own transactions\n *\n * @template P\n * @param {P & TransactionsQueryParameter} params\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"query\", P>>>}\n */\n async query<P extends TransactionsQueryParameter>(\n params?: P\n ): Promise<AxiosResponse<TransactionsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Initiate a new transaction (e.g. place an order)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsInitiateParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"initiate\", P, EP>>>}\n */\n async initiate<\n P extends TransactionsInitiateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"initiate\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/initiate`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Initiate a transaction speculatively (dry-run)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsInitiateSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"initiateSpeculative\", P, EP>>>}\n */\n async initiateSpeculative<\n P extends TransactionsInitiateSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"initiateSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/initiate_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Transition a transaction to a new state\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>>}\n *\n * @example\n * await sdk.transactions.transition({\n * id: \"tx-abc123\",\n * transition: \"transition/confirm-payment\"\n * });\n */\n async transition<\n P extends TransactionsTransitionParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transition\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n\n /**\n * Perform a speculative transition (dry-run)\n *\n * @template P\n * @template EP\n * @param {P & TransactionsTransitionSpeculativeParameter} params\n * @param {EP} [extraParams]\n * @returns {Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>>}\n */\n async transitionSpeculative<\n P extends TransactionsTransitionSpeculativeParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<TransactionsResponse<\"transitionSpeculative\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/transition_speculative`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default Transactions;","import utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport buildURL from './../helpers/buildURL.js';\nimport proxyFromEnv from 'proxy-from-env';\nimport http from 'http';\nimport https from 'https';\nimport http2 from 'http2';\nimport util from 'util';\nimport followRedirects from 'follow-redirects';\nimport zlib from 'zlib';\nimport {VERSION} from '../env/data.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport platform from '../platform/index.js';\nimport fromDataURI from '../helpers/fromDataURI.js';\nimport stream from 'stream';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport AxiosTransformStream from '../helpers/AxiosTransformStream.js';\nimport {EventEmitter} from 'events';\nimport formDataToStream from \"../helpers/formDataToStream.js\";\nimport readBlob from \"../helpers/readBlob.js\";\nimport ZlibHeaderTransformStream from '../helpers/ZlibHeaderTransformStream.js';\nimport callbackify from \"../helpers/callbackify.js\";\nimport {progressEventReducer, progressEventDecorator, asyncDecorator} from \"../helpers/progressEventReducer.js\";\nimport estimateDataURLDecodedBytes from '../helpers/estimateDataURLDecodedBytes.js';\n\nconst zlibOptions = {\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH\n};\n\nconst brotliOptions = {\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH\n}\n\nconst isBrotliSupported = utils.isFunction(zlib.createBrotliDecompress);\n\nconst {http: httpFollow, https: httpsFollow} = followRedirects;\n\nconst isHttps = /https:?/;\n\nconst supportedProtocols = platform.protocols.map(protocol => {\n return protocol + ':';\n});\n\n\nconst flushOnFinish = (stream, [throttled, flush]) => {\n stream\n .on('end', flush)\n .on('error', flush);\n\n return throttled;\n}\n\nclass Http2Sessions {\n constructor() {\n this.sessions = Object.create(null);\n }\n\n getSession(authority, options) {\n options = Object.assign({\n sessionTimeout: 1000\n }, options);\n\n let authoritySessions = this.sessions[authority];\n\n if (authoritySessions) {\n let len = authoritySessions.length;\n\n for (let i = 0; i < len; i++) {\n const [sessionHandle, sessionOptions] = authoritySessions[i];\n if (!sessionHandle.destroyed && !sessionHandle.closed && util.isDeepStrictEqual(sessionOptions, options)) {\n return sessionHandle;\n }\n }\n }\n\n const session = http2.connect(authority, options);\n\n let removed;\n\n const removeSession = () => {\n if (removed) {\n return;\n }\n\n removed = true;\n\n let entries = authoritySessions, len = entries.length, i = len;\n\n while (i--) {\n if (entries[i][0] === session) {\n if (len === 1) {\n delete this.sessions[authority];\n } else {\n entries.splice(i, 1);\n }\n return;\n }\n }\n };\n\n const originalRequestFn = session.request;\n\n const {sessionTimeout} = options;\n\n if(sessionTimeout != null) {\n\n let timer;\n let streamsCount = 0;\n\n session.request = function () {\n const stream = originalRequestFn.apply(this, arguments);\n\n streamsCount++;\n\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n\n stream.once('close', () => {\n if (!--streamsCount) {\n timer = setTimeout(() => {\n timer = null;\n removeSession();\n }, sessionTimeout);\n }\n });\n\n return stream;\n }\n }\n\n session.once('close', removeSession);\n\n let entry = [\n session,\n options\n ];\n\n authoritySessions ? authoritySessions.push(entry) : authoritySessions = this.sessions[authority] = [entry];\n\n return session;\n }\n}\n\nconst http2Sessions = new Http2Sessions();\n\n\n/**\n * If the proxy or config beforeRedirects functions are defined, call them with the options\n * object.\n *\n * @param {Object<string, any>} options - The options object that was passed to the request.\n *\n * @returns {Object<string, any>}\n */\nfunction dispatchBeforeRedirect(options, responseDetails) {\n if (options.beforeRedirects.proxy) {\n options.beforeRedirects.proxy(options);\n }\n if (options.beforeRedirects.config) {\n options.beforeRedirects.config(options, responseDetails);\n }\n}\n\n/**\n * If the proxy or config afterRedirects functions are defined, call them with the options\n *\n * @param {http.ClientRequestArgs} options\n * @param {AxiosProxyConfig} configProxy configuration from Axios options object\n * @param {string} location\n *\n * @returns {http.ClientRequestArgs}\n */\nfunction setProxy(options, configProxy, location) {\n let proxy = configProxy;\n if (!proxy && proxy !== false) {\n const proxyUrl = proxyFromEnv.getProxyForUrl(location);\n if (proxyUrl) {\n proxy = new URL(proxyUrl);\n }\n }\n if (proxy) {\n // Basic proxy authorization\n if (proxy.username) {\n proxy.auth = (proxy.username || '') + ':' + (proxy.password || '');\n }\n\n if (proxy.auth) {\n // Support proxy auth object form\n if (proxy.auth.username || proxy.auth.password) {\n proxy.auth = (proxy.auth.username || '') + ':' + (proxy.auth.password || '');\n }\n const base64 = Buffer\n .from(proxy.auth, 'utf8')\n .toString('base64');\n options.headers['Proxy-Authorization'] = 'Basic ' + base64;\n }\n\n options.headers.host = options.hostname + (options.port ? ':' + options.port : '');\n const proxyHost = proxy.hostname || proxy.host;\n options.hostname = proxyHost;\n // Replace 'host' since options is not a URL object\n options.host = proxyHost;\n options.port = proxy.port;\n options.path = location;\n if (proxy.protocol) {\n options.protocol = proxy.protocol.includes(':') ? proxy.protocol : `${proxy.protocol}:`;\n }\n }\n\n options.beforeRedirects.proxy = function beforeRedirect(redirectOptions) {\n // Configure proxy for redirected request, passing the original config proxy to apply\n // the exact same logic as if the redirected request was performed by axios directly.\n setProxy(redirectOptions, configProxy, redirectOptions.href);\n };\n}\n\nconst isHttpAdapterSupported = typeof process !== 'undefined' && utils.kindOf(process) === 'process';\n\n// temporary hotfix\n\nconst wrapAsync = (asyncExecutor) => {\n return new Promise((resolve, reject) => {\n let onDone;\n let isDone;\n\n const done = (value, isRejected) => {\n if (isDone) return;\n isDone = true;\n onDone && onDone(value, isRejected);\n }\n\n const _resolve = (value) => {\n done(value);\n resolve(value);\n };\n\n const _reject = (reason) => {\n done(reason, true);\n reject(reason);\n }\n\n asyncExecutor(_resolve, _reject, (onDoneHandler) => (onDone = onDoneHandler)).catch(_reject);\n })\n};\n\nconst resolveFamily = ({address, family}) => {\n if (!utils.isString(address)) {\n throw TypeError('address must be a string');\n }\n return ({\n address,\n family: family || (address.indexOf('.') < 0 ? 6 : 4)\n });\n}\n\nconst buildAddressEntry = (address, family) => resolveFamily(utils.isObject(address) ? address : {address, family});\n\nconst http2Transport = {\n request(options, cb) {\n const authority = options.protocol + '//' + options.hostname + ':' + (options.port || 80);\n\n const {http2Options, headers} = options;\n\n const session = http2Sessions.getSession(authority, http2Options);\n\n const {\n HTTP2_HEADER_SCHEME,\n HTTP2_HEADER_METHOD,\n HTTP2_HEADER_PATH,\n HTTP2_HEADER_STATUS\n } = http2.constants;\n\n const http2Headers = {\n [HTTP2_HEADER_SCHEME]: options.protocol.replace(':', ''),\n [HTTP2_HEADER_METHOD]: options.method,\n [HTTP2_HEADER_PATH]: options.path,\n }\n\n utils.forEach(headers, (header, name) => {\n name.charAt(0) !== ':' && (http2Headers[name] = header);\n });\n\n const req = session.request(http2Headers);\n\n req.once('response', (responseHeaders) => {\n const response = req; //duplex\n\n responseHeaders = Object.assign({}, responseHeaders);\n\n const status = responseHeaders[HTTP2_HEADER_STATUS];\n\n delete responseHeaders[HTTP2_HEADER_STATUS];\n\n response.headers = responseHeaders;\n\n response.statusCode = +status;\n\n cb(response);\n })\n\n return req;\n }\n}\n\n/*eslint consistent-return:0*/\nexport default isHttpAdapterSupported && function httpAdapter(config) {\n return wrapAsync(async function dispatchHttpRequest(resolve, reject, onDone) {\n let {data, lookup, family, httpVersion = 1, http2Options} = config;\n const {responseType, responseEncoding} = config;\n const method = config.method.toUpperCase();\n let isDone;\n let rejected = false;\n let req;\n\n httpVersion = +httpVersion;\n\n if (Number.isNaN(httpVersion)) {\n throw TypeError(`Invalid protocol version: '${config.httpVersion}' is not a number`);\n }\n\n if (httpVersion !== 1 && httpVersion !== 2) {\n throw TypeError(`Unsupported protocol version '${httpVersion}'`);\n }\n\n const isHttp2 = httpVersion === 2;\n\n if (lookup) {\n const _lookup = callbackify(lookup, (value) => utils.isArray(value) ? value : [value]);\n // hotfix to support opt.all option which is required for node 20.x\n lookup = (hostname, opt, cb) => {\n _lookup(hostname, opt, (err, arg0, arg1) => {\n if (err) {\n return cb(err);\n }\n\n const addresses = utils.isArray(arg0) ? arg0.map(addr => buildAddressEntry(addr)) : [buildAddressEntry(arg0, arg1)];\n\n opt.all ? cb(err, addresses) : cb(err, addresses[0].address, addresses[0].family);\n });\n }\n }\n\n const abortEmitter = new EventEmitter();\n\n function abort(reason) {\n try {\n abortEmitter.emit('abort', !reason || reason.type ? new CanceledError(null, config, req) : reason);\n } catch(err) {\n console.warn('emit error', err);\n }\n }\n\n abortEmitter.once('abort', reject);\n\n const onFinished = () => {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(abort);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', abort);\n }\n\n abortEmitter.removeAllListeners();\n }\n\n if (config.cancelToken || config.signal) {\n config.cancelToken && config.cancelToken.subscribe(abort);\n if (config.signal) {\n config.signal.aborted ? abort() : config.signal.addEventListener('abort', abort);\n }\n }\n\n onDone((response, isRejected) => {\n isDone = true;\n\n if (isRejected) {\n rejected = true;\n onFinished();\n return;\n }\n\n const {data} = response;\n\n if (data instanceof stream.Readable || data instanceof stream.Duplex) {\n const offListeners = stream.finished(data, () => {\n offListeners();\n onFinished();\n });\n } else {\n onFinished();\n }\n });\n\n\n\n\n\n // Parse url\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n const parsed = new URL(fullPath, platform.hasBrowserEnv ? platform.origin : undefined);\n const protocol = parsed.protocol || supportedProtocols[0];\n\n if (protocol === 'data:') {\n // Apply the same semantics as HTTP: only enforce if a finite, non-negative cap is set.\n if (config.maxContentLength > -1) {\n // Use the exact string passed to fromDataURI (config.url); fall back to fullPath if needed.\n const dataUrl = String(config.url || fullPath || '');\n const estimated = estimateDataURLDecodedBytes(dataUrl);\n\n if (estimated > config.maxContentLength) {\n return reject(new AxiosError(\n 'maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE,\n config\n ));\n }\n }\n\n let convertedData;\n\n if (method !== 'GET') {\n return settle(resolve, reject, {\n status: 405,\n statusText: 'method not allowed',\n headers: {},\n config\n });\n }\n\n try {\n convertedData = fromDataURI(config.url, responseType === 'blob', {\n Blob: config.env && config.env.Blob\n });\n } catch (err) {\n throw AxiosError.from(err, AxiosError.ERR_BAD_REQUEST, config);\n }\n\n if (responseType === 'text') {\n convertedData = convertedData.toString(responseEncoding);\n\n if (!responseEncoding || responseEncoding === 'utf8') {\n convertedData = utils.stripBOM(convertedData);\n }\n } else if (responseType === 'stream') {\n convertedData = stream.Readable.from(convertedData);\n }\n\n return settle(resolve, reject, {\n data: convertedData,\n status: 200,\n statusText: 'OK',\n headers: new AxiosHeaders(),\n config\n });\n }\n\n if (supportedProtocols.indexOf(protocol) === -1) {\n return reject(new AxiosError(\n 'Unsupported protocol ' + protocol,\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n const headers = AxiosHeaders.from(config.headers).normalize();\n\n // Set User-Agent (required by some servers)\n // See https://github.com/axios/axios/issues/69\n // User-Agent is specified; handle case where no UA header is desired\n // Only set header if it hasn't been set in config\n headers.set('User-Agent', 'axios/' + VERSION, false);\n\n const {onUploadProgress, onDownloadProgress} = config;\n const maxRate = config.maxRate;\n let maxUploadRate = undefined;\n let maxDownloadRate = undefined;\n\n // support for spec compliant FormData objects\n if (utils.isSpecCompliantForm(data)) {\n const userBoundary = headers.getContentType(/boundary=([-_\\w\\d]{10,70})/i);\n\n data = formDataToStream(data, (formHeaders) => {\n headers.set(formHeaders);\n }, {\n tag: `axios-${VERSION}-boundary`,\n boundary: userBoundary && userBoundary[1] || undefined\n });\n // support for https://www.npmjs.com/package/form-data api\n } else if (utils.isFormData(data) && utils.isFunction(data.getHeaders)) {\n headers.set(data.getHeaders());\n\n if (!headers.hasContentLength()) {\n try {\n const knownLength = await util.promisify(data.getLength).call(data);\n Number.isFinite(knownLength) && knownLength >= 0 && headers.setContentLength(knownLength);\n /*eslint no-empty:0*/\n } catch (e) {\n }\n }\n } else if (utils.isBlob(data) || utils.isFile(data)) {\n data.size && headers.setContentType(data.type || 'application/octet-stream');\n headers.setContentLength(data.size || 0);\n data = stream.Readable.from(readBlob(data));\n } else if (data && !utils.isStream(data)) {\n if (Buffer.isBuffer(data)) {\n // Nothing to do...\n } else if (utils.isArrayBuffer(data)) {\n data = Buffer.from(new Uint8Array(data));\n } else if (utils.isString(data)) {\n data = Buffer.from(data, 'utf-8');\n } else {\n return reject(new AxiosError(\n 'Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n\n // Add Content-Length header if data exists\n headers.setContentLength(data.length, false);\n\n if (config.maxBodyLength > -1 && data.length > config.maxBodyLength) {\n return reject(new AxiosError(\n 'Request body larger than maxBodyLength limit',\n AxiosError.ERR_BAD_REQUEST,\n config\n ));\n }\n }\n\n const contentLength = utils.toFiniteNumber(headers.getContentLength());\n\n if (utils.isArray(maxRate)) {\n maxUploadRate = maxRate[0];\n maxDownloadRate = maxRate[1];\n } else {\n maxUploadRate = maxDownloadRate = maxRate;\n }\n\n if (data && (onUploadProgress || maxUploadRate)) {\n if (!utils.isStream(data)) {\n data = stream.Readable.from(data, {objectMode: false});\n }\n\n data = stream.pipeline([data, new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxUploadRate)\n })], utils.noop);\n\n onUploadProgress && data.on('progress', flushOnFinish(\n data,\n progressEventDecorator(\n contentLength,\n progressEventReducer(asyncDecorator(onUploadProgress), false, 3)\n )\n ));\n }\n\n // HTTP basic authentication\n let auth = undefined;\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password || '';\n auth = username + ':' + password;\n }\n\n if (!auth && parsed.username) {\n const urlUsername = parsed.username;\n const urlPassword = parsed.password;\n auth = urlUsername + ':' + urlPassword;\n }\n\n auth && headers.delete('authorization');\n\n let path;\n\n try {\n path = buildURL(\n parsed.pathname + parsed.search,\n config.params,\n config.paramsSerializer\n ).replace(/^\\?/, '');\n } catch (err) {\n const customErr = new Error(err.message);\n customErr.config = config;\n customErr.url = config.url;\n customErr.exists = true;\n return reject(customErr);\n }\n\n headers.set(\n 'Accept-Encoding',\n 'gzip, compress, deflate' + (isBrotliSupported ? ', br' : ''), false\n );\n\n const options = {\n path,\n method: method,\n headers: headers.toJSON(),\n agents: { http: config.httpAgent, https: config.httpsAgent },\n auth,\n protocol,\n family,\n beforeRedirect: dispatchBeforeRedirect,\n beforeRedirects: {},\n http2Options\n };\n\n // cacheable-lookup integration hotfix\n !utils.isUndefined(lookup) && (options.lookup = lookup);\n\n if (config.socketPath) {\n options.socketPath = config.socketPath;\n } else {\n options.hostname = parsed.hostname.startsWith(\"[\") ? parsed.hostname.slice(1, -1) : parsed.hostname;\n options.port = parsed.port;\n setProxy(options, config.proxy, protocol + '//' + parsed.hostname + (parsed.port ? ':' + parsed.port : '') + options.path);\n }\n\n let transport;\n const isHttpsRequest = isHttps.test(options.protocol);\n options.agent = isHttpsRequest ? config.httpsAgent : config.httpAgent;\n\n if (isHttp2) {\n transport = http2Transport;\n } else {\n if (config.transport) {\n transport = config.transport;\n } else if (config.maxRedirects === 0) {\n transport = isHttpsRequest ? https : http;\n } else {\n if (config.maxRedirects) {\n options.maxRedirects = config.maxRedirects;\n }\n if (config.beforeRedirect) {\n options.beforeRedirects.config = config.beforeRedirect;\n }\n transport = isHttpsRequest ? httpsFollow : httpFollow;\n }\n }\n\n if (config.maxBodyLength > -1) {\n options.maxBodyLength = config.maxBodyLength;\n } else {\n // follow-redirects does not skip comparison, so it should always succeed for axios -1 unlimited\n options.maxBodyLength = Infinity;\n }\n\n if (config.insecureHTTPParser) {\n options.insecureHTTPParser = config.insecureHTTPParser;\n }\n\n // Create the request\n req = transport.request(options, function handleResponse(res) {\n if (req.destroyed) return;\n\n const streams = [res];\n\n const responseLength = utils.toFiniteNumber(res.headers['content-length']);\n\n if (onDownloadProgress || maxDownloadRate) {\n const transformStream = new AxiosTransformStream({\n maxRate: utils.toFiniteNumber(maxDownloadRate)\n });\n\n onDownloadProgress && transformStream.on('progress', flushOnFinish(\n transformStream,\n progressEventDecorator(\n responseLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true, 3)\n )\n ));\n\n streams.push(transformStream);\n }\n\n // decompress the response body transparently if required\n let responseStream = res;\n\n // return the last request in case of redirects\n const lastRequest = res.req || req;\n\n // if decompress disabled we should not decompress\n if (config.decompress !== false && res.headers['content-encoding']) {\n // if no content, but headers still say that it is encoded,\n // remove the header not confuse downstream operations\n if (method === 'HEAD' || res.statusCode === 204) {\n delete res.headers['content-encoding'];\n }\n\n switch ((res.headers['content-encoding'] || '').toLowerCase()) {\n /*eslint default-case:0*/\n case 'gzip':\n case 'x-gzip':\n case 'compress':\n case 'x-compress':\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'deflate':\n streams.push(new ZlibHeaderTransformStream());\n\n // add the unzipper to the body stream processing pipeline\n streams.push(zlib.createUnzip(zlibOptions));\n\n // remove the content-encoding in order to not confuse downstream operations\n delete res.headers['content-encoding'];\n break;\n case 'br':\n if (isBrotliSupported) {\n streams.push(zlib.createBrotliDecompress(brotliOptions));\n delete res.headers['content-encoding'];\n }\n }\n }\n\n responseStream = streams.length > 1 ? stream.pipeline(streams, utils.noop) : streams[0];\n\n\n\n const response = {\n status: res.statusCode,\n statusText: res.statusMessage,\n headers: new AxiosHeaders(res.headers),\n config,\n request: lastRequest\n };\n\n if (responseType === 'stream') {\n response.data = responseStream;\n settle(resolve, reject, response);\n } else {\n const responseBuffer = [];\n let totalResponseBytes = 0;\n\n responseStream.on('data', function handleStreamData(chunk) {\n responseBuffer.push(chunk);\n totalResponseBytes += chunk.length;\n\n // make sure the content length is not over the maxContentLength if specified\n if (config.maxContentLength > -1 && totalResponseBytes > config.maxContentLength) {\n // stream.destroy() emit aborted event before calling reject() on Node.js v16\n rejected = true;\n responseStream.destroy();\n abort(new AxiosError('maxContentLength size of ' + config.maxContentLength + ' exceeded',\n AxiosError.ERR_BAD_RESPONSE, config, lastRequest));\n }\n });\n\n responseStream.on('aborted', function handlerStreamAborted() {\n if (rejected) {\n return;\n }\n\n const err = new AxiosError(\n 'stream has been aborted',\n AxiosError.ERR_BAD_RESPONSE,\n config,\n lastRequest\n );\n responseStream.destroy(err);\n reject(err);\n });\n\n responseStream.on('error', function handleStreamError(err) {\n if (req.destroyed) return;\n reject(AxiosError.from(err, null, config, lastRequest));\n });\n\n responseStream.on('end', function handleStreamEnd() {\n try {\n let responseData = responseBuffer.length === 1 ? responseBuffer[0] : Buffer.concat(responseBuffer);\n if (responseType !== 'arraybuffer') {\n responseData = responseData.toString(responseEncoding);\n if (!responseEncoding || responseEncoding === 'utf8') {\n responseData = utils.stripBOM(responseData);\n }\n }\n response.data = responseData;\n } catch (err) {\n return reject(AxiosError.from(err, null, config, response.request, response));\n }\n settle(resolve, reject, response);\n });\n }\n\n abortEmitter.once('abort', err => {\n if (!responseStream.destroyed) {\n responseStream.emit('error', err);\n responseStream.destroy();\n }\n });\n });\n\n abortEmitter.once('abort', err => {\n if (req.close) {\n req.close();\n } else {\n req.destroy(err);\n }\n });\n\n // Handle errors\n req.on('error', function handleRequestError(err) {\n // @todo remove\n // if (req.aborted && err.code !== AxiosError.ERR_FR_TOO_MANY_REDIRECTS) return;\n reject(AxiosError.from(err, null, config, req));\n });\n\n // set tcp keep alive to prevent drop connection by peer\n req.on('socket', function handleRequestSocket(socket) {\n // default interval of sending ack packet is 1 minute\n socket.setKeepAlive(true, 1000 * 60);\n });\n\n // Handle request timeout\n if (config.timeout) {\n // This is forcing a int timeout to avoid problems if the `req` interface doesn't handle other types.\n const timeout = parseInt(config.timeout, 10);\n\n if (Number.isNaN(timeout)) {\n abort(new AxiosError(\n 'error trying to parse `config.timeout` to int',\n AxiosError.ERR_BAD_OPTION_VALUE,\n config,\n req\n ));\n\n return;\n }\n\n // Sometime, the response will be very slow, and does not respond, the connect event will be block by event loop system.\n // And timer callback will be fired, and abort() will be invoked before connection, then get \"socket hang up\" and code ECONNRESET.\n // At this time, if we have a large number of request, nodejs will hang up some socket on background. and the number will up and up.\n // And then these socket which be hang up will devouring CPU little by little.\n // ClientRequest.setTimeout will be fired on the specify milliseconds, and can make sure that abort() will be fired after connect.\n req.setTimeout(timeout, function handleRequestTimeout() {\n if (isDone) return;\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n abort(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n req\n ));\n });\n } else {\n // explicitly reset the socket timeout value for a possible `keep-alive` request\n req.setTimeout(0);\n }\n\n\n // Send the request\n if (utils.isStream(data)) {\n let ended = false;\n let errored = false;\n\n data.on('end', () => {\n ended = true;\n });\n\n data.once('error', err => {\n errored = true;\n req.destroy(err);\n });\n\n data.on('close', () => {\n if (!ended && !errored) {\n abort(new CanceledError('Request stream has been aborted', config, req));\n }\n });\n\n data.pipe(req);\n } else {\n data && req.write(data);\n req.end();\n }\n });\n}\n\nexport const __setProxy = setProxy;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/**\n * @fileoverview Client for querying time slots in the Sharetribe Marketplace API.\n *\n * Use this to fetch availability for listings that use time-based booking\n * (e.g. hourly rentals, appointments, classes).\n *\n * Returns day or time-range slots with seat availability.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#time-slots\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {TimeSlotsQueryParameter, TimeSlotsResponse,} from \"../../types\";\n\n/**\n * Time Slots API client\n */\nclass TimeSlots {\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/timeslots`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query available time slots for a listing\n *\n * @template P\n * @param {P & TimeSlotsQueryParameter} params\n * @returns {Promise<AxiosResponse<TimeSlotsResponse<\"query\">>>}\n *\n * @example\n * const { data } = await sdk.timeSlots.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-06-01T00:00:00Z\",\n * end: \"2025-06-07T23:59:59Z\"\n * });\n *\n * // `data` contains TimeSlot[] with `seats` and `start`/`end`\n */\n async query<P extends TimeSlotsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<TimeSlotsResponse<\"query\">>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default TimeSlots;","module.exports = require(\"util\");","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","import crypto from 'crypto';\nimport URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n const randomValues = new Uint32Array(size);\n crypto.randomFillSync(randomValues);\n for (let i = 0; i < size; i++) {\n str += alphabet[randomValues[i] % length];\n }\n\n return str;\n}\n\n\nexport default {\n isNode: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob: typeof Blob !== 'undefined' && Blob || null\n },\n ALPHABET,\n generateString,\n protocols: [ 'http', 'https', 'file', 'data' ]\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","import UUID from \"../sdkTypes/UUID\";\nimport LatLng from \"../sdkTypes/LatLng\";\nimport LatLngBounds from \"../sdkTypes/LatLngBounds\";\n\nconst UNKNOWN_TYPE = \"unknown-type\";\n\n/**\n * Serializes a value into a string representation for URL query parameters.\n *\n * @param {*} value - The value to serialize. Supported types:\n * - `UUID` instance: serialized as its `uuid` string.\n * - `LatLng` instance: serialized as \"lat,lng\".\n * - `LatLngBounds` instance: serialized as \"ne.lat,ne.lng,sw.lat,sw.lng\".\n * - `Array`: serialized by recursively serializing each element.\n * - `Date`: serialized as an ISO string.\n * - Primitive types and `null`: returned as-is.\n * @throws {Error} Will throw an error if the value type is unsupported.\n * @returns {string|*} The serialized value.\n */\nexport const serializeValue = (value: any) => {\n let v: any;\n\n if (value instanceof UUID) {\n v = value.uuid;\n } else if (value instanceof LatLng) {\n v = `${value.lat},${value.lng}`;\n } else if (value instanceof LatLngBounds) {\n v = `${value.ne.lat},${value.ne.lng},${value.sw.lat},${value.sw.lng}`;\n } else if (Array.isArray(value)) {\n v = value.map(serializeValue);\n } else if (value instanceof Date) {\n v = value.toISOString();\n } else if (value === null) {\n v = value;\n } else if (typeof value !== \"object\") {\n v = value;\n } else {\n throw new Error(UNKNOWN_TYPE);\n }\n\n return v;\n};\n\n/**\n * Serializes a record of parameters into a query string.\n *\n * @param {Record<string, any>} params - The parameters to serialize. Each value is serialized\n * using the `serializeValue` function.\n * @returns {string} A URL-encoded query string.\n */\nfunction parameterSerializer(params: Record<string, any>): string {\n const serializedParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n serializedParams.append(key, serializeValue(value));\n });\n return serializedParams.toString();\n}\n\nexport default parameterSerializer;\n","import utils from \"../utils.js\";\n\nconst callbackify = (fn, reducer) => {\n return utils.isAsyncFn(fn) ? function (...args) {\n const cb = args.pop();\n fn.apply(this, args).then((value) => {\n try {\n reducer ? cb(null, ...reducer(value)) : cb(null, value);\n } catch (err) {\n cb(err);\n }\n }, cb);\n } : fn;\n}\n\nexport default callbackify;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","/**\n * @fileoverview Provides the Money class for handling monetary values.\n * This class ensures proper structure and validation of monetary values with an amount and a currency.\n */\n\nimport {SdkType} from \"../types\";\n// Define a static class name\nconst MONEY_SDK_TYPE = \"Money\";\n\n/**\n * Class representing a monetary value.\n *\n * The Money class encapsulates an amount in the smallest unit of the currency (e.g., cents)\n * and a currency code (e.g., \"USD\").\n */\nclass Money implements SdkType {\n amount: number;\n currency: string;\n readonly _sdkType: typeof MONEY_SDK_TYPE;\n\n /**\n * Creates an instance of the Money class.\n *\n * @param {number} amount - The monetary amount, represented in the smallest unit of the currency (e.g., cents for USD).\n * @param {string} currency - The currency code, represented as a three-character string (e.g., \"USD\").\n * @example\n * const money = new Money(1000, 'USD');\n * console.log(money); // Outputs: Money { amount: 1000, currency: 'USD' }\n */\n constructor(amount: number, currency: string) {\n this._sdkType = MONEY_SDK_TYPE;\n\n let isValid = true;\n\n // Validate the amount.\n if (!Number.isInteger(amount)) {\n console.warn(\"Amount must be an integer.\", amount);\n isValid = false;\n }\n\n // Validate the currency code.\n if (currency.length < 3) {\n console.warn(\"Currency must be at least 3 characters long.\");\n isValid = false;\n }\n\n this.amount = amount;\n this.currency = currency;\n\n if (!isValid) {\n console.warn(\"Invalid Money values provided.\");\n }\n }\n}\n\n// Default export for backward compatibility\nexport default Money;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","// API\nmodule.exports = state;\n\n/**\n * Creates initial state object\n * for iteration over list\n *\n * @param {array|object} list - list to iterate over\n * @param {function|null} sortMethod - function to use for keys sort,\n * or `null` to keep them as is\n * @returns {object} - initial state object\n */\nfunction state(list, sortMethod)\n{\n var isNamedList = !Array.isArray(list)\n , initState =\n {\n index : 0,\n keyedList: isNamedList || sortMethod ? Object.keys(list) : null,\n jobs : {},\n results : isNamedList ? {} : [],\n size : isNamedList ? Object.keys(list).length : list.length\n }\n ;\n\n if (sortMethod)\n {\n // sort array keys based on it's values\n // sort object's keys just on own merit\n initState.keyedList.sort(isNamedList ? sortMethod : function(a, b)\n {\n return sortMethod(list[a], list[b]);\n });\n }\n\n return initState;\n}\n","/**\n * @fileoverview Client for querying reviews in the Sharetribe Marketplace API.\n *\n * Use this to fetch your own reviews or reviews for listings you own.\n * Only returns reviews the current user is authorized to see.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#reviews\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {ReviewsQueryParameter, ReviewsResponse, ReviewsShowParameter,} from \"../../types\";\n\n/**\n * Reviews API client (own reviews only)\n */\nclass Reviews {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/reviews`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Fetch a single review by ID\n *\n * @template P\n * @param {P & ReviewsShowParameter} params\n * @returns {Promise<AxiosResponse<ReviewsResponse<\"show\", P>>>}\n *\n * @example\n * const { data } = await sdk.reviews.show({ id: \"rev-abc123\" });\n */\n async show<P extends ReviewsShowParameter>(\n params: P\n ): Promise<AxiosResponse<ReviewsResponse<\"show\", P>>> {\n return this.axios.get(`${this.endpoint}/show`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Query your own reviews or reviews for your listings\n *\n * @template P\n * @param {P & ReviewsQueryParameter} params\n * @returns {Promise<AxiosResponse<ReviewsResponse<\"query\", P>>>}\n *\n * @example\n * // All reviews you've received\n * const { data } = await sdk.reviews.query({ subjectId: \"current\" });\n *\n * @example\n * // Reviews for one of your listings\n * await sdk.reviews.query({ listingId: \"listing-abc123\" });\n */\n async query<P extends ReviewsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<ReviewsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n}\n\nexport default Reviews;","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\nvar $TypeError = require('es-errors/type');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;\n\tvar nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;\n\tif (\n\t\t(typeof overrideIfSet !== 'undefined' && typeof overrideIfSet !== 'boolean')\n\t\t|| (typeof nonConfigurable !== 'undefined' && typeof nonConfigurable !== 'boolean')\n\t) {\n\t\tthrow new $TypeError('if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans');\n\t}\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: !nonConfigurable,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","import util from 'util';\nimport {Readable} from 'stream';\nimport utils from \"../utils.js\";\nimport readBlob from \"./readBlob.js\";\nimport platform from \"../platform/index.js\";\n\nconst BOUNDARY_ALPHABET = platform.ALPHABET.ALPHA_DIGIT + '-_';\n\nconst textEncoder = typeof TextEncoder === 'function' ? new TextEncoder() : new util.TextEncoder();\n\nconst CRLF = '\\r\\n';\nconst CRLF_BYTES = textEncoder.encode(CRLF);\nconst CRLF_BYTES_COUNT = 2;\n\nclass FormDataPart {\n constructor(name, value) {\n const {escapeName} = this.constructor;\n const isStringValue = utils.isString(value);\n\n let headers = `Content-Disposition: form-data; name=\"${escapeName(name)}\"${\n !isStringValue && value.name ? `; filename=\"${escapeName(value.name)}\"` : ''\n }${CRLF}`;\n\n if (isStringValue) {\n value = textEncoder.encode(String(value).replace(/\\r?\\n|\\r\\n?/g, CRLF));\n } else {\n headers += `Content-Type: ${value.type || \"application/octet-stream\"}${CRLF}`\n }\n\n this.headers = textEncoder.encode(headers + CRLF);\n\n this.contentLength = isStringValue ? value.byteLength : value.size;\n\n this.size = this.headers.byteLength + this.contentLength + CRLF_BYTES_COUNT;\n\n this.name = name;\n this.value = value;\n }\n\n async *encode(){\n yield this.headers;\n\n const {value} = this;\n\n if(utils.isTypedArray(value)) {\n yield value;\n } else {\n yield* readBlob(value);\n }\n\n yield CRLF_BYTES;\n }\n\n static escapeName(name) {\n return String(name).replace(/[\\r\\n\"]/g, (match) => ({\n '\\r' : '%0D',\n '\\n' : '%0A',\n '\"' : '%22',\n }[match]));\n }\n}\n\nconst formDataToStream = (form, headersHandler, options) => {\n const {\n tag = 'form-data-boundary',\n size = 25,\n boundary = tag + '-' + platform.generateString(size, BOUNDARY_ALPHABET)\n } = options || {};\n\n if(!utils.isFormData(form)) {\n throw TypeError('FormData instance required');\n }\n\n if (boundary.length < 1 || boundary.length > 70) {\n throw Error('boundary must be 10-70 characters long')\n }\n\n const boundaryBytes = textEncoder.encode('--' + boundary + CRLF);\n const footerBytes = textEncoder.encode('--' + boundary + '--' + CRLF);\n let contentLength = footerBytes.byteLength;\n\n const parts = Array.from(form.entries()).map(([name, value]) => {\n const part = new FormDataPart(name, value);\n contentLength += part.size;\n return part;\n });\n\n contentLength += boundaryBytes.byteLength * parts.length;\n\n contentLength = utils.toFiniteNumber(contentLength);\n\n const computedHeaders = {\n 'Content-Type': `multipart/form-data; boundary=${boundary}`\n }\n\n if (Number.isFinite(contentLength)) {\n computedHeaders['Content-Length'] = contentLength;\n }\n\n headersHandler && headersHandler(computedHeaders);\n\n return Readable.from((async function *() {\n for(const part of parts) {\n yield boundaryBytes;\n yield* part.encode();\n }\n\n yield footerBytes;\n })());\n};\n\nexport default formDataToStream;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","module.exports = require(\"http\");","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure, sameSite) {\n if (typeof document === 'undefined') return;\n\n const cookie = [`${name}=${encodeURIComponent(value)}`];\n\n if (utils.isNumber(expires)) {\n cookie.push(`expires=${new Date(expires).toUTCString()}`);\n }\n if (utils.isString(path)) {\n cookie.push(`path=${path}`);\n }\n if (utils.isString(domain)) {\n cookie.push(`domain=${domain}`);\n }\n if (secure === true) {\n cookie.push('secure');\n }\n if (utils.isString(sameSite)) {\n cookie.push(`SameSite=${sameSite}`);\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n if (typeof document === 'undefined') return null;\n const match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));\n return match ? decodeURIComponent(match[1]) : null;\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000, '/');\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","export const VERSION = \"1.13.2\";","module.exports = require(\"fs\");","/**\n * @fileoverview Client for managing manual stock adjustments in the Sharetribe Marketplace API.\n *\n * Stock adjustments are used for restocking, write-offs, corrections, or any manual change\n * that doesn’t come from a booking or reservation.\n *\n * @see https://www.sharetribe.com/api-reference/marketplace.html#stock-adjustments\n */\n\nimport type {AxiosInstance, AxiosResponse} from \"axios\";\nimport MarketplaceApi from \"./index\";\nimport {\n ExtraParameter,\n StockAdjustmentsCreateParameter,\n StockAdjustmentsQueryParameter,\n StockAdjustmentsResponse,\n} from \"../../types\";\n\n/**\n * Stock Adjustments API client (own listings only)\n */\nclass StockAdjustments {\n public readonly authRequired = true;\n private readonly axios: AxiosInstance;\n private readonly endpoint: string;\n private readonly headers: Record<string, string>;\n\n constructor(api: MarketplaceApi) {\n this.endpoint = `${api.endpoint}/stock_adjustments`;\n this.axios = api.axios;\n this.headers = api.headers;\n }\n\n /**\n * Query stock adjustment history\n *\n * @template P\n * @param {P & StockAdjustmentsQueryParameter} params\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>>}\n *\n * @example\n * const { data } = await sdk.stockAdjustments.query({\n * listingId: \"listing-abc123\",\n * start: \"2025-01-01\",\n * end: \"2025-01-31\"\n * });\n */\n async query<P extends StockAdjustmentsQueryParameter>(\n params: P\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"query\", P>>> {\n return this.axios.get(`${this.endpoint}/query`, {\n headers: this.headers,\n params,\n });\n }\n\n /**\n * Create a manual stock adjustment\n *\n * Positive quantity → add stock\n * Negative quantity → remove stock\n *\n * @template P\n * @template EP\n * @param {P & StockAdjustmentsCreateParameter} params\n * @param {EP} [extraParams] - Optional extra parameters (e.g. `expand: true`)\n * @returns {Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>>}\n *\n * @example\n * // Restock 50 units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: 50\n * });\n *\n * @example\n * // Write off 3 damaged units\n * await sdk.stockAdjustments.create({\n * listingId: \"listing-abc123\",\n * quantity: -3\n * });\n */\n async create<\n P extends StockAdjustmentsCreateParameter,\n EP extends ExtraParameter | undefined = undefined\n >(\n params: P,\n extraParams?: EP\n ): Promise<AxiosResponse<StockAdjustmentsResponse<\"create\", P, EP>>> {\n return this.axios.post(\n `${this.endpoint}/create`,\n {...params, ...extraParams},\n {headers: this.headers}\n );\n }\n}\n\nexport default StockAdjustments;","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","/**\n * @fileoverview Provides the LatLng class for representing geographical coordinates.\n * This class encapsulates a latitude and longitude pair, with validation for numeric input.\n */\n\nimport {SdkType} from \"../types\";\n\n// Define a static class name\nconst LATLNG_SDK_TYPE = \"LatLng\";\n\n/**\n * Class representing a geographical coordinate pair (latitude and longitude).\n */\nclass LatLng implements SdkType {\n lat: number | string;\n lng: number | string;\n readonly _sdkType: typeof LATLNG_SDK_TYPE;\n\n /**\n * Creates an instance of the LatLng class.\n *\n * @param {string | number} lat - The latitude value. Must be a number or a string that represents a number.\n * @param {string | number} lng - The longitude value. Must be a number or a string that represents a number.\n * @example\n * const coordinates = new LatLng(37.7749, -122.4194);\n * console.log(coordinates.toString()); // Outputs: '37.7749,-122.4194'\n */\n constructor(lat: string | number, lng: string | number) {\n this._sdkType = LATLNG_SDK_TYPE;\n\n // Helper function to validate if a value is a number or a number-like string.\n const isNumberOrNumberString = (val: any): boolean => {\n if (typeof val === \"number\") return true;\n return typeof val === \"string\" && /^\\d+(\\.\\d+)?$/.test(val);\n };\n\n // Validate latitude.\n if (!isNumberOrNumberString(lat)) {\n console.warn(\n \"Latitude must be a number or a string that represents a number\"\n );\n }\n\n // Validate longitude.\n if (!isNumberOrNumberString(lng)) {\n console.warn(\n \"Longitude must be a number or a string that represents a number\"\n );\n }\n\n // Assign values to instance properties.\n this.lat = lat;\n this.lng = lng;\n }\n\n /**\n * Converts the LatLng instance to a string representation.\n *\n * @returns {string} - A string in the format \"latitude,longitude\".\n * @example\n * const coordinates = new LatLng(37.7749, -122.4194);\n * console.log(coordinates.toString()); // Outputs: '37.7749,-122.4194'\n */\n toString(): string {\n return `${this.lat},${this.lng}`;\n }\n}\n\n// Default export for backward compatibility\nexport default LatLng;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * A collection of utilities, SDKs, and types provided by the Sharetribe SDK.\n *\n * @module SharetribeSdkExports\n */\n\nimport SharetribeSdkExport from \"./sdk\";\nimport IntegrationSdkExport from \"./integrationSdk\";\nimport BigDecimal from \"./sdkTypes/BigDecimal\";\nimport UUID from \"./sdkTypes/UUID\";\nimport LatLng from \"./sdkTypes/LatLng\";\nimport LatLngBounds from \"./sdkTypes/LatLngBounds\";\nimport Money from \"./sdkTypes/Money\";\nimport {replacer, reviver} from \"./utils/convert-types\";\nimport MemoryStore from \"./utils/stores/MemoryStore\";\nimport BrowserStore from \"./utils/stores/BrowserStore\";\nimport ExpressStore from \"./utils/stores/ExpressStore\";\nimport {objectQueryString} from \"./utils/util\";\nimport {read, write} from \"./utils/transit\";\nimport {generateKey} from \"./utils/stores/store\";\n\n// Export marketplace types\nexport * from \"./types/assets\";\nexport * from \"./types/authentication\";\nexport * from \"./types/integration/events\";\nexport * from \"./types/marketplace/availabilityExceptions\";\nexport * from \"./types/marketplace/availabilityPlan\";\nexport * from \"./types/marketplace/bookings\";\nexport * from \"./types/marketplace/currentUser\";\nexport * from \"./types/marketplace/images\";\nexport * from \"./types/marketplace/listings\";\nexport * from \"./types/marketplace/marketplace\";\nexport * from \"./types/marketplace/messages\";\nexport * from \"./types/marketplace/ownListings\";\nexport * from \"./types/marketplace/passwordReset\";\nexport * from \"./types/marketplace/processTransitions\";\nexport * from \"./types/marketplace/reviews\";\nexport * from \"./types/marketplace/stock\";\nexport * from \"./types/marketplace/stockAdjustment\";\nexport * from \"./types/marketplace/stockReservations\";\nexport * from \"./types/marketplace/stripeAccount\";\nexport * from \"./types/marketplace/stripeAccountLinks\";\nexport * from \"./types/marketplace/stripeCustomer\";\nexport * from \"./types/marketplace/stripePaymentMethod\";\nexport * from \"./types/marketplace/stripePersons\";\nexport * from \"./types/marketplace/stripeSetupIntents\";\nexport * from \"./types/marketplace/timeSlots\";\nexport * from \"./types/marketplace/transactions\";\nexport * from \"./types/marketplace/user\";\nexport * from \"./types/config\";\nexport * from \"./types/sharetribe\";\nexport * from \"./types/apiConfigs\";\nexport * from \"./types/config\";\nexport * from \"./types/store\";\n\n/**\n * SDK-specific types provided for advanced usage.\n */\nexport const sdkTypes = {\n /** A representation of a high-precision decimal number. */\n BigDecimal,\n /** A geographical point with latitude and longitude. */\n LatLng,\n /** A bounding box defined by northeast and southwest geographical points. */\n LatLngBounds,\n /** A monetary value with an amount and currency. */\n Money,\n /** A universally unique identifier (UUID). */\n UUID,\n /** Replacer function for JSON serialization. */\n replacer,\n /** Reviver function for JSON deserialization. */\n reviver,\n};\n\nexport type SdkTypes = {\n BigDecimal: typeof BigDecimal;\n LatLng: typeof LatLng;\n LatLngBounds: typeof LatLngBounds;\n Money: typeof Money;\n UUID: typeof UUID;\n replacer: typeof replacer;\n reviver: typeof reviver;\n};\n\nexport type TokenStores = {\n MemoryStore: typeof MemoryStore;\n BrowserStore: typeof BrowserStore;\n ExpressStore: typeof ExpressStore;\n};\n\n/**\n * Token store implementations for managing authentication tokens.\n */\nexport const TokenStores: TokenStores = {\n /** In-memory token store for temporary token management. */\n MemoryStore,\n /** Browser token store using cookies. */\n BrowserStore,\n /** Express.js-compatible token store using request and response cookies. */\n ExpressStore,\n};\n\nexport type Transit = {\n read: typeof read;\n write: typeof write;\n};\n\n/**\n * Transit utilities for reading and writing transit data.\n */\nexport const transit: Transit = {\n read,\n write,\n};\n\n/**\n * Export the Sharetribe SDK and Integration SDK.\n */\nexport const SharetribeSdk = SharetribeSdkExport;\nexport type SharetribeSdk = SharetribeSdkExport;\n\nexport const IntegrationSdk = IntegrationSdkExport;\nexport type IntegrationSdk = IntegrationSdkExport;\n\n/**\n * Utility functions for data manipulation.\n */\nexport const util = {\n /** Serializes an object into a custom query string format. */\n objectQueryString,\n generateKey,\n};\nexport type Util = {\n objectQueryString: typeof objectQueryString;\n generateKey: typeof generateKey;\n};\n\nconst defaultExport = {\n /** Export of the Sharetribe SDK. */\n SharetribeSdk: SharetribeSdkExport,\n /** Export of the Integration SDK. */\n SharetribeIntegrationSdk: IntegrationSdkExport,\n /** Export of available token stores. */\n TokenStores,\n /** Export of SDK-specific types. */\n sdkTypes,\n /** Export of utility functions. */\n util,\n /** Export of Transit utilities. */\n transit,\n};\nexport default defaultExport;\n\nexport type DefaultExport = {\n SharetribeSdk: SharetribeSdkExport;\n SharetribeIntegrationSdk: IntegrationSdkExport;\n TokenStores: typeof TokenStores;\n sdkTypes: typeof sdkTypes;\n util: typeof util;\n transit: typeof transit;\n};\n"],"names":["urlEncodeFormData","obj","Object","entries","filter","v","map","k","encodeURIComponent","Array","isArray","join","JSON","stringify","String","AuthenticationApi","axios","endpoint","headers","constructor","sdk","config","apisConfigs","auth","sdkConfig","this","baseUrl","token","params","post","authWithIdp","revoke","details","get","iterate","initState","terminator","ascending","a","b","module","exports","serialOrdered","list","iterator","sortMethod","callback","state","iteratorHandler","error","result","index","length","results","bind","descending","throttle","fn","freq","lastArgs","timer","timestamp","threshold","invoke","args","now","Date","clearTimeout","passed","setTimeout","Function","prototype","call","Events","api","query","defer","nextTick","setImmediate","process","Math","round","undefined","$Object","$Error","$EvalError","$RangeError","$ReferenceError","$SyntaxError","$TypeError","$URIError","abs","floor","max","min","pow","sign","$Function","getEvalledConstructor","expressionSyntax","e","$gOPD","$defineProperty","throwTypeError","ThrowTypeError","calleeThrows","arguments","gOPDthrows","hasSymbols","getProto","$ObjectGPO","$ReflectGPO","$apply","$call","needsEval","TypedArray","Uint8Array","INTRINSICS","__proto__","AggregateError","ArrayBuffer","Symbol","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","decodeURI","decodeURIComponent","encodeURI","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","Map","Number","parseFloat","parseInt","Promise","Proxy","Reflect","RegExp","Set","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","WeakRef","WeakSet","errorProto","doEval","name","value","gen","LEGACY_ALIASES","hasOwn","$concat","concat","$spliceApply","splice","$replace","replace","$strSlice","slice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","allowMissing","alias","intrinsicName","GetIntrinsic","parts","stringToPath","string","first","last","match","number","quote","subString","intrinsicBaseName","intrinsic","intrinsicRealName","skipFurtherCaching","i","isOwn","part","desc","spread","wrap","arr","apply","IntegrationApi","authRequired","availabilityExceptions","events","images","listings","marketplace","stock","stockAdjustments","stockReservations","transactions","users","integrationApi","A","defineProperty","isVisitable","thing","isPlainObject","removeBrackets","key","endsWith","renderKey","path","dots","each","predicates","toFlatObject","prop","test","toFormData","formData","options","isObject","TypeError","FormData","metaTokens","indexes","defined","option","source","isUndefined","visitor","defaultVisitor","useBlob","Blob","isSpecCompliantForm","isFunction","convertValue","isDate","toISOString","isBoolean","toString","isBlob","isArrayBuffer","isTypedArray","Buffer","from","isFlatArray","some","isFileList","toArray","forEach","el","append","stack","exposedHelpers","assign","build","indexOf","Error","push","isString","trim","pop","rnds8Pool","poolPtr","rng","setup","env","createDebug","namespace","prevTime","namespacesCache","enabledCache","enableOverride","debug","enabled","self","curr","ms","diff","prev","coerce","unshift","format","formatter","formatters","val","formatArgs","log","useColors","color","selectColor","extend","destroy","enumerable","configurable","namespaces","set","init","delimiter","newDebug","matchesTemplate","search","template","searchIndex","templateIndex","starIndex","matchIndex","default","message","disable","names","skips","enable","save","split","ns","skip","humanize","console","warn","keys","hash","charCodeAt","colors","load","CombinedStream","util","http","https","parseUrl","fs","Stream","crypto","mime","asynckit","setToStringTag","populate","_overheadLength","_valueLength","_valuesToMeasure","inherits","LINE_BREAK","DEFAULT_CONTENT_TYPE","field","filename","_error","header","_multiPartHeader","footer","_multiPartFooter","_trackLength","valueLength","knownLength","isBuffer","byteLength","readable","_lengthRetriever","end","Infinity","start","stat","err","fileSize","size","on","response","pause","resume","contentDisposition","_getContentDisposition","contentType","_getContentType","contents","getBoundary","filepath","normalize","basename","client","_httpMessage","lookup","next","_streams","_lastBoundary","getHeaders","userHeaders","formHeaders","toLowerCase","setBoundary","boundary","_boundary","_generateBoundary","getBuffer","dataBuffer","alloc","len","substring","randomBytes","getLengthSync","hasKnownLength","getLength","cb","parallel","values","submit","request","defaults","method","port","pathname","host","hostname","protocol","setHeader","pipe","onResponse","responce","removeListener","emit","StripeCustomer","create","extraParams","addPaymentMethod","deletePaymentMethod","Messages","send","DelayedStream","writable","dataSize","maxDataSize","pauseStreams","_released","_currentStream","_insideLoop","_pendingNext","combinedStream","isStreamLike","stream","newStream","pauseStream","_checkDataSize","_handleErrors","dest","_getNext","_realGetNext","shift","_pipeNext","write","_emitError","data","_reset","_updateDataSize","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","require","ProcessTransitions","getPrototypeOf","toURLEncodedForm","classes","URLSearchParams","helpers","isNode","denyList","has","code","EvalError","getOwnPropertySymbols","sym","symObj","_","getOwnPropertyNames","syms","propertyIsEnumerable","getOwnPropertyDescriptor","descriptor","dst","src","IntegrationSdk","integration_api","baseURL","version","httpAgent","httpsAgent","LatLngBounds","ne","sw","_sdkType","isValid","isLatLngObject","lat","lng","neLatLng","swLatLng","estimateDataURLDecodedBytes","url","startsWith","comma","meta","body","effectiveLen","pad","idx","tailIsPct3D","j","bytes","streamChunk","chunk","chunkSize","pos","readStream","async","asyncIterator","reader","getReader","done","read","cancel","trackStream","onProgress","onFinish","iterable","readBytes","_onFinish","ReadableStream","pull","controller","close","loadedBytes","enqueue","reason","return","highWaterMark","serial","isNetworkError","includes","SAFE_HTTP_METHODS","IDEMPOTENT_HTTP_METHODS","isRetryableError","status","isIdempotentRequestError","isNetworkOrIdempotentRequestError","retryAfter","retryAfterHeader","retryAfterMs","valueOf","DEFAULT_OPTIONS","retries","retryCondition","retryDelay","noDelay","_retryNumber","shouldResetTimeout","onRetry","onMaxRetryTimesExceeded","validateResponse","setCurrentState","defaultOptions","resetLastRequestTime","currentState","getRequestOptions","retryCount","lastRequestTime","axiosRetry","axiosInstance","requestInterceptorId","interceptors","use","validateStatus","responseInterceptorId","reject","shouldRetry","shouldRetryOrPromise","_err","handleRetry","delay","fixConfig","agent","timeout","lastRequestDuration","transformRequest","signal","aborted","resolve","abortListener","removeEventListener","addEventListener","once","handleMaxRetryTimesExceeded","isSafeRequestError","exponentialDelay","retryNumber","delayFactor","calculatedDelay","random","linearDelay","thisArg","extractCommonPathAndAssets","paths","normalized","p","commonLength","commonPath","assets","AssetsApi","clientId","assetByAlias","rest","assetsByAlias","assetByVersion","assetsByVersion","BrowserStore","expiration","secure","getToken","cookie","parse","setToken","secureFlag","expires","removeToken","remove","isAsync","async_callback","nextTick_callback","StripeAccountLinks","window","hasAgents","httpAgentCreator","httpsAgentCreator","DefaultSdkConfig","assetCdnBaseUrl","tokenStore","transitVerbose","typeHandlers","DefaultIntegrationSdkConfig","keepAlive","maxSockets","QUERY_PARAMETERS","isTransit","res","isJson","isTokenUnauthorized","isTokenExpired","isAuthTokenUnauthorized","routeNeedsTrustedUser","requestConfig","requestUrl","found","find","lastIndexOf","prepareAuthorizationHeader","token_type","access_token","createAxiosConfig","Accept","transformResponse","prepareAxiosInstance","retryConfig","handleResponseSuccess","onFulfilled","verbose","revoked","handleResponseFailure","originalRequest","refresh_token","client_id","grant_type","Authorization","scope","handleRequestSuccess","authToken","clientSecret","client_secret","newFormData","param","writer","paramsSerializer","SharetribeSdk","assetsApi","bookings","currentUser","messages","ownListings","passwordReset","processTransitions","reviews","stripeAccount","stripeAccountLinks","stripeCustomer","stripePersons","stripeSetupIntents","timeslots","login","loginAs","loginWithIdp","logout","exchangeToken","subject_token","authInfo","storedToken","tokenScope","scopes","isAnonymous","grantType","Stock","compareAndSet","hasBrowserEnv","document","_navigator","navigator","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","origin","location","href","StripeSetupIntents","signals","AbortController","onabort","unsubscribe","abort","ETIMEDOUT","asap","PasswordReset","reset","BigDecimal","$isNaN","$actualApply","callBindBasic","$reflectApply","URL","Writable","assert","detectUnsupportedEnvironment","looksLikeNode","looksLikeBrowser","looksLikeV8","captureStackTrace","useNativeURL","preservedUrlFields","eventHandlers","event","arg1","arg2","arg3","_redirectable","InvalidUrlError","createErrorType","RedirectionError","TooManyRedirectsError","MaxBodyLengthExceededError","WriteAfterEndError","noop","RedirectableRequest","responseCallback","_sanitizeOptions","_options","_ended","_ending","_redirectCount","_redirects","_requestBodyLength","_requestBodyBuffers","_onNativeResponse","_processResponse","cause","_performRequest","protocols","maxRedirects","maxBodyLength","nativeProtocols","scheme","nativeProtocol","wrappedProtocol","defineProperties","input","isURL","spreadUrlObject","validateUrl","equal","wrappedRequest","parsed","urlObject","target","removeMatchingHeaders","regex","lastValue","baseClass","CustomError","properties","destroyRequest","_currentRequest","encoding","currentRequest","removeHeader","msecs","destroyOnTimeout","socket","addListener","startTimer","_timeout","clearTimer","property","searchPos","agents","_currentUrl","_isRedirect","buffers","writeNext","buffer","finished","statusCode","trackRedirects","requestHeaders","followRedirects","responseUrl","redirects","beforeRedirect","Host","req","getHeader","currentHostHeader","currentUrlParts","currentHost","currentUrl","redirectUrl","resolveUrl","relative","base","isSubdomain","subdomain","domain","dot","responseDetails","requestDetails","MemoryStore","ignoreDuplicateOf","toObjectSet","rawHeaders","parser","line","StockReservations","show","validators","type","validator","deprecatedWarnings","transitional","formatMessage","opt","opts","ERR_DEPRECATED","spelling","correctSpelling","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","COMPILED","goog","global","exportPath_","c","d","execScript","f","hasOwnProperty","define","CLOSURE_UNCOMPILED_DEFINES","CLOSURE_DEFINES","nodeType","FEATURESET_YEAR","DEBUG","LOCALE","TRUSTED_SITE","DISALLOW_TEST_ONLY_CODE","ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING","provide","isInModuleLoader_","isProvided_","constructNamespace_","implicitNamespaces_","getObjectByName","getScriptNonce","getScriptNonce_","cspNonce_","NONCE_PATTERN_","querySelector","nonce","getAttribute","VALID_MODULE_RE_","isInGoogModuleLoader_","moduleLoaderState_","moduleName","getInternal_","loadedModules_","ModuleType","ES6","GOOG","isInEs6ModuleLoader_","$jscomp","getCurrentModulePath","declareLegacyNamespace","declareModuleId","moduleId","setTestOnly","forwardDeclare","addDependency","DEPENDENCIES_ENABLED","debugLoader_","ENABLE_DEBUG_LOADER","logToConsole_","requested","load_","requireType","basePath","nullFunction","abstractMethod","addSingletonGetter","instance_","getInstance","instantiatedSingletons_","LOAD_MODULE_USING_EVAL","SEAL_MODULE_EXPORTS","TRANSPILE","ASSUME_ES_MODULES_TRANSPILED","TRANSPILE_TO_LANGUAGE","TRANSPILER","TRUSTED_TYPES_POLICY_NAME","hasBadLetScoping","loadModule","loadModuleFromSource_","seal","CLOSURE_EVAL_PREFILTER_","createScript","normalizePath_","loadFileSync_","CLOSURE_LOAD_FILE_SYNC","XMLHttpRequest","open","responseText","transpile_","transpile","g","$gwtExport","h","typeOf","isArrayLike","isDateLike","getFullYear","getUid","UID_PROPERTY_","uidCounter_","hasUid","removeUid","removeAttribute","cloneObject","clone","bindNative_","bindJs_","partial","mixin","globalEval","getCssName","charAt","cssNameMapping_","cssNameMappingStyle_","CLOSURE_CSS_NAME_MAP_FN","setCssNameMapping","CLOSURE_CSS_NAME_MAPPING","getMsg","html","unescapeHtmlEntities","getMsgWithFallback","exportSymbol","exportProperty","superClass_","defineClass","statics","createSealingConstructor_","applyProperties_","SEAL_CLASS_INSTANCES","OBJECT_PROTOTYPE_FIELDS_","identity_","createTrustedTypesPolicy","trustedTypes","createPolicy","createHTML","createScriptURL","isEdge_","userAgent","inHtmlDocument_","isDocumentLoading_","attachEvent","readyState","findBasePath_","CLOSURE_BASE_PATH","currentScript","getElementsByTagName","substr","Transpiler","requiresTranspilation_","transpilationTarget_","createRequiresTranspilation_","es3","needsTranspile","createElement","transpiler_","protectScriptTag_","DebugLoader_","dependencies_","idToPath_","written_","loadingDeps_","depsToLoad_","paused_","factory_","DependencyFactory","deferredCallbacks_","deferredQueue_","bootstrap","getPathFromDeps_","onLoad","loadClosureDeps","createDependency","loadDeps_","areDepsLoaded_","requires","setDependencyFactory","loading_","resume_","loaded","loaded_","pending","setModuleState","registerEs6ModuleExports","registerGoogModuleExports","clearModuleState","defer_","areDepsLoaded","pause_","LoadController","Dependency","relativePath","provides","loadFlags","loadCallbacks_","getPathName","callbackMap_","registerCallback_","unregisterCallback_","callback_","CLOSURE_IMPORT_SCRIPT","onload","TRUSTED_TYPES_POLICY_","IS_OLD_IE_","onreadystatechange","head","appendChild","Es6ModuleDependency","l","n","m","setAttribute","text","TransformedDependency","contents_","lazyFetch_","transform","ensure","TranspiledDependency","transpiler","PreTranspiledEs6ModuleDependency","GoogModuleDependency","needsTranspile_","atob","all","lang","CLOSURE_NO_DEPS","isChrome87","emptyScript","object","every","getCount","getAnyKey","getAnyValue","contains","containsValue","getValues","getKeys","getValueByKeys","containsKey","findKey","findValue","isEmpty","clear","add","setIfUndefined","setWithReturnValueIfNotSet","equals","unsafeClone","isView","transpose","PROTOTYPE_FIELDS_","createSet","createImmutableView","isFrozen","freeze","isImmutableView","getAllPropertyNames","getSuperClass","com","cognitect","module$contents$goog$debug$Error_DebugError","reportErrorToServer","transit","objectKeys","chars","randInt","randHex","randomUUID","btoa","fromCharCode","Uint8ToBase64","subarray","Base64ToUint8","delimiters","ESC","TAG","SUB","RES","ESC_TAG","caching","MIN_SIZE_CACHEABLE","BASE_CHAR_IDX","CACHE_CODE_DIGITS","MAX_CACHE_ENTRIES","MAX_CACHE_SIZE","isCacheable","idxToCode","WriteCache","cacheSize","cache","writeCache","isCacheCode","codeToIdx","ReadCache","readCache","eq","hashCodeProperty","hashCodeCounter","com$cognitect$transit$equals","hashCombine","stringCodeCache","stringCodeCacheSize","STR_CACHE_MAX","hashString","hashMapLike","hashCode","hashArrayLike","com$cognitect$transit$hashCode","extendToEQ","dom","NodeType","ELEMENT","ATTRIBUTE","TEXT","CDATA_SECTION","ENTITY_REFERENCE","ENTITY","PROCESSING_INSTRUCTION","COMMENT","DOCUMENT","DOCUMENT_TYPE","DOCUMENT_FRAGMENT","NOTATION","asserts","ENABLE_ASSERTS","AssertionError","subs_","messagePattern","DEFAULT_ERROR_HANDLER","errorHandler_","doAssertFailure_","setErrorHandler","assertExists","fail","assertNumber","assertString","assertFunction","assertObject","assertArray","assertBoolean","assertElement","assertInstanceof","getType_","assertFinite","displayName","reflect","objectProperty","sinkValue","canAccessProperty","math","module$contents$goog$math$Long_Long","low_","high_","toInt","toNumber","module$contents$goog$math$Long_TWO_PWR_32_DBL_","getLowBitsUnsigned","isSafeInteger","fromBits","div","subtract","multiply","getHighBits","getLowBits","getNumBitsAbs","isNegative","getMinValue","negate","isZero","isOdd","notEquals","lessThan","compare","lessThanOrEqual","greaterThan","greaterThanOrEqual","getOne","getNegOne","shiftRight","shiftLeft","getZero","ceil","LN2","fromNumber","modulo","not","and","or","xor","shiftRightUnsigned","fromInt","module$contents$goog$math$Long_getCachedIntValue_","module$contents$goog$math$Long_TWO_PWR_63_DBL_","getMaxValue","fromString","module$contents$goog$math$Long_MAX_SAFE_INTEGER_","isStringInRange","module$contents$goog$math$Long_MIN_VALUE_FOR_RADIX_","module$contents$goog$math$Long_MAX_VALUE_FOR_RADIX_","module$contents$goog$math$Long_ZERO_","module$contents$goog$math$Long_ONE_","module$contents$goog$math$Long_NEG_ONE_","module$contents$goog$math$Long_MAX_VALUE_","module$contents$goog$math$Long_MIN_VALUE_","getTwoPwr24","module$contents$goog$math$Long_TWO_PWR_24_","Long","module$contents$goog$math$Long_IntCache_","types","ITERATOR","TaggedValue","tag","rep","equiv","taggedValue","isTaggedValue","nullValue","boolValue","MAX_INT","MIN_INT","intValue","isInteger","floatValue","bigInteger","isBigInteger","bigDecimalValue","isBigDecimal","charValue","Keyword","_name","keyword","isKeyword","symbol","isSymbol","hexFor","UUID","high","low","getLeastSignificantBits","getMostSignificantBits","UUIDfromString","uuid","isUUID","date","verboseDate","binary","preferBuffers","isBinary","uri","isURI","KEYS","VALUES","ENTRIES","TransitArrayMapIterator","TransitMapIterator","bucket","bucketIdx","mapEquals","TransitMap","isMap","TransitArrayMap","_entries","SMALL_ARRAY_MAP_THRESHOLD","ARRAY_MAP_THRESHOLD","ARRAY_MAP_ACCESS_THRESHOLD","print","printMap","printSet","backingMap","accesses","inspect","convert","keySet","delete","_keys","isArrayMap","TransitSet","isSet","quoted","isQuoted","isList","link","isLink","specialDouble","NaN","impl","decoder","Tag","str","isTag","isGroundHandler","Decoder","handlers","preferStrings","defaultHandler","mapBuilder","arrayBuilder","$","r","z","t","u","cmap","decode","decodeString","decodeArrayHash","decodeArray","decodeHash","parseString","fromArray","finalize","JSONUnmarshaller","unmarshal","Reader","unmarshaller","ctorGuid","ctorGuidProperty","typeTag","padZeros","stringableKeys","NilHandler","stringRep","StringHandler","NumberHandler","IntegerHandler","BooleanHandler","ArrayHandler","MapHandler","VerboseDateHandler","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","DateHandler","getVerboseHandler","UUIDHandler","KeywordHandler","SymbolHandler","TaggedHandler","TransitSetHandler","TransitArrayMapHandler","TransitMapHandler","BufferHandler","Uint8ArrayHandler","defaultHandlers","Handlers","validTag","escape","JSONMarshaller","objectBuilder","handlerForForeign","unpack","handler","transitTag","registerHandler","emitNil","emitString","emitBoolean","emitInteger","emitDouble","emitBinary","emitQuoted","marshal","emitObjects","emitArray","isStringableKey","isForeignObject","transit$isObject","emitMap","emitTaggedMap","emitEncoded","maybeQuoted","marshalTop","Writer","_marshaller","marshaller","asMapKey","register","TRANSIT_DEV","TRANSIT_NODE_TARGET","TRANSIT_BROWSER_TARGET","TRANSIT_BROWSER_AMD_TARGET","makeWriteHandler","makeBuilder","integer","bigInt","isBigInt","bigDec","isBigDec","tagged","mapToObject","objectToMap","generateKey","reflectGetProto","originalGetProto","getDunderProto","O","Listings","StripePersons","settle","ERR_BAD_REQUEST","ERR_BAD_RESPONSE","CurrentUser","createWithIdp","updateProfile","changePassword","changeEmail","verifyEmail","sendVerificationEmail","createStripeAccount","updateStripeAccount","speedometer","samplesCount","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","encode","buildURL","_encode","serialize","serializeFn","serializedParams","isURLSearchParams","hashmarkIndex","Marketplace","origSymbol","hasSymbolSham","hasNativeSymbols","AxiosError","toJSON","description","fileName","lineNumber","columnNumber","toJSONObject","descriptors","customProps","axiosError","msg","errCode","Bookings","clean","jobs","headersToObject","mergeConfig","config1","config2","getMergedValue","caseless","merge","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","withCredentials","withXSRFToken","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","decompress","maxContentLength","transport","cancelToken","socketPath","responseEncoding","computeConfigValue","configValue","kInternals","AxiosTransformStream","super","readableHighWaterMark","maxRate","minChunkSize","timeWindow","ticksRate","internals","bytesSeen","isCaptured","notifiedBytesLoaded","ts","onReadCallback","_read","_transform","bytesThreshold","pushChunk","_chunk","_callback","transformChunk","bytesLeft","chunkRemainder","maxChunkSize","transformNextChunk","CancelToken","executor","resolvePromise","promise","promiseExecutor","then","_listeners","onfulfilled","_resolve","subscribe","throwIfRequested","listener","toAbortSignal","AvailabilityExceptions","OwnListings","createDraft","update","publishDraft","discardDraft","addImage","MarketplaceApi","charMap","replacer","AxiosURLSearchParams","_pairs","encoder","pair","URIError","parseProtocol","browser","__nwjs","flag","argv","prefix","position","terminatorPosition","Axios","instanceConfig","configOrUrl","_request","dummy","boolean","function","allowAbsoluteUrls","withXsrfToken","contextHeaders","common","requestInterceptorChain","synchronousRequestInterceptors","unshiftRequestInterceptors","interceptor","runWhen","synchronous","fulfilled","rejected","responseInterceptorChain","pushResponseInterceptors","chain","newConfig","onRejected","getUri","fullPath","forEachMethodNoData","forEachMethodWithData","generateHTTPMethod","isForm","httpMethod","getContentType","hasJSONContentType","isObjectPayload","isHTMLForm","isFormData","isStream","isFile","isReadableStream","isArrayBufferView","setContentType","formSerializer","_FormData","stringifySafely","rawValue","JSONRequested","isResponse","strictJSONParsing","parseReviver","tty","inspectOpts","stderr","formatWithOptions","colorCode","getDate","hideDate","isatty","fd","deprecate","supportsColor","level","reduce","toUpperCase","o","db","extname","EXTRACT_TYPE_REGEXP","TEXT_TYPE_REGEXP","charset","charsets","extension","exts","extensions","populateMaps","preference","forEachMimeType","to","DATA_URL_PATTERN","fromDataURI","asBlob","_Blob","ERR_INVALID_URL","isBase64","ERR_NOT_SUPPORT","ExpressStore","currentToken","readCookie","maxAge","clearCookie","cookies","knownAdapters","xhr","fetch","renderReason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","id","reasons","s","isMSIE","v4","buf","offset","rnds","DEFAULT_PORTS","ftp","gopher","ws","wss","stringEndsWith","getEnv","getProxyForUrl","parsedUrl","proto","shouldProxy","NO_PROXY","proxy","parsedProxy","parsedProxyHostname","parsedProxyPort","w","y","plural","msAbs","isPlural","long","fmtLong","fmtShort","Users","email","approve","updatePermissions","implementation","combineURLs","relativeURL","dispatchXhrRequest","_config","requestData","onCanceled","uploadThrottled","downloadThrottled","flushUpload","flushDownload","onloadend","responseHeaders","getAllResponseHeaders","statusText","_reject","handleLoad","responseURL","handleAbort","ECONNABORTED","onerror","handleError","ERR_NETWORK","ontimeout","handleTimeout","timeoutErrorMessage","setRequestHeader","upload","$internals","normalizeHeader","normalizeValue","matchHeaderValue","context","isHeaderNameFilter","isRegExp","AxiosHeaders","valueOrRewrite","rewrite","_value","_header","_rewrite","lHeader","setHeaders","isIterable","entry","parseTokens","tokens","tokensRE","matcher","deleted","deleteHeader","formatHeader","char","targets","asStrings","getSetCookie","toStringTag","computed","accessor","accessors","defineAccessor","buildAccessors","accessorName","toCamelCase","methodName","reduceDescriptors","mapped","headerValue","freezeMethods","blob","arrayBuffer","hasProtoAccessor","callBind","gOPD","$getPrototypeOf","getDunder","ZlibHeaderTransformStream","__transform","kindOf","kindOfTest","typeOfTest","isNumber","isRequest","isHeaders","allOwnKeys","_key","_global","globalThis","isContextDefined","reducer","getOwnPropertyDescriptors","reducedDescriptors","ret","isAsyncFn","_setImmediate","setImmediateSupported","postMessageSupported","postMessage","callbacks","queueMicrotask","kind","isEmptyObject","skipUndefined","assignValue","targetKey","stripBOM","content","superConstructor","props","sourceObj","destObj","propFilter","merged","searchString","lastIndex","forEachEntry","_iterator","matchAll","regExp","matches","hasOwnProp","arrayOrString","p1","p2","toFiniteNumber","defaultValue","visit","reducedValue","isThenable","catch","InterceptorManager","eject","forEachHandler","StockAdjustments","Transactions","transition","transitionSpeculative","updateMetadata","objectQueryString","serializedValue","attribute","createSharetribeApiError","createInstance","defaultConfig","instance","CanceledError","isCancel","VERSION","Cancel","promises","isAxiosError","formToJSON","HttpStatusCode","byteToHex","unsafeStringify","os","hasFlag","forceColor","translateLevel","hasBasic","has256","has16m","haveStream","streamIsTTY","TERM","platform","osRelease","release","CI_NAME","TEAMCITY_VERSION","COLORTERM","TERM_PROGRAM_VERSION","TERM_PROGRAM","FORCE_COLOR","getSupportLevel","isTTY","stdout","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","WebServerIsDown","ConnectionTimedOut","OriginIsUnreachable","TimeoutOccurred","SslHandshakeFailed","InvalidSslCertificate","Images","lastC","storage","setItem","removeItem","getItem","documentElement","style","WebkitAppearance","firebug","exception","table","localstorage","localStorage","warned","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","total","lengthComputable","progressBytes","rate","progress","estimated","progressEventDecorator","throttled","asyncDecorator","createApisConfigs","isIntegrationSdk","formDataToJSON","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","StripeAccount","globalFetchAPI","Request","Response","TextEncoder","factory","envFetch","isFetchSupported","isRequestSupported","isResponseSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","duplex","supportsResponseStream","resolvers","resolveBodyLength","getContentLength","getBodyLength","fetchOptions","_fetch","composedSignal","requestContentLength","contentTypeHeader","flush","isCredentialsSupported","resolvedOptions","credentials","isStreamResponse","responseContentLength","responseData","seedCache","getFetch","seeds","seed","runJob","item","aborter","output","ApiErrorStatuses","ServerError","SyntaxError","_maxDataSizeExceeded","_bufferedEvents","delayedStream","realEmit","_handleEmit","setEncoding","_checkIfMaxDataSizeExceeded","buildFullPath","requestedURL","isRelativeUrl","username","password","unescape","allowedHeaders","xsrfValue","toSdkTypes","amount","currency","reviver","ERR_CANCELED","__CANCEL__","identity","array","predicate","composeReader","sdkTypeReader","appTypeReader","sdkTypeReaderFn","appTypeReaderFn","typeMap","geo","mn","sdkTypeReaders","sdkType","sdkTypeWriters","constructReadHandlers","appTypeReaders","fromPairs","pairs","typeClass","fromEntries","writeHandlers","sdkTypeWriter","flat","MapHandlers","appTypeWriters","transitType","appTypeWriter","appType","canHandle","x","createTransitConverters","readers","writers","memo","payload","throwIfCancellationRequested","dispatchRequest","onAdapterResolution","onAdapterRejection","initiate","initiateSpeculative","zlibOptions","Z_SYNC_FLUSH","finishFlush","brotliOptions","BROTLI_OPERATION_FLUSH","isBrotliSupported","httpFollow","httpsFollow","isHttps","supportedProtocols","flushOnFinish","http2Sessions","Http2Sessions","sessions","getSession","authority","sessionTimeout","authoritySessions","sessionHandle","sessionOptions","destroyed","closed","session","removed","removeSession","originalRequestFn","streamsCount","dispatchBeforeRedirect","beforeRedirects","setProxy","configProxy","proxyUrl","base64","proxyHost","redirectOptions","isHttpAdapterSupported","buildAddressEntry","address","family","resolveFamily","http2Transport","http2Options","HTTP2_HEADER_SCHEME","HTTP2_HEADER_METHOD","HTTP2_HEADER_PATH","HTTP2_HEADER_STATUS","http2Headers","httpAdapter","asyncExecutor","dispatchHttpRequest","onDone","httpVersion","isDone","isHttp2","_lookup","arg0","addresses","addr","abortEmitter","EventEmitter","onFinished","removeAllListeners","isRejected","offListeners","dataUrl","convertedData","maxUploadRate","maxDownloadRate","userBoundary","hasContentLength","setContentLength","contentLength","objectMode","customErr","exists","isHttpsRequest","insecureHTTPParser","handleResponse","streams","responseLength","transformStream","responseStream","lastRequest","statusMessage","responseBuffer","totalResponseBytes","handleStreamData","handlerStreamAborted","handleStreamError","handleStreamEnd","handleRequestError","handleRequestSocket","setKeepAlive","handleRequestTimeout","ended","errored","onDoneHandler","converter","defaultAttributes","attributes","toUTCString","stringifiedAttributes","attributeName","jar","withAttributes","withConverter","TimeSlots","isAbsoluteURL","hasToStringTagShams","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","alphabet","randomValues","transformData","fns","serializeValue","parameterSerializer","RangeError","toStr","concatty","that","bound","slicy","arrLike","boundLength","boundArgs","joiner","joiny","Empty","Money","isNamedList","keyedList","sort","Reviews","ReferenceError","hasToStringTag","overrideIfSet","force","nonConfigurable","BOUNDARY_ALPHABET","textEncoder","CRLF","CRLF_BYTES","FormDataPart","escapeName","isStringValue","form","headersHandler","boundaryBytes","footerBytes","computedHeaders","Readable","sameSite","$hasOwn","LatLng","isNumberOrNumberString","__webpack_module_cache__","__webpack_require__","cachedModule","__webpack_modules__","getter","__esModule","definition","sdkTypes","TokenStores","SharetribeIntegrationSdk"],"ignoreList":[],"sourceRoot":""}
|