bitsnap-react 1.22.0 → 1.23.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/AGENTS.md +20 -0
- package/dist/BitsnapCart-GK3MQGP7.js +2 -0
- package/dist/BitsnapCart-GK3MQGP7.js.map +1 -0
- package/dist/BitsnapCart-ZC6LMXLO.mjs +2 -0
- package/dist/CartProvider-FJDBDV4N.js +2 -0
- package/dist/CartProvider-FJDBDV4N.js.map +1 -0
- package/dist/{CartProvider-YUV2Q523.mjs → CartProvider-P7BZVK2M.mjs} +2 -2
- package/dist/PanelModelFiles-EKQRLF46.js.map +1 -1
- package/dist/analytics.js +1 -1
- package/dist/analytics.js.map +1 -1
- package/dist/analytics.mjs +1 -1
- package/dist/catalog.js +1 -1
- package/dist/catalog.js.map +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/chat.js +1 -1
- package/dist/chat.js.map +1 -1
- package/dist/chat.mjs +1 -1
- package/dist/{chunk-SAKZOHU7.js → chunk-2CL4B4KM.js} +2 -2
- package/dist/chunk-2CL4B4KM.js.map +1 -0
- package/dist/chunk-2D2TQK3R.js +2 -0
- package/dist/chunk-2D2TQK3R.js.map +1 -0
- package/dist/{chunk-C2AJ5B32.mjs → chunk-4AU5SEHU.mjs} +2 -2
- package/dist/chunk-6Q3VGPSF.js.map +1 -1
- package/dist/{chunk-ZFZR3CI5.js → chunk-7GSQV4NW.js} +2 -2
- package/dist/chunk-7GSQV4NW.js.map +1 -0
- package/dist/{chunk-WYRECFVW.js → chunk-CA5EJJW7.js} +2 -2
- package/dist/chunk-CA5EJJW7.js.map +1 -0
- package/dist/{chunk-U37ZH4YJ.js → chunk-DCICRN6G.js} +2 -2
- package/dist/chunk-DCICRN6G.js.map +1 -0
- package/dist/{chunk-QQSCVPOG.mjs → chunk-EVV25IKM.mjs} +2 -2
- package/dist/{chunk-QQSCVPOG.mjs.map → chunk-EVV25IKM.mjs.map} +1 -1
- package/dist/{chunk-MBSXTB6G.js → chunk-EVX5SQL2.js} +2 -2
- package/dist/chunk-EVX5SQL2.js.map +1 -0
- package/dist/chunk-FVZ4W7QG.js +5 -0
- package/dist/chunk-FVZ4W7QG.js.map +1 -0
- package/dist/chunk-GMQYQTUM.mjs +2 -0
- package/dist/chunk-GMQYQTUM.mjs.map +1 -0
- package/dist/{chunk-35ZQU353.js → chunk-I6QN3T6K.js} +2 -2
- package/dist/chunk-I6QN3T6K.js.map +1 -0
- package/dist/chunk-ILYJCT5S.js +2 -0
- package/dist/chunk-ILYJCT5S.js.map +1 -0
- package/dist/{chunk-QJOMFK4X.mjs → chunk-JRSQ2IGQ.mjs} +2 -2
- package/dist/chunk-JSDGZ4NY.js.map +1 -1
- package/dist/chunk-KOYBZORL.js.map +1 -1
- package/dist/{chunk-5MXBUGY3.mjs → chunk-M6QFQ3DR.mjs} +2 -2
- package/dist/chunk-MDAFPGPA.js.map +1 -1
- package/dist/{chunk-KFY6IOAA.js → chunk-MY6BPCRV.js} +2 -2
- package/dist/{chunk-ZFUE3AX5.mjs.map → chunk-MY6BPCRV.js.map} +1 -1
- package/dist/{chunk-QCIETNFZ.mjs → chunk-NMXTTD5M.mjs} +2 -2
- package/dist/chunk-PFKZ7KUU.js.map +1 -1
- package/dist/chunk-Q337IQNA.js.map +1 -1
- package/dist/{chunk-IVB3E4V3.mjs → chunk-RA6M3TJ3.mjs} +2 -2
- package/dist/{chunk-NCCP2UDM.mjs → chunk-SKQJESEB.mjs} +2 -2
- package/dist/chunk-STDV54FL.mjs +2 -0
- package/dist/chunk-STDV54FL.mjs.map +1 -0
- package/dist/{chunk-JS3KK56H.js → chunk-SZLSKIYU.js} +2 -2
- package/dist/chunk-SZLSKIYU.js.map +1 -0
- package/dist/chunk-W3RGQYPD.js.map +1 -1
- package/dist/{chunk-TVZLDLAV.mjs → chunk-W4EUYPJ3.mjs} +2 -2
- package/dist/chunk-Z3YOJ6NZ.js.map +1 -1
- package/dist/chunk-ZMEWUEZJ.mjs +5 -0
- package/dist/chunk-ZMEWUEZJ.mjs.map +1 -0
- package/dist/consent.js.map +1 -1
- package/dist/course.js +1 -1
- package/dist/course.js.map +1 -1
- package/dist/course.mjs +1 -1
- package/dist/embed/analytics.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/methods-IEHZTZEY.mjs +2 -0
- package/dist/methods-S4KBRY2I.js +2 -0
- package/dist/methods-S4KBRY2I.js.map +1 -0
- package/dist/model-files-client-P4PORZJ6.js.map +1 -1
- package/dist/models.js.map +1 -1
- package/dist/returns.js +1 -1
- package/dist/returns.js.map +1 -1
- package/dist/returns.mjs +1 -1
- package/dist/viewer3d.js.map +1 -1
- package/dist/viewer3d.mjs +1 -1
- package/package.json +2 -2
- package/dist/BitsnapCart-AINUJQVF.mjs +0 -2
- package/dist/BitsnapCart-GP2UJSG4.js +0 -2
- package/dist/BitsnapCart-GP2UJSG4.js.map +0 -1
- package/dist/CartProvider-HTKGBPVA.js +0 -2
- package/dist/CartProvider-HTKGBPVA.js.map +0 -1
- package/dist/chunk-35ZQU353.js.map +0 -1
- package/dist/chunk-3TUL63IC.js +0 -2
- package/dist/chunk-3TUL63IC.js.map +0 -1
- package/dist/chunk-4JR74NXR.js +0 -2
- package/dist/chunk-4JR74NXR.js.map +0 -1
- package/dist/chunk-GLKBCVNH.mjs +0 -2
- package/dist/chunk-GLKBCVNH.mjs.map +0 -1
- package/dist/chunk-JS3KK56H.js.map +0 -1
- package/dist/chunk-KFY6IOAA.js.map +0 -1
- package/dist/chunk-MBSXTB6G.js.map +0 -1
- package/dist/chunk-QJBQ45R6.mjs +0 -5
- package/dist/chunk-QJBQ45R6.mjs.map +0 -1
- package/dist/chunk-SAKZOHU7.js.map +0 -1
- package/dist/chunk-SZNTXRFD.js +0 -5
- package/dist/chunk-SZNTXRFD.js.map +0 -1
- package/dist/chunk-U37ZH4YJ.js.map +0 -1
- package/dist/chunk-WYRECFVW.js.map +0 -1
- package/dist/chunk-ZFUE3AX5.mjs +0 -2
- package/dist/chunk-ZFZR3CI5.js.map +0 -1
- package/dist/methods-4Q37ITIM.js +0 -2
- package/dist/methods-4Q37ITIM.js.map +0 -1
- package/dist/methods-JLVRTNPE.mjs +0 -2
- /package/dist/{BitsnapCart-AINUJQVF.mjs.map → BitsnapCart-ZC6LMXLO.mjs.map} +0 -0
- /package/dist/{CartProvider-YUV2Q523.mjs.map → CartProvider-P7BZVK2M.mjs.map} +0 -0
- /package/dist/{chunk-C2AJ5B32.mjs.map → chunk-4AU5SEHU.mjs.map} +0 -0
- /package/dist/{chunk-QJOMFK4X.mjs.map → chunk-JRSQ2IGQ.mjs.map} +0 -0
- /package/dist/{chunk-5MXBUGY3.mjs.map → chunk-M6QFQ3DR.mjs.map} +0 -0
- /package/dist/{chunk-QCIETNFZ.mjs.map → chunk-NMXTTD5M.mjs.map} +0 -0
- /package/dist/{chunk-IVB3E4V3.mjs.map → chunk-RA6M3TJ3.mjs.map} +0 -0
- /package/dist/{chunk-NCCP2UDM.mjs.map → chunk-SKQJESEB.mjs.map} +0 -0
- /package/dist/{chunk-TVZLDLAV.mjs.map → chunk-W4EUYPJ3.mjs.map} +0 -0
- /package/dist/{methods-JLVRTNPE.mjs.map → methods-IEHZTZEY.mjs.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c,d as l,e as p,f as d}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c,d as l,e as p,f as d}from"./chunk-4AU5SEHU.mjs";import{k as u}from"./chunk-EVV25IKM.mjs";var f=24,h=48,i=class extends Error{status;constructor(r,o){super(r),this.name="ProductListError",this.status=o}};function D(t){return t==null||!Number.isFinite(t)?f:Math.min(h,Math.max(1,Math.floor(t)))}function j(t,r){return Math.max(1,Math.ceil(t/r))}function s(t){return t.replace(/\/+$/,"")}function P(t){let r=new URLSearchParams;r.set("limit",String(t.limit)),r.set("offset",String(t.offset)),t.locale&&r.set("locale",t.locale);let o=t.search?.trim();return o&&r.set("search",o),`${s(t.host)}/api/integrations/${encodeURIComponent(t.projectID)}/public-commerce/product-list?${r.toString()}`}function I(t){return typeof t=="object"&&t!=null&&Array.isArray(t.items)&&typeof t.totalCount=="number"}async function x(t,r){let o=await fetch(c(P(t)),{method:"GET",credentials:"omit",headers:{Accept:"application/json"},signal:r});if(!o.ok)throw new i(`Could not load products (${o.status})`,o.status);let e=await o.json();if(!I(e))throw new i("Unexpected product list response");return e}function m(t,r){if(t.projectID!=null&&t.projectID!==r.projectID)return{ok:!1,reason:`the page cart already belongs to project "${t.projectID}"`};let o=null,e=r.host?s(r.host):"",a=s(t.host);if(e&&e!==a){if(a!==s(t.defaultHost))return{ok:!1,reason:`the page cart already uses the host "${t.host}"`};o=e}return{ok:!0,setProjectID:t.projectID==null?r.projectID:null,setHost:o}}function g(t,r){let o=r.cartItemId!=null&&r.cartItemId!==r.id?r.cartItemId:null;t.track("add_to_cart",{qty:1,value_minor:r.price,currency:r.currency},{product_id:r.id,variant_id:o})}async function E(t,r){let[{Bitsnap:o},{getProjectID:e,setProjectID:a}]=await Promise.all([import("./methods-IEHZTZEY.mjs"),import("./CartProvider-P7BZVK2M.mjs")]),n=m({projectID:e(),host:p,defaultHost:l},r);if(!n.ok)return b(n.reason);if(n.setProjectID!=null&&a(n.setProjectID),n.setHost!=null&&d(n.setHost),await o.addProductToCart(t.cartItemId??t.id,1,void 0,{url:r.url,name:t.name,price:t.price,currency:t.currency,amount:t.amount,analytics:u})!=null)throw new Error("Could not add the product to the cart");r.analytics!=null&&g(r.analytics,t),r.showCart&&o.showCart()}function b(t){throw console.warn(`bitsnap-react: ProductList did not add to the cart because ${t}. Pass onAddToCart to use another cart.`),new Error("The page cart belongs to another project or host")}export{D as a,j as b,x as c,g as d,E as e};
|
|
2
|
+
//# sourceMappingURL=chunk-NMXTTD5M.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/returns/money.ts"],"names":["formatMoney","minor","currency","locale","amount","formatter","digits","toDecimalString"],"mappings":"AAKO,sLAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACQ,CACR,IAAMC,CAAAA,CAAS,OAAOH,CAAAA,EAAU,QAAA,CAAWA,CAAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,KAAA,CAAMA,CAAK,CAAC,CAAA,CAE3E,GAAI,CACF,IAAMI,CAAAA,CAAY,IAAI,IAAA,CAAK,YAAA,CAAaF,CAAAA,CAAQ,CAC9C,KAAA,CAAO,UAAA,CACP,QAAA,CAAAD,CACF,CAAC,CAAA,CACKI,CAAAA,kBAASD,CAAAA,CAAU,eAAA,CAAgB,CAAA,CAAE,qBAAA,SAAyB,GAAA,CAGpE,OAAOA,CAAAA,CAAU,MAAA,CACfE,CAAAA,CAAgBH,CAAAA,CAAQE,CAAM,CAChC,CACF,CAAA,UAAQ,CACN,MAAO,CAAA,EAAA","file":"/home/emems/.t3/worktrees/bitsnap-react/emems-
|
|
1
|
+
{"version":3,"sources":["../src/components/returns/money.ts"],"names":["formatMoney","minor","currency","locale","amount","formatter","digits","toDecimalString"],"mappings":"AAKO,sLAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACAC,CAAAA,CACQ,CACR,IAAMC,CAAAA,CAAS,OAAOH,CAAAA,EAAU,QAAA,CAAWA,CAAAA,CAAQ,MAAA,CAAO,IAAA,CAAK,KAAA,CAAMA,CAAK,CAAC,CAAA,CAE3E,GAAI,CACF,IAAMI,CAAAA,CAAY,IAAI,IAAA,CAAK,YAAA,CAAaF,CAAAA,CAAQ,CAC9C,KAAA,CAAO,UAAA,CACP,QAAA,CAAAD,CACF,CAAC,CAAA,CACKI,CAAAA,kBAASD,CAAAA,CAAU,eAAA,CAAgB,CAAA,CAAE,qBAAA,SAAyB,GAAA,CAGpE,OAAOA,CAAAA,CAAU,MAAA,CACfE,CAAAA,CAAgBH,CAAAA,CAAQE,CAAM,CAChC,CACF,CAAA,UAAQ,CACN,MAAO,CAAA,EAAA","file":"/home/emems/.t3/worktrees/bitsnap-react/emems-order-history-panel/dist/chunk-PFKZ7KUU.js","sourcesContent":["/**\n * Formats an amount given in minor units (for example grosze) with the\n * currency and locale. The amount stays a `bigint` until the decimal string is\n * built, so large `int64` values never lose precision.\n */\nexport function formatMoney(\n minor: bigint | number,\n currency: string,\n locale: string,\n): string {\n const amount = typeof minor === \"bigint\" ? minor : BigInt(Math.trunc(minor));\n\n try {\n const formatter = new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n });\n const digits = formatter.resolvedOptions().maximumFractionDigits ?? 2;\n // Intl accepts exact decimal strings at runtime; the ES2022 typings only\n // know numbers.\n return formatter.format(\n toDecimalString(amount, digits) as unknown as number,\n );\n } catch {\n return `${toDecimalString(amount, 2)} ${currency}`;\n }\n}\n\n/** Decimal string of a minor unit amount, e.g. `12345n, 2` -> `\"123.45\"`. */\nexport function toDecimalString(amount: bigint, fractionDigits: number): string {\n const negative = amount < BigInt(0);\n const absolute = negative ? -amount : amount;\n\n if (fractionDigits <= 0) {\n return `${negative ? \"-\" : \"\"}${absolute}`;\n }\n\n const divisor = BigInt(10) ** BigInt(fractionDigits);\n const whole = absolute / divisor;\n const fraction = (absolute % divisor).toString().padStart(fractionDigits, \"0\");\n\n return `${negative ? \"-\" : \"\"}${whole}.${fraction}`;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/texts.ts","../src/components/checkout/texts.ts","../src/components/checkout/locale.ts"],"names":["pickLocaleTable","tables","locale","mergeTexts","table","overrides","result","key","value","resolveTexts","lookupText","texts","CHECKOUT_TEXT_TABLES","resolveCheckoutTexts","getCheckoutText","DEFAULT_LOCALE","localeStorageKey","activeLocale","setLocale","getLocale"],"mappings":"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","file":"/home/emems/.t3/worktrees/bitsnap-react/emems-chat-payment-requests/dist/chunk-Q337IQNA.js","sourcesContent":["/**\n * Shared text machinery: typed string tables per locale, the locale fallback\n * and a merge with caller overrides. Each module (checkout, later returns)\n * supplies its own key type and default tables.\n */\n\n/** Strings of one locale, keyed by text key. */\nexport type TextTable<Key extends string> = Record<Key, string>;\n\n/** Default tables for the supported locales. */\nexport type LocaleTables<Key extends string> = {\n en: TextTable<Key>;\n pl: TextTable<Key>;\n};\n\n/**\n * Picks the table for a locale. Any locale starting with `en` (case\n * insensitive, so `en`, `en-US`, `EN-gb`) gets English; everything else,\n * including unknown locales, gets the Polish default.\n */\nexport function pickLocaleTable<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n): TextTable<Key> {\n return locale.toLowerCase().startsWith(\"en\") ? tables.en : tables.pl;\n}\n\n/**\n * Merges caller overrides over a table. Overrides apply regardless of the\n * locale; `undefined`/`null` entries are ignored so the default stays.\n */\nexport function mergeTexts<Key extends string>(\n table: TextTable<Key>,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n const result: Record<string, string> = { ...table };\n\n if (overrides != null) {\n for (const [key, value] of Object.entries<string | undefined>(overrides)) {\n if (value != null) {\n result[key] = value;\n }\n }\n }\n\n return result as TextTable<Key>;\n}\n\n/** Locale table merged with the caller overrides. */\nexport function resolveTexts<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n return mergeTexts(pickLocaleTable(tables, locale), overrides);\n}\n\n/** Looks up a single text. Unknown keys return the key itself. */\nexport function lookupText<Key extends string>(\n texts: TextTable<Key>,\n key: Key,\n): string {\n return (texts as Record<string, string | undefined>)[key] ?? key;\n}\n","import {\n lookupText,\n resolveTexts,\n type LocaleTables,\n} from \"@/src/lib/texts\";\n\n/**\n * Every string the checkout renders. Pass a partial object through the\n * `texts` prop of `BitsnapCheckout` to override any of them, whatever the\n * locale.\n */\nexport type CheckoutTexts = {\n /** Drawer title. */\n cart: string;\n /** Shown when the cart has no products. */\n emptyCart: string;\n /** Label next to the total price. */\n total: string;\n /** Delivery note next to the total price. */\n delivery: string;\n /** Country selector placeholder. */\n chooseCountry: string;\n /** Checkout button label. */\n nextStep: string;\n /** Error shown when some products are out of stock. */\n unavailableProducts: string;\n /** Error shown when the checkout fails and the server gave no reason. */\n checkoutFailed: string;\n /** Error shown when the shop has no payment gateway connected. */\n noPaymentGateway: string;\n /** Error shown when the payment gateway of the shop is not set up. */\n gatewayNotConfigured: string;\n /** Error shown when delivery of the shop is not set up. */\n shippingNotConfigured: string;\n /** Error shown when the cart mixes subscriptions with one-time products. */\n mixedRecurring: string;\n /** Error shown when the cart currency cannot be paid in. */\n currencyUnsupported: string;\n /** Error shown when a price changed after the product was added. */\n priceChanged: string;\n /** Accessible name of the close button of the drawer. */\n close: string;\n /** Remove button of a cart line (also read together with the product name). */\n remove: string;\n /** Accessible name of the quantity control and its input. */\n quantity: string;\n /** Accessible name of the \"+\" quantity button. */\n increaseQuantity: string;\n /** Accessible name of the \"-\" quantity button. */\n decreaseQuantity: string;\n /** Accessible name of the cart button when it only shows an icon. */\n openCart: string;\n /** Hidden label of the number of products badge; the number is appended after a colon. */\n cartItemsCount: string;\n /** Label before the lowest price of the last 30 days; the price is appended. */\n lowestPrice30Days: string;\n /** Shown instead of the lowest price when the price has no history. */\n noPriceHistory: string;\n /** Error shown when redirecting to the payment failed. */\n redirectFailed: string;\n /** Error shown when a subscription is added to the cart. */\n subscriptionUnsupported: string;\n /** Country search placeholder. */\n searchCountry: string;\n /** Shown when the country search has no match. */\n noCountriesFound: string;\n /** Hint under the checkout button when no country is chosen. */\n countryRequired: string;\n /** Title of the Apple Pay and Google Pay sheet total. */\n paymentForCart: string;\n /** Coupon label in the Google Pay sheet; the code is appended. */\n coupon: string;\n /** Note under the cart total. */\n extrasCalculatedNext: string;\n /** Error shown when the products of the cart could not be loaded. */\n loadFailed: string;\n /** Button that loads the cart again. */\n retry: string;\n /** Heading of the payment method choice (shown only when the shop offers paying by hand). */\n paymentMethodLegend: string;\n /** Option that pays through the shop's online gateway. */\n paymentMethodOnline: string;\n /** Hint under the online option. */\n paymentMethodOnlineDescription: string;\n /** Manual option when the seller takes bank transfers only. */\n paymentMethodManualTransfer: string;\n /** Manual option when the seller takes BLIK transfers to a phone number only. */\n paymentMethodManualBlik: string;\n /** Manual option when the seller takes both. */\n paymentMethodManualBoth: string;\n /** What paying by hand means: the details come after the order is placed. */\n paymentMethodManualDescription: string;\n /** Shown with a selected manual option that includes BLIK to a phone number. */\n paymentMethodManualBlikNote: string;\n /** Cash on delivery option. */\n paymentMethodCod: string;\n /** Hint under the cash on delivery option. */\n paymentMethodCodDescription: string;\n /** Error shown when the shop refused cash on delivery for the order. */\n paymentMethodCodUnavailable: string;\n /** Status while the provider confirms a payment started from an express button. */\n expressPending: string;\n /** Status after the provider confirmed the payment. */\n expressConfirmed: string;\n /** Status when the provider reports a failed payment. */\n expressFailed: string;\n /** Status when the buyer cancelled the provider's payment flow. */\n expressCancelled: string;\n /** Shown while the payment is still unconfirmed after a page return. */\n expressPendingLong: string;\n /** Error shown when the provider's button could not be loaded. */\n expressLoadFailed: string;\n /** Error shown when the cart cannot be paid with this provider right now. */\n expressCartUnavailable: string;\n /** Error shown when another tab/provider changed the same cart line. */\n expressCartConflict: string;\n /** Shown when the server total changed between mounting and paying. */\n expressPriceChanged: string;\n /** Error shown when a product could not be added before the InPost binding. */\n expressProductUnavailable: string;\n};\n\nexport type CheckoutTextKey = keyof CheckoutTexts;\n\nexport const CHECKOUT_TEXT_TABLES: LocaleTables<CheckoutTextKey> = {\n en: {\n cart: \"Cart\",\n emptyCart: \"Your cart is empty.\",\n total: \"Total:\",\n delivery: \"+ delivery\",\n chooseCountry: \"Choose a country\",\n nextStep: \"Next step\",\n unavailableProducts: \"Not all products are available.\",\n checkoutFailed: \"Something went wrong. Please try again later.\",\n noPaymentGateway:\n \"This shop doesn't accept online payments yet. Try again later or contact the seller.\",\n gatewayNotConfigured:\n \"Payments in this shop are not set up correctly. Try again later or contact the seller.\",\n shippingNotConfigured:\n \"Delivery in this shop is not configured yet. Try again later or contact the seller.\",\n mixedRecurring:\n \"Subscriptions and one-time products cannot be paid for together. Pay for them in separate orders.\",\n currencyUnsupported:\n \"The shop doesn't accept payments in this currency. Contact the seller.\",\n priceChanged: \"The product price has changed. Refresh the page to see the current price.\",\n close: \"Close cart\",\n remove: \"Remove\",\n quantity: \"Quantity\",\n increaseQuantity: \"Increase quantity\",\n decreaseQuantity: \"Decrease quantity\",\n openCart: \"Open cart\",\n cartItemsCount: \"Items in cart\",\n lowestPrice30Days: \"Lowest price in the last 30 days:\",\n noPriceHistory: \"No price data for the last 30 days\",\n redirectFailed: \"Could not redirect to the payment. Please try again later.\",\n subscriptionUnsupported: \"Subscriptions cannot be added to the cart yet.\",\n searchCountry: \"Find a country\",\n noCountriesFound: \"No countries found\",\n countryRequired: \"Choose a country to continue.\",\n paymentForCart: \"Cart payment\",\n coupon: \"Coupon\",\n extrasCalculatedNext:\n \"Discounts, shipping and taxes are calculated at the next step\",\n loadFailed: \"Could not load your cart.\",\n retry: \"Try again\",\n paymentMethodLegend: \"How would you like to pay?\",\n paymentMethodOnline: \"Pay online\",\n paymentMethodOnlineDescription:\n \"Card, BLIK code or instant bank payment. You pay right away.\",\n paymentMethodManualTransfer: \"Bank transfer\",\n paymentMethodManualBlik: \"BLIK – transfer to a phone number\",\n paymentMethodManualBoth: \"Bank transfer or BLIK to a phone number\",\n paymentMethodManualDescription:\n \"You pay in your bank's app. We show the payment details after you place the order, and the order waits for your payment.\",\n paymentMethodManualBlikNote:\n \"This is not a BLIK code payment – you do not enter a 6‑digit code.\",\n paymentMethodCod: \"Cash on delivery\",\n paymentMethodCodDescription:\n \"You pay the courier in cash or by card when you receive the parcel.\",\n paymentMethodCodUnavailable:\n \"Cash on delivery is not available for this order. Choose another way to pay.\",\n expressPending: \"Confirming your payment…\",\n expressConfirmed: \"Payment confirmed. Thank you!\",\n expressFailed: \"The payment failed. Your cart is unchanged.\",\n expressCancelled: \"Payment cancelled. Your cart is unchanged.\",\n expressPendingLong:\n \"We are still confirming your payment. We will check again when you come back to this page.\",\n expressLoadFailed:\n \"Could not load this payment button. Try again later or use the regular checkout.\",\n expressCartUnavailable:\n \"This cart cannot be paid with this method right now. Try again later.\",\n expressCartConflict:\n \"Your cart changed in another tab or in the provider's app. Review the quantities and try again.\",\n expressPriceChanged:\n \"Your cart total changed. Check the new total and try again.\",\n expressProductUnavailable:\n \"This product cannot be paid for right now. Try again later.\",\n },\n pl: {\n cart: \"Koszyk\",\n emptyCart: \"Brak produktów w koszyku.\",\n total: \"Suma:\",\n delivery: \"+ dostawa\",\n chooseCountry: \"Wybierz kraj\",\n nextStep: \"Następny krok\",\n unavailableProducts: \"Nie wszystkie produkty są dostępne w magazynie.\",\n checkoutFailed: \"Coś poszło nie tak. Spróbuj ponownie później.\",\n noPaymentGateway:\n \"Ten sklep nie przyjmuje jeszcze płatności online. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n gatewayNotConfigured:\n \"Płatności w tym sklepie nie są poprawnie skonfigurowane. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n shippingNotConfigured:\n \"Dostawa w tym sklepie nie jest jeszcze skonfigurowana. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n mixedRecurring:\n \"Subskrypcji i produktów jednorazowych nie można opłacić razem. Opłać je w osobnych zamówieniach.\",\n currencyUnsupported:\n \"Sklep nie przyjmuje płatności w tej walucie. Skontaktuj się ze sprzedawcą.\",\n priceChanged: \"Cena produktu się zmieniła. Odśwież stronę, aby zobaczyć aktualną cenę.\",\n close: \"Zamknij koszyk\",\n remove: \"Usuń\",\n quantity: \"Ilość\",\n increaseQuantity: \"Zwiększ ilość\",\n decreaseQuantity: \"Zmniejsz ilość\",\n openCart: \"Otwórz koszyk\",\n cartItemsCount: \"Produktów w koszyku\",\n lowestPrice30Days: \"Najniższa cena z 30 dni:\",\n noPriceHistory: \"Brak danych o cenie z ostatnich 30 dni\",\n redirectFailed:\n \"Nie udało się przekierować do płatności. Spróbuj ponownie później.\",\n subscriptionUnsupported: \"Subskrypcji nie można jeszcze dodać do koszyka.\",\n searchCountry: \"Znajdź kraj\",\n noCountriesFound: \"Nie znaleziono krajów\",\n countryRequired: \"Wybierz kraj, aby przejść dalej.\",\n paymentForCart: \"Płatność za koszyk\",\n coupon: \"Kupon\",\n extrasCalculatedNext: \"Rabaty, dostawa i podatki w następnym kroku\",\n loadFailed: \"Nie udało się wczytać koszyka.\",\n retry: \"Spróbuj ponownie\",\n paymentMethodLegend: \"Jak chcesz zapłacić?\",\n paymentMethodOnline: \"Zapłać online\",\n paymentMethodOnlineDescription:\n \"Karta, kod BLIK lub szybki przelew. Płacisz od razu.\",\n paymentMethodManualTransfer: \"Przelew bankowy\",\n paymentMethodManualBlik: \"BLIK – przelew na telefon\",\n paymentMethodManualBoth: \"Przelew lub BLIK na telefon\",\n paymentMethodManualDescription:\n \"Zapłacisz w aplikacji swojego banku. Dane do płatności pokażemy po złożeniu zamówienia, a zamówienie poczeka na Twoją wpłatę.\",\n paymentMethodManualBlikNote:\n \"To nie jest płatność kodem BLIK – nie wpisujesz 6‑cyfrowego kodu.\",\n paymentMethodCod: \"Płatność przy odbiorze\",\n paymentMethodCodDescription:\n \"Zapłacisz kurierowi gotówką lub kartą, gdy odbierzesz przesyłkę.\",\n paymentMethodCodUnavailable:\n \"Płatność przy odbiorze nie jest dostępna dla tego zamówienia. Wybierz inną formę płatności.\",\n expressPending: \"Potwierdzamy płatność…\",\n expressConfirmed: \"Płatność potwierdzona. Dziękujemy!\",\n expressFailed: \"Płatność się nie udała. Koszyk pozostał bez zmian.\",\n expressCancelled: \"Płatność została anulowana. Koszyk pozostał bez zmian.\",\n expressPendingLong:\n \"Nadal potwierdzamy Twoją płatność. Sprawdzimy ponownie, gdy wrócisz na tę stronę.\",\n expressLoadFailed:\n \"Nie udało się wczytać przycisku płatności. Spróbuj ponownie później lub skorzystaj ze zwykłego koszyka.\",\n expressCartUnavailable:\n \"Tego koszyka nie można teraz opłacić tą metodą. Spróbuj ponownie później.\",\n expressCartConflict:\n \"Koszyk zmienił się w innej karcie lub w aplikacji przewoźnika. Sprawdź ilości i spróbuj ponownie.\",\n expressPriceChanged:\n \"Suma koszyka się zmieniła. Sprawdź nową sumę i spróbuj ponownie.\",\n expressProductUnavailable:\n \"Nie można teraz zapłacić za ten produkt. Spróbuj ponownie później.\",\n },\n};\n\n/** Default texts for a locale merged with the caller overrides. */\nexport function resolveCheckoutTexts(\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): CheckoutTexts {\n return resolveTexts(CHECKOUT_TEXT_TABLES, locale, overrides);\n}\n\nexport function getCheckoutText(\n key: CheckoutTextKey,\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): string {\n return lookupText(resolveCheckoutTexts(locale, overrides), key);\n}\n","import { pickLocaleTable } from \"@/src/lib/texts\";\nimport { CHECKOUT_TEXT_TABLES } from \"./texts\";\n\nexport const DEFAULT_LOCALE = \"pl-PL\" as const;\nconst localeStorageKey = \"bitsnap-locale\";\n\nlet activeLocale: string | undefined;\n\nexport function setLocale(locale?: string): void {\n const value = locale?.trim();\n activeLocale = value\n ? value.toLowerCase() === \"en\"\n ? \"en-US\"\n : value.toLowerCase() === \"pl\"\n ? DEFAULT_LOCALE\n : value\n : undefined;\n if (typeof localStorage !== \"undefined\") {\n if (activeLocale == null) {\n localStorage.removeItem(localeStorageKey);\n } else {\n localStorage.setItem(localeStorageKey, activeLocale);\n }\n }\n}\n\nexport function getLocale(): string {\n if (activeLocale != null) {\n return activeLocale;\n }\n if (typeof localStorage !== \"undefined\") {\n return localStorage.getItem(localeStorageKey) ?? DEFAULT_LOCALE;\n }\n return DEFAULT_LOCALE;\n}\n\nexport function translate(key: string, locale: string = getLocale()): string {\n return (\n (pickLocaleTable(CHECKOUT_TEXT_TABLES, locale) as Record<string, string>)[\n key\n ] ?? key\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/texts.ts","../src/components/checkout/texts.ts","../src/components/checkout/locale.ts"],"names":["pickLocaleTable","tables","locale","mergeTexts","table","overrides","result","key","value","resolveTexts","lookupText","texts","CHECKOUT_TEXT_TABLES","resolveCheckoutTexts","getCheckoutText","DEFAULT_LOCALE","localeStorageKey","activeLocale","setLocale","getLocale"],"mappings":"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","file":"/home/emems/.t3/worktrees/bitsnap-react/emems-order-history-panel/dist/chunk-Q337IQNA.js","sourcesContent":["/**\n * Shared text machinery: typed string tables per locale, the locale fallback\n * and a merge with caller overrides. Each module (checkout, later returns)\n * supplies its own key type and default tables.\n */\n\n/** Strings of one locale, keyed by text key. */\nexport type TextTable<Key extends string> = Record<Key, string>;\n\n/** Default tables for the supported locales. */\nexport type LocaleTables<Key extends string> = {\n en: TextTable<Key>;\n pl: TextTable<Key>;\n};\n\n/**\n * Picks the table for a locale. Any locale starting with `en` (case\n * insensitive, so `en`, `en-US`, `EN-gb`) gets English; everything else,\n * including unknown locales, gets the Polish default.\n */\nexport function pickLocaleTable<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n): TextTable<Key> {\n return locale.toLowerCase().startsWith(\"en\") ? tables.en : tables.pl;\n}\n\n/**\n * Merges caller overrides over a table. Overrides apply regardless of the\n * locale; `undefined`/`null` entries are ignored so the default stays.\n */\nexport function mergeTexts<Key extends string>(\n table: TextTable<Key>,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n const result: Record<string, string> = { ...table };\n\n if (overrides != null) {\n for (const [key, value] of Object.entries<string | undefined>(overrides)) {\n if (value != null) {\n result[key] = value;\n }\n }\n }\n\n return result as TextTable<Key>;\n}\n\n/** Locale table merged with the caller overrides. */\nexport function resolveTexts<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n return mergeTexts(pickLocaleTable(tables, locale), overrides);\n}\n\n/** Looks up a single text. Unknown keys return the key itself. */\nexport function lookupText<Key extends string>(\n texts: TextTable<Key>,\n key: Key,\n): string {\n return (texts as Record<string, string | undefined>)[key] ?? key;\n}\n","import {\n lookupText,\n resolveTexts,\n type LocaleTables,\n} from \"@/src/lib/texts\";\n\n/**\n * Every string the checkout renders. Pass a partial object through the\n * `texts` prop of `BitsnapCheckout` to override any of them, whatever the\n * locale.\n */\nexport type CheckoutTexts = {\n /** Drawer title. */\n cart: string;\n /** Shown when the cart has no products. */\n emptyCart: string;\n /** Label next to the total price. */\n total: string;\n /** Delivery note next to the total price. */\n delivery: string;\n /** Country selector placeholder. */\n chooseCountry: string;\n /** Checkout button label. */\n nextStep: string;\n /** Error shown when some products are out of stock. */\n unavailableProducts: string;\n /** Error shown when the checkout fails and the server gave no reason. */\n checkoutFailed: string;\n /** Error shown when the shop has no payment gateway connected. */\n noPaymentGateway: string;\n /** Error shown when the payment gateway of the shop is not set up. */\n gatewayNotConfigured: string;\n /** Error shown when delivery of the shop is not set up. */\n shippingNotConfigured: string;\n /** Error shown when the cart mixes subscriptions with one-time products. */\n mixedRecurring: string;\n /** Error shown when the cart currency cannot be paid in. */\n currencyUnsupported: string;\n /** Error shown when a price changed after the product was added. */\n priceChanged: string;\n /** Accessible name of the close button of the drawer. */\n close: string;\n /** Remove button of a cart line (also read together with the product name). */\n remove: string;\n /** Accessible name of the quantity control and its input. */\n quantity: string;\n /** Accessible name of the \"+\" quantity button. */\n increaseQuantity: string;\n /** Accessible name of the \"-\" quantity button. */\n decreaseQuantity: string;\n /** Accessible name of the cart button when it only shows an icon. */\n openCart: string;\n /** Hidden label of the number of products badge; the number is appended after a colon. */\n cartItemsCount: string;\n /** Label before the lowest price of the last 30 days; the price is appended. */\n lowestPrice30Days: string;\n /** Shown instead of the lowest price when the price has no history. */\n noPriceHistory: string;\n /** Error shown when redirecting to the payment failed. */\n redirectFailed: string;\n /** Error shown when a subscription is added to the cart. */\n subscriptionUnsupported: string;\n /** Country search placeholder. */\n searchCountry: string;\n /** Shown when the country search has no match. */\n noCountriesFound: string;\n /** Hint under the checkout button when no country is chosen. */\n countryRequired: string;\n /** Title of the Apple Pay and Google Pay sheet total. */\n paymentForCart: string;\n /** Coupon label in the Google Pay sheet; the code is appended. */\n coupon: string;\n /** Note under the cart total. */\n extrasCalculatedNext: string;\n /** Error shown when the products of the cart could not be loaded. */\n loadFailed: string;\n /** Button that loads the cart again. */\n retry: string;\n /** Heading of the payment method choice (shown only when the shop offers paying by hand). */\n paymentMethodLegend: string;\n /** Option that pays through the shop's online gateway. */\n paymentMethodOnline: string;\n /** Hint under the online option. */\n paymentMethodOnlineDescription: string;\n /** Manual option when the seller takes bank transfers only. */\n paymentMethodManualTransfer: string;\n /** Manual option when the seller takes BLIK transfers to a phone number only. */\n paymentMethodManualBlik: string;\n /** Manual option when the seller takes both. */\n paymentMethodManualBoth: string;\n /** What paying by hand means: the details come after the order is placed. */\n paymentMethodManualDescription: string;\n /** Shown with a selected manual option that includes BLIK to a phone number. */\n paymentMethodManualBlikNote: string;\n /** Cash on delivery option. */\n paymentMethodCod: string;\n /** Hint under the cash on delivery option. */\n paymentMethodCodDescription: string;\n /** Error shown when the shop refused cash on delivery for the order. */\n paymentMethodCodUnavailable: string;\n /** Status while the provider confirms a payment started from an express button. */\n expressPending: string;\n /** Status after the provider confirmed the payment. */\n expressConfirmed: string;\n /** Status when the provider reports a failed payment. */\n expressFailed: string;\n /** Status when the buyer cancelled the provider's payment flow. */\n expressCancelled: string;\n /** Shown while the payment is still unconfirmed after a page return. */\n expressPendingLong: string;\n /** Error shown when the provider's button could not be loaded. */\n expressLoadFailed: string;\n /** Error shown when the cart cannot be paid with this provider right now. */\n expressCartUnavailable: string;\n /** Error shown when another tab/provider changed the same cart line. */\n expressCartConflict: string;\n /** Shown when the server total changed between mounting and paying. */\n expressPriceChanged: string;\n /** Error shown when a product could not be added before the InPost binding. */\n expressProductUnavailable: string;\n};\n\nexport type CheckoutTextKey = keyof CheckoutTexts;\n\nexport const CHECKOUT_TEXT_TABLES: LocaleTables<CheckoutTextKey> = {\n en: {\n cart: \"Cart\",\n emptyCart: \"Your cart is empty.\",\n total: \"Total:\",\n delivery: \"+ delivery\",\n chooseCountry: \"Choose a country\",\n nextStep: \"Next step\",\n unavailableProducts: \"Not all products are available.\",\n checkoutFailed: \"Something went wrong. Please try again later.\",\n noPaymentGateway:\n \"This shop doesn't accept online payments yet. Try again later or contact the seller.\",\n gatewayNotConfigured:\n \"Payments in this shop are not set up correctly. Try again later or contact the seller.\",\n shippingNotConfigured:\n \"Delivery in this shop is not configured yet. Try again later or contact the seller.\",\n mixedRecurring:\n \"Subscriptions and one-time products cannot be paid for together. Pay for them in separate orders.\",\n currencyUnsupported:\n \"The shop doesn't accept payments in this currency. Contact the seller.\",\n priceChanged: \"The product price has changed. Refresh the page to see the current price.\",\n close: \"Close cart\",\n remove: \"Remove\",\n quantity: \"Quantity\",\n increaseQuantity: \"Increase quantity\",\n decreaseQuantity: \"Decrease quantity\",\n openCart: \"Open cart\",\n cartItemsCount: \"Items in cart\",\n lowestPrice30Days: \"Lowest price in the last 30 days:\",\n noPriceHistory: \"No price data for the last 30 days\",\n redirectFailed: \"Could not redirect to the payment. Please try again later.\",\n subscriptionUnsupported: \"Subscriptions cannot be added to the cart yet.\",\n searchCountry: \"Find a country\",\n noCountriesFound: \"No countries found\",\n countryRequired: \"Choose a country to continue.\",\n paymentForCart: \"Cart payment\",\n coupon: \"Coupon\",\n extrasCalculatedNext:\n \"Discounts, shipping and taxes are calculated at the next step\",\n loadFailed: \"Could not load your cart.\",\n retry: \"Try again\",\n paymentMethodLegend: \"How would you like to pay?\",\n paymentMethodOnline: \"Pay online\",\n paymentMethodOnlineDescription:\n \"Card, BLIK code or instant bank payment. You pay right away.\",\n paymentMethodManualTransfer: \"Bank transfer\",\n paymentMethodManualBlik: \"BLIK – transfer to a phone number\",\n paymentMethodManualBoth: \"Bank transfer or BLIK to a phone number\",\n paymentMethodManualDescription:\n \"You pay in your bank's app. We show the payment details after you place the order, and the order waits for your payment.\",\n paymentMethodManualBlikNote:\n \"This is not a BLIK code payment – you do not enter a 6‑digit code.\",\n paymentMethodCod: \"Cash on delivery\",\n paymentMethodCodDescription:\n \"You pay the courier in cash or by card when you receive the parcel.\",\n paymentMethodCodUnavailable:\n \"Cash on delivery is not available for this order. Choose another way to pay.\",\n expressPending: \"Confirming your payment…\",\n expressConfirmed: \"Payment confirmed. Thank you!\",\n expressFailed: \"The payment failed. Your cart is unchanged.\",\n expressCancelled: \"Payment cancelled. Your cart is unchanged.\",\n expressPendingLong:\n \"We are still confirming your payment. We will check again when you come back to this page.\",\n expressLoadFailed:\n \"Could not load this payment button. Try again later or use the regular checkout.\",\n expressCartUnavailable:\n \"This cart cannot be paid with this method right now. Try again later.\",\n expressCartConflict:\n \"Your cart changed in another tab or in the provider's app. Review the quantities and try again.\",\n expressPriceChanged:\n \"Your cart total changed. Check the new total and try again.\",\n expressProductUnavailable:\n \"This product cannot be paid for right now. Try again later.\",\n },\n pl: {\n cart: \"Koszyk\",\n emptyCart: \"Brak produktów w koszyku.\",\n total: \"Suma:\",\n delivery: \"+ dostawa\",\n chooseCountry: \"Wybierz kraj\",\n nextStep: \"Następny krok\",\n unavailableProducts: \"Nie wszystkie produkty są dostępne w magazynie.\",\n checkoutFailed: \"Coś poszło nie tak. Spróbuj ponownie później.\",\n noPaymentGateway:\n \"Ten sklep nie przyjmuje jeszcze płatności online. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n gatewayNotConfigured:\n \"Płatności w tym sklepie nie są poprawnie skonfigurowane. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n shippingNotConfigured:\n \"Dostawa w tym sklepie nie jest jeszcze skonfigurowana. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n mixedRecurring:\n \"Subskrypcji i produktów jednorazowych nie można opłacić razem. Opłać je w osobnych zamówieniach.\",\n currencyUnsupported:\n \"Sklep nie przyjmuje płatności w tej walucie. Skontaktuj się ze sprzedawcą.\",\n priceChanged: \"Cena produktu się zmieniła. Odśwież stronę, aby zobaczyć aktualną cenę.\",\n close: \"Zamknij koszyk\",\n remove: \"Usuń\",\n quantity: \"Ilość\",\n increaseQuantity: \"Zwiększ ilość\",\n decreaseQuantity: \"Zmniejsz ilość\",\n openCart: \"Otwórz koszyk\",\n cartItemsCount: \"Produktów w koszyku\",\n lowestPrice30Days: \"Najniższa cena z 30 dni:\",\n noPriceHistory: \"Brak danych o cenie z ostatnich 30 dni\",\n redirectFailed:\n \"Nie udało się przekierować do płatności. Spróbuj ponownie później.\",\n subscriptionUnsupported: \"Subskrypcji nie można jeszcze dodać do koszyka.\",\n searchCountry: \"Znajdź kraj\",\n noCountriesFound: \"Nie znaleziono krajów\",\n countryRequired: \"Wybierz kraj, aby przejść dalej.\",\n paymentForCart: \"Płatność za koszyk\",\n coupon: \"Kupon\",\n extrasCalculatedNext: \"Rabaty, dostawa i podatki w następnym kroku\",\n loadFailed: \"Nie udało się wczytać koszyka.\",\n retry: \"Spróbuj ponownie\",\n paymentMethodLegend: \"Jak chcesz zapłacić?\",\n paymentMethodOnline: \"Zapłać online\",\n paymentMethodOnlineDescription:\n \"Karta, kod BLIK lub szybki przelew. Płacisz od razu.\",\n paymentMethodManualTransfer: \"Przelew bankowy\",\n paymentMethodManualBlik: \"BLIK – przelew na telefon\",\n paymentMethodManualBoth: \"Przelew lub BLIK na telefon\",\n paymentMethodManualDescription:\n \"Zapłacisz w aplikacji swojego banku. Dane do płatności pokażemy po złożeniu zamówienia, a zamówienie poczeka na Twoją wpłatę.\",\n paymentMethodManualBlikNote:\n \"To nie jest płatność kodem BLIK – nie wpisujesz 6‑cyfrowego kodu.\",\n paymentMethodCod: \"Płatność przy odbiorze\",\n paymentMethodCodDescription:\n \"Zapłacisz kurierowi gotówką lub kartą, gdy odbierzesz przesyłkę.\",\n paymentMethodCodUnavailable:\n \"Płatność przy odbiorze nie jest dostępna dla tego zamówienia. Wybierz inną formę płatności.\",\n expressPending: \"Potwierdzamy płatność…\",\n expressConfirmed: \"Płatność potwierdzona. Dziękujemy!\",\n expressFailed: \"Płatność się nie udała. Koszyk pozostał bez zmian.\",\n expressCancelled: \"Płatność została anulowana. Koszyk pozostał bez zmian.\",\n expressPendingLong:\n \"Nadal potwierdzamy Twoją płatność. Sprawdzimy ponownie, gdy wrócisz na tę stronę.\",\n expressLoadFailed:\n \"Nie udało się wczytać przycisku płatności. Spróbuj ponownie później lub skorzystaj ze zwykłego koszyka.\",\n expressCartUnavailable:\n \"Tego koszyka nie można teraz opłacić tą metodą. Spróbuj ponownie później.\",\n expressCartConflict:\n \"Koszyk zmienił się w innej karcie lub w aplikacji przewoźnika. Sprawdź ilości i spróbuj ponownie.\",\n expressPriceChanged:\n \"Suma koszyka się zmieniła. Sprawdź nową sumę i spróbuj ponownie.\",\n expressProductUnavailable:\n \"Nie można teraz zapłacić za ten produkt. Spróbuj ponownie później.\",\n },\n};\n\n/** Default texts for a locale merged with the caller overrides. */\nexport function resolveCheckoutTexts(\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): CheckoutTexts {\n return resolveTexts(CHECKOUT_TEXT_TABLES, locale, overrides);\n}\n\nexport function getCheckoutText(\n key: CheckoutTextKey,\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): string {\n return lookupText(resolveCheckoutTexts(locale, overrides), key);\n}\n","import { pickLocaleTable } from \"@/src/lib/texts\";\nimport { CHECKOUT_TEXT_TABLES } from \"./texts\";\n\nexport const DEFAULT_LOCALE = \"pl-PL\" as const;\nconst localeStorageKey = \"bitsnap-locale\";\n\nlet activeLocale: string | undefined;\n\nexport function setLocale(locale?: string): void {\n const value = locale?.trim();\n activeLocale = value\n ? value.toLowerCase() === \"en\"\n ? \"en-US\"\n : value.toLowerCase() === \"pl\"\n ? DEFAULT_LOCALE\n : value\n : undefined;\n if (typeof localStorage !== \"undefined\") {\n if (activeLocale == null) {\n localStorage.removeItem(localeStorageKey);\n } else {\n localStorage.setItem(localeStorageKey, activeLocale);\n }\n }\n}\n\nexport function getLocale(): string {\n if (activeLocale != null) {\n return activeLocale;\n }\n if (typeof localStorage !== \"undefined\") {\n return localStorage.getItem(localeStorageKey) ?? DEFAULT_LOCALE;\n }\n return DEFAULT_LOCALE;\n}\n\nexport function translate(key: string, locale: string = getLocale()): string {\n return (\n (pickLocaleTable(CHECKOUT_TEXT_TABLES, locale) as Record<string, string>)[\n key\n ] ?? key\n );\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{k as i}from"./chunk-GMQYQTUM.mjs";import{b as t}from"./chunk-CUPG4B5W.mjs";import{l as o,n as r}from"./chunk-EVV25IKM.mjs";import{createContext as p,useContext as P}from"react";import{jsx as e}from"react/jsx-runtime";var a=p(t()),u=({children:c,analytics:s})=>{let n=t(),l=r(n.projectID,s,"panel");return e(i,{children:e(a.Provider,{value:{...n},children:e(o,{value:l,children:e("div",{className:"bitsnap-react",children:c})})})})},C=()=>P(a);export{u as a,C as b};
|
|
2
|
+
//# sourceMappingURL=chunk-RA6M3TJ3.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as U}from"./chunk-EMR4YXNY.mjs";import{a as ot,b as nt}from"./chunk-KOVKUJAW.mjs";import{a as O,b as at,c as it,d as st,e as dt}from"./chunk-QCIETNFZ.mjs";import{a as M}from"./chunk-5R6AGO3Z.mjs";import{e as rt}from"./chunk-C2AJ5B32.mjs";import{f as X,l as Z,m as J,n as Y,p as Q}from"./chunk-QQSCVPOG.mjs";import{b as tt,d as et}from"./chunk-OFPRIENJ.mjs";var ht=["root","grid","card","cardLink","image","imagePlaceholder","body","name","description","price","comparePrice","badge","model3dBadge","actions","addToCartButton","selectButton","message","pagination","paginationButton","pageIndicator","emptyState","error","retryButton","skeleton"],xt={fontFamily:"--bitsnap-products-font-family",gridMinWidth:"--bitsnap-products-grid-min-width",fontSize:"--bitsnap-products-font-size",background:"--bitsnap-products-background",surface:"--bitsnap-products-surface",foreground:"--bitsnap-products-foreground",mutedForeground:"--bitsnap-products-muted-foreground",border:"--bitsnap-products-border",buttonBackground:"--bitsnap-products-button-background",buttonForeground:"--bitsnap-products-button-foreground",buttonHoverBackground:"--bitsnap-products-button-hover-background",hoverSurface:"--bitsnap-products-hover-surface",focusRing:"--bitsnap-products-focus-ring",error:"--bitsnap-products-error",badgeBackground:"--bitsnap-products-badge-background",badgeForeground:"--bitsnap-products-badge-foreground",radius:"--bitsnap-products-radius"},Tt={light:{background:"#ffffff",surface:"#f9fafb",foreground:"#18181b",mutedForeground:"#71717a",border:"#e4e4e7",buttonBackground:"#18181b",buttonForeground:"#fafafa",buttonHoverBackground:"#000000",hoverSurface:"#f4f4f5",focusRing:"#71717a",error:"#dc2626",badgeBackground:"#f4f4f5",badgeForeground:"#3f3f46",radius:"8px",gridMinWidth:"9rem"},dark:{background:"#18181b",surface:"#27272a",foreground:"#fafafa",mutedForeground:"#a1a1aa",border:"#3f3f46",buttonBackground:"#fafafa",buttonForeground:"#18181b",buttonHoverBackground:"#e4e4e7",hoverSurface:"#3f3f46",focusRing:"#a1a1aa",error:"#f87171",badgeBackground:"#3f3f46",badgeForeground:"#e4e4e7",radius:"8px",gridMinWidth:"9rem"}},Ct=[];function ct(t){let e=ot(t,{defaultTheme:"light",presets:Tt,variables:xt,shadcnVariables:Ct});return{theme:e.theme,tokens:e.tokens,elements:e.elements,boundaryClassName:e.theme,boundaryStyle:e.boundaryStyle}}function j(t,e){return nt(t.elements,e)}import{useCallback as ut,useEffect as St,useMemo as kt,useState as F}from"react";function q(t){let{projectID:e,locale:n,search:o,initialData:i}=t,[a]=F(()=>rt),d=t.host??a,c=O(t.pageSize),s=JSON.stringify([e,d,n??null,o?.trim()??null,c]),[g,l]=F({queryKey:s,page:1});g.queryKey!==s&&l({queryKey:s,page:1});let[P,C]=F(0),[m,p]=F(()=>({requestKey:i!=null?`${s}|1|0`:"",data:i,error:void 0})),f=m.data?.totalCount??0,b=at(f,c),h=g.queryKey===s?g.page:1,k=f>0?Math.min(h,b):h,S=`${s}|${k}|${P}`,T=m.requestKey===S;St(()=>{if(T)return;let y=new AbortController;return it({projectID:e,host:d,locale:n,search:o,limit:c,offset:(k-1)*c},y.signal).then(L=>{y.signal.aborted||p({requestKey:S,data:L,error:void 0})},L=>{y.signal.aborted||p(E=>({requestKey:S,data:E.data,error:L instanceof Error?L:new Error(String(L))}))}),()=>y.abort()},[S,T]);let I=ut(y=>{let L=Math.max(1,Math.floor(y));l({queryKey:s,page:f>0?Math.min(L,b):L})},[s,f,b]),A=ut(()=>C(y=>y+1),[]);return kt(()=>({products:m.data?.items??[],totalCount:f,page:k,pageCount:b,setPage:I,isLoading:!T,error:T?m.error:void 0,refetch:A}),[m,f,k,b,I,T,A])}import{createContext as gt,useCallback as K,useContext as mt,useEffect as B,useMemo as R,useRef as H,useState as It}from"react";var z=50,At=1e3;function lt(t,e=At){let n=new Set,o=new Map,i=[],a=[],d,c,s=!1;function g(){for(c!==void 0&&clearTimeout(c),c=void 0;i.length>0;){let p=i.slice(0,z),f=a.slice(0,z);i=i.slice(z),a=a.slice(z);try{t({productIds:p,positions:f})}catch{}}}function l(){g();try{X()?.flush()}catch{}}let P=()=>{typeof document<"u"&&document.visibilityState==="hidden"&&l()};function C(){s||typeof window>"u"||(s=!0,window.addEventListener("pagehide",l,!0),document.addEventListener("visibilitychange",P,!0))}function m(){if(d)return d;if(!(typeof IntersectionObserver>"u"))return d=new IntersectionObserver(p=>{for(let f of p){let b=o.get(f.target);!b||!f.isIntersecting||f.intersectionRatio<.5||(o.delete(f.target),d?.unobserve(f.target),!n.has(b.id)&&(n.add(b.id),i.push(b.id),a.push(b.position)))}i.length>0&&c===void 0&&(c=setTimeout(g,e),c.unref?.())},{threshold:[.5]}),C(),d}return{observe(p,f,b){try{if(n.has(f))return()=>{};let h=m();return h?(o.set(p,{id:f,position:b}),h.observe(p),()=>{o.delete(p),h.unobserve(p)}):()=>{}}catch{return()=>{}}},flush:g,destroy(){try{g(),d?.disconnect(),s&&(window.removeEventListener("pagehide",l,!0),document.removeEventListener("visibilitychange",P,!0),s=!1)}catch{}d=void 0,o.clear()}}}var wt={en:{addToCart:"Add to cart",addingToCart:"Adding\u2026",addedToCart:"Added to cart",addToCartError:"Could not add to the cart. Try again.",chooseOptions:"Choose",viewProduct:"View",unavailable:"Unavailable",subscription:"Subscription",model3d:"3D",model3dLabel:"3D model",priceFrom:"from {price}",originalPrice:"Original price",loading:"Loading products",empty:"There are no products to show.",error:"Could not load the products.",retry:"Try again",pagination:"Pagination",previousPage:"Previous",nextPage:"Next",pageOf:"Page {page} of {pageCount}"},pl:{addToCart:"Dodaj do koszyka",addingToCart:"Dodawanie\u2026",addedToCart:"Dodano do koszyka",addToCartError:"Nie uda\u0142o si\u0119 doda\u0107 do koszyka. Spr\xF3buj ponownie.",chooseOptions:"Wybierz",viewProduct:"Zobacz",unavailable:"Niedost\u0119pny",subscription:"Subskrypcja",model3d:"3D",model3dLabel:"Model 3D",priceFrom:"od {price}",originalPrice:"Cena przed obni\u017Ck\u0105",loading:"\u0141adowanie produkt\xF3w",empty:"Brak produkt\xF3w do wy\u015Bwietlenia.",error:"Nie uda\u0142o si\u0119 za\u0142adowa\u0107 produkt\xF3w.",retry:"Spr\xF3buj ponownie",pagination:"Paginacja",previousPage:"Poprzednia",nextPage:"Nast\u0119pna",pageOf:"Strona {page} z {pageCount}"}};function pt(t,e){return tt(wt,t,e)}function V(t,e){return t.replace(/\{(\w+)\}/g,(n,o)=>o in e?String(e[o]):n)}import{Fragment as Lt,jsx as r,jsxs as x}from"react/jsx-runtime";var ft=gt(void 0),Et={observe:()=>()=>{},clicked:()=>{}},bt=gt(Et);function D(){let t=mt(ft);if(t==null)throw new Error("ProductList parts must be rendered inside ProductList");return t}function u(t,e){let{appearance:n}=D(),o=j(n,t);return{"data-bitsnap-products-slot":t,className:M(e,o?.className),style:o?.style}}var $="inline-flex cursor-pointer items-center justify-center px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:opacity-50",Pt=`${$} w-full`,_t=`${Pt} no-underline`;function Nt({product:t,onAdd:e}){let{texts:n}=D(),[o,i]=It("idle"),a=u("addToCartButton",Pt),d=u("message","mt-2 text-xs");B(()=>{if(o!=="added")return;let g=setTimeout(()=>i("idle"),2e3);return()=>clearTimeout(g)},[o]);let c=K(async()=>{i("adding");try{await e(),i("added")}catch(g){console.error("bitsnap-react: could not add to the cart",g),i("error")}},[e]),s=o==="adding"?n.addingToCart:o==="added"?n.addedToCart:n.addToCart;return x(Lt,{children:[r("button",{type:"button",...a,disabled:o==="adding","aria-label":`${s}: ${t.name}`,onClick:c,children:s}),o==="error"?r("p",{...d,role:"alert",children:n.addToCartError}):null]})}function Ot({product:t,position:e,href:n,onAdd:o,renderItem:i}){let{texts:a,locale:d}=D(),c=mt(bt),s=H(null);B(()=>{if(s.current!=null)return c.observe(s.current,t.id,e)},[c,t.id,e]);let g=K(()=>c.clicked(t,e),[c,t,e]),l=u("card","relative flex flex-col overflow-hidden border transition-colors"),P=u("cardLink","flex flex-1 flex-col no-underline"),C=u("image","aspect-square w-full overflow-hidden"),m=u("imagePlaceholder","aspect-square w-full"),p=u("body","flex flex-1 flex-col gap-1 p-4"),f=u("name","text-base font-medium leading-snug"),b=u("description","line-clamp-2 text-sm"),h=u("price","mt-auto pt-2 text-base font-semibold"),k=u("comparePrice","ml-2 text-sm font-normal"),S=u("badge","absolute left-3 top-3 px-2 py-0.5 text-xs font-medium"),T=u("model3dBadge","absolute right-3 top-3 inline-flex items-center gap-1 px-2 py-0.5 text-xs font-semibold"),I=u("actions","p-4 pt-0"),A=u("selectButton",_t),y=U(t.price,t.currency,d),L=t.compareAtPrice!=null&&t.compareAtPrice>t.price?U(t.compareAtPrice,t.currency,d):null;if(i!=null)return r("li",{ref:s,...l,"data-unavailable":t.available?void 0:"",children:i(t,{href:n,price:y,compareAtPrice:L,texts:a,locale:d,addToCart:o,trackClick:g})});let E=t.image?.thumbnailUrl??t.image?.url,_=t.available?t.isRecurring?a.subscription:null:a.unavailable;return x("li",{ref:s,...l,"data-unavailable":t.available?void 0:"",children:[x("a",{...P,href:n,onClick:g,children:[E!=null?r("div",{...C,children:r("img",{src:E,alt:"",loading:"lazy",decoding:"async",className:"h-full w-full object-cover"})}):r("div",{...m,"aria-hidden":"true"}),x("div",{...p,children:[r("h3",{...f,children:t.name}),t.shortDescription?r("p",{...b,children:t.shortDescription}):null,x("p",{...h,children:[t.priceFrom?V(a.priceFrom,{price:y}):y,L!=null?x(Lt,{children:[x("span",{className:"sr-only",children:[a.originalPrice,": "]}),r("del",{...k,children:L})]}):null]})]})]}),_!=null?r("span",{...S,"data-kind":t.available?"subscription":"unavailable",children:_}):null,t.has3d===!0?x("span",{...T,title:a.model3dLabel,children:[r(Bt,{}),r("span",{"aria-hidden":"true",children:a.model3d}),r("span",{className:"sr-only",children:a.model3dLabel})]}):null,r("div",{...I,children:t.available?t.addToCart?r(Nt,{product:t,onAdd:o}):r("a",{...A,href:n,onClick:g,children:t.variantCount>1?a.chooseOptions:a.viewProduct}):r("button",{type:"button",...A,disabled:!0,children:a.unavailable})})]})}function Bt(){return x("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"}),r("path",{d:"m3.3 7 8.7 5 8.7-5"}),r("path",{d:"M12 22V12"})]})}var yt="m-0 grid list-none grid-cols-[repeat(auto-fill,minmax(min(100%,var(--bitsnap-products-grid-min-width,9rem)),1fr))] gap-5 p-0";function Rt({count:t,label:e}){let n=u("grid",yt),o=u("skeleton","aspect-[3/4] animate-pulse");return r("div",{...n,role:"status","aria-busy":"true","aria-label":e,children:Array.from({length:t},(i,a)=>r("div",{...o,"aria-hidden":"true"},a))})}function Dt({page:t,pageCount:e,isLoading:n,onPage:o}){let{texts:i}=D(),a=u("pagination","mt-8 flex items-center justify-center gap-4"),d=u("paginationButton",$),c=u("pageIndicator","text-sm");return x("nav",{...a,"aria-label":i.pagination,children:[r("button",{type:"button",...d,"aria-disabled":n||t<=1,onClick:()=>{!n&&t>1&&o(t-1)},children:i.previousPage}),r("span",{...c,"aria-live":"polite",children:V(i.pageOf,{page:t,pageCount:e})}),r("button",{type:"button",...d,"aria-disabled":n||t>=e,onClick:()=>{!n&&t<e&&o(t+1)},children:i.nextPage})]})}function Mt({options:t,productHref:e,renderItem:n,onAddToCart:o,showCartOnAdd:i}){let{texts:a}=D(),{products:d,page:c,pageCount:s,setPage:g,isLoading:l,error:P,refetch:C}=q(t),m=J(),p=t.search?.trim()?"search":"catalog",f=O(t.pageSize),b=H(!1);B(()=>{b.current||l||P!=null||(b.current=!0,m.track("product_list_viewed",{list_id:p,item_count:d.length}))},[m,l,P,p,d.length]);let h=R(()=>lt(({productIds:v,positions:w})=>m.track("product_impression",{list_id:p,product_ids:v,positions:w})),[m,p]);B(()=>()=>h.destroy(),[h]);let k=R(()=>({observe:h.observe,clicked:(v,w)=>m.track("product_clicked",{list_id:p,position:w},{product_id:v.id})}),[h,m,p]),S=H(null),T=H(!1),I=K(v=>{T.current=!0,g(v)},[g]);B(()=>{l||!T.current||(T.current=!1,S.current?.focus({preventScroll:!0}),S.current?.scrollIntoView({block:"start"}))},[l]);let A=u("grid",yt),y=u("emptyState","py-12 text-center text-sm"),L=u("error","flex flex-col items-center gap-3 py-12 text-center text-sm"),E=u("retryButton",$),{projectID:_,host:W}=t,vt=K((v,w)=>async()=>{if(o!=null){await Q(()=>o(v)),st(m,v);return}await dt(v,{projectID:_,host:W,showCart:i,analytics:m,url:w})},[o,_,W,i,m]),N;return l&&d.length===0?N=r(Rt,{count:Math.min(O(t.pageSize),8),label:a.loading}):P!=null?N=x("div",{...L,role:"alert",children:[r("p",{children:a.error}),r("button",{type:"button",...E,onClick:C,children:a.retry})]}):d.length===0?N=r("p",{...y,children:a.empty}):N=r("ul",{...A,"aria-busy":l||void 0,className:M(A.className,l&&"opacity-60"),children:d.map((v,w)=>{let G=e(v);return r(Ot,{product:v,position:(c-1)*f+w,href:G,onAdd:vt(v,G),renderItem:n},v.id)})}),r(bt.Provider,{value:k,children:x("div",{ref:S,tabIndex:-1,className:"p-1 outline-none scroll-mt-4",children:[N,s>1&&P==null?r(Dt,{page:c,pageCount:s,isLoading:l,onPage:I}):null]})})}var Ut=t=>`/p/${encodeURIComponent(t.uniqueSlug)}`;function Ft({productHref:t=Ut,appearance:e,texts:n,renderItem:o,onAddToCart:i,showCartOnAdd:a=!0,className:d,analytics:c,...s}){let g=Y(s.projectID,c,"catalog"),l=s.locale??et,P=R(()=>ct(e),[e]),C=R(()=>pt(l,n),[l,n]),m=R(()=>({appearance:P,texts:C,locale:l}),[P,C,l]),p=j(P,"root");return r(Z,{value:g,children:r(ft.Provider,{value:m,children:r("div",{"data-bitsnap-products":"root","data-bitsnap-products-slot":"root",className:M("bitsnap-react",P.boundaryClassName,d,p?.className),style:{...P.boundaryStyle,...p?.style},children:r(Mt,{options:s,productHref:t,renderItem:o,onAddToCart:i,showCartOnAdd:a})})})})}export{ht as a,q as b,Ft as c};
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as U}from"./chunk-EMR4YXNY.mjs";import{a as ot,b as nt}from"./chunk-KOVKUJAW.mjs";import{a as O,b as at,c as it,d as st,e as dt}from"./chunk-NMXTTD5M.mjs";import{a as M}from"./chunk-5R6AGO3Z.mjs";import{e as rt}from"./chunk-4AU5SEHU.mjs";import{f as X,l as Z,m as J,n as Y,p as Q}from"./chunk-EVV25IKM.mjs";import{b as tt,d as et}from"./chunk-OFPRIENJ.mjs";var ht=["root","grid","card","cardLink","image","imagePlaceholder","body","name","description","price","comparePrice","badge","model3dBadge","actions","addToCartButton","selectButton","message","pagination","paginationButton","pageIndicator","emptyState","error","retryButton","skeleton"],xt={fontFamily:"--bitsnap-products-font-family",gridMinWidth:"--bitsnap-products-grid-min-width",fontSize:"--bitsnap-products-font-size",background:"--bitsnap-products-background",surface:"--bitsnap-products-surface",foreground:"--bitsnap-products-foreground",mutedForeground:"--bitsnap-products-muted-foreground",border:"--bitsnap-products-border",buttonBackground:"--bitsnap-products-button-background",buttonForeground:"--bitsnap-products-button-foreground",buttonHoverBackground:"--bitsnap-products-button-hover-background",hoverSurface:"--bitsnap-products-hover-surface",focusRing:"--bitsnap-products-focus-ring",error:"--bitsnap-products-error",badgeBackground:"--bitsnap-products-badge-background",badgeForeground:"--bitsnap-products-badge-foreground",radius:"--bitsnap-products-radius"},Tt={light:{background:"#ffffff",surface:"#f9fafb",foreground:"#18181b",mutedForeground:"#71717a",border:"#e4e4e7",buttonBackground:"#18181b",buttonForeground:"#fafafa",buttonHoverBackground:"#000000",hoverSurface:"#f4f4f5",focusRing:"#71717a",error:"#dc2626",badgeBackground:"#f4f4f5",badgeForeground:"#3f3f46",radius:"8px",gridMinWidth:"9rem"},dark:{background:"#18181b",surface:"#27272a",foreground:"#fafafa",mutedForeground:"#a1a1aa",border:"#3f3f46",buttonBackground:"#fafafa",buttonForeground:"#18181b",buttonHoverBackground:"#e4e4e7",hoverSurface:"#3f3f46",focusRing:"#a1a1aa",error:"#f87171",badgeBackground:"#3f3f46",badgeForeground:"#e4e4e7",radius:"8px",gridMinWidth:"9rem"}},Ct=[];function ct(t){let e=ot(t,{defaultTheme:"light",presets:Tt,variables:xt,shadcnVariables:Ct});return{theme:e.theme,tokens:e.tokens,elements:e.elements,boundaryClassName:e.theme,boundaryStyle:e.boundaryStyle}}function j(t,e){return nt(t.elements,e)}import{useCallback as ut,useEffect as St,useMemo as kt,useState as F}from"react";function q(t){let{projectID:e,locale:n,search:o,initialData:i}=t,[a]=F(()=>rt),d=t.host??a,c=O(t.pageSize),s=JSON.stringify([e,d,n??null,o?.trim()??null,c]),[g,l]=F({queryKey:s,page:1});g.queryKey!==s&&l({queryKey:s,page:1});let[P,C]=F(0),[m,p]=F(()=>({requestKey:i!=null?`${s}|1|0`:"",data:i,error:void 0})),f=m.data?.totalCount??0,b=at(f,c),h=g.queryKey===s?g.page:1,k=f>0?Math.min(h,b):h,S=`${s}|${k}|${P}`,T=m.requestKey===S;St(()=>{if(T)return;let y=new AbortController;return it({projectID:e,host:d,locale:n,search:o,limit:c,offset:(k-1)*c},y.signal).then(L=>{y.signal.aborted||p({requestKey:S,data:L,error:void 0})},L=>{y.signal.aborted||p(E=>({requestKey:S,data:E.data,error:L instanceof Error?L:new Error(String(L))}))}),()=>y.abort()},[S,T]);let I=ut(y=>{let L=Math.max(1,Math.floor(y));l({queryKey:s,page:f>0?Math.min(L,b):L})},[s,f,b]),A=ut(()=>C(y=>y+1),[]);return kt(()=>({products:m.data?.items??[],totalCount:f,page:k,pageCount:b,setPage:I,isLoading:!T,error:T?m.error:void 0,refetch:A}),[m,f,k,b,I,T,A])}import{createContext as gt,useCallback as K,useContext as mt,useEffect as B,useMemo as R,useRef as H,useState as It}from"react";var z=50,At=1e3;function lt(t,e=At){let n=new Set,o=new Map,i=[],a=[],d,c,s=!1;function g(){for(c!==void 0&&clearTimeout(c),c=void 0;i.length>0;){let p=i.slice(0,z),f=a.slice(0,z);i=i.slice(z),a=a.slice(z);try{t({productIds:p,positions:f})}catch{}}}function l(){g();try{X()?.flush()}catch{}}let P=()=>{typeof document<"u"&&document.visibilityState==="hidden"&&l()};function C(){s||typeof window>"u"||(s=!0,window.addEventListener("pagehide",l,!0),document.addEventListener("visibilitychange",P,!0))}function m(){if(d)return d;if(!(typeof IntersectionObserver>"u"))return d=new IntersectionObserver(p=>{for(let f of p){let b=o.get(f.target);!b||!f.isIntersecting||f.intersectionRatio<.5||(o.delete(f.target),d?.unobserve(f.target),!n.has(b.id)&&(n.add(b.id),i.push(b.id),a.push(b.position)))}i.length>0&&c===void 0&&(c=setTimeout(g,e),c.unref?.())},{threshold:[.5]}),C(),d}return{observe(p,f,b){try{if(n.has(f))return()=>{};let h=m();return h?(o.set(p,{id:f,position:b}),h.observe(p),()=>{o.delete(p),h.unobserve(p)}):()=>{}}catch{return()=>{}}},flush:g,destroy(){try{g(),d?.disconnect(),s&&(window.removeEventListener("pagehide",l,!0),document.removeEventListener("visibilitychange",P,!0),s=!1)}catch{}d=void 0,o.clear()}}}var wt={en:{addToCart:"Add to cart",addingToCart:"Adding\u2026",addedToCart:"Added to cart",addToCartError:"Could not add to the cart. Try again.",chooseOptions:"Choose",viewProduct:"View",unavailable:"Unavailable",subscription:"Subscription",model3d:"3D",model3dLabel:"3D model",priceFrom:"from {price}",originalPrice:"Original price",loading:"Loading products",empty:"There are no products to show.",error:"Could not load the products.",retry:"Try again",pagination:"Pagination",previousPage:"Previous",nextPage:"Next",pageOf:"Page {page} of {pageCount}"},pl:{addToCart:"Dodaj do koszyka",addingToCart:"Dodawanie\u2026",addedToCart:"Dodano do koszyka",addToCartError:"Nie uda\u0142o si\u0119 doda\u0107 do koszyka. Spr\xF3buj ponownie.",chooseOptions:"Wybierz",viewProduct:"Zobacz",unavailable:"Niedost\u0119pny",subscription:"Subskrypcja",model3d:"3D",model3dLabel:"Model 3D",priceFrom:"od {price}",originalPrice:"Cena przed obni\u017Ck\u0105",loading:"\u0141adowanie produkt\xF3w",empty:"Brak produkt\xF3w do wy\u015Bwietlenia.",error:"Nie uda\u0142o si\u0119 za\u0142adowa\u0107 produkt\xF3w.",retry:"Spr\xF3buj ponownie",pagination:"Paginacja",previousPage:"Poprzednia",nextPage:"Nast\u0119pna",pageOf:"Strona {page} z {pageCount}"}};function pt(t,e){return tt(wt,t,e)}function V(t,e){return t.replace(/\{(\w+)\}/g,(n,o)=>o in e?String(e[o]):n)}import{Fragment as Lt,jsx as r,jsxs as x}from"react/jsx-runtime";var ft=gt(void 0),Et={observe:()=>()=>{},clicked:()=>{}},bt=gt(Et);function D(){let t=mt(ft);if(t==null)throw new Error("ProductList parts must be rendered inside ProductList");return t}function u(t,e){let{appearance:n}=D(),o=j(n,t);return{"data-bitsnap-products-slot":t,className:M(e,o?.className),style:o?.style}}var $="inline-flex cursor-pointer items-center justify-center px-4 py-2 text-sm font-medium transition-colors disabled:cursor-not-allowed disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:opacity-50",Pt=`${$} w-full`,_t=`${Pt} no-underline`;function Nt({product:t,onAdd:e}){let{texts:n}=D(),[o,i]=It("idle"),a=u("addToCartButton",Pt),d=u("message","mt-2 text-xs");B(()=>{if(o!=="added")return;let g=setTimeout(()=>i("idle"),2e3);return()=>clearTimeout(g)},[o]);let c=K(async()=>{i("adding");try{await e(),i("added")}catch(g){console.error("bitsnap-react: could not add to the cart",g),i("error")}},[e]),s=o==="adding"?n.addingToCart:o==="added"?n.addedToCart:n.addToCart;return x(Lt,{children:[r("button",{type:"button",...a,disabled:o==="adding","aria-label":`${s}: ${t.name}`,onClick:c,children:s}),o==="error"?r("p",{...d,role:"alert",children:n.addToCartError}):null]})}function Ot({product:t,position:e,href:n,onAdd:o,renderItem:i}){let{texts:a,locale:d}=D(),c=mt(bt),s=H(null);B(()=>{if(s.current!=null)return c.observe(s.current,t.id,e)},[c,t.id,e]);let g=K(()=>c.clicked(t,e),[c,t,e]),l=u("card","relative flex flex-col overflow-hidden border transition-colors"),P=u("cardLink","flex flex-1 flex-col no-underline"),C=u("image","aspect-square w-full overflow-hidden"),m=u("imagePlaceholder","aspect-square w-full"),p=u("body","flex flex-1 flex-col gap-1 p-4"),f=u("name","text-base font-medium leading-snug"),b=u("description","line-clamp-2 text-sm"),h=u("price","mt-auto pt-2 text-base font-semibold"),k=u("comparePrice","ml-2 text-sm font-normal"),S=u("badge","absolute left-3 top-3 px-2 py-0.5 text-xs font-medium"),T=u("model3dBadge","absolute right-3 top-3 inline-flex items-center gap-1 px-2 py-0.5 text-xs font-semibold"),I=u("actions","p-4 pt-0"),A=u("selectButton",_t),y=U(t.price,t.currency,d),L=t.compareAtPrice!=null&&t.compareAtPrice>t.price?U(t.compareAtPrice,t.currency,d):null;if(i!=null)return r("li",{ref:s,...l,"data-unavailable":t.available?void 0:"",children:i(t,{href:n,price:y,compareAtPrice:L,texts:a,locale:d,addToCart:o,trackClick:g})});let E=t.image?.thumbnailUrl??t.image?.url,_=t.available?t.isRecurring?a.subscription:null:a.unavailable;return x("li",{ref:s,...l,"data-unavailable":t.available?void 0:"",children:[x("a",{...P,href:n,onClick:g,children:[E!=null?r("div",{...C,children:r("img",{src:E,alt:"",loading:"lazy",decoding:"async",className:"h-full w-full object-cover"})}):r("div",{...m,"aria-hidden":"true"}),x("div",{...p,children:[r("h3",{...f,children:t.name}),t.shortDescription?r("p",{...b,children:t.shortDescription}):null,x("p",{...h,children:[t.priceFrom?V(a.priceFrom,{price:y}):y,L!=null?x(Lt,{children:[x("span",{className:"sr-only",children:[a.originalPrice,": "]}),r("del",{...k,children:L})]}):null]})]})]}),_!=null?r("span",{...S,"data-kind":t.available?"subscription":"unavailable",children:_}):null,t.has3d===!0?x("span",{...T,title:a.model3dLabel,children:[r(Bt,{}),r("span",{"aria-hidden":"true",children:a.model3d}),r("span",{className:"sr-only",children:a.model3dLabel})]}):null,r("div",{...I,children:t.available?t.addToCart?r(Nt,{product:t,onAdd:o}):r("a",{...A,href:n,onClick:g,children:t.variantCount>1?a.chooseOptions:a.viewProduct}):r("button",{type:"button",...A,disabled:!0,children:a.unavailable})})]})}function Bt(){return x("svg",{viewBox:"0 0 24 24",width:"12",height:"12",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"}),r("path",{d:"m3.3 7 8.7 5 8.7-5"}),r("path",{d:"M12 22V12"})]})}var yt="m-0 grid list-none grid-cols-[repeat(auto-fill,minmax(min(100%,var(--bitsnap-products-grid-min-width,9rem)),1fr))] gap-5 p-0";function Rt({count:t,label:e}){let n=u("grid",yt),o=u("skeleton","aspect-[3/4] animate-pulse");return r("div",{...n,role:"status","aria-busy":"true","aria-label":e,children:Array.from({length:t},(i,a)=>r("div",{...o,"aria-hidden":"true"},a))})}function Dt({page:t,pageCount:e,isLoading:n,onPage:o}){let{texts:i}=D(),a=u("pagination","mt-8 flex items-center justify-center gap-4"),d=u("paginationButton",$),c=u("pageIndicator","text-sm");return x("nav",{...a,"aria-label":i.pagination,children:[r("button",{type:"button",...d,"aria-disabled":n||t<=1,onClick:()=>{!n&&t>1&&o(t-1)},children:i.previousPage}),r("span",{...c,"aria-live":"polite",children:V(i.pageOf,{page:t,pageCount:e})}),r("button",{type:"button",...d,"aria-disabled":n||t>=e,onClick:()=>{!n&&t<e&&o(t+1)},children:i.nextPage})]})}function Mt({options:t,productHref:e,renderItem:n,onAddToCart:o,showCartOnAdd:i}){let{texts:a}=D(),{products:d,page:c,pageCount:s,setPage:g,isLoading:l,error:P,refetch:C}=q(t),m=J(),p=t.search?.trim()?"search":"catalog",f=O(t.pageSize),b=H(!1);B(()=>{b.current||l||P!=null||(b.current=!0,m.track("product_list_viewed",{list_id:p,item_count:d.length}))},[m,l,P,p,d.length]);let h=R(()=>lt(({productIds:v,positions:w})=>m.track("product_impression",{list_id:p,product_ids:v,positions:w})),[m,p]);B(()=>()=>h.destroy(),[h]);let k=R(()=>({observe:h.observe,clicked:(v,w)=>m.track("product_clicked",{list_id:p,position:w},{product_id:v.id})}),[h,m,p]),S=H(null),T=H(!1),I=K(v=>{T.current=!0,g(v)},[g]);B(()=>{l||!T.current||(T.current=!1,S.current?.focus({preventScroll:!0}),S.current?.scrollIntoView({block:"start"}))},[l]);let A=u("grid",yt),y=u("emptyState","py-12 text-center text-sm"),L=u("error","flex flex-col items-center gap-3 py-12 text-center text-sm"),E=u("retryButton",$),{projectID:_,host:W}=t,vt=K((v,w)=>async()=>{if(o!=null){await Q(()=>o(v)),st(m,v);return}await dt(v,{projectID:_,host:W,showCart:i,analytics:m,url:w})},[o,_,W,i,m]),N;return l&&d.length===0?N=r(Rt,{count:Math.min(O(t.pageSize),8),label:a.loading}):P!=null?N=x("div",{...L,role:"alert",children:[r("p",{children:a.error}),r("button",{type:"button",...E,onClick:C,children:a.retry})]}):d.length===0?N=r("p",{...y,children:a.empty}):N=r("ul",{...A,"aria-busy":l||void 0,className:M(A.className,l&&"opacity-60"),children:d.map((v,w)=>{let G=e(v);return r(Ot,{product:v,position:(c-1)*f+w,href:G,onAdd:vt(v,G),renderItem:n},v.id)})}),r(bt.Provider,{value:k,children:x("div",{ref:S,tabIndex:-1,className:"p-1 outline-none scroll-mt-4",children:[N,s>1&&P==null?r(Dt,{page:c,pageCount:s,isLoading:l,onPage:I}):null]})})}var Ut=t=>`/p/${encodeURIComponent(t.uniqueSlug)}`;function Ft({productHref:t=Ut,appearance:e,texts:n,renderItem:o,onAddToCart:i,showCartOnAdd:a=!0,className:d,analytics:c,...s}){let g=Y(s.projectID,c,"catalog"),l=s.locale??et,P=R(()=>ct(e),[e]),C=R(()=>pt(l,n),[l,n]),m=R(()=>({appearance:P,texts:C,locale:l}),[P,C,l]),p=j(P,"root");return r(Z,{value:g,children:r(ft.Provider,{value:m,children:r("div",{"data-bitsnap-products":"root","data-bitsnap-products-slot":"root",className:M("bitsnap-react",P.boundaryClassName,d,p?.className),style:{...P.boundaryStyle,...p?.style},children:r(Mt,{options:s,productHref:t,renderItem:o,onAddToCart:i,showCartOnAdd:a})})})})}export{ht as a,q as b,Ft as c};
|
|
2
|
+
//# sourceMappingURL=chunk-SKQJESEB.mjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{fileDesc as c,messageDesc as a}from"@bufbuild/protobuf/codegenv2";var t=c("Chdjb21tb24vdjEvYWRkcmVzcy5wcm90bxIJY29tbW9uLnYxIocBCgdBZGRyZXNzEgwKBG5hbWUYASABKAkSDQoFbGluZTEYAiABKAkSEgoFbGluZTIYAyABKAlIAIgBARIMCgRjaXR5GAQgASgJEg8KB2NvdW50cnkYBSABKAkSFQoIemlwX2NvZGUYBiABKAlIAYgBAUIICgZfbGluZTJCCwoJX3ppcF9jb2RlIq4BCg5CaWxsaW5nQWRkcmVzcxIMCgRuYW1lGAEgASgJEg0KBWxpbmUxGAIgASgJEhIKBWxpbmUyGAMgASgJSACIAQESDAoEY2l0eRgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEhUKCHppcF9jb2RlGAYgASgJSAGIAQESEwoGdGF4X2lkGAcgASgJSAKIAQFCCAoGX2xpbmUyQgsKCV96aXBfY29kZUIJCgdfdGF4X2lkQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw"),h=a(t,0),Z=a(t,1);import{enumDesc as Q,fileDesc as g,messageDesc as o,serviceDesc as G}from"@bufbuild/protobuf/codegenv2";import{enumDesc as X,fileDesc as d}from"@bufbuild/protobuf/codegenv2";var l=d("Chdjb21tb24vdjEvZ2F0ZXdheS5wcm90bxIJY29tbW9uLnYxKs8BCgdHYXRld2F5Eg8KC0dBVEVXQVlfQUxMEAASFwoTR0FURVdBWV9QUlpFTEVXWV8yNBABEhIKDkdBVEVXQVlfU1RSSVBFEAISEAoMR0FURVdBWV9UUEFZEAMSHAoYR0FURVdBWV9DQVNIX09OX0RFTElWRVJZEAQSEAoMR0FURVdBWV9GUkVFEAUSFgoSR0FURVdBWV9JTlBPU1RfUEFZEAYSEAoMR0FURVdBWV9QQVlVEAcSGgoWR0FURVdBWV9NQU5VQUxfUEFZTUVOVBAIQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw");import{enumDesc as Y,fileDesc as p,messageDesc as F}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as r}from"@bufbuild/protobuf/wkt";var n=p("CiJjb21tb24vdjEvcHVzaF9ub3RpZmljYXRpb25zLnByb3RvEgljb21tb24udjEi9gEKG1B1c2hOb3RpZmljYXRpb25EZXZpY2VUb2tlbhIXCgpwdXNoX3Rva2VuGAIgASgJSACIAQESNAoLZXhwaXJlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESEwoGcDI1NmRoGAQgASgJSAKIAQESFQoIZW5kcG9pbnQYBSABKAlIA4gBARIlCghwbGF0Zm9ybRgGIAEoDjITLmNvbW1vbi52MS5QbGF0Zm9ybUINCgtfcHVzaF90b2tlbkIOCgxfZXhwaXJlX3RpbWVCCQoHX3AyNTZkaEILCglfZW5kcG9pbnQi0AEKF1B1c2hOb3RpZmljYXRpb25QYXlsb2FkEg0KBXRpdGxlGAIgASgJEhUKCG9wZW5fdXJsGAMgASgJSAGIAQESDgoEYm9keRgEIAEoCUgAEjoKBGRhdGEYBSADKAsyLC5jb21tb24udjEuUHVzaE5vdGlmaWNhdGlvblBheWxvYWQuRGF0YUVudHJ5GisKCURhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgkKB21lc3NhZ2VCCwoJX29wZW5fdXJsKngKCFBsYXRmb3JtEhgKFFBMQVRGT1JNX1VOU1BFQ0lGSUVEEAASEAoMUExBVEZPUk1fV0VCEAESGAoUUExBVEZPUk1fSU9TX1NBTkRCT1gQAhIQCgxQTEFURk9STV9JT1MQAxIUChBQTEFURk9STV9BTkRST0lEEAQqdAoRTm90aWZpY2F0aW9uRXZlbnQSEQoNRVZFTlRfVU5LTk9XThAAEhIKDkVWRU5UX1JFQ0VJVkVEEAESEAoMRVZFTlRfT1BFTkVEEAISEQoNRVZFTlRfQ0xJQ0tFRBADEhMKD0VWRU5UX0RJU01JU1NFRBAEKpkBChlOb3RpZmljYXRpb25Hcm91cEhvd09mdGVuEicKI05PVElGSUNBVElPTl9HUk9VUF9IT1dfT0ZURU5fUkFSRUxZEAASJgoiTk9USUZJQ0FUSU9OX0dST1VQX0hPV19PRlRFTl9PRlRFThABEisKJ05PVElGSUNBVElPTl9HUk9VUF9IT1dfT0ZURU5fVkVSWV9PRlRFThACQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw",[r]);import{enumDesc as I,fileDesc as u,messageDesc as k,serviceDesc as v}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_empty as R,file_google_protobuf_timestamp as A}from"@bufbuild/protobuf/wkt";var i=u("Ch1kYXNoYm9hcmQvdjEvYXVkaW9ib29rcy5wcm90bxIXZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEiFgoUR2V0QXVkaW9ib29rc1JlcXVlc3QiIQoTR2V0QXVkaW9ib29rUmVxdWVzdBIKCgJpZBgBIAEoCSKrAQoHQ2hhcHRlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESGgoNbXVsdGltZWRpYV9pZBgEIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIQCg5fbXVsdGltZWRpYV9pZCLzAgoJQXVkaW9ib29rEg8KAmlkGAEgASgJSACIAQESEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhMKC2NvdmVyX2ltYWdlGAUgASgJEhcKD3RodW1ibmFpbF9pbWFnZRgGIAEoCRIyCghjaGFwdGVycxgHIAMoCzIgLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkNoYXB0ZXISFwoPaXNfZG93bmxvYWRhYmxlGAggASgIEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKF2lzX2Jyb3dzZXJfZG93bmxvYWRhYmxlGAogASgISAGIAQESGQoMYWNjZW50X2NvbG9yGAsgASgJSAKIAQFCBQoDX2lkQhoKGF9pc19icm93c2VyX2Rvd25sb2FkYWJsZUIPCg1fYWNjZW50X2NvbG9yIk8KFUdldEF1ZGlvYm9va3NSZXNwb25zZRI2CgphdWRpb2Jvb2tzGAEgAygLMiIuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQXVkaW9ib29rImAKFEdldEF1ZGlvYm9va1Jlc3BvbnNlEjoKCWF1ZGlvYm9vaxgBIAEoCzIiLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkF1ZGlvYm9va0gAiAEBQgwKCl9hdWRpb2Jvb2siVwoeQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXF1ZXN0EjUKCWF1ZGlvYm9vaxgBIAEoCzIiLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkF1ZGlvYm9vayLRAQofQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZRJSCgdzdWNjZXNzGAEgASgLMj8uZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZS5SZXN1bHRIABI6CgdmYWlsdXJlGAIgASgOMicuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuRmFpbHVyZU1lc3NhZ2VIABoUCgZSZXN1bHQSCgoCaWQYASABKAlCCAoGcmVzdWx0IiQKFkRlbGV0ZUF1ZGlvYm9va1JlcXVlc3QSCgoCaWQYASABKAkiVQofR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVxdWVzdBIUCgxhdWRpb2Jvb2tfaWQYASABKAkSEgoFZW1haWwYAiABKAlIAIgBAUIICgZfZW1haWwi+AIKIEdldEF1ZGlvYm9va0FjY2Vzc0VtYWlsc1Jlc3BvbnNlElMKB3N1Y2Nlc3MYASABKAsyQC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHNSZXNwb25zZS5SZXN1bHRIABI6CgdmYWlsdXJlGAIgASgOMicuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuRmFpbHVyZU1lc3NhZ2VIABpYCgtBY2Nlc3NFbWFpbBIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpfCgZSZXN1bHQSVQoGZW1haWxzGAEgAygLMkUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVzcG9uc2UuQWNjZXNzRW1haWxCCAoGcmVzdWx0IkMKHENyZWF0ZUF1ZGlvYm9va0FjY2Vzc1JlcXVlc3QSFAoMYXVkaW9ib29rX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJIjgKHERlbGV0ZUF1ZGlvYm9va0FjY2Vzc1JlcXVlc3QSGAoQc3lzdGVtX2FjY2Vzc19pZBgBIAEoCSJ/CgxCb29sUmVzcG9uc2USKQoHc3VjY2VzcxgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEjoKB2ZhaWx1cmUYAiABKA4yJy5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCqpAQoORmFpbHVyZU1lc3NhZ2USGwoXRkFJTFVSRV9NRVNTQUdFX1VOS05PV04QABIlCiFGQUlMVVJFX01FU1NBR0VfUFJPSkVDVF9OT1RfRk9VTkQQARIlCiFGQUlMVVJFX01FU1NBR0VfQ0hBUFRFUl9OT1RfRk9VTkQQAhIsCihGQUlMVVJFX01FU1NBR0VfSU5DT1JSRUNUX0NIQVBURVJfRk9STUFUEAMy6gYKEUF1ZGlvYm9va3NTZXJ2aWNlEm4KDUdldEF1ZGlvYm9va3MSLS5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tzUmVxdWVzdBouLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkdldEF1ZGlvYm9va3NSZXNwb25zZRJrCgxHZXRBdWRpb2Jvb2sSLC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tSZXF1ZXN0Gi0uZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rUmVzcG9uc2USjAEKF0NyZWF0ZU9yVXBkYXRlQXVkaW9ib29rEjcuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXF1ZXN0GjguZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZRJpCg9EZWxldGVBdWRpb2Jvb2sSLy5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5EZWxldGVBdWRpb2Jvb2tSZXF1ZXN0GiUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQm9vbFJlc3BvbnNlEo8BChhHZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHMSOC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHNSZXF1ZXN0GjkuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVzcG9uc2USdQoVQ3JlYXRlQXVkaW9ib29rQWNjZXNzEjUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlQXVkaW9ib29rQWNjZXNzUmVxdWVzdBolLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkJvb2xSZXNwb25zZRJ1ChVEZWxldGVBdWRpb2Jvb2tBY2Nlc3MSNS5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5EZWxldGVBdWRpb2Jvb2tBY2Nlc3NSZXF1ZXN0GiUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQm9vbFJlc3BvbnNlYgZwcm90bzM",[A,R]);import{file_google_protobuf_empty as b,file_google_protobuf_timestamp as m}from"@bufbuild/protobuf/wkt";var s=g("ChpwdWJsaWMvdjEvcHVibGljX2FwaS5wcm90bxINcHVibGljX2FwaS52MSI2Ch5HZXRBcHBTdG9yZUFjY291bnRUb2tlblJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJIjwKH0dldEFwcFN0b3JlQWNjb3VudFRva2VuUmVzcG9uc2USGQoRYXBwX2FjY291bnRfdG9rZW4YASABKAkiaQodVmVyaWZ5QXBwU3RvcmVQdXJjaGFzZVJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKEnNpZ25lZF90cmFuc2FjdGlvbhgCIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgDIAEoCSJcCh5WZXJpZnlBcHBTdG9yZVB1cmNoYXNlUmVzcG9uc2USEQoJZnVsZmlsbGVkGAEgASgIEhIKCnByb2R1Y3RfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkiNgoeR2V0QXBwU3RvcmVFbnRpdGxlbWVudHNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCSL5AQofR2V0QXBwU3RvcmVFbnRpdGxlbWVudHNSZXNwb25zZRJQCgxlbnRpdGxlbWVudHMYASADKAsyOi5wdWJsaWNfYXBpLnYxLkdldEFwcFN0b3JlRW50aXRsZW1lbnRzUmVzcG9uc2UuRW50aXRsZW1lbnQagwEKC0VudGl0bGVtZW50EhIKCnByb2R1Y3RfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEhoKEmZ1bGZpbGxtZW50X3N0YXR1cxgEIAEoCRIfChdvcmlnaW5hbF90cmFuc2FjdGlvbl9pZBgFIAEoCSJUCh9SZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIbChNzaWduZWRfdHJhbnNhY3Rpb25zGAIgAygJIpgCCiBSZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXNwb25zZRJRCghwcm9kdWN0cxgBIAMoCzI/LnB1YmxpY19hcGkudjEuUmVzdG9yZUFwcFN0b3JlUHVyY2hhc2VzUmVzcG9uc2UuUmVzdG9yZWRQcm9kdWN0EiYKHmZhbWlseV9zaGFyaW5nX3Jldmlld19yZXF1aXJlZBgCIAEoCBp5Cg9SZXN0b3JlZFByb2R1Y3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIfChdvcmlnaW5hbF90cmFuc2FjdGlvbl9pZBgCIAEoCRIOCgZzdGF0dXMYAyABKAkSDgoGcmVhc29uGAQgASgJEhEKCWZ1bGZpbGxlZBgFIAEoCCI4CiBDbGVhckFwcFN0b3JlQWNjb3VudFRva2VuUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkiMQoZR2V0U3RvcmVLaXRDYXRhbG9nUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAki9QEKGkdldFN0b3JlS2l0Q2F0YWxvZ1Jlc3BvbnNlEhcKD3BheXdhbGxfZW5hYmxlZBgBIAEoCBJDCghwcm9kdWN0cxgCIAMoCzIxLnB1YmxpY19hcGkudjEuR2V0U3RvcmVLaXRDYXRhbG9nUmVzcG9uc2UuUHJvZHVjdBp5CgdQcm9kdWN0EhgKEHN0b3JlX3Byb2R1Y3RfaWQYASABKAkSGwoTaW50ZXJuYWxfcHJvZHVjdF9pZBgCIAEoCRIMCgRraW5kGAMgASgJEhQKDGRpc3BsYXlfbmFtZRgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCSJ6ChBHZXRPcmRlcnNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEhIKBWxpbWl0GAMgASgFSACIAQESEwoGb2Zmc2V0GAQgASgFSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigwIKEUdldE9yZGVyc1Jlc3BvbnNlEj0KBm9yZGVycxgBIAMoCzItLnB1YmxpY19hcGkudjEuR2V0T3JkZXJzUmVzcG9uc2UuT3JkZXJTdW1tYXJ5EhMKC3RvdGFsX2NvdW50GAIgASgFGpkBCgxPcmRlclN1bW1hcnkSCgoCaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhQKDHRvdGFsX2Ftb3VudBgDIAEoBRIQCghjdXJyZW5jeRgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1jdXN0b21lcl9uYW1lGAYgASgJInsKFkdldE9yZGVySGlzdG9yeVJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAiABKAkSEAoIb3JkZXJfaWQYAyABKAkSEgoKcGFnZV90b2tlbhgEIAEoCRIRCglwYWdlX3NpemUYBSABKAUiiQEKF0dldE9yZGVySGlzdG9yeVJlc3BvbnNlEjIKB3N1Y2Nlc3MYASABKAsyHy5wdWJsaWNfYXBpLnYxLk9yZGVySGlzdG9yeVBhZ2VIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCJeChBPcmRlckhpc3RvcnlQYWdlEjEKB2VudHJpZXMYASADKAsyIC5wdWJsaWNfYXBpLnYxLk9yZGVySGlzdG9yeUVudHJ5EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSLyAQoRT3JkZXJIaXN0b3J5RW50cnkSCgoCaWQYASABKAkSLwoLb2NjdXJyZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEgwKBGtpbmQYAyABKAkSEwoLc3VtbWFyeV9rZXkYBCABKAkSPAoGcGFyYW1zGAUgAygLMiwucHVibGljX2FwaS52MS5PcmRlckhpc3RvcnlFbnRyeS5QYXJhbXNFbnRyeRIQCghsaW5rX3VybBgGIAEoCRotCgtQYXJhbXNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjcKIUlzT25lQ2xpY2tQYXltZW50QXZhaWxhYmxlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIsUCCiJJc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZVJlc3BvbnNlEhIKCmlucG9zdF9wYXkYASABKAgSEQoJYXBwbGVfcGF5GAIgASgIEhIKCmdvb2dsZV9wYXkYAyABKAgSYQoRZ29vZ2xlX3BheV9jb25maWcYBCABKAsyQS5wdWJsaWNfYXBpLnYxLklzT25lQ2xpY2tQYXltZW50QXZhaWxhYmxlUmVzcG9uc2UuR29vZ2xlUGF5Q29uZmlnSACIAQEaawoPR29vZ2xlUGF5Q29uZmlnEhMKC21lcmNoYW50X2lkGAEgASgJEhUKDW1lcmNoYW50X25hbWUYAiABKAkSDwoHZ2F0ZXdheRgDIAEoCRIbChNnYXRld2F5X21lcmNoYW50X2lkGAQgASgJQhQKEl9nb29nbGVfcGF5X2NvbmZpZyLRAwofT25lQ2xpY2tBdXRob3JpemVQYXltZW50UmVxdWVzdBJHCgdnYXRld2F5GAEgASgOMjYucHVibGljX2FwaS52MS5PbmVDbGlja0F1dGhvcml6ZVBheW1lbnRSZXF1ZXN0LkdhdGV3YXkSEwoLcGF5bWVudERhdGEYAiABKAkSFQoNcGF5bWVudE1ldGhvZBgDIAEoCRIdChV0cmFuc2FjdGlvbklkZW50aWZpZXIYBCABKAkSNwoFb3JkZXIYBSABKAsyKC5wdWJsaWNfYXBpLnYxLkdldFByZU9yZGVyRGV0YWlsc1JlcXVlc3QSMQoQc2hpcHBpbmdfYWRkcmVzcxgGIAEoCzISLmNvbW1vbi52MS5BZGRyZXNzSACIAQESNwoPYmlsbGluZ19hZGRyZXNzGAcgASgLMhkuY29tbW9uLnYxLkJpbGxpbmdBZGRyZXNzSAGIAQESFQoIbWV0YWRhdGEYCCABKAlIAogBASIoCgdHYXRld2F5Eg0KCUFQUExFX1BBWRAAEg4KCkdPT0dMRV9QQVkQAUITChFfc2hpcHBpbmdfYWRkcmVzc0ISChBfYmlsbGluZ19hZGRyZXNzQgsKCV9tZXRhZGF0YSKkAQogT25lQ2xpY2tBdXRob3JpemVQYXltZW50UmVzcG9uc2USEgoKaXNfc3VjY2VzcxgBIAEoCBIUCgxyZWRpcmVjdF91cmwYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAkSIwoWYXBwbGVfcGF5X3RyYWNraW5nX3VybBgEIAEoCUgAiAEBQhkKF19hcHBsZV9wYXlfdHJhY2tpbmdfdXJsIiwKDFByZU9yZGVySXRlbRIKCgJpZBgBIAEoCRIQCghxdWFudGl0eRgCIAEoBSLVAgoZR2V0UHJlT3JkZXJEZXRhaWxzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEioKBWl0ZW1zGAIgAygLMhsucHVibGljX2FwaS52MS5QcmVPcmRlckl0ZW0SGQoMY291bnRyeV9jb2RlGAMgASgJSACIAQESFgoJcG9zdF9jb2RlGAQgASgJSAGIAQESFwoKY291cG9uQ29kZRgFIAEoCUgCiAEBEhIKBWVtYWlsGAYgASgJSAOIAQESJQoYc2VsZWN0ZWRfZGVsaXZlcnlfbWV0aG9kGAcgASgJSASIAQESEgoFcGhvbmUYCCABKAlIBYgBAUIPCg1fY291bnRyeV9jb2RlQgwKCl9wb3N0X2NvZGVCDQoLX2NvdXBvbkNvZGVCCAoGX2VtYWlsQhsKGV9zZWxlY3RlZF9kZWxpdmVyeV9tZXRob2RCCAoGX3Bob25lIqwBCg5EZWxpdmVyeU1ldGhvZBIKCgJpZBgBIAEoCRIOCgZhbW91bnQYAiABKAUSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKCG1pbl9kYXlzGAUgASgFSAGIAQESFQoIbWF4X2RheXMYBiABKAVIAogBAUIOCgxfZGVzY3JpcHRpb25CCwoJX21pbl9kYXlzQgsKCV9tYXhfZGF5cyKzAgoaR2V0UHJlT3JkZXJEZXRhaWxzUmVzcG9uc2USLgoHbWV0aG9kcxgBIAMoCzIdLnB1YmxpY19hcGkudjEuRGVsaXZlcnlNZXRob2QSFwoKY291cG9uQ29kZRgCIAEoCUgAiAEBEiUKGHNlbGVjdGVkX2RlbGl2ZXJ5X21ldGhvZBgDIAEoCUgBiAEBEhkKDHRvdGFsX2Ftb3VudBgEIAEoBUgCiAEBEhkKDGNvdXBvbl92YWx1ZRgFIAEoBUgDiAEBEhAKCGN1cnJlbmN5GAYgASgJEg8KB2NvdW50cnkYByABKAlCDQoLX2NvdXBvbkNvZGVCGwoZX3NlbGVjdGVkX2RlbGl2ZXJ5X21ldGhvZEIPCg1fdG90YWxfYW1vdW50Qg8KDV9jb3Vwb25fdmFsdWUiYgopTm90aWZ5VXNlckFib3V0UHJvZHVjdEF2YWlsYWJpbGl0eVJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRISCgpwcm9kdWN0X2lkGAIgASgJEg0KBWVtYWlsGAMgASgJIk0KH0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudFJlcXVlc3QSFgoOdmFsaWRhdGlvbl91cmwYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCSI8CiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXNwb25zZRIYChBtZXJjaGFudF9zZXNzaW9uGAEgASgJIk4KIkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIUCgxhbGxfdmFyaWFudHMYAiADKAkiwgQKI0dldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlc3BvbnNlEmEKEGF2YWlsYWJsZV9jb3VudHMYASADKAsyRy5wdWJsaWNfYXBpLnYxLkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlc3BvbnNlLkF2YWlsYWJsZUNvdW50c0VudHJ5EkwKBWVycm9yGAIgASgOMjgucHVibGljX2FwaS52MS5HZXRBdmFpbGFibGVDb3VudEZvclByb2R1Y3RSZXNwb25zZS5FcnJvckgAiAEBGlEKGEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdBIjChthdmFpbGFibGVfcXVhbnRpdHlfdG9fb3JkZXIYASABKAUSEAoIY2FuX2JhY2sYAiABKAgagwEKFEF2YWlsYWJsZUNvdW50c0VudHJ5EgsKA2tleRgBIAEoCRJaCgV2YWx1ZRgCIAEoCzJLLnB1YmxpY19hcGkudjEuR2V0QXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0UmVzcG9uc2UuQXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0OgI4ASKGAQoFRXJyb3ISEQoNRVJST1JfVU5LTk9XThAAEhsKF0VSUk9SX1BST0pFQ1RfTk9UX0ZPVU5EEAESHwobRVJST1JfUFJPRFVDVF9OT1RfQVZBSUxBQkxFEAISLAooRVJST1JfUFJPRFVDVF9OT1RfQVZBSUxBQkxFX0JVVF9DQU5fQkFDSxADQggKBl9lcnJvciItChdHZXRMb2dpbkJyYW5kaW5nUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIogBChhHZXRMb2dpbkJyYW5kaW5nUmVzcG9uc2USEQoEbmFtZRgBIAEoCUgAiAEBEhUKCGxvZ29fdXJsGAIgASgJSAGIAQESGgoNbG9nb19kYXJrX3VybBgDIAEoCUgCiAEBQgcKBV9uYW1lQgsKCV9sb2dvX3VybEIQCg5fbG9nb19kYXJrX3VybCI+ChZHZXRUaGFua1lvdVBhZ2VSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkizgIKF0dldFRoYW5rWW91UGFnZVJlc3BvbnNlEhAKCGNvbmZldHRpGAEgASgIEg4KBmhlYWRlchgCIAEoCRIRCglib2R5X2h0bWwYAyABKAkSGQoMYnV0dG9uX2xhYmVsGAQgASgJSACIAQESFwoKYnV0dG9uX3VybBgFIAEoCUgBiAEBEhkKDHJlZGlyZWN0X3VybBgGIAEoCUgCiAEBEhkKDHByb2R1Y3RfbmFtZRgHIAEoCUgDiAEBEhsKDmN1c3RvbWVyX2VtYWlsGAggASgJSASIAQESFQoIbG9nb191cmwYCSABKAlIBYgBAUIPCg1fYnV0dG9uX2xhYmVsQg0KC19idXR0b25fdXJsQg8KDV9yZWRpcmVjdF91cmxCDwoNX3Byb2R1Y3RfbmFtZUIRCg9fY3VzdG9tZXJfZW1haWxCCwoJX2xvZ29fdXJsIjUKHVVzZXJQYW5lbERlbGV0ZUFjY291bnRSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCSJAChREaWRCdXlQcm9kdWN0UmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEgoKcHJvZHVjdF9pZBgCIAEoCSL+AQohVXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3NSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEk0KDW1vZGlmaWNhdGlvbnMYAyADKAsyNi5wdWJsaWNfYXBpLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdC5Hcm91cBI6Cg9lbmFibGVkX21ldGhvZHMYBCADKA4yIS5wdWJsaWNfYXBpLnYxLk5vdGlmaWNhdGlvbk1ldGhvZBokCgVHcm91cBIKCgJpZBgBIAEoCRIPCgdlbmFibGVkGAIgASgIIlEKJ1VwZGF0ZUdsb2JhbE5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEAoIaXNfbXV0ZWQYAiABKAgiUQolR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NEZXRhaWxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCSKhAQoRTm90aWZpY2F0aW9uR3JvdXASCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEg8KB2VuYWJsZWQYBCABKAgSNwoJaG93X29mdGVuGAUgASgOMiQuY29tbW9uLnYxLk5vdGlmaWNhdGlvbkdyb3VwSG93T2Z0ZW5CDgoMX2Rlc2NyaXB0aW9uIrECCiZHZXROb3RpZmljYXRpb25TZXR0aW5nc0RldGFpbHNSZXNwb25zZRISCgpwcm9qZWN0X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSLwoFdGhlbWUYAyABKAsyGy5wdWJsaWNfYXBpLnYxLlByb2plY3RUaGVtZUgAiAEBEjwKEWF2YWlsYWJsZV9tZXRob2RzGAQgAygOMiEucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25NZXRob2QSOgoPZW5hYmxlZF9tZXRob2RzGAUgAygOMiEucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25NZXRob2QSMAoGZ3JvdXBzGAYgAygLMiAucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25Hcm91cEIICgZfdGhlbWUiQwoeR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRILCgNhbGwYAiABKAgi8AIKH0dldE5vdGlmaWNhdGlvblNldHRpbmdzUmVzcG9uc2USSAoIcHJvamVjdHMYASADKAsyNi5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvblNldHRpbmdzUmVzcG9uc2UuUHJvamVjdBIQCghpc19tdXRlZBgCIAEoCBqlAQoHUHJvamVjdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEkUKBnN0YXR1cxgDIAEoDjI1LnB1YmxpY19hcGkudjEuR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NSZXNwb25zZS5TdGF0dXMSLwoFdGhlbWUYBCABKAsyGy5wdWJsaWNfYXBpLnYxLlByb2plY3RUaGVtZUgAiAEBQggKBl90aGVtZSJJCgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASEgoOU1RBVFVTX0VOQUJMRUQQARITCg9TVEFUVVNfRElTQUJMRUQQAiLMAQodR2V0Tm90aWZpY2F0aW9uSGlzdG9yeVJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhcKCnByb2plY3RfaWQYAiABKAlIAIgBARIyCgdtZXRob2RzGAMgAygOMiEucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25NZXRob2QSEQoJcGFnZV9zaXplGAQgASgFEhcKCnBhZ2VfdG9rZW4YBSABKAlIAYgBAUINCgtfcHJvamVjdF9pZEINCgtfcGFnZV90b2tlbiLrAwoXTm90aWZpY2F0aW9uSGlzdG9yeUl0ZW0SCgoCaWQYASABKAkSFwoPbm90aWZpY2F0aW9uX2lkGAIgASgJEjEKBm1ldGhvZBgDIAEoDjIhLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uTWV0aG9kEisKB3NlbnRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRpdGxlGAUgASgJEhUKCHN1YnRpdGxlGAYgASgJSACIAQESFAoHY29udGVudBgHIAEoCUgBiAEBEhYKCWltYWdlX3VybBgIIAEoCUgCiAEBEhUKCG9wZW5fdXJsGAogASgJSAOIAQESPQoGc2VuZGVyGAkgASgLMi0ucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25IaXN0b3J5SXRlbS5TZW5kZXIabQoGU2VuZGVyEhIKCnByb2plY3RfaWQYASABKAkSFAoMZGlzcGxheV9uYW1lGAIgASgJEi8KBXRoZW1lGAMgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIAIgBAUIICgZfdGhlbWVCCwoJX3N1YnRpdGxlQgoKCF9jb250ZW50QgwKCl9pbWFnZV91cmxCCwoJX29wZW5fdXJsIpEBCh5HZXROb3RpZmljYXRpb25IaXN0b3J5UmVzcG9uc2USPQoNbm90aWZpY2F0aW9ucxgBIAMoCzImLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uSGlzdG9yeUl0ZW0SHAoPbmV4dF9wYWdlX3Rva2VuGAIgASgJSACIAQFCEgoQX25leHRfcGFnZV90b2tlbiJBCilVc2VyUGFuZWxQdXNoR2V0QXZhaWxhYmxlQ29tcGFuaWVzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAki6wIKKlVzZXJQYW5lbFB1c2hHZXRBdmFpbGFibGVDb21wYW5pZXNSZXNwb25zZRJUCgljb21wYW5pZXMYASADKAsyQS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbFB1c2hHZXRBdmFpbGFibGVDb21wYW5pZXNSZXNwb25zZS5Db21wYW55GnEKBUdyb3VwEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIWCglob3dfb2Z0ZW4YBCABKAlIAYgBAUIOCgxfZGVzY3JpcHRpb25CDAoKX2hvd19vZnRlbhp0CgdDb21wYW55EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSTwoGZ3JvdXBzGAMgAygLMj8ucHVibGljX2FwaS52MS5Vc2VyUGFuZWxQdXNoR2V0QXZhaWxhYmxlQ29tcGFuaWVzUmVzcG9uc2UuR3JvdXAiMAoaU2hvdWxkU2hvcFByb2R1Y3RzUmVzcG9uc2USEgoKaXNfdmlzaWJsZRgBIAEoCCI0Ch5TaG91bGRTaG93R3Vlc3RDYXRhbG9nUmVzcG9uc2USEgoKaXNfdmlzaWJsZRgBIAEoCCKGAQoTR3Vlc3RDYXRhbG9nUHJvZHVjdBISCgpwcm9kdWN0X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSFwoPY292ZXJfaW1hZ2VfdXJsGAMgASgJEjQKDHByb2R1Y3RfdHlwZRgEIAEoDjIeLnB1YmxpY19hcGkudjEuVXNlclByb2R1Y3RUeXBlIk8KF0dldEd1ZXN0Q2F0YWxvZ1Jlc3BvbnNlEjQKCHByb2R1Y3RzGAEgAygLMiIucHVibGljX2FwaS52MS5HdWVzdENhdGFsb2dQcm9kdWN0IoYBCiRVc2VyUGFuZWxSZXNvbHZlUHJvZHVjdEFjY2Vzc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2R1Y3RfaWQYAiABKAkSNAoMcHJvZHVjdF90eXBlGAMgASgOMh4ucHVibGljX2FwaS52MS5Vc2VyUHJvZHVjdFR5cGUi5wEKJVVzZXJQYW5lbFJlc29sdmVQcm9kdWN0QWNjZXNzUmVzcG9uc2USSwoGc3RhdHVzGAEgASgOMjsucHVibGljX2FwaS52MS5Vc2VyUGFuZWxSZXNvbHZlUHJvZHVjdEFjY2Vzc1Jlc3BvbnNlLlN0YXR1cxIWCglhY2Nlc3NfaWQYAiABKAlIAIgBASJLCgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASCQoFT1dORUQQARINCglOT1RfT1dORUQQAhIPCgtVTkFWQUlMQUJMRRADQgwKCl9hY2Nlc3NfaWQiRAoWR2V0U2hvcFByb2R1Y3RzUmVxdWVzdBIZCgxhY2Nlc3NfdG9rZW4YASABKAlIAIgBAUIPCg1fYWNjZXNzX3Rva2VuItgBChdHZXRTaG9wUHJvZHVjdHNSZXNwb25zZRJACghwcm9kdWN0cxgFIAMoCzIuLnB1YmxpY19hcGkudjEuR2V0U2hvcFByb2R1Y3RzUmVzcG9uc2UuUHJvZHVjdBp7CgdQcm9kdWN0EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEQoJaW1hZ2VfdXJsGAMgASgJEg0KBXByaWNlGAQgASgJEh4KEWlzX2FscmVhZHlfYm91Z2h0GAUgASgISACIAQFCFAoSX2lzX2FscmVhZHlfYm91Z2h0ItQBCh9Vc2VyUGFuZWxHZXRGaWxlRGV0YWlsc1Jlc3BvbnNlEkgKB3N1Y2Nlc3MYASABKAsyNS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEZpbGVEZXRhaWxzUmVzcG9uc2UuUmVzdWx0SAASMAoHZmFpbHVyZRgCIAEoDjIdLnB1YmxpY19hcGkudjEuRmFpbHVyZU1lc3NhZ2VIABorCgZSZXN1bHQSEgoKcHJvamVjdF9pZBgBIAEoCRINCgVmaWxlcxgCIAMoCUIICgZyZXN1bHQiSQoeVXNlclBhbmVsR2V0RmlsZURldGFpbHNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIRCglhY2Nlc3NfaWQYAiABKAki+QIKIVVzZXJQYW5lbEdldFRpY2tldERldGFpbHNSZXNwb25zZRJKCgdzdWNjZXNzGAEgASgLMjcucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzUmVzcG9uc2UuUmVzdWx0SAASMAoHZmFpbHVyZRgCIAEoDjIdLnB1YmxpY19hcGkudjEuRmFpbHVyZU1lc3NhZ2VIABrLAQoGUmVzdWx0EhIKCnByb2plY3RfaWQYASABKAkSEgoKdGlja2V0X3VybBgCIAEoCRIUCgxwcm9kdWN0X25hbWUYAyABKAkSGQoRcHJvZHVjdF9pbWFnZV91cmwYBCABKAkSHgoRZ29vZ2xlX3dhbGxldF91cmwYBSABKAlIAIgBARIdChBhcHBsZV93YWxsZXRfdXJsGAYgASgJSAGIAQFCFAoSX2dvb2dsZV93YWxsZXRfdXJsQhMKEV9hcHBsZV93YWxsZXRfdXJsQggKBnJlc3VsdCJLCiBVc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEQoJYWNjZXNzX2lkGAIgASgJIs8ECjBVc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzRG93bmxvYWRVUkxzUmVzcG9uc2USWQoHc3VjY2VzcxgBIAEoCzJGLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc0Rvd25sb2FkVVJMc1Jlc3BvbnNlLlJlc3VsdEgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSAAamgEKGEF1ZGlvYm9va0Rvd25sb2FkRGV0YWlscxISCgpjaGFwdGVyX2lkGAEgASgJEhIKCnB1YmxpY191cmwYAiABKAkSHQoQZG93bmxvYWRhYmxlX3VybBgDIAEoCUgAiAEBEhUKCGR1cmF0aW9uGAQgASgFSAGIAQFCEwoRX2Rvd25sb2FkYWJsZV91cmxCCwoJX2R1cmF0aW9uGuYBCgZSZXN1bHQSfAoaYXVkaW9ib29rX2Rvd25sb2FkX2RldGFpbHMYASADKAsyWC5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNEb3dubG9hZFVSTHNSZXNwb25zZS5BdWRpb2Jvb2tEb3dubG9hZERldGFpbHMSMwomaXNfYXZhaWxhYmxlX3RvX2Rvd25sb2FkX2luX21vYmlsZV9hcHAYAiABKAhIAIgBAUIpCidfaXNfYXZhaWxhYmxlX3RvX2Rvd25sb2FkX2luX21vYmlsZV9hcHBCCAoGcmVzdWx0IoIBCi9Vc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzRG93bmxvYWRVUkxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEQoJYWNjZXNzX2lkGAIgASgJEhcKCmlzX2Jyb3dzZXIYAyABKAhIAIgBAUINCgtfaXNfYnJvd3NlciKbAQokVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc1Jlc3BvbnNlEjcKCWF1ZGlvYm9vaxgBIAEoCzIiLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkF1ZGlvYm9va0gAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSABCCAoGcmVzdWx0Ik4KI1VzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIRCglhY2Nlc3NfaWQYAiABKAkiMwobVXNlclBhbmVsR2V0UHJvZHVjdHNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCSKFAgocVXNlclBhbmVsR2V0UHJvZHVjdHNSZXNwb25zZRJFCgdzdWNjZXNzGAEgASgLMjIucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRQcm9kdWN0c1Jlc3BvbnNlLlJlc3VsdEgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSAAaYgoGUmVzdWx0EiwKCHByb2R1Y3RzGAEgAygLMhoucHVibGljX2FwaS52MS5Vc2VyUHJvZHVjdBIZCgxjaGF0X2FwaV91cmwYAiABKAlIAIgBAUIPCg1fY2hhdF9hcGlfdXJsQggKBnJlc3VsdCIuChZVc2VyUGFuZWxMb2dvdXRSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCSK0AQoeVXNlclBhbmVsTG9naW5XaXRoQ29kZVJlc3BvbnNlEhYKDGFjY2Vzc190b2tlbhgBIAEoCUgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSAASEgoFZW1haWwYAyABKAlIAYgBARIUCgd1c2VyX2lkGAQgASgJSAKIAQFCCAoGcmVzdWx0QggKBl9lbWFpbEIKCghfdXNlcl9pZCJ3Ch1Vc2VyUGFuZWxMb2dpbldpdGhDb2RlUmVxdWVzdBIMCgRjb2RlGAEgASgFEhIKBWVtYWlsGAIgASgJSACIAQESGQoMY2hhbGxlbmdlX2lkGAMgASgJSAGIAQFCCAoGX2VtYWlsQg8KDV9jaGFsbGVuZ2VfaWQiiAIKFlVzZXJQYW5lbExvZ2luUmVzcG9uc2USPwoHc3VjY2VzcxgBIAEoCzIsLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9naW5SZXNwb25zZS5SZXN1bHRIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAGnEKBlJlc3VsdBIQCghyZXRyeV9pbhgBIAEoBRI/Cg9kZWxpdmVyeV9tZXRob2QYAiABKA4yJi5wdWJsaWNfYXBpLnYxLkxvZ2luQ29kZURlbGl2ZXJ5TWV0aG9kEhQKDGNoYWxsZW5nZV9pZBgDIAEoCUIICgZyZXN1bHQiuAEKFVVzZXJQYW5lbExvZ2luUmVxdWVzdBINCgVlbWFpbBgBIAEoCRIfChJyZWd1bGF0aW9uc19hY2NlcHQYAiABKAhIAIgBARI/Cg9kZWxpdmVyeV9tZXRob2QYAyABKA4yJi5wdWJsaWNfYXBpLnYxLkxvZ2luQ29kZURlbGl2ZXJ5TWV0aG9kEhcKD3R1cm5zdGlsZV90b2tlbhgEIAEoCUIVChNfcmVndWxhdGlvbnNfYWNjZXB0IjkKF0dldE9yZGVyUmV0cnlVcmxSZXF1ZXN0EgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkivwEKGEdldE9yZGVyUmV0cnlVcmxSZXNwb25zZRI+CgN1cmwYASABKAsyLy5wdWJsaWNfYXBpLnYxLkdldE9yZGVyUmV0cnlVcmxSZXNwb25zZS5TdWNjZXNzSAASEQoHZmFpbHVyZRgCIAEoCUgAGkYKB1N1Y2Nlc3MSCwoDdXJsGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQggKBnJlc3VsdCIxCg9HZXRPcmRlclJlcXVlc3QSCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCSJ8ChBHZXRPcmRlclJlc3BvbnNlEg8KAmlkGAEgASgJSACIAQESIgoFaXRlbXMYAiADKAsyEy5wdWJsaWNfYXBpLnYxLkl0ZW0SLAoHZGV0YWlscxgDIAEoCzIbLnB1YmxpY19hcGkudjEuT3JkZXJEZXRhaWxzQgUKA19pZCLvAgoMT3JkZXJEZXRhaWxzEjUKBWl0ZW1zGAEgAygLMiYucHVibGljX2FwaS52MS5PcmRlckRldGFpbHMuU2luZ2xlSXRlbRIjCgdnYXRld2F5GAIgASgOMhIuY29tbW9uLnYxLkdhdGV3YXkSEwoGc3RhdHVzGAMgASgJSACIAQESFgoJb3JkZXJfcmVmGAQgASgJSAGIAQESGwoOcGF5bWVudF9tZXRob2QYBSABKAlIAogBARqMAQoKU2luZ2xlSXRlbRIKCgJpZBgBIAEoCRIWCglpbWFnZV91cmwYAiABKAlIAIgBARIMCgRuYW1lGAMgASgJEhAKCHF1YW50aXR5GAQgASgFEhQKDHByaWNlX2Ftb3VudBgFIAEoAxIWCg5wcmljZV9jdXJyZW5jeRgGIAEoCUIMCgpfaW1hZ2VfdXJsQgkKB19zdGF0dXNCDAoKX29yZGVyX3JlZkIRCg9fcGF5bWVudF9tZXRob2Qi0QEKBEl0ZW0SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpbWFnZV91cmwYAyABKAkSPAoRZmlsZV9kb3dubG9hZGFibGUYBCABKAsyHy5wdWJsaWNfYXBpLnYxLkZpbGVEb3dubG9hZGFibGVIABItCglhdWRpb2Jvb2sYBSABKAsyGC5wdWJsaWNfYXBpLnYxLkF1ZGlvYm9va0gAEicKBnRpY2tldBgGIAEoCzIVLnB1YmxpY19hcGkudjEuVGlja2V0SABCBgoEaXRlbSIkChBGaWxlRG93bmxvYWRhYmxlEhAKCGZpbGVfdXJsGAEgASgJIiUKCUF1ZGlvYm9vaxIYChBhcHBfZG93bmxvYWRfdXJsGAEgASgJIoEBCgZUaWNrZXQSEQoJdGlja2V0X2lkGAEgASgJEhsKDmFwcGxlX3Bhc3NfdXJsGAIgASgJSACIAQESHgoRZ29vZ2xlX3RpY2tldF91cmwYAyABKAlIAYgBAUIRCg9fYXBwbGVfcGFzc191cmxCFAoSX2dvb2dsZV90aWNrZXRfdXJsIpkDCgtVc2VyUHJvZHVjdBISCgpwcm9qZWN0X2lkGAEgASgJEhQKDHByb2plY3RfbmFtZRgCIAEoCRISCgpwcm9kdWN0X2lkGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIbChNwcm9kdWN0X2Rlc2NyaXB0aW9uGAUgASgJEhkKEXByb2R1Y3RfaW1hZ2VfdXJsGAYgASgJEjQKDHByb2R1Y3RfdHlwZRgHIAEoDjIeLnB1YmxpY19hcGkudjEuVXNlclByb2R1Y3RUeXBlEhEKCWFjY2Vzc19pZBgIIAEoCRI3Cg1wcm9qZWN0X3RoZW1lGAkgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIAIgBARIgChNwcm9qZWN0X2Rlc2NyaXB0aW9uGAogASgJSAGIAQESHAoPY2hhdF9wcm9qZWN0X2lkGAsgASgJSAKIAQFCEAoOX3Byb2plY3RfdGhlbWVCFgoUX3Byb2plY3RfZGVzY3JpcHRpb25CEgoQX2NoYXRfcHJvamVjdF9pZCJ1CgxCb29sUmVzcG9uc2USKQoHc3VjY2VzcxgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSABCCAoGcmVzdWx0Im4KEFB1c2hFdmVudFJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhcKD25vdGlmaWNhdGlvbl9pZBgCIAEoCRIrCgVldmVudBgDIAEoDjIcLmNvbW1vbi52MS5Ob3RpZmljYXRpb25FdmVudCKtAQoaUHVzaFNlbmREZXZpY2VUb2tlblJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEjcKB3BheWxvYWQYAiABKAsyJi5jb21tb24udjEuUHVzaE5vdGlmaWNhdGlvbkRldmljZVRva2VuEiQKF2lzX25vdGlmaWNhdGlvbl9ncmFudGVkGAMgASgISACIAQFCGgoYX2lzX25vdGlmaWNhdGlvbl9ncmFudGVkIsIBCgxQcm9qZWN0VGhlbWUSFgoJaW1hZ2VfdXJsGAEgASgJSACIAQESGwoOaW1hZ2VfZGFya191cmwYAiABKAlIAYgBARIYCgticmFuZF9jb2xvchgDIAEoCUgCiAEBEh0KEGJyYW5kX2NvbG9yX2RhcmsYBCABKAlIA4gBAUIMCgpfaW1hZ2VfdXJsQhEKD19pbWFnZV9kYXJrX3VybEIOCgxfYnJhbmRfY29sb3JCEwoRX2JyYW5kX2NvbG9yX2RhcmsijgEKHEdldFB1YmxpY09yZGVyRGV0YWlsc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRISCgVlbWFpbBgDIAEoCUgAiAEBEhkKDGFjY2Vzc190b2tlbhgEIAEoCUgBiAEBQggKBl9lbWFpbEIPCg1fYWNjZXNzX3Rva2VuInAKHUdldFB1YmxpY09yZGVyRGV0YWlsc1Jlc3BvbnNlEjIKBW9yZGVyGAEgASgLMiEucHVibGljX2FwaS52MS5QdWJsaWNPcmRlckRldGFpbHNIABIRCgdmYWlsdXJlGAIgASgJSABCCAoGcmVzdWx0IoYGChJQdWJsaWNPcmRlckRldGFpbHMSEAoIb3JkZXJfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEh4KEXByb2Nlc3Npbmdfc3RhdHVzGAMgASgJSACIAQESFQoNY3VzdG9tZXJfbmFtZRgEIAEoCRIWCg5jdXN0b21lcl9lbWFpbBgFIAEoCRIbCg5jdXN0b21lcl9waG9uZRgGIAEoCUgBiAEBEh0KEGRlbGl2ZXJ5X2FkZHJlc3MYByABKAlIAogBARIcCg9kZWxpdmVyeV9tZXRob2QYCCABKAlIA4gBARIcCg90cmFja2luZ19udW1iZXIYCSABKAlIBIgBARItCgVpdGVtcxgKIAMoCzIeLnB1YmxpY19hcGkudjEuUHVibGljT3JkZXJJdGVtEjMKCGNvbW1lbnRzGAsgAygLMiEucHVibGljX2FwaS52MS5QdWJsaWNPcmRlckNvbW1lbnQSFAoMdG90YWxfYW1vdW50GAwgASgDEhAKCGN1cnJlbmN5GA0gASgJEi4KCmNyZWF0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjMKCnVwZGF0ZWRfYXQYDyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAWIAQESEwoLaXNfdmVyaWZpZWQYECABKAgSFQoNY29tbWVudF9jb3VudBgRIAEoBRI3Cg1wcm9qZWN0X3RoZW1lGBIgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIBogBARIZCgxwcm9qZWN0X25hbWUYEyABKAlIB4gBAUIUChJfcHJvY2Vzc2luZ19zdGF0dXNCEQoPX2N1c3RvbWVyX3Bob25lQhMKEV9kZWxpdmVyeV9hZGRyZXNzQhIKEF9kZWxpdmVyeV9tZXRob2RCEgoQX3RyYWNraW5nX251bWJlckINCgtfdXBkYXRlZF9hdEIQCg5fcHJvamVjdF90aGVtZUIPCg1fcHJvamVjdF9uYW1lIngKD1B1YmxpY09yZGVySXRlbRIMCgRuYW1lGAEgASgJEhAKCHF1YW50aXR5GAIgASgFEg0KBXByaWNlGAMgASgDEhAKCGN1cnJlbmN5GAQgASgJEhYKCWltYWdlX3VybBgFIAEoCUgAiAEBQgwKCl9pbWFnZV91cmwioAEKElB1YmxpY09yZGVyQ29tbWVudBIKCgJpZBgBIAEoBRIPCgdtZXNzYWdlGAIgASgJEhMKC2F1dGhvcl90eXBlGAMgASgJEhgKC2F1dGhvcl9uYW1lGAQgASgJSACIAQESLgoKY3JlYXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDgoMX2F1dGhvcl9uYW1lImsKHEFkZFB1YmxpY09yZGVyQ29tbWVudFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEhQKDGFjY2Vzc190b2tlbhgEIAEoCSKRAQodQWRkUHVibGljT3JkZXJDb21tZW50UmVzcG9uc2USNAoHY29tbWVudBgBIAEoCzIhLnB1YmxpY19hcGkudjEuUHVibGljT3JkZXJDb21tZW50SAASMAoHZmFpbHVyZRgCIAEoDjIdLnB1YmxpY19hcGkudjEuRmFpbHVyZU1lc3NhZ2VIAEIICgZyZXN1bHQiRQodR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCSLCAwoeR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlc3BvbnNlEkgKBW9yZGVyGAEgASgLMjcucHVibGljX2FwaS52MS5HZXRPcmRlckZvclRlc3RpbW9uaWFsUmVzcG9uc2UuT3JkZXJJbmZvSAASEQoHZmFpbHVyZRgCIAEoCUgAGoABCgxPcmRlclByb2R1Y3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIUCgxwcm9kdWN0X25hbWUYAiABKAkSHgoRcHJvZHVjdF9pbWFnZV91cmwYAyABKAlIAIgBARIQCghxdWFudGl0eRgEIAEoBUIUChJfcHJvZHVjdF9pbWFnZV91cmwatQEKCU9yZGVySW5mbxIQCghvcmRlcl9pZBgBIAEoCRIVCg1jdXN0b21lcl9uYW1lGAIgASgJEhYKDmN1c3RvbWVyX2VtYWlsGAMgASgJEkwKCHByb2R1Y3RzGAQgAygLMjoucHVibGljX2FwaS52MS5HZXRPcmRlckZvclRlc3RpbW9uaWFsUmVzcG9uc2UuT3JkZXJQcm9kdWN0EhkKEWFscmVhZHlfc3VibWl0dGVkGAUgASgIQggKBnJlc3VsdCKzAQoYU3VibWl0VGVzdGltb25pYWxSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkSFQoNY3VzdG9tZXJfbmFtZRgDIAEoCRIWCglwaG90b191cmwYBCABKAlIAIgBARIOCgZyYXRpbmcYBSABKAUSDwoHbWVzc2FnZRgGIAEoCRITCgtwcm9kdWN0X2lkcxgHIAMoCUIMCgpfcGhvdG9fdXJsIoIBChlTdWJtaXRUZXN0aW1vbmlhbFJlc3BvbnNlEikKB3N1Y2Nlc3MYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCJmCh5HZXRUZXN0aW1vbmlhbFVwbG9hZFVybFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIQCghmaWxlbmFtZRgDIAEoCRIMCgRzaXplGAQgASgDIkkKH0dldFRlc3RpbW9uaWFsVXBsb2FkVXJsUmVzcG9uc2USEgoKdXBsb2FkX3VybBgBIAEoCRISCgpwdWJsaWNfdXJsGAIgASgJKrQBChdMb2dpbkNvZGVEZWxpdmVyeU1ldGhvZBIqCiZMT0dJTl9DT0RFX0RFTElWRVJZX01FVEhPRF9VTlNQRUNJRklFRBAAEiQKIExPR0lOX0NPREVfREVMSVZFUllfTUVUSE9EX0VNQUlMEAESIwofTE9HSU5fQ09ERV9ERUxJVkVSWV9NRVRIT0RfUFVTSBACEiIKHkxPR0lOX0NPREVfREVMSVZFUllfTUVUSE9EX1NNUxADKuIBCg9Vc2VyUHJvZHVjdFR5cGUSHQoZVVNFUl9QUk9EVUNUX1RZUEVfVU5LTk9XThAAEhsKF1VTRVJfUFJPRFVDVF9UWVBFX0FVRElPEAESGgoWVVNFUl9QUk9EVUNUX1RZUEVfRklMRRACEhwKGFVTRVJfUFJPRFVDVF9UWVBFX1RJQ0tFVBADEhwKGFVTRVJfUFJPRFVDVF9UWVBFX0NPVVJTRRAEEhoKFlVTRVJfUFJPRFVDVF9UWVBFX0NIQVQQBRIfChtVU0VSX1BST0RVQ1RfVFlQRV9DT01NVU5JVFkQBiqKBgoORmFpbHVyZU1lc3NhZ2USGwoXRkFJTFVSRV9NRVNTQUdFX1VOS05PV04QABIjCh9GQUlMVVJFX01FU1NBR0VfRU1BSUxfTk9UX0ZPVU5EEAESIwofRkFJTFVSRV9NRVNTQUdFX0lOQ09SUkVDVF9FTUFJTBACEiIKHkZBSUxVUkVfTUVTU0FHRV9JTkNPUlJFQ1RfQ09ERRADEjAKLEZBSUxVUkVfTUVTU0FHRV9HRU5FUkFURV9BQ0NFU1NfVE9LRU5fRkFJTEVEEAQSIQodRkFJTFVSRV9NRVNTQUdFX0xPR09VVF9GQUlMRUQQBRIlCiFGQUlMVVJFX01FU1NBR0VfUFJEVUNUU19OT1RfRk9VTkQQBhInCiNGQUlMVVJFX01FU1NBR0VfQVVESU9CT09LX05PVF9GT1VORBAHEicKI0ZBSUxVUkVfTUVTU0FHRV9JTkNPUlJFQ1RfQVVESU9CT09LEAgSIAocRkFJTFVSRV9NRVNTQUdFX1VOQVVUSE9SSVpFRBAJEiQKIEZBSUxVUkVfTUVTU0FHRV9USUNLRVRfTk9UX0ZPVU5EEAoSLworRkFJTFVSRV9NRVNTQUdFX0RFTElWRVJZX01FVEhPRF9VTkFWQUlMQUJMRRALEiMKH0ZBSUxVUkVfTUVTU0FHRV9ERUxJVkVSWV9GQUlMRUQQDBIgChxGQUlMVVJFX01FU1NBR0VfUkFURV9MSU1JVEVEEA0SIAocRkFJTFVSRV9NRVNTQUdFX0NPREVfRVhQSVJFRBAOEiUKIUZBSUxVUkVfTUVTU0FHRV9UT09fTUFOWV9BVFRFTVBUUxAPEiQKIEZBSUxVUkVfTUVTU0FHRV9DQVBUQ0hBX1JFUVVJUkVEEBASIwofRkFJTFVSRV9NRVNTQUdFX0NBUFRDSEFfSU5WQUxJRBAREiMKH0ZBSUxVUkVfTUVTU0FHRV9PUkRFUl9OT1RfRk9VTkQQEhImCiJGQUlMVVJFX01FU1NBR0VfSU5WQUxJRF9QQUdFX1RPS0VOEBMqjwEKEk5vdGlmaWNhdGlvbk1ldGhvZBIfChtOT1RJRklDQVRJT05fTUVUSE9EX1VOS05PV04QABIdChlOT1RJRklDQVRJT05fTUVUSE9EX0VNQUlMEAESGwoXTk9USUZJQ0FUSU9OX01FVEhPRF9TTVMQAhIcChhOT1RJRklDQVRJT05fTUVUSE9EX1BVU0gQAzKbJwoQUHVibGljQXBpU2VydmljZRJLCghHZXRPcmRlchIeLnB1YmxpY19hcGkudjEuR2V0T3JkZXJSZXF1ZXN0Gh8ucHVibGljX2FwaS52MS5HZXRPcmRlclJlc3BvbnNlEk4KCUdldE9yZGVycxIfLnB1YmxpY19hcGkudjEuR2V0T3JkZXJzUmVxdWVzdBogLnB1YmxpY19hcGkudjEuR2V0T3JkZXJzUmVzcG9uc2USYAoPR2V0T3JkZXJIaXN0b3J5EiUucHVibGljX2FwaS52MS5HZXRPcmRlckhpc3RvcnlSZXF1ZXN0GiYucHVibGljX2FwaS52MS5HZXRPcmRlckhpc3RvcnlSZXNwb25zZRJjChBHZXRPcmRlclJldHJ5VXJsEiYucHVibGljX2FwaS52MS5HZXRPcmRlclJldHJ5VXJsUmVxdWVzdBonLnB1YmxpY19hcGkudjEuR2V0T3JkZXJSZXRyeVVybFJlc3BvbnNlEl0KDlVzZXJQYW5lbExvZ2luEiQucHVibGljX2FwaS52MS5Vc2VyUGFuZWxMb2dpblJlcXVlc3QaJS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbExvZ2luUmVzcG9uc2USdQoWVXNlclBhbmVsTG9naW5XaXRoQ29kZRIsLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9naW5XaXRoQ29kZVJlcXVlc3QaLS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbExvZ2luV2l0aENvZGVSZXNwb25zZRJVCg9Vc2VyUGFuZWxMb2dvdXQSJS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbExvZ291dFJlcXVlc3QaGy5wdWJsaWNfYXBpLnYxLkJvb2xSZXNwb25zZRJjChZVc2VyUGFuZWxEZWxldGVBY2NvdW50EiwucHVibGljX2FwaS52MS5Vc2VyUGFuZWxEZWxldGVBY2NvdW50UmVxdWVzdBobLnB1YmxpY19hcGkudjEuQm9vbFJlc3BvbnNlEm8KFFVzZXJQYW5lbEdldFByb2R1Y3RzEioucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRQcm9kdWN0c1JlcXVlc3QaKy5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldFByb2R1Y3RzUmVzcG9uc2UShwEKHFVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHMSMi5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNSZXF1ZXN0GjMucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzUmVzcG9uc2USqwEKKFVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNEb3dubG9hZFVSTHMSPi5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNEb3dubG9hZFVSTHNSZXF1ZXN0Gj8ucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzRG93bmxvYWRVUkxzUmVzcG9uc2USeAoXVXNlclBhbmVsR2V0RmlsZURldGFpbHMSLS5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEZpbGVEZXRhaWxzUmVxdWVzdBouLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0RmlsZURldGFpbHNSZXNwb25zZRJ+ChlVc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzEi8ucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzUmVxdWVzdBowLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0VGlja2V0RGV0YWlsc1Jlc3BvbnNlElgKE1B1c2hTZW5kRGV2aWNlVG9rZW4SKS5wdWJsaWNfYXBpLnYxLlB1c2hTZW5kRGV2aWNlVG9rZW5SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKCVB1c2hFdmVudBIfLnB1YmxpY19hcGkudjEuUHVzaEV2ZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJXChJTaG91bGRTaG9wUHJvZHVjdHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaKS5wdWJsaWNfYXBpLnYxLlNob3VsZFNob3BQcm9kdWN0c1Jlc3BvbnNlEl8KFlNob3VsZFNob3dHdWVzdENhdGFsb2cSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaLS5wdWJsaWNfYXBpLnYxLlNob3VsZFNob3dHdWVzdENhdGFsb2dSZXNwb25zZRJRCg9HZXRHdWVzdENhdGFsb2cSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaJi5wdWJsaWNfYXBpLnYxLkdldEd1ZXN0Q2F0YWxvZ1Jlc3BvbnNlEooBCh1Vc2VyUGFuZWxSZXNvbHZlUHJvZHVjdEFjY2VzcxIzLnB1YmxpY19hcGkudjEuVXNlclBhbmVsUmVzb2x2ZVByb2R1Y3RBY2Nlc3NSZXF1ZXN0GjQucHVibGljX2FwaS52MS5Vc2VyUGFuZWxSZXNvbHZlUHJvZHVjdEFjY2Vzc1Jlc3BvbnNlEmAKD0dldFNob3BQcm9kdWN0cxIlLnB1YmxpY19hcGkudjEuR2V0U2hvcFByb2R1Y3RzUmVxdWVzdBomLnB1YmxpY19hcGkudjEuR2V0U2hvcFByb2R1Y3RzUmVzcG9uc2USTAoNRGlkQnV5UHJvZHVjdBIjLnB1YmxpY19hcGkudjEuRGlkQnV5UHJvZHVjdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSeAoXR2V0QXBwU3RvcmVBY2NvdW50VG9rZW4SLS5wdWJsaWNfYXBpLnYxLkdldEFwcFN0b3JlQWNjb3VudFRva2VuUmVxdWVzdBouLnB1YmxpY19hcGkudjEuR2V0QXBwU3RvcmVBY2NvdW50VG9rZW5SZXNwb25zZRJ1ChZWZXJpZnlBcHBTdG9yZVB1cmNoYXNlEiwucHVibGljX2FwaS52MS5WZXJpZnlBcHBTdG9yZVB1cmNoYXNlUmVxdWVzdBotLnB1YmxpY19hcGkudjEuVmVyaWZ5QXBwU3RvcmVQdXJjaGFzZVJlc3BvbnNlEngKF0dldEFwcFN0b3JlRW50aXRsZW1lbnRzEi0ucHVibGljX2FwaS52MS5HZXRBcHBTdG9yZUVudGl0bGVtZW50c1JlcXVlc3QaLi5wdWJsaWNfYXBpLnYxLkdldEFwcFN0b3JlRW50aXRsZW1lbnRzUmVzcG9uc2USewoYUmVzdG9yZUFwcFN0b3JlUHVyY2hhc2VzEi4ucHVibGljX2FwaS52MS5SZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXF1ZXN0Gi8ucHVibGljX2FwaS52MS5SZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXNwb25zZRJkChlDbGVhckFwcFN0b3JlQWNjb3VudFRva2VuEi8ucHVibGljX2FwaS52MS5DbGVhckFwcFN0b3JlQWNjb3VudFRva2VuUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJpChJHZXRTdG9yZUtpdENhdGFsb2cSKC5wdWJsaWNfYXBpLnYxLkdldFN0b3JlS2l0Q2F0YWxvZ1JlcXVlc3QaKS5wdWJsaWNfYXBpLnYxLkdldFN0b3JlS2l0Q2F0YWxvZ1Jlc3BvbnNlEngKF0dldE5vdGlmaWNhdGlvblNldHRpbmdzEi0ucHVibGljX2FwaS52MS5HZXROb3RpZmljYXRpb25TZXR0aW5nc1JlcXVlc3QaLi5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvblNldHRpbmdzUmVzcG9uc2USjQEKHkdldE5vdGlmaWNhdGlvblNldHRpbmdzRGV0YWlscxI0LnB1YmxpY19hcGkudjEuR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NEZXRhaWxzUmVxdWVzdBo1LnB1YmxpY19hcGkudjEuR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NEZXRhaWxzUmVzcG9uc2UScgogVXBkYXRlR2xvYmFsTm90aWZpY2F0aW9uU2V0dGluZ3MSNi5wdWJsaWNfYXBpLnYxLlVwZGF0ZUdsb2JhbE5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJmChpVcGRhdGVOb3RpZmljYXRpb25TZXR0aW5ncxIwLnB1YmxpY19hcGkudjEuVXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EnUKFkdldE5vdGlmaWNhdGlvbkhpc3RvcnkSLC5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvbkhpc3RvcnlSZXF1ZXN0Gi0ucHVibGljX2FwaS52MS5HZXROb3RpZmljYXRpb25IaXN0b3J5UmVzcG9uc2UShAEKG0dldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdBIxLnB1YmxpY19hcGkudjEuR2V0QXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0UmVxdWVzdBoyLnB1YmxpY19hcGkudjEuR2V0QXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0UmVzcG9uc2USYAoPR2V0VGhhbmtZb3VQYWdlEiUucHVibGljX2FwaS52MS5HZXRUaGFua1lvdVBhZ2VSZXF1ZXN0GiYucHVibGljX2FwaS52MS5HZXRUaGFua1lvdVBhZ2VSZXNwb25zZRJjChBHZXRMb2dpbkJyYW5kaW5nEiYucHVibGljX2FwaS52MS5HZXRMb2dpbkJyYW5kaW5nUmVxdWVzdBonLnB1YmxpY19hcGkudjEuR2V0TG9naW5CcmFuZGluZ1Jlc3BvbnNlEoEBChpJc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZRIwLnB1YmxpY19hcGkudjEuSXNPbmVDbGlja1BheW1lbnRBdmFpbGFibGVSZXF1ZXN0GjEucHVibGljX2FwaS52MS5Jc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZVJlc3BvbnNlEmkKEkdldFByZU9yZGVyRGV0YWlscxIoLnB1YmxpY19hcGkudjEuR2V0UHJlT3JkZXJEZXRhaWxzUmVxdWVzdBopLnB1YmxpY19hcGkudjEuR2V0UHJlT3JkZXJEZXRhaWxzUmVzcG9uc2USewoYQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50Ei4ucHVibGljX2FwaS52MS5BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXF1ZXN0Gi8ucHVibGljX2FwaS52MS5BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXNwb25zZRJ7ChhBdXRob3JpemVPbmVDbGlja1BheW1lbnQSLi5wdWJsaWNfYXBpLnYxLk9uZUNsaWNrQXV0aG9yaXplUGF5bWVudFJlcXVlc3QaLy5wdWJsaWNfYXBpLnYxLk9uZUNsaWNrQXV0aG9yaXplUGF5bWVudFJlc3BvbnNlEnYKIk5vdGlmeVVzZXJBYm91dFByb2R1Y3RBdmFpbGFiaWxpdHkSOC5wdWJsaWNfYXBpLnYxLk5vdGlmeVVzZXJBYm91dFByb2R1Y3RBdmFpbGFiaWxpdHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EnIKFUdldFB1YmxpY09yZGVyRGV0YWlscxIrLnB1YmxpY19hcGkudjEuR2V0UHVibGljT3JkZXJEZXRhaWxzUmVxdWVzdBosLnB1YmxpY19hcGkudjEuR2V0UHVibGljT3JkZXJEZXRhaWxzUmVzcG9uc2UScgoVQWRkUHVibGljT3JkZXJDb21tZW50EisucHVibGljX2FwaS52MS5BZGRQdWJsaWNPcmRlckNvbW1lbnRSZXF1ZXN0GiwucHVibGljX2FwaS52MS5BZGRQdWJsaWNPcmRlckNvbW1lbnRSZXNwb25zZRJ1ChZHZXRPcmRlckZvclRlc3RpbW9uaWFsEiwucHVibGljX2FwaS52MS5HZXRPcmRlckZvclRlc3RpbW9uaWFsUmVxdWVzdBotLnB1YmxpY19hcGkudjEuR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlc3BvbnNlEmYKEVN1Ym1pdFRlc3RpbW9uaWFsEicucHVibGljX2FwaS52MS5TdWJtaXRUZXN0aW1vbmlhbFJlcXVlc3QaKC5wdWJsaWNfYXBpLnYxLlN1Ym1pdFRlc3RpbW9uaWFsUmVzcG9uc2USeAoXR2V0VGVzdGltb25pYWxVcGxvYWRVcmwSLS5wdWJsaWNfYXBpLnYxLkdldFRlc3RpbW9uaWFsVXBsb2FkVXJsUmVxdWVzdBouLnB1YmxpY19hcGkudjEuR2V0VGVzdGltb25pYWxVcGxvYWRVcmxSZXNwb25zZWIGcHJvdG8z",[t,l,n,i,b,m]);var j=o(s,21),z=o(s,22);var w=o(s,80);var V=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.AUDIO=1]="AUDIO",e[e.FILE=2]="FILE",e[e.TICKET=3]="TICKET",e[e.COURSE=4]="COURSE",e[e.CHAT=5]="CHAT",e[e.COMMUNITY=6]="COMMUNITY",e))(V||{});var D=G(s,0);export{h as a,Z as b,n as c,j as d,z as e,w as f,V as g,D as h};
|
|
2
|
+
//# sourceMappingURL=chunk-STDV54FL.mjs.map
|