← back to Dw Validator Debug TK11314
auto-data-snapshot: 2026-08-24T21:21:09 (6 data files) — DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sql shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.json shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.json shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphql shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.toml
5da4a13c4f1edd87ba0ca10f76639f5ba9f06e4b · 2026-08-24 21:22:50 -0700 · auto-commit-fleet
Files touched
A DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sqlA shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.jsonA shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.jsonA shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphqlA shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.tomlA shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/src/run.graphql
Diff
commit 5da4a13c4f1edd87ba0ca10f76639f5ba9f06e4b
Author: auto-commit-fleet <steve@designerwallcoverings.com>
Date: Mon Aug 24 21:22:50 2026 -0700
auto-data-snapshot: 2026-08-24T21:21:09 (6 data files) — DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sql shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.json shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.json shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphql shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.toml
---
...cost-backfill-2026-08-24-KAMATERA-jd-parity.sql | 1534 ++++++
.../package-lock.json | 5327 ++++++++++++++++++++
.../block-nonpurchasable-checkout/package.json | 35 +
.../block-nonpurchasable-checkout/schema.graphql | 5123 +++++++++++++++++++
.../shopify.extension.toml | 52 +
.../block-nonpurchasable-checkout/src/run.graphql | 7 +
6 files changed, 12078 insertions(+)
diff --git a/DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sql b/DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sql
new file mode 100644
index 00000000..1133b6b4
--- /dev/null
+++ b/DW-Agents/vendor-command-center/cost-backfill-2026-08-24-KAMATERA-jd-parity.sql
@@ -0,0 +1,1534 @@
+-- Kamatera JD-parity: pushes the 1,517 Justin David per-yard costs already committed
+-- on the Mac2 mirror up to Kamatera-canonical shopify_products, by shopify_id (embedded
+-- VALUES; no JD staging table needed on Kamatera). Distinct restore table (does NOT touch
+-- the Kravet restore table cost_backfill_restore_20260822 already on Kamatera).
+BEGIN;
+DROP TABLE IF EXISTS cost_backfill_jd_restore_20260824;
+CREATE TABLE cost_backfill_jd_restore_20260824 AS
+SELECT shopify_id, cost_price AS old_cost_price, cost_source AS old_cost_source
+FROM shopify_products WHERE status='ACTIVE' AND (cost_price IS NULL OR cost_price::numeric=0);
+
+UPDATE shopify_products sp SET cost_price=v.c, cost_source='justin_david_pricing_2026.our_cost_yd (mirror-parity) backfill 2026-08-24' FROM (VALUES ('gid://shopify/Product/7810539618355',25.77),
+('gid://shopify/Product/7810559705139',22.82),
+('gid://shopify/Product/7796280754227',38.17),
+('gid://shopify/Product/7796283113523',37.27),
+('gid://shopify/Product/7796283211827',37.27),
+('gid://shopify/Product/7810436431923',35.32),
+('gid://shopify/Product/7810442756147',38.17),
+('gid://shopify/Product/7810582151219',23.52),
+('gid://shopify/Product/7795699122227',25.77),
+('gid://shopify/Product/7810452815923',37.27),
+('gid://shopify/Product/7810561900595',22.82),
+('gid://shopify/Product/7810541158451',26.52),
+('gid://shopify/Product/7810547351603',32.52),
+('gid://shopify/Product/7810567733299',32.52),
+('gid://shopify/Product/7810575401011',25.52),
+('gid://shopify/Product/7810429943859',28.38),
+('gid://shopify/Product/7810430042163',28.38),
+('gid://shopify/Product/7810430107699',28.38),
+('gid://shopify/Product/7810430337075',28.38),
+('gid://shopify/Product/7810430402611',29.47),
+('gid://shopify/Product/7810430468147',29.47),
+('gid://shopify/Product/7810430599219',29.47),
+('gid://shopify/Product/7810431909939',26.82),
+('gid://shopify/Product/7810434564147',43.57),
+('gid://shopify/Product/7810434596915',26.52),
+('gid://shopify/Product/7810426044467',21.57),
+('gid://shopify/Product/7810434760755',39.12),
+('gid://shopify/Product/7810432139315',42.07),
+('gid://shopify/Product/7810426077235',37.27),
+('gid://shopify/Product/7810432204851',42.07),
+('gid://shopify/Product/7810434793523',39.12),
+('gid://shopify/Product/7810426306611',37.27),
+('gid://shopify/Product/7810434990131',28.77),
+('gid://shopify/Product/7810435088435',25.77),
+('gid://shopify/Product/7810435219507',25.77),
+('gid://shopify/Product/7810432303155',42.07),
+('gid://shopify/Product/7810432368691',42.07),
+('gid://shopify/Product/7810432466995',35.57),
+('gid://shopify/Product/7810426404915',33.57),
+('gid://shopify/Product/7810426601523',35.02),
+('gid://shopify/Product/7810426667059',30.12),
+('gid://shopify/Product/7810432892979',48.87),
+('gid://shopify/Product/7810432958515',48.87),
+('gid://shopify/Product/7810432991283',48.87),
+('gid://shopify/Product/7810435350579',35.42),
+('gid://shopify/Product/7810426765363',14.53),
+('gid://shopify/Product/7810426863667',35.42),
+('gid://shopify/Product/7810433187891',47.08),
+('gid://shopify/Product/7810426929203',37.12),
+('gid://shopify/Product/7810433384499',39.12),
+('gid://shopify/Product/7810433417267',39.12),
+('gid://shopify/Product/7810435383347',35.42),
+('gid://shopify/Product/7810435547187',35.42),
+('gid://shopify/Product/7810435579955',35.42),
+('gid://shopify/Product/7810428731443',32.17),
+('gid://shopify/Product/7810433548339',39.12),
+('gid://shopify/Product/7810433712179',39.12),
+('gid://shopify/Product/7810428764211',35.42),
+('gid://shopify/Product/7810428862515',32.83),
+('gid://shopify/Product/7810433744947',39.12),
+('gid://shopify/Product/7810434072627',31.52),
+('gid://shopify/Product/7810434105395',31.52),
+('gid://shopify/Product/7810434138163',53.27),
+('gid://shopify/Product/7810434170931',50.57),
+('gid://shopify/Product/7810435809331',33.57),
+('gid://shopify/Product/7810429747251',35.57),
+('gid://shopify/Product/7810435973171',37.82),
+('gid://shopify/Product/7810436071475',37.82),
+('gid://shopify/Product/7810436202547',37.82),
+('gid://shopify/Product/7810436235315',37.82),
+('gid://shopify/Product/7810434531379',43.57),
+('gid://shopify/Product/7810429780019',35.57),
+('gid://shopify/Product/7810440200243',28.88),
+('gid://shopify/Product/7810440331315',25.27),
+('gid://shopify/Product/7810440429619',25.27),
+('gid://shopify/Product/7810440560691',25.27),
+('gid://shopify/Product/7810436268083',32.52),
+('gid://shopify/Product/7810436628531',35.32),
+('gid://shopify/Product/7810437218355',36.12),
+('gid://shopify/Product/7810437480499',42.57),
+('gid://shopify/Product/7810429812787',35.57),
+('gid://shopify/Product/7810437578803',42.57),
+('gid://shopify/Product/7810443378739',38.17),
+('gid://shopify/Product/7810437972019',18.57),
+('gid://shopify/Product/7810438135859',18.57),
+('gid://shopify/Product/7810440658995',31.53),
+('gid://shopify/Product/7810443444275',38.17),
+('gid://shopify/Product/7810440757299',25.77),
+('gid://shopify/Product/7810440822835',25.77),
+('gid://shopify/Product/7810440888371',25.77),
+('gid://shopify/Product/7810441052211',25.77),
+('gid://shopify/Product/7810441117747',25.77),
+('gid://shopify/Product/7810441248819',21.57),
+('gid://shopify/Product/7810441314355',21.57),
+('gid://shopify/Product/7810441412659',21.57),
+('gid://shopify/Product/7810441445427',21.57),
+('gid://shopify/Product/7810439020595',50.57),
+('gid://shopify/Product/7810439282739',26.07),
+('gid://shopify/Product/7810439577651',26.07),
+('gid://shopify/Product/7810443837491',38.17),
+('gid://shopify/Product/7810439675955',15.78),
+('gid://shopify/Product/7810439741491',21.82),
+('gid://shopify/Product/7810439807027',43.57),
+('gid://shopify/Product/7810447015987',33.23),
+('gid://shopify/Product/7810447212595',33.23),
+('gid://shopify/Product/7810447343667',33.23),
+('gid://shopify/Product/7810447474739',23.07),
+('gid://shopify/Product/7810447605811',35.07),
+('gid://shopify/Product/7810441478195',21.57),
+('gid://shopify/Product/7810441609267',21.57),
+('gid://shopify/Product/7810441674803',25.27),
+('gid://shopify/Product/7810441805875',37.27),
+('gid://shopify/Product/7810441838643',37.27),
+('gid://shopify/Product/7810442068019',37.27),
+('gid://shopify/Product/7810442133555',37.27),
+('gid://shopify/Product/7810447638579',35.02),
+('gid://shopify/Product/7810443935795',38.17),
+('gid://shopify/Product/7810447704115',35.02),
+('gid://shopify/Product/7810444165171',37.27),
+('gid://shopify/Product/7810448064563',37.27),
+('gid://shopify/Product/7810448097331',37.27),
+('gid://shopify/Product/7810448162867',37.27),
+('gid://shopify/Product/7810442231859',37.27),
+('gid://shopify/Product/7810442559539',23.27),
+('gid://shopify/Product/7810444230707',37.27),
+('gid://shopify/Product/7810450063411',30.12),
+('gid://shopify/Product/7810450128947',30.12),
+('gid://shopify/Product/7810448261171',37.27),
+('gid://shopify/Product/7810448293939',37.27),
+('gid://shopify/Product/7810448457779',37.27),
+('gid://shopify/Product/7810450260019',14.53),
+('gid://shopify/Product/7810444263475',37.27),
+('gid://shopify/Product/7810448523315',37.27),
+('gid://shopify/Product/7810444394547',37.27),
+('gid://shopify/Product/7810444460083',37.27),
+('gid://shopify/Product/7810448588851',37.27),
+('gid://shopify/Product/7810450358323',14.53),
+('gid://shopify/Product/7810450423859',14.53),
+('gid://shopify/Product/7810450489395',14.53),
+('gid://shopify/Product/7810444558387',31.52),
+('gid://shopify/Product/7810444886067',33.57),
+('gid://shopify/Product/7810448621619',37.27),
+('gid://shopify/Product/7810448687155',37.27),
+('gid://shopify/Product/7810444984371',33.57),
+('gid://shopify/Product/7810448785459',37.27),
+('gid://shopify/Product/7810448949299',24.32),
+('gid://shopify/Product/7810450751539',14.53),
+('gid://shopify/Product/7810451144755',14.53),
+('gid://shopify/Product/7810445115443',33.57),
+('gid://shopify/Product/7810451275827',14.53),
+('gid://shopify/Product/7810445213747',33.57),
+('gid://shopify/Product/7810451669043',14.53),
+('gid://shopify/Product/7810451832883',25.77),
+('gid://shopify/Product/7810451963955',25.77),
+('gid://shopify/Product/7810449047603',24.32),
+('gid://shopify/Product/7810449244211',24.32),
+('gid://shopify/Product/7810445279283',33.57),
+('gid://shopify/Product/7810445410355',33.57),
+('gid://shopify/Product/7810449408051',21.38),
+('gid://shopify/Product/7810451996723',25.77),
+('gid://shopify/Product/7810445672499',33.57),
+('gid://shopify/Product/7810445705267',39.12),
+('gid://shopify/Product/7810449571891',21.38),
+('gid://shopify/Product/7810445738035',45.57),
+('gid://shopify/Product/7810449768499',30.12),
+('gid://shopify/Product/7810452160563',25.27),
+('gid://shopify/Product/7810445836339',35.52),
+('gid://shopify/Product/7810446000179',32.52),
+('gid://shopify/Product/7810449834035',30.12),
+('gid://shopify/Product/7810446458931',32.52),
+('gid://shopify/Product/7810449932339',30.12),
+('gid://shopify/Product/7810452226099',25.27),
+('gid://shopify/Product/7810446884915',42.07),
+('gid://shopify/Product/7810452291635',25.27),
+('gid://shopify/Product/7810452389939',25.27),
+('gid://shopify/Product/7810446950451',33.23),
+('gid://shopify/Product/7810453766195',35.42),
+('gid://shopify/Product/7810455666739',37.12),
+('gid://shopify/Product/7810452750387',37.27),
+('gid://shopify/Product/7810540929075',42.07),
+('gid://shopify/Product/7810455732275',37.12),
+('gid://shopify/Product/7810455765043',37.12),
+('gid://shopify/Product/7810541223987',26.52),
+('gid://shopify/Product/7810455830579',37.12),
+('gid://shopify/Product/7810541322291',26.52),
+('gid://shopify/Product/7810453143603',37.27),
+('gid://shopify/Product/7810541387827',26.52),
+('gid://shopify/Product/7810453176371',37.27),
+('gid://shopify/Product/7810453274675',37.27),
+('gid://shopify/Product/7810456125491',37.12),
+('gid://shopify/Product/7810456158259',37.12),
+('gid://shopify/Product/7810541420595',26.52),
+('gid://shopify/Product/7810456387635',28.62),
+('gid://shopify/Product/7810453405747',35.42),
+('gid://shopify/Product/7810453471283',35.42),
+('gid://shopify/Product/7810453504051',35.42),
+('gid://shopify/Product/7810456617011',27.22),
+('gid://shopify/Product/7810541518899',26.52),
+('gid://shopify/Product/7810541584435',26.52),
+('gid://shopify/Product/7810456649779',27.22),
+('gid://shopify/Product/7810453569587',35.42),
+('gid://shopify/Product/7810453602355',35.42),
+('gid://shopify/Product/7810541617203',26.52),
+('gid://shopify/Product/7810456879155',32.52),
+('gid://shopify/Product/7810541649971',26.52),
+('gid://shopify/Product/7810457075763',32.17),
+('gid://shopify/Product/7810457141299',32.17),
+('gid://shopify/Product/7810457206835',32.17),
+('gid://shopify/Product/7810544009267',28.77),
+('gid://shopify/Product/7810541813811',26.52),
+('gid://shopify/Product/7810457370675',35.42),
+('gid://shopify/Product/7810541879347',21.82),
+('gid://shopify/Product/7810457403443',35.42),
+('gid://shopify/Product/7810542043187',31.12),
+('gid://shopify/Product/7810457567283',35.42),
+('gid://shopify/Product/7810544107571',28.77),
+('gid://shopify/Product/7810542075955',31.12),
+('gid://shopify/Product/7810544140339',28.77),
+('gid://shopify/Product/7810544271411',28.77),
+('gid://shopify/Product/7810544435251',18.57),
+('gid://shopify/Product/7810544468019',18.57),
+('gid://shopify/Product/7810544795699',35.42),
+('gid://shopify/Product/7810544959539',38.17),
+('gid://shopify/Product/7810545025075',38.17),
+('gid://shopify/Product/7810545156147',38.17),
+('gid://shopify/Product/7810457829427',13.42),
+('gid://shopify/Product/7810457862195',13.42),
+('gid://shopify/Product/7810539585587',25.77),
+('gid://shopify/Product/7810539651123',25.77),
+('gid://shopify/Product/7810539814963',25.77),
+('gid://shopify/Product/7810539978803',32.83),
+('gid://shopify/Product/7810545319987',27.47),
+('gid://shopify/Product/7810542207027',23.52),
+('gid://shopify/Product/7810542272563',23.52),
+('gid://shopify/Product/7810545385523',14.38),
+('gid://shopify/Product/7810540011571',32.83),
+('gid://shopify/Product/7810542469171',23.52),
+('gid://shopify/Product/7810540077107',32.83),
+('gid://shopify/Product/7810540208179',32.83),
+('gid://shopify/Product/7810542501939',23.52),
+('gid://shopify/Product/7810540240947',32.83),
+('gid://shopify/Product/7810540273715',32.83),
+('gid://shopify/Product/7810540437555',32.83),
+('gid://shopify/Product/7810545418291',14.38),
+('gid://shopify/Product/7810542829619',25.82),
+('gid://shopify/Product/7810545451059',14.38),
+('gid://shopify/Product/7810540568627',32.83),
+('gid://shopify/Product/7810540601395',32.83),
+('gid://shopify/Product/7810540765235',42.07),
+('gid://shopify/Product/7810542993459',25.82),
+('gid://shopify/Product/7810547318835',32.52),
+('gid://shopify/Product/7810547384371',32.52),
+('gid://shopify/Product/7810547744819',26.07),
+('gid://shopify/Product/7810545516595',33.57),
+('gid://shopify/Product/7810545778739',25.07),
+('gid://shopify/Product/7810545811507',25.07),
+('gid://shopify/Product/7810543026227',25.82),
+('gid://shopify/Product/7810548138035',53.82),
+('gid://shopify/Product/7810543091763',25.82),
+('gid://shopify/Product/7810543124531',25.82),
+('gid://shopify/Product/7810548269107',39.62),
+('gid://shopify/Product/7810546139187',56.12),
+('gid://shopify/Product/7810543288371',25.82),
+('gid://shopify/Product/7810546204723',56.12),
+('gid://shopify/Product/7810543484979',25.82),
+('gid://shopify/Product/7810548695091',39.62),
+('gid://shopify/Product/7810546237491',56.12),
+('gid://shopify/Product/7810543616051',25.82),
+('gid://shopify/Product/7810546499635',56.12),
+('gid://shopify/Product/7810549874739',39.62),
+('gid://shopify/Product/7810550825011',39.62),
+('gid://shopify/Product/7810551447603',39.62),
+('gid://shopify/Product/7810543681587',26.52),
+('gid://shopify/Product/7810552496179',29.57),
+('gid://shopify/Product/7810552692787',29.57),
+('gid://shopify/Product/7810553348147',29.57),
+('gid://shopify/Product/7810546597939',56.12),
+('gid://shopify/Product/7810546663475',56.12),
+('gid://shopify/Product/7810546827315',56.12),
+('gid://shopify/Product/7810553413683',29.57),
+('gid://shopify/Product/7810543910963',28.77),
+('gid://shopify/Product/7810553511987',29.57),
+('gid://shopify/Product/7810559180851',23.27),
+('gid://shopify/Product/7810553610291',36.12),
+('gid://shopify/Product/7810553774131',26.82),
+('gid://shopify/Product/7810546958387',56.12),
+('gid://shopify/Product/7810547023923',56.12),
+('gid://shopify/Product/7810547089459',56.12),
+('gid://shopify/Product/7810547122227',56.12),
+('gid://shopify/Product/7810563407923',36.12),
+('gid://shopify/Product/7810563538995',36.12),
+('gid://shopify/Product/7810559213619',23.27),
+('gid://shopify/Product/7810553839667',26.82),
+('gid://shopify/Product/7810563702835',36.12),
+('gid://shopify/Product/7810559311923',53.27),
+('gid://shopify/Product/7810559377459',53.27),
+('gid://shopify/Product/7810563768371',36.12),
+('gid://shopify/Product/7810563833907',36.12),
+('gid://shopify/Product/7810553937971',26.82),
+('gid://shopify/Product/7810554396723',54.57),
+('gid://shopify/Product/7810554658867',31.53),
+('gid://shopify/Product/7810559606835',22.82),
+('gid://shopify/Product/7810555707443',33.23),
+('gid://shopify/Product/7810556100659',33.23),
+('gid://shopify/Product/7810556985395',31.02),
+('gid://shopify/Product/7810564096051',40.38),
+('gid://shopify/Product/7810564259891',32.52),
+('gid://shopify/Product/7810564522035',48.38),
+('gid://shopify/Product/7810559672371',22.82),
+('gid://shopify/Product/7810560032819',50.57),
+('gid://shopify/Product/7810557182003',29.27),
+('gid://shopify/Product/7810560196659',50.57),
+('gid://shopify/Product/7810557247539',29.27),
+('gid://shopify/Product/7810557411379',29.27),
+('gid://shopify/Product/7810564882483',39.62),
+('gid://shopify/Product/7810560360499',37.38),
+('gid://shopify/Product/7810565013555',39.62),
+('gid://shopify/Product/7810557902899',29.27),
+('gid://shopify/Product/7810560393267',37.38),
+('gid://shopify/Product/7810558066739',29.27),
+('gid://shopify/Product/7810558197811',47.08),
+('gid://shopify/Product/7810565111859',39.62),
+('gid://shopify/Product/7810565210163',39.62),
+('gid://shopify/Product/7810565275699',39.62),
+('gid://shopify/Product/7810560426035',37.38),
+('gid://shopify/Product/7810560622643',26.52),
+('gid://shopify/Product/7810565374003',39.62),
+('gid://shopify/Product/7810558230579',47.08),
+('gid://shopify/Product/7810558296115',47.08),
+('gid://shopify/Product/7810560688179',26.52),
+('gid://shopify/Product/7810558853171',23.27),
+('gid://shopify/Product/7810565472307',39.62),
+('gid://shopify/Product/7810560720947',26.52),
+('gid://shopify/Product/7810565701683',50.57),
+('gid://shopify/Product/7810565799987',26.07),
+('gid://shopify/Product/7810558885939',23.27),
+('gid://shopify/Product/7810558984243',23.27),
+('gid://shopify/Product/7810560852019',26.52),
+('gid://shopify/Product/7810559082547',23.27),
+('gid://shopify/Product/7810565931059',26.07),
+('gid://shopify/Product/7810566455347',21.82),
+('gid://shopify/Product/7810568355891',31.53),
+('gid://shopify/Product/7810560983091',31.52),
+('gid://shopify/Product/7810561212467',31.52),
+('gid://shopify/Product/7810566586419',16.52),
+('gid://shopify/Product/7810566783027',43.57),
+('gid://shopify/Product/7810561278003',36.12),
+('gid://shopify/Product/7810561605683',28.77),
+('gid://shopify/Product/7810566815795',23.82),
+('gid://shopify/Product/7810566979635',23.82),
+('gid://shopify/Product/7810567012403',23.82),
+('gid://shopify/Product/7810567372851',27.47),
+('gid://shopify/Product/7810567471155',27.47),
+('gid://shopify/Product/7810567634995',37.38),
+('gid://shopify/Product/7810567798835',254.15),
+('gid://shopify/Product/7810567864371',28.88),
+('gid://shopify/Product/7810568519731',31.53),
+('gid://shopify/Product/7810568716339',29.12),
+('gid://shopify/Product/7810568847411',31.52),
+('gid://shopify/Product/7810569011251',16.52),
+('gid://shopify/Product/7810569175091',16.52),
+('gid://shopify/Product/7810569306163',16.52),
+('gid://shopify/Product/7810568159283',28.88),
+('gid://shopify/Product/7810561638451',28.77),
+('gid://shopify/Product/7810561736755',28.77),
+('gid://shopify/Product/7810568224819',31.53),
+('gid://shopify/Product/7810561835059',22.82),
+('gid://shopify/Product/7810569404467',16.52),
+('gid://shopify/Product/7810561933363',22.82),
+('gid://shopify/Product/7810569830451',25.77),
+('gid://shopify/Product/7810573107251',23.27),
+('gid://shopify/Product/7810573205555',23.27),
+('gid://shopify/Product/7810562031667',22.82),
+('gid://shopify/Product/7810573566003',23.27),
+('gid://shopify/Product/7810570682419',34.52),
+('gid://shopify/Product/7810562129971',22.82),
+('gid://shopify/Product/7810562162739',22.82),
+('gid://shopify/Product/7810570780723',34.52),
+('gid://shopify/Product/7810570879027',34.52),
+('gid://shopify/Product/7810571141171',25.27),
+('gid://shopify/Product/7810573860915',23.27),
+('gid://shopify/Product/7810573893683',23.27),
+('gid://shopify/Product/7810574155827',37.27),
+('gid://shopify/Product/7810562392115',21.82),
+('gid://shopify/Product/7810574221363',37.27),
+('gid://shopify/Product/7810571173939',25.27),
+('gid://shopify/Product/7810571239475',25.27),
+('gid://shopify/Product/7810574254131',37.27),
+('gid://shopify/Product/7810562588723',35.02),
+('gid://shopify/Product/7810574286899',37.27),
+('gid://shopify/Product/7810562621491',35.02),
+('gid://shopify/Product/7810574352435',37.27),
+('gid://shopify/Product/7810574385203',37.27),
+('gid://shopify/Product/7810574581811',44.32),
+('gid://shopify/Product/7810571272243',25.27),
+('gid://shopify/Product/7810571305011',25.27),
+('gid://shopify/Product/7810571370547',25.27),
+('gid://shopify/Product/7810571763763',50.57),
+('gid://shopify/Product/7810562719795',35.02),
+('gid://shopify/Product/7810571796531',50.57),
+('gid://shopify/Product/7810562785331',35.02),
+('gid://shopify/Product/7810572189747',26.52),
+('gid://shopify/Product/7810572222515',42.57),
+('gid://shopify/Product/7810562850867',35.02),
+('gid://shopify/Product/7810572320819',26.52),
+('gid://shopify/Product/7810563145779',42.57),
+('gid://shopify/Product/7810563211315',36.12),
+('gid://shopify/Product/7810563244083',36.12),
+('gid://shopify/Product/7810572550195',55.67),
+('gid://shopify/Product/7810572648499',55.67),
+('gid://shopify/Product/7810572681267',55.67),
+('gid://shopify/Product/7810572910643',23.27),
+('gid://shopify/Product/7810574876723',39.62),
+('gid://shopify/Product/7810574909491',39.62),
+('gid://shopify/Product/7810575007795',39.62),
+('gid://shopify/Product/7810575138867',39.62),
+('gid://shopify/Product/7810575171635',21.38),
+('gid://shopify/Product/7810575302707',23.27),
+('gid://shopify/Product/7810563276851',36.12),
+('gid://shopify/Product/7810575433779',25.52),
+('gid://shopify/Product/7810575630387',35.42),
+('gid://shopify/Product/7810575728691',35.42),
+('gid://shopify/Product/7810573041715',23.27),
+('gid://shopify/Product/7810576973875',39.12),
+('gid://shopify/Product/7810577072179',39.12),
+('gid://shopify/Product/7810575892531',35.42),
+('gid://shopify/Product/7810575990835',35.42),
+('gid://shopify/Product/7810581528627',23.52),
+('gid://shopify/Product/7810576318515',47.08),
+('gid://shopify/Product/7810576351283',47.08),
+('gid://shopify/Product/7810576416819',47.08),
+('gid://shopify/Product/7810577137715',39.12),
+('gid://shopify/Product/7810577432627',45.57),
+('gid://shopify/Product/7810577530931',45.57),
+('gid://shopify/Product/7810581626931',23.52),
+('gid://shopify/Product/7810581659699',23.52),
+('gid://shopify/Product/7810577662003',45.57),
+('gid://shopify/Product/7810577825843',14.38),
+('gid://shopify/Product/7810577858611',14.38),
+('gid://shopify/Product/7810576482355',47.08),
+('gid://shopify/Product/7810581692467',23.52),
+('gid://shopify/Product/7810577891379',14.38),
+('gid://shopify/Product/7810581758003',32.52),
+('gid://shopify/Product/7810578055219',40.38),
+('gid://shopify/Product/7810576613427',54.57),
+('gid://shopify/Product/7810581823539',32.52),
+('gid://shopify/Product/7810578186291',32.52),
+('gid://shopify/Product/7810578579507',18.57),
+('gid://shopify/Product/7810576875571',39.12),
+('gid://shopify/Product/7810578710579',23.82),
+('gid://shopify/Product/7810581889075',32.52),
+('gid://shopify/Product/7810579005491',23.82),
+('gid://shopify/Product/7810579136563',23.82),
+('gid://shopify/Product/7810582249523',23.52),
+('gid://shopify/Product/7810579169331',23.82),
+('gid://shopify/Product/7810579431475',25.52),
+('gid://shopify/Product/7810583920691',35.42),
+('gid://shopify/Product/7810582347827',23.52),
+('gid://shopify/Product/7810584248371',35.42),
+('gid://shopify/Product/7810585264179',35.42),
+('gid://shopify/Product/7810585395251',35.42),
+('gid://shopify/Product/7810579464243',25.52),
+('gid://shopify/Product/7810582478899',43.82),
+('gid://shopify/Product/7810585526323',35.42),
+('gid://shopify/Product/7810582511667',21.38),
+('gid://shopify/Product/7810585755699',35.42),
+('gid://shopify/Product/7810579890227',39.12),
+('gid://shopify/Product/7810579988531',39.12),
+('gid://shopify/Product/7810580086835',39.12),
+('gid://shopify/Product/7810440265779',25.27),
+('gid://shopify/Product/7810580348979',39.12),
+('gid://shopify/Product/7810582642739',21.38),
+('gid://shopify/Product/7810582741043',42.57),
+('gid://shopify/Product/7810582872115',36.88),
+('gid://shopify/Product/7810440790067',25.77),
+('gid://shopify/Product/7810582937651',36.88),
+('gid://shopify/Product/7795702431795',26.07),
+('gid://shopify/Product/7810441216051',21.57),
+('gid://shopify/Product/7810583003187',36.88),
+('gid://shopify/Product/7810580447283',42.57),
+('gid://shopify/Product/7810580742195',27.72),
+('gid://shopify/Product/7810580873267',35.42),
+('gid://shopify/Product/7810583101491',36.88),
+('gid://shopify/Product/7810583167027',36.88),
+('gid://shopify/Product/7810583232563',36.88),
+('gid://shopify/Product/7810583265331',36.88),
+('gid://shopify/Product/7810580971571',35.42),
+('gid://shopify/Product/7810441904179',37.27),
+('gid://shopify/Product/7810583429171',36.88),
+('gid://shopify/Product/7810583461939',36.88),
+('gid://shopify/Product/7810581004339',35.42),
+('gid://shopify/Product/7810583756851',15.78),
+('gid://shopify/Product/7810583789619',35.42),
+('gid://shopify/Product/7810583855155',35.42),
+('gid://shopify/Product/7810583887923',35.42),
+('gid://shopify/Product/7810581037107',35.42),
+('gid://shopify/Product/7810455044147',23.82),
+('gid://shopify/Product/7810581299251',31.02),
+('gid://shopify/Product/7810581430323',28.82),
+('gid://shopify/Product/7810455994419',37.12),
+('gid://shopify/Product/7810451537971',14.53),
+('gid://shopify/Product/7796281475123',38.17),
+('gid://shopify/Product/7810546368563',56.12),
+('gid://shopify/Product/7796283932723',33.57),
+('gid://shopify/Product/7810552430643',29.57),
+('gid://shopify/Product/7810573369395',23.27),
+('gid://shopify/Product/7810553872435',26.82),
+('gid://shopify/Product/7810558361651',47.08),
+('gid://shopify/Product/7810568880179',31.52),
+('gid://shopify/Product/7810569535539',25.77),
+('gid://shopify/Product/7810543157299',25.82),
+('gid://shopify/Product/7810561703987',28.77),
+('gid://shopify/Product/7810579202099',23.82),
+('gid://shopify/Product/7810573598771',23.27),
+('gid://shopify/Product/7810574319667',37.27),
+('gid://shopify/Product/7810572484659',55.67),
+('gid://shopify/Product/7810577596467',45.57),
+('gid://shopify/Product/7810580611123',31.12),
+('gid://shopify/Product/7810434662451',39.12),
+('gid://shopify/Product/7810428665907',48.57),
+('gid://shopify/Product/7810428698675',27.22),
+('gid://shopify/Product/7810428993587',31.12),
+('gid://shopify/Product/7810429321267',38.17),
+('gid://shopify/Product/7810429583411',26.07),
+('gid://shopify/Product/7810429845555',28.43),
+('gid://shopify/Product/7810429878323',39.62),
+('gid://shopify/Product/7810430074931',28.38),
+('gid://shopify/Product/7810425978931',43.57),
+('gid://shopify/Product/7810426142771',43.57),
+('gid://shopify/Product/7810426273843',38.17),
+('gid://shopify/Product/7810426339379',31.52),
+('gid://shopify/Product/7810426470451',33.23),
+('gid://shopify/Product/7810426634291',37.27),
+('gid://shopify/Product/7810426896435',28.82),
+('gid://shopify/Product/7810427650099',48.57),
+('gid://shopify/Product/7810435022899',25.77),
+('gid://shopify/Product/7810428436531',48.57),
+('gid://shopify/Product/7810428502067',48.57),
+('gid://shopify/Product/7810430140467',28.38),
+('gid://shopify/Product/7810428534835',48.57),
+('gid://shopify/Product/7810428633139',48.57),
+('gid://shopify/Product/7810430206003',28.38),
+('gid://shopify/Product/7810435055667',25.77),
+('gid://shopify/Product/7810435416115',35.42),
+('gid://shopify/Product/7810430238771',28.38),
+('gid://shopify/Product/7810430369843',29.12),
+('gid://shopify/Product/7810430435379',29.47),
+('gid://shopify/Product/7810444296243',37.27),
+('gid://shopify/Product/7810444525619',35.42),
+('gid://shopify/Product/7810444591155',47.08),
+('gid://shopify/Product/7810435842099',35.02),
+('gid://shopify/Product/7810444656691',54.57),
+('gid://shopify/Product/7810445049907',33.57),
+('gid://shopify/Product/7810430500915',29.47),
+('gid://shopify/Product/7810436005939',37.82),
+('gid://shopify/Product/7810430566451',29.47),
+('gid://shopify/Product/7810430664755',26.82),
+('gid://shopify/Product/7810445148211',33.57),
+('gid://shopify/Product/7810436038707',37.82),
+('gid://shopify/Product/7810445508659',33.57),
+('gid://shopify/Product/7810436399155',35.32),
+('gid://shopify/Product/7810445770803',35.52),
+('gid://shopify/Product/7810446032947',32.52),
+('gid://shopify/Product/7810446164019',32.52),
+('gid://shopify/Product/7810430697523',26.82),
+('gid://shopify/Product/7810430730291',26.82),
+('gid://shopify/Product/7810430763059',26.82),
+('gid://shopify/Product/7810430861363',26.82),
+('gid://shopify/Product/7810436464691',35.32),
+('gid://shopify/Product/7810430926899',26.82),
+('gid://shopify/Product/7810431516723',26.82),
+('gid://shopify/Product/7810446917683',33.23),
+('gid://shopify/Product/7810446983219',33.23),
+('gid://shopify/Product/7810447081523',33.23),
+('gid://shopify/Product/7810447114291',33.23),
+('gid://shopify/Product/7810436497459',35.32),
+('gid://shopify/Product/7810447147059',33.23),
+('gid://shopify/Product/7810447245363',33.23),
+('gid://shopify/Product/7810436890675',35.32),
+('gid://shopify/Product/7810447278131',33.23),
+('gid://shopify/Product/7810432565299',35.57),
+('gid://shopify/Product/7810432729139',48.87),
+('gid://shopify/Product/7810437677107',42.57),
+('gid://shopify/Product/7810447507507',35.07),
+('gid://shopify/Product/7810438234163',39.62),
+('gid://shopify/Product/7810439151667',26.07),
+('gid://shopify/Product/7810447802419',35.02),
+('gid://shopify/Product/7810447900723',35.02),
+('gid://shopify/Product/7810433122355',16.52),
+('gid://shopify/Product/7810439348275',26.07),
+('gid://shopify/Product/7810448031795',27.72),
+('gid://shopify/Product/7810439544883',26.07),
+('gid://shopify/Product/7810448228403',37.27),
+('gid://shopify/Product/7810433220659',39.12),
+('gid://shopify/Product/7810433482803',39.12),
+('gid://shopify/Product/7810439708723',15.78),
+('gid://shopify/Product/7810448359475',37.27),
+('gid://shopify/Product/7810439774259',43.57),
+('gid://shopify/Product/7810439872563',21.57),
+('gid://shopify/Product/7810448490547',37.27),
+('gid://shopify/Product/7810439905331',21.57),
+('gid://shopify/Product/7810439970867',21.57),
+('gid://shopify/Product/7810448654387',37.27),
+('gid://shopify/Product/7810433679411',39.12),
+('gid://shopify/Product/7810448818227',39.12),
+('gid://shopify/Product/7810448982067',24.32),
+('gid://shopify/Product/7810433810483',39.12),
+('gid://shopify/Product/7810440003635',21.57),
+('gid://shopify/Product/7810440036403',21.57),
+('gid://shopify/Product/7810433941555',23.27),
+('gid://shopify/Product/7810449080371',24.32),
+('gid://shopify/Product/7810440134707',27.47),
+('gid://shopify/Product/7810440233011',25.27),
+('gid://shopify/Product/7810449440819',28.82),
+('gid://shopify/Product/7810433974323',31.52),
+('gid://shopify/Product/7810440298547',25.27),
+('gid://shopify/Product/7810440364083',25.27),
+('gid://shopify/Product/7810434302003',15.78),
+('gid://shopify/Product/7810449670195',30.12),
+('gid://shopify/Product/7810449735731',30.12),
+('gid://shopify/Product/7810449866803',30.12),
+('gid://shopify/Product/7810449997875',30.12),
+('gid://shopify/Product/7810434400307',37.38),
+('gid://shopify/Product/7810440396851',25.27),
+('gid://shopify/Product/7810440462387',25.27),
+('gid://shopify/Product/7810452684851',37.27),
+('gid://shopify/Product/7810450030643',30.12),
+('gid://shopify/Product/7810440527923',25.27),
+('gid://shopify/Product/7810440593459',25.27),
+('gid://shopify/Product/7810450194483',14.53),
+('gid://shopify/Product/7810450292787',14.53),
+('gid://shopify/Product/7810452946995',37.27),
+('gid://shopify/Product/7810441084979',25.77),
+('gid://shopify/Product/7810450391091',14.53),
+('gid://shopify/Product/7810450620467',14.53),
+('gid://shopify/Product/7810441150515',25.77),
+('gid://shopify/Product/7810441347123',21.57),
+('gid://shopify/Product/7810451800115',21.38),
+('gid://shopify/Product/7810451865651',25.77),
+('gid://shopify/Product/7810441510963',21.57),
+('gid://shopify/Product/7810441576499',21.57),
+('gid://shopify/Product/7810442002483',37.27),
+('gid://shopify/Product/7810453733427',35.42),
+('gid://shopify/Product/7810442264627',14.38),
+('gid://shopify/Product/7810453831731',35.42),
+('gid://shopify/Product/7810453864499',35.42),
+('gid://shopify/Product/7810442297395',43.57),
+('gid://shopify/Product/7810442690611',39.62),
+('gid://shopify/Product/7810454978611',23.82),
+('gid://shopify/Product/7810455011379',23.82),
+('gid://shopify/Product/7810442854451',38.17),
+('gid://shopify/Product/7810455142451',28.82),
+('gid://shopify/Product/7810442887219',38.17),
+('gid://shopify/Product/7810455502899',28.82),
+('gid://shopify/Product/7810452029491',36.88),
+('gid://shopify/Product/7810452062259',25.27),
+('gid://shopify/Product/7810443509811',38.17),
+('gid://shopify/Product/7810452258867',25.27),
+('gid://shopify/Product/7810452324403',25.27),
+('gid://shopify/Product/7810455797811',37.12),
+('gid://shopify/Product/7810443903027',38.17),
+('gid://shopify/Product/7810456059955',37.12),
+('gid://shopify/Product/7810452357171',25.27),
+('gid://shopify/Product/7810444099635',37.27),
+('gid://shopify/Product/7810452619315',35.42),
+('gid://shopify/Product/7810452652083',37.27),
+('gid://shopify/Product/7810456256563',31.52),
+('gid://shopify/Product/7810550136883',39.62),
+('gid://shopify/Product/7810456485939',48.57),
+('gid://shopify/Product/7810456551475',48.57),
+('gid://shopify/Product/7810541715507',26.52),
+('gid://shopify/Product/7810550431795',39.62),
+('gid://shopify/Product/7810550956083',39.62),
+('gid://shopify/Product/7810541912115',31.12),
+('gid://shopify/Product/7810541977651',31.12),
+('gid://shopify/Product/7810456682547',27.22),
+('gid://shopify/Product/7810456715315',27.22),
+('gid://shopify/Product/7810551152691',39.62),
+('gid://shopify/Product/7810552201267',29.57),
+('gid://shopify/Product/7810456911923',32.17),
+('gid://shopify/Product/7810542010419',31.12),
+('gid://shopify/Product/7810552365107',29.57),
+('gid://shopify/Product/7810552889395',29.57),
+('gid://shopify/Product/7810542305331',23.52),
+('gid://shopify/Product/7810456944691',32.17),
+('gid://shopify/Product/7810553643059',29.12),
+('gid://shopify/Product/7810457337907',35.42),
+('gid://shopify/Product/7810542600243',23.52),
+('gid://shopify/Product/7810553970739',54.57),
+('gid://shopify/Product/7810457436211',35.42),
+('gid://shopify/Product/7810554134579',54.57),
+('gid://shopify/Product/7810554921011',37.27),
+('gid://shopify/Product/7810457534515',35.42),
+('gid://shopify/Product/7810543058995',25.82),
+('gid://shopify/Product/7810543321139',25.82),
+('gid://shopify/Product/7810555183155',29.12),
+('gid://shopify/Product/7810457731123',14.38),
+('gid://shopify/Product/7810543517747',25.82),
+('gid://shopify/Product/7810543583283',25.82),
+('gid://shopify/Product/7810539749427',25.77),
+('gid://shopify/Product/7810555445299',29.12),
+('gid://shopify/Product/7810543714355',26.82),
+('gid://shopify/Product/7810556330035',33.23),
+('gid://shopify/Product/7810543812659',26.82),
+('gid://shopify/Product/7810544042035',28.77),
+('gid://shopify/Product/7810540175411',32.83),
+('gid://shopify/Product/7810558033971',29.27),
+('gid://shopify/Product/7810540339251',32.83),
+('gid://shopify/Product/7810540372019',32.83),
+('gid://shopify/Product/7810544173107',28.77),
+('gid://shopify/Product/7810558394419',47.08),
+('gid://shopify/Product/7810540404787',32.83),
+('gid://shopify/Product/7810544500787',38.17),
+('gid://shopify/Product/7810544730163',32.52),
+('gid://shopify/Product/7810540535859',32.83),
+('gid://shopify/Product/7810558525491',52.57),
+('gid://shopify/Product/7810558689331',23.27),
+('gid://shopify/Product/7810540634163',32.83),
+('gid://shopify/Product/7810545123379',38.17),
+('gid://shopify/Product/7810559115315',23.27),
+('gid://shopify/Product/7810545188915',38.17),
+('gid://shopify/Product/7810540863539',42.07),
+('gid://shopify/Product/7810540896307',42.07),
+('gid://shopify/Product/7810545352755',23.82),
+('gid://shopify/Product/7810559344691',53.27),
+('gid://shopify/Product/7810540961843',42.07),
+('gid://shopify/Product/7810545647667',55.67),
+('gid://shopify/Product/7810545680435',27.72),
+('gid://shopify/Product/7810559442995',53.27),
+('gid://shopify/Product/7810559934515',22.82),
+('gid://shopify/Product/7810545844275',25.07),
+('gid://shopify/Product/7810545942579',25.07),
+('gid://shopify/Product/7810541060147',42.07),
+('gid://shopify/Product/7810559967283',22.82),
+('gid://shopify/Product/7810560098355',50.57),
+('gid://shopify/Product/7810541256755',26.52),
+('gid://shopify/Product/7810546073651',56.12),
+('gid://shopify/Product/7810546171955',56.12),
+('gid://shopify/Product/7810560229427',50.57),
+('gid://shopify/Product/7810541453363',26.52),
+('gid://shopify/Product/7810560589875',26.52),
+('gid://shopify/Product/7810546270259',56.12),
+('gid://shopify/Product/7810563604531',36.12),
+('gid://shopify/Product/7810560753715',26.52),
+('gid://shopify/Product/7810563801139',36.12),
+('gid://shopify/Product/7810563866675',36.12),
+('gid://shopify/Product/7810546434099',56.12),
+('gid://shopify/Product/7810546565171',56.12),
+('gid://shopify/Product/7810546696243',56.12),
+('gid://shopify/Product/7810561081395',31.52),
+('gid://shopify/Product/7810546729011',56.12),
+('gid://shopify/Product/7810546892851',56.12),
+('gid://shopify/Product/7810563997747',36.12),
+('gid://shopify/Product/7810561310771',26.07),
+('gid://shopify/Product/7810564128819',32.52),
+('gid://shopify/Product/7810564194355',32.52),
+('gid://shopify/Product/7810546991155',56.12),
+('gid://shopify/Product/7810561343539',24.07),
+('gid://shopify/Product/7810561474611',28.77),
+('gid://shopify/Product/7810547286067',32.52),
+('gid://shopify/Product/7810564358195',48.38),
+('gid://shopify/Product/7810561507379',28.77),
+('gid://shopify/Product/7810561540147',28.77),
+('gid://shopify/Product/7810564489267',48.38),
+('gid://shopify/Product/7810547548211',33.23),
+('gid://shopify/Product/7810547580979',26.07),
+('gid://shopify/Product/7810561769523',28.77),
+('gid://shopify/Product/7810547679283',26.07),
+('gid://shopify/Product/7810564751411',36.12),
+('gid://shopify/Product/7810564784179',28.97),
+('gid://shopify/Product/7810565144627',39.62),
+('gid://shopify/Product/7810547712051',26.07),
+('gid://shopify/Product/7810561998899',22.82),
+('gid://shopify/Product/7810547777587',26.07),
+('gid://shopify/Product/7810565308467',39.62),
+('gid://shopify/Product/7810562064435',22.82),
+('gid://shopify/Product/7810562195507',22.82),
+('gid://shopify/Product/7810565505075',39.62),
+('gid://shopify/Product/7810565603379',27.72),
+('gid://shopify/Product/7810547843123',26.07),
+('gid://shopify/Product/7810548006963',28.43),
+('gid://shopify/Product/7810548072499',28.43),
+('gid://shopify/Product/7810562228275',22.82),
+('gid://shopify/Product/7810562261043',22.82),
+('gid://shopify/Product/7810548170803',42.07),
+('gid://shopify/Product/7810565734451',50.57),
+('gid://shopify/Product/7810565767219',26.07),
+('gid://shopify/Product/7810562424883',56.12),
+('gid://shopify/Product/7810562457651',33.57),
+('gid://shopify/Product/7810565963827',26.07),
+('gid://shopify/Product/7810565996595',26.07),
+('gid://shopify/Product/7810548891699',39.62),
+('gid://shopify/Product/7810549121075',39.62),
+('gid://shopify/Product/7810562490419',35.02),
+('gid://shopify/Product/7810562654259',35.02),
+('gid://shopify/Product/7810571534387',25.27),
+('gid://shopify/Product/7810566062131',39.62),
+('gid://shopify/Product/7810566160435',254.15),
+('gid://shopify/Product/7810566291507',21.82),
+('gid://shopify/Product/7810566324275',21.82),
+('gid://shopify/Product/7810571567155',25.27),
+('gid://shopify/Product/7810562687027',35.02),
+('gid://shopify/Product/7810562818099',35.02),
+('gid://shopify/Product/7810571632691',25.27),
+('gid://shopify/Product/7810566619187',16.52),
+('gid://shopify/Product/7810566651955',23.82),
+('gid://shopify/Product/7810562949171',14.38),
+('gid://shopify/Product/7810563047475',32.52),
+('gid://shopify/Product/7810566717491',44.07),
+('gid://shopify/Product/7810571993139',14.38),
+('gid://shopify/Product/7810572124211',14.38),
+('gid://shopify/Product/7810563080243',32.52),
+('gid://shopify/Product/7810572255283',42.57),
+('gid://shopify/Product/7810563178547',36.12),
+('gid://shopify/Product/7810572419123',55.67),
+('gid://shopify/Product/7810572451891',55.67),
+('gid://shopify/Product/7810563440691',36.12),
+('gid://shopify/Product/7810572517427',55.67),
+('gid://shopify/Product/7810567176243',23.82),
+('gid://shopify/Product/7810567307315',15.78),
+('gid://shopify/Product/7810567405619',27.47),
+('gid://shopify/Product/7810563506227',36.12),
+('gid://shopify/Product/7810577203251',26.82),
+('gid://shopify/Product/7810567766067',32.52),
+('gid://shopify/Product/7810572714035',55.67),
+('gid://shopify/Product/7810572943411',23.27),
+('gid://shopify/Product/7810577236019',26.82),
+('gid://shopify/Product/7810577367091',45.57),
+('gid://shopify/Product/7810573074483',23.27),
+('gid://shopify/Product/7810573271091',23.27),
+('gid://shopify/Product/7810567831603',28.88),
+('gid://shopify/Product/7810573303859',23.27),
+('gid://shopify/Product/7810577694771',45.57),
+('gid://shopify/Product/7810573467699',23.27),
+('gid://shopify/Product/7810568028211',28.88),
+('gid://shopify/Product/7810568093747',28.88),
+('gid://shopify/Product/7810577924147',14.38),
+('gid://shopify/Product/7810568290355',31.53),
+('gid://shopify/Product/7810568323123',31.53),
+('gid://shopify/Product/7810573533235',23.27),
+('gid://shopify/Product/7810578022451',40.38),
+('gid://shopify/Product/7810578120755',30.88),
+('gid://shopify/Product/7810573729843',23.27),
+('gid://shopify/Product/7810568421427',31.53),
+('gid://shopify/Product/7810578219059',42.07),
+('gid://shopify/Product/7810568585267',31.53),
+('gid://shopify/Product/7810568650803',31.53),
+('gid://shopify/Product/7810573991987',23.27),
+('gid://shopify/Product/7810578382899',43.57),
+('gid://shopify/Product/7810574549043',44.32),
+('gid://shopify/Product/7810574647347',44.32),
+('gid://shopify/Product/7810568814643',31.52),
+('gid://shopify/Product/7810568945715',31.52),
+('gid://shopify/Product/7810578546739',18.57),
+('gid://shopify/Product/7810578743347',23.82),
+('gid://shopify/Product/7810569273395',16.52),
+('gid://shopify/Product/7810574680115',44.32),
+('gid://shopify/Product/7810574942259',39.62),
+('gid://shopify/Product/7810574975027',39.62),
+('gid://shopify/Product/7810578776115',23.82),
+('gid://shopify/Product/7810578808883',23.82),
+('gid://shopify/Product/7810575040563',39.62),
+('gid://shopify/Product/7810575073331',39.62),
+('gid://shopify/Product/7810569568307',25.77),
+('gid://shopify/Product/7810578972723',23.82),
+('gid://shopify/Product/7810569863219',47.17),
+('gid://shopify/Product/7810569994291',37.27),
+('gid://shopify/Product/7810575368243',25.52),
+('gid://shopify/Product/7810579038259',23.82),
+('gid://shopify/Product/7810579071027',23.82),
+('gid://shopify/Product/7810575499315',25.52),
+('gid://shopify/Product/7810570813491',34.52),
+('gid://shopify/Product/7810570846259',34.52),
+('gid://shopify/Product/7810579234867',23.82),
+('gid://shopify/Product/7810570911795',34.52),
+('gid://shopify/Product/7810571075635',25.27),
+('gid://shopify/Product/7810575597619',35.42),
+('gid://shopify/Product/7810579267635',23.82),
+('gid://shopify/Product/7810579398707',25.52),
+('gid://shopify/Product/7810575826995',35.42),
+('gid://shopify/Product/7810575859763',35.42),
+('gid://shopify/Product/7810583134259',36.88),
+('gid://shopify/Product/7810579759155',27.72),
+('gid://shopify/Product/7810583396403',36.88),
+('gid://shopify/Product/7810575925299',35.42),
+('gid://shopify/Product/7810580119603',39.12),
+('gid://shopify/Product/7810576089139',43.52),
+('gid://shopify/Product/7810576285747',47.08),
+('gid://shopify/Product/7810583527475',36.88),
+('gid://shopify/Product/7810580217907',39.12),
+('gid://shopify/Product/7810580250675',39.12),
+('gid://shopify/Product/7810583625779',36.88),
+('gid://shopify/Product/7810576384051',47.08),
+('gid://shopify/Product/7810580545587',31.12),
+('gid://shopify/Product/7810576711731',54.57),
+('gid://shopify/Product/7810576777267',13.42),
+('gid://shopify/Product/7810583822387',35.42),
+('gid://shopify/Product/7810580643891',31.12),
+('gid://shopify/Product/7810585067571',35.42),
+('gid://shopify/Product/7810577006643',39.12),
+('gid://shopify/Product/7810580906035',35.42),
+('gid://shopify/Product/7810585428019',35.42),
+('gid://shopify/Product/7810581135411',21.38),
+('gid://shopify/Product/7810585624627',35.42),
+('gid://shopify/Product/7810581200947',21.38),
+('gid://shopify/Product/7810581364787',28.82),
+('gid://shopify/Product/7810581397555',28.82),
+('gid://shopify/Product/7810581495859',37.27),
+('gid://shopify/Product/7810581594163',23.52),
+('gid://shopify/Product/7810581725235',32.52),
+('gid://shopify/Product/7810581921843',32.52),
+('gid://shopify/Product/7810582085683',25.77),
+('gid://shopify/Product/7810582118451',23.52),
+('gid://shopify/Product/7810582183987',23.52),
+('gid://shopify/Product/7810582446131',55.67),
+('gid://shopify/Product/7810582577203',21.38),
+('gid://shopify/Product/7810582708275',42.57),
+('gid://shopify/Product/7810582773811',42.57),
+('gid://shopify/Product/7810583035955',36.88),
+('gid://shopify/Product/7810449702963',30.12),
+('gid://shopify/Product/7810441019443',25.77),
+('gid://shopify/Product/7810457665587',14.38),
+('gid://shopify/Product/7810553479219',29.57),
+('gid://shopify/Product/7810580414515',42.57),
+('gid://shopify/Product/7810440691763',31.52),
+('gid://shopify/Product/7810542436403',23.52),
+('gid://shopify/Product/7810558492723',47.08),
+('gid://shopify/Product/7810566422579',21.82),
+('gid://shopify/Product/7810567602227',37.38),
+('gid://shopify/Product/7810572779571',55.67),
+('gid://shopify/Product/7810579660851',27.72),
+('gid://shopify/Product/7810428403763',48.57),
+('gid://shopify/Product/7810561966131',22.82),
+('gid://shopify/Product/7810578481203',18.57),
+('gid://shopify/Product/7810441707571',50.57),
+('gid://shopify/Product/7810576220211',47.08),
+('gid://shopify/Product/7810581987379',21.38),
+('gid://shopify/Product/7810449342515',31.12),
+('gid://shopify/Product/7810544402483',18.57),
+('gid://shopify/Product/7810429026355',23.52),
+('gid://shopify/Product/7810454749235',23.82),
+('gid://shopify/Product/7810544205875',28.77),
+('gid://shopify/Product/7810428567603',48.57),
+('gid://shopify/Product/7810447441971',23.07),
+('gid://shopify/Product/7810559049779',23.27),
+('gid://shopify/Product/7810564292659',32.52),
+('gid://shopify/Product/7810564948019',39.62),
+('gid://shopify/Product/7810440626227',25.27),
+('gid://shopify/Product/7810442199091',37.27),
+('gid://shopify/Product/7810449014835',24.32),
+('gid://shopify/Product/7810454913075',23.82),
+('gid://shopify/Product/7810559541299',22.82),
+('gid://shopify/Product/7810560557107',26.52),
+('gid://shopify/Product/7810452095027',25.27),
+('gid://shopify/Product/7810558722099',23.27),
+('gid://shopify/Product/7810559246387',53.27),
+('gid://shopify/Product/7810563014707',32.52),
+('gid://shopify/Product/7810457239603',32.02),
+('gid://shopify/Product/7810546925619',56.12),
+('gid://shopify/Product/7810565865523',26.07),
+('gid://shopify/Product/7810574843955',44.32),
+('gid://shopify/Product/7810428370995',48.57),
+('gid://shopify/Product/7810434367539',15.78),
+('gid://shopify/Product/7810563899443',36.12),
+('gid://shopify/Product/7810564161587',32.52),
+('gid://shopify/Product/7810429255731',28.77),
+('gid://shopify/Product/7810429976627',28.38),
+('gid://shopify/Product/7810445967411',40.38),
+('gid://shopify/Product/7810540732467',37.27),
+('gid://shopify/Product/7810543845427',26.82),
+('gid://shopify/Product/7810546335795',56.12),
+('gid://shopify/Product/7810581233715',21.38),
+('gid://shopify/Product/7810564325427',21.12),
+('gid://shopify/Product/7810440101939',21.57),
+('gid://shopify/Product/7810545549363',37.82),
+('gid://shopify/Product/7810566946867',23.82),
+('gid://shopify/Product/7810432663603',35.57),
+('gid://shopify/Product/7810444689459',54.57),
+('gid://shopify/Product/7810544533555',32.52),
+('gid://shopify/Product/7810544566323',32.52),
+('gid://shopify/Product/7810441379891',21.57),
+('gid://shopify/Product/7810548334643',39.62),
+('gid://shopify/Product/7810559770675',22.82),
+('gid://shopify/Product/7810444787763',54.57),
+('gid://shopify/Product/7810444820531',54.57),
+('gid://shopify/Product/7810444853299',54.57),
+('gid://shopify/Product/7810430631987',29.47),
+('gid://shopify/Product/7810431156275',26.82),
+('gid://shopify/Product/7810451898419',25.77),
+('gid://shopify/Product/7810432270387',42.07),
+('gid://shopify/Product/7810432696371',48.87),
+('gid://shopify/Product/7810433024051',48.87),
+('gid://shopify/Product/7810433056819',29.12),
+('gid://shopify/Product/7810433253427',39.12),
+('gid://shopify/Product/7810433515571',39.12),
+('gid://shopify/Product/7810433876019',28.82),
+('gid://shopify/Product/7810426699827',14.53),
+('gid://shopify/Product/7810428829747',25.77),
+('gid://shopify/Product/7810544599091',32.52),
+('gid://shopify/Product/7810558558259',28.82),
+('gid://shopify/Product/7810559836211',22.82),
+('gid://shopify/Product/7810426175539',54.57),
+('gid://shopify/Product/7810426208307',54.57),
+('gid://shopify/Product/7810426241075',54.57),
+('gid://shopify/Product/7810426437683',35.52),
+('gid://shopify/Product/7810426535987',23.07),
+('gid://shopify/Product/7810426798131',25.77),
+('gid://shopify/Product/7810426830899',37.27),
+('gid://shopify/Product/7810426994739',31.52),
+('gid://shopify/Product/7810428600371',48.57),
+('gid://shopify/Product/7810428895283',42.07),
+('gid://shopify/Product/7810434039859',31.52),
+('gid://shopify/Product/7810434236467',15.78),
+('gid://shopify/Product/7810434269235',15.78),
+('gid://shopify/Product/7810441543731',21.57),
+('gid://shopify/Product/7810429419571',14.38),
+('gid://shopify/Product/7810429452339',27.72),
+('gid://shopify/Product/7810434433075',43.57),
+('gid://shopify/Product/7810441740339',37.27),
+('gid://shopify/Product/7810434727987',39.12),
+('gid://shopify/Product/7810436300851',32.52),
+('gid://shopify/Product/7810429714483',35.57),
+('gid://shopify/Product/7810430009395',28.38),
+('gid://shopify/Product/7810448850995',42.57),
+('gid://shopify/Product/7810441773107',37.27),
+('gid://shopify/Product/7810434924595',39.12),
+('gid://shopify/Product/7810434957363',31.52),
+('gid://shopify/Product/7810441969715',37.27),
+('gid://shopify/Product/7810435186739',25.77),
+('gid://shopify/Product/7810435252275',21.57),
+('gid://shopify/Product/7810449276979',24.32),
+('gid://shopify/Product/7810442100787',37.27),
+('gid://shopify/Product/7810449637427',30.12),
+('gid://shopify/Product/7810435448883',35.42),
+('gid://shopify/Product/7810449801267',30.12),
+('gid://shopify/Product/7810449899571',30.12),
+('gid://shopify/Product/7810435612723',35.42),
+('gid://shopify/Product/7810435711027',35.42),
+('gid://shopify/Product/7810442330163',43.57),
+('gid://shopify/Product/7810449965107',30.12),
+('gid://shopify/Product/7810435940403',37.82),
+('gid://shopify/Product/7810442395699',43.57),
+('gid://shopify/Product/7810450096179',30.12),
+('gid://shopify/Product/7810442526771',55.67),
+('gid://shopify/Product/7810450161715',23.52),
+('gid://shopify/Product/7810450325555',14.53),
+('gid://shopify/Product/7810436104243',37.82),
+('gid://shopify/Product/7810436137011',37.82),
+('gid://shopify/Product/7810436333619',36.12),
+('gid://shopify/Product/7810436759603',35.32),
+('gid://shopify/Product/7810437382195',48.38),
+('gid://shopify/Product/7810442625075',37.27),
+('gid://shopify/Product/7810443411507',38.17),
+('gid://shopify/Product/7810438037555',18.57),
+('gid://shopify/Product/7810438103091',18.57),
+('gid://shopify/Product/7810438201395',18.57),
+('gid://shopify/Product/7810443870259',38.17),
+('gid://shopify/Product/7810439413811',26.07),
+('gid://shopify/Product/7810444197939',37.27),
+('gid://shopify/Product/7810439446579',26.07),
+('gid://shopify/Product/7810439512115',26.07),
+('gid://shopify/Product/7810444951603',33.57),
+('gid://shopify/Product/7810439610419',15.78),
+('gid://shopify/Product/7810439839795',23.82),
+('gid://shopify/Product/7810450882611',14.53),
+('gid://shopify/Product/7810451013683',14.53),
+('gid://shopify/Product/7810445082675',33.57),
+('gid://shopify/Product/7810451406899',14.53),
+('gid://shopify/Product/7810445312051',33.57),
+('gid://shopify/Product/7810451931187',25.77),
+('gid://shopify/Product/7810440495155',25.27),
+('gid://shopify/Product/7810445606963',33.57),
+('gid://shopify/Product/7810440724531',25.77),
+('gid://shopify/Product/7810445803571',35.52),
+('gid://shopify/Product/7810440986675',25.77),
+('gid://shopify/Product/7810452193331',25.27),
+('gid://shopify/Product/7810441183283',21.57),
+('gid://shopify/Product/7810445901875',35.52),
+('gid://shopify/Product/7810452422707',25.27),
+('gid://shopify/Product/7810452488243',25.27),
+('gid://shopify/Product/7810457894963',13.42),
+('gid://shopify/Product/7810539552819',13.42),
+('gid://shopify/Product/7810446753843',32.52),
+('gid://shopify/Product/7810539683891',25.77),
+('gid://shopify/Product/7810452881459',37.27),
+('gid://shopify/Product/7810452914227',37.27),
+('gid://shopify/Product/7810539880499',32.83),
+('gid://shopify/Product/7810447048755',33.23),
+('gid://shopify/Product/7810447179827',33.23),
+('gid://shopify/Product/7810540142643',32.83),
+('gid://shopify/Product/7810540306483',32.83),
+('gid://shopify/Product/7810453012531',37.27),
+('gid://shopify/Product/7810447376435',23.07),
+('gid://shopify/Product/7810453307443',37.27),
+('gid://shopify/Product/7810453340211',37.27),
+('gid://shopify/Product/7810540503091',32.83),
+('gid://shopify/Product/7810447409203',23.07),
+('gid://shopify/Product/7810447540275',35.07),
+('gid://shopify/Product/7810540666931',32.83),
+('gid://shopify/Product/7810540699699',32.83),
+('gid://shopify/Product/7810453536819',35.42),
+('gid://shopify/Product/7810540798003',42.07),
+('gid://shopify/Product/7810447573043',35.07),
+('gid://shopify/Product/7810447769651',35.02),
+('gid://shopify/Product/7810453635123',35.42),
+('gid://shopify/Product/7810447966259',35.02),
+('gid://shopify/Product/7810453798963',35.42),
+('gid://shopify/Product/7810541191219',26.52),
+('gid://shopify/Product/7810541355059',26.52),
+('gid://shopify/Product/7810447999027',25.52),
+('gid://shopify/Product/7810448130099',37.27),
+('gid://shopify/Product/7810541486131',26.52),
+('gid://shopify/Product/7810541551667',26.52),
+('gid://shopify/Product/7810453930035',35.42),
+('gid://shopify/Product/7810448425011',37.27),
+('gid://shopify/Product/7810455404595',28.82),
+('gid://shopify/Product/7810541682739',26.52),
+('gid://shopify/Product/7810541846579',26.52),
+('gid://shopify/Product/7810448556083',37.27),
+('gid://shopify/Product/7810542108723',26.52),
+('gid://shopify/Product/7810455601203',37.12),
+('gid://shopify/Product/7810448719923',37.27),
+('gid://shopify/Product/7810542370867',23.52),
+('gid://shopify/Product/7810542403635',23.52),
+('gid://shopify/Product/7810448883763',24.32),
+('gid://shopify/Product/7810542534707',23.52),
+('gid://shopify/Product/7810455961651',37.12),
+('gid://shopify/Product/7810449113139',24.32),
+('gid://shopify/Product/7810456223795',31.52),
+('gid://shopify/Product/7810456289331',31.52),
+('gid://shopify/Product/7810542764083',25.82),
+('gid://shopify/Product/7810449211443',24.32),
+('gid://shopify/Product/7810542960691',25.82),
+('gid://shopify/Product/7810545877043',25.07),
+('gid://shopify/Product/7810543255603',25.82),
+('gid://shopify/Product/7810456420403',48.57),
+('gid://shopify/Product/7810456453171',48.57),
+('gid://shopify/Product/7810545909811',25.07),
+('gid://shopify/Product/7810546106419',56.12),
+('gid://shopify/Product/7810456584243',48.57),
+('gid://shopify/Product/7810543353907',25.82),
+('gid://shopify/Product/7810543452211',25.82),
+('gid://shopify/Product/7810546303027',56.12),
+('gid://shopify/Product/7810456813619',32.52),
+('gid://shopify/Product/7810456846387',32.52),
+('gid://shopify/Product/7810543550515',25.82),
+('gid://shopify/Product/7810543648819',14.38),
+('gid://shopify/Product/7810546466867',56.12),
+('gid://shopify/Product/7810546532403',56.12),
+('gid://shopify/Product/7810543747123',26.82),
+('gid://shopify/Product/7810543779891',26.82),
+('gid://shopify/Product/7810456977459',32.17),
+('gid://shopify/Product/7810457010227',32.17),
+('gid://shopify/Product/7810546761779',56.12),
+('gid://shopify/Product/7810457108531',32.17),
+('gid://shopify/Product/7810543943731',28.77),
+('gid://shopify/Product/7810543976499',28.77),
+('gid://shopify/Product/7810546794547',56.12),
+('gid://shopify/Product/7810547154995',56.12),
+('gid://shopify/Product/7810544336947',28.77),
+('gid://shopify/Product/7810544369715',18.57),
+('gid://shopify/Product/7810457305139',35.42),
+('gid://shopify/Product/7810547253299',56.12),
+('gid://shopify/Product/7810547449907',37.38),
+('gid://shopify/Product/7810457468979',35.42),
+('gid://shopify/Product/7810544664627',32.52),
+('gid://shopify/Product/7810544697395',32.52),
+('gid://shopify/Product/7810544861235',38.17),
+('gid://shopify/Product/7810544894003',38.17),
+('gid://shopify/Product/7810457600051',35.42),
+('gid://shopify/Product/7810457632819',21.82),
+('gid://shopify/Product/7810547482675',37.38),
+('gid://shopify/Product/7810547613747',26.07),
+('gid://shopify/Product/7810559868979',22.82),
+('gid://shopify/Product/7810559901747',22.82),
+('gid://shopify/Product/7810545057843',38.17),
+('gid://shopify/Product/7810547974195',28.43),
+('gid://shopify/Product/7810560131123',50.57),
+('gid://shopify/Product/7810560163891',50.57),
+('gid://shopify/Product/7810545483827',14.38),
+('gid://shopify/Product/7810548367411',39.62),
+('gid://shopify/Product/7810545713203',25.07),
+('gid://shopify/Product/7810545745971',25.07),
+('gid://shopify/Product/7810567110707',23.82),
+('gid://shopify/Product/7810567143475',23.82),
+('gid://shopify/Product/7810560294963',37.38),
+('gid://shopify/Product/7810560327731',37.38),
+('gid://shopify/Product/7810548498483',39.62),
+('gid://shopify/Product/7810549383219',39.62),
+('gid://shopify/Product/7810560524339',26.52),
+('gid://shopify/Product/7810567241779',15.78),
+('gid://shopify/Product/7810567274547',15.78),
+('gid://shopify/Product/7810549612595',39.62),
+('gid://shopify/Product/7810567438387',27.47),
+('gid://shopify/Product/7810567503923',47.08),
+('gid://shopify/Product/7810550562867',39.62),
+('gid://shopify/Product/7810567700531',32.52),
+('gid://shopify/Product/7810560655411',26.52),
+('gid://shopify/Product/7810560786483',26.52),
+('gid://shopify/Product/7810560819251',26.52),
+('gid://shopify/Product/7810550693939',39.62),
+('gid://shopify/Product/7810551316531',39.62),
+('gid://shopify/Product/7810560917555',26.52),
+('gid://shopify/Product/7810561048627',31.52),
+('gid://shopify/Product/7810567929907',28.88),
+('gid://shopify/Product/7810568257587',31.53),
+('gid://shopify/Product/7810552299571',29.57),
+('gid://shopify/Product/7810568388659',31.53),
+('gid://shopify/Product/7810561146931',31.52),
+('gid://shopify/Product/7810553086003',29.57),
+('gid://shopify/Product/7810561409075',28.77),
+('gid://shopify/Product/7810561441843',28.77),
+('gid://shopify/Product/7810568683571',31.53),
+('gid://shopify/Product/7810553577523',29.57),
+('gid://shopify/Product/7810568912947',31.52),
+('gid://shopify/Product/7810569142323',16.52),
+('gid://shopify/Product/7810561572915',28.77),
+('gid://shopify/Product/7810553806899',26.82),
+('gid://shopify/Product/7810561802291',28.77),
+('gid://shopify/Product/7810569338931',16.52),
+('gid://shopify/Product/7810554003507',54.57),
+('gid://shopify/Product/7810569601075',25.77),
+('gid://shopify/Product/7810562097203',22.82),
+('gid://shopify/Product/7810555936819',33.23),
+('gid://shopify/Product/7810570977331',37.27),
+('gid://shopify/Product/7810571042867',25.27),
+('gid://shopify/Product/7810556526643',33.23),
+('gid://shopify/Product/7810571206707',25.27),
+('gid://shopify/Product/7810562555955',35.02),
+('gid://shopify/Product/7810556657715',14.38),
+('gid://shopify/Product/7810562752563',35.02),
+('gid://shopify/Product/7810557575219',29.27),
+('gid://shopify/Product/7810562916403',35.02),
+('gid://shopify/Product/7810571436083',25.27),
+('gid://shopify/Product/7810571468851',25.27),
+('gid://shopify/Product/7810571599923',25.27),
+('gid://shopify/Product/7810557739059',29.27),
+('gid://shopify/Product/7810558099507',42.07),
+('gid://shopify/Product/7810571829299',50.57),
+('gid://shopify/Product/7810578513971',18.57),
+('gid://shopify/Product/7810563309619',36.12),
+('gid://shopify/Product/7810563342387',36.12),
+('gid://shopify/Product/7810558165043',26.47),
+('gid://shopify/Product/7810558328883',47.08),
+('gid://shopify/Product/7810563375155',36.12),
+('gid://shopify/Product/7810572058675',14.38),
+('gid://shopify/Product/7810558591027',28.82),
+('gid://shopify/Product/7810572353587',33.57),
+('gid://shopify/Product/7810563735603',36.12),
+('gid://shopify/Product/7810558656563',33.57),
+('gid://shopify/Product/7810558754867',23.27),
+('gid://shopify/Product/7810563964979',36.12),
+('gid://shopify/Product/7810572615731',55.67),
+('gid://shopify/Product/7810558787635',23.27),
+('gid://shopify/Product/7810558918707',23.27),
+('gid://shopify/Product/7810572812339',37.82),
+('gid://shopify/Product/7810572877875',48.87),
+('gid://shopify/Product/7810564063283',36.12),
+('gid://shopify/Product/7810564227123',32.52),
+('gid://shopify/Product/7810558951475',23.27),
+('gid://shopify/Product/7810559017011',23.27),
+('gid://shopify/Product/7810564390963',48.38),
+('gid://shopify/Product/7810564456499',48.38),
+('gid://shopify/Product/7810572976179',23.27),
+('gid://shopify/Product/7810573008947',23.27),
+('gid://shopify/Product/7810573172787',23.27),
+('gid://shopify/Product/7810573238323',23.27),
+('gid://shopify/Product/7810559148083',23.27),
+('gid://shopify/Product/7810573434931',23.27),
+('gid://shopify/Product/7810573500467',23.27),
+('gid://shopify/Product/7810564587571',40.12),
+('gid://shopify/Product/7810564718643',36.12),
+('gid://shopify/Product/7810559279155',53.27),
+('gid://shopify/Product/7810564816947',18.57),
+('gid://shopify/Product/7810564849715',18.57),
+('gid://shopify/Product/7810573631539',23.27),
+('gid://shopify/Product/7810573664307',23.27),
+('gid://shopify/Product/7810559475763',53.27),
+('gid://shopify/Product/7810573762611',23.27),
+('gid://shopify/Product/7810573926451',23.27),
+('gid://shopify/Product/7810565079091',39.62),
+('gid://shopify/Product/7810565242931',39.62),
+('gid://shopify/Product/7810559508531',37.38),
+('gid://shopify/Product/7810575761459',35.42),
+('gid://shopify/Product/7810565406771',39.62),
+('gid://shopify/Product/7810565570611',39.62),
+('gid://shopify/Product/7810565636147',50.57),
+('gid://shopify/Product/7810565668915',50.57),
+('gid://shopify/Product/7810573959219',23.27),
+('gid://shopify/Product/7810574188595',37.27),
+('gid://shopify/Product/7810574450739',44.32),
+('gid://shopify/Product/7810574483507',44.32),
+('gid://shopify/Product/7810574614579',44.32),
+('gid://shopify/Product/7810565832755',26.07),
+('gid://shopify/Product/7810565898291',26.07),
+('gid://shopify/Product/7810576744499',13.42),
+('gid://shopify/Product/7810575794227',35.42),
+('gid://shopify/Product/7810575958067',35.42),
+('gid://shopify/Product/7810566193203',21.82),
+('gid://shopify/Product/7810566225971',21.82),
+('gid://shopify/Product/7810576023603',35.42),
+('gid://shopify/Product/7810576121907',47.08),
+('gid://shopify/Product/7810566357043',21.82),
+('gid://shopify/Product/7810566389811',21.82),
+('gid://shopify/Product/7810583330867',36.88),
+('gid://shopify/Product/7810583363635',36.88),
+('gid://shopify/Product/7810583494707',36.88),
+('gid://shopify/Product/7810576154675',47.08),
+('gid://shopify/Product/7810576842803',13.42),
+('gid://shopify/Product/7810583593011',36.88),
+('gid://shopify/Product/7810566520883',34.52),
+('gid://shopify/Product/7810566881331',23.82),
+('gid://shopify/Product/7810566914099',23.82),
+('gid://shopify/Product/7810577104947',39.12),
+('gid://shopify/Product/7810585657395',35.42),
+('gid://shopify/Product/7810585690163',35.42),
+('gid://shopify/Product/7810577334323',45.57),
+('gid://shopify/Product/7810577989683',40.38),
+('gid://shopify/Product/7810578612275',18.57),
+('gid://shopify/Product/7810578841651',23.82),
+('gid://shopify/Product/7810578907187',23.82),
+('gid://shopify/Product/7810579103795',23.82),
+('gid://shopify/Product/7810579497011',25.52),
+('gid://shopify/Product/7810579529779',25.52),
+('gid://shopify/Product/7810579562547',25.52),
+('gid://shopify/Product/7810579726387',27.72),
+('gid://shopify/Product/7810579824691',27.72),
+('gid://shopify/Product/7810579922995',39.12),
+('gid://shopify/Product/7810580152371',39.12),
+('gid://shopify/Product/7810580185139',39.12),
+('gid://shopify/Product/7810580316211',39.12),
+('gid://shopify/Product/7810580512819',31.12),
+('gid://shopify/Product/7810580578355',31.12),
+('gid://shopify/Product/7810580807731',27.72),
+('gid://shopify/Product/7810580840499',27.72),
+('gid://shopify/Product/7810581069875',35.42),
+('gid://shopify/Product/7810581332019',28.82),
+('gid://shopify/Product/7810581561395',23.52),
+('gid://shopify/Product/7810581790771',32.52),
+('gid://shopify/Product/7810582052915',21.38),
+('gid://shopify/Product/7810582315059',23.52),
+('gid://shopify/Product/7810582609971',21.38),
+('gid://shopify/Product/7810582839347',33.23),
+('gid://shopify/Product/7810582904883',36.88),
+('gid://shopify/Product/7810583068723',36.88),
+('gid://shopify/Product/7810583199795',36.88),
+('gid://shopify/Product/7810440167475',37.38),
+('gid://shopify/Product/7810445344819',33.57),
+('gid://shopify/Product/7810435907635',37.82),
+('gid://shopify/Product/7810563473459',36.12),
+('gid://shopify/Product/7810456780851',32.52),
+('gid://shopify/Product/7810457042995',32.17),
+('gid://shopify/Product/7810561245235',28.12),
+('gid://shopify/Product/7810553446451',29.57),
+('gid://shopify/Product/7810558427187',47.08),
+('gid://shopify/Product/7810432041011',42.07),
+('gid://shopify/Product/7810453962803',23.82),
+('gid://shopify/Product/7810455699507',37.12),
+('gid://shopify/Product/7810455896115',37.12),
+('gid://shopify/Product/7810457501747',35.42),
+('gid://shopify/Product/7810457698355',14.38),
+('gid://shopify/Product/7810539913267',32.83),
+('gid://shopify/Product/7810540830771',42.07),
+('gid://shopify/Product/7810540994611',42.07),
+('gid://shopify/Product/7810541781043',26.52),
+('gid://shopify/Product/7810542796851',25.82),
+('gid://shopify/Product/7810543222835',25.82),
+('gid://shopify/Product/7810543419443',25.82),
+('gid://shopify/Product/7810544304179',28.77),
+('gid://shopify/Product/7810544828467',38.17),
+('gid://shopify/Product/7810545614899',47.07),
+('gid://shopify/Product/7810545975347',48.87),
+('gid://shopify/Product/7810548301875',39.62),
+('gid://shopify/Product/7796287307827',24.32),
+('gid://shopify/Product/7810562981939',32.52),
+('gid://shopify/Product/7810428796979',14.38),
+('gid://shopify/Product/7810429485107',56.12),
+('gid://shopify/Product/7810429517875',37.38),
+('gid://shopify/Product/7810429648947',35.57),
+('gid://shopify/Product/7810429681715',35.57),
+('gid://shopify/Product/7810432499763',35.57),
+('gid://shopify/Product/7810432630835',35.57),
+('gid://shopify/Product/7810432761907',48.87),
+('gid://shopify/Product/7810432794675',48.87),
+('gid://shopify/Product/7810433286195',39.12),
+('gid://shopify/Product/7810553315379',29.57),
+('gid://shopify/Product/7810433908787',28.62),
+('gid://shopify/Product/7810553905203',26.82),
+('gid://shopify/Product/7810558623795',28.82),
+('gid://shopify/Product/7810433351731',39.12),
+('gid://shopify/Product/7810434465843',43.57),
+('gid://shopify/Product/7810561867827',22.82),
+('gid://shopify/Product/7810564030515',36.12),
+('gid://shopify/Product/7810437054515',35.32),
+('gid://shopify/Product/7810566258739',21.82),
+('gid://shopify/Product/7810567045171',23.82),
+('gid://shopify/Product/7810567077939',23.82),
+('gid://shopify/Product/7810567340083',15.78),
+('gid://shopify/Product/7810567897139',28.88),
+('gid://shopify/Product/7810568552499',31.53),
+('gid://shopify/Product/7810569044019',16.52),
+('gid://shopify/Product/7810434859059',39.12),
+('gid://shopify/Product/7810435285043',21.57),
+('gid://shopify/Product/7810439381043',26.07),
+('gid://shopify/Product/7810439643187',15.78),
+('gid://shopify/Product/7810441642035',21.57),
+('gid://shopify/Product/7810442428467',43.57),
+('gid://shopify/Product/7810572156979',14.38),
+('gid://shopify/Product/7810574516275',44.32),
+('gid://shopify/Product/7810448195635',37.27),
+('gid://shopify/Product/7810442494003',42.57),
+('gid://shopify/Product/7810448392243',37.27),
+('gid://shopify/Product/7810448752691',37.27),
+('gid://shopify/Product/7810442657843',54.57),
+('gid://shopify/Product/7810574745651',44.32),
+('gid://shopify/Product/7810575695923',35.42),
+('gid://shopify/Product/7810576646195',54.57),
+('gid://shopify/Product/7810578939955',23.82),
+('gid://shopify/Product/7810449145907',24.32),
+('gid://shopify/Product/7810581856307',32.52),
+('gid://shopify/Product/7810582216755',23.52),
+('gid://shopify/Product/7810442723379',38.17),
+('gid://shopify/Product/7810442952755',38.17),
+('gid://shopify/Product/7810449375283',27.72),
+('gid://shopify/Product/7810453897267',35.42),
+('gid://shopify/Product/7810443968563',38.17),
+('gid://shopify/Product/7810447835187',35.02),
+('gid://shopify/Product/7795700662323',35.42),
+('gid://shopify/Product/7796283998259',33.57),
+('gid://shopify/Product/7796284227635',35.52),
+('gid://shopify/Product/7810452553779',25.27),
+('gid://shopify/Product/7796285341747',35.02),
+('gid://shopify/Product/7796287045683',24.32),
+('gid://shopify/Product/7810452586547',25.27),
+('gid://shopify/Product/7810542633011',23.52),
+('gid://shopify/Product/7810452521011',25.27),
+('gid://shopify/Product/7810542731315',25.82),
+('gid://shopify/Product/7810452717619',37.27),
+('gid://shopify/Product/7810452783155',37.27),
+('gid://shopify/Product/7810542862387',25.82),
+('gid://shopify/Product/7810542895155',25.82),
+('gid://shopify/Product/7810542927923',25.82),
+('gid://shopify/Product/7810546040883',56.12),
+('gid://shopify/Product/7810547417139',37.38),
+('gid://shopify/Product/7810547810355',26.07),
+('gid://shopify/Product/7810547875891',26.07),
+('gid://shopify/Product/7810548039731',28.43),
+('gid://shopify/Product/7810548105267',26.52),
+('gid://shopify/Product/7810547056691',56.12),
+('gid://shopify/Product/7810561114163',31.52),
+('gid://shopify/Product/7810563670067',36.12),
+('gid://shopify/Product/7810564423731',48.38),
+('gid://shopify/Product/7810564554803',48.38),
+('gid://shopify/Product/7810565439539',39.62),
+('gid://shopify/Product/7810566750259',23.07),
+('gid://shopify/Product/7810568486963',31.53),
+('gid://shopify/Product/7810572288051',42.57),
+('gid://shopify/Product/7810580021299',39.12),
+('gid://shopify/Product/7810551775283',29.57),
+('gid://shopify/Product/7810453078067',37.27),
+('gid://shopify/Product/7810552070195',29.57),
+('gid://shopify/Product/7810559803443',22.82),
+('gid://shopify/Product/7810563932211',36.12),
+('gid://shopify/Product/7810566848563',23.82),
+('gid://shopify/Product/7810567569459',37.38),
+('gid://shopify/Product/7810567962675',28.88),
+('gid://shopify/Product/7810453209139',37.27),
+('gid://shopify/Product/7810453241907',37.27),
+('gid://shopify/Product/7810567995443',28.88),
+('gid://shopify/Product/7810568060979',28.88),
+('gid://shopify/Product/7810569076787',16.52),
+('gid://shopify/Product/7810569109555',16.52),
+('gid://shopify/Product/7810569207859',16.52),
+('gid://shopify/Product/7810569240627',16.52),
+('gid://shopify/Product/7810569470003',16.52),
+('gid://shopify/Product/7810569699379',25.77),
+('gid://shopify/Product/7810455437363',28.82),
+('gid://shopify/Product/7810569797683',25.77),
+('gid://shopify/Product/7810571108403',25.27),
+('gid://shopify/Product/7810571337779',25.27),
+('gid://shopify/Product/7810455568435',37.12),
+('gid://shopify/Product/7810571862067',50.57),
+('gid://shopify/Product/7810455633971',37.12),
+('gid://shopify/Product/7810571927603',37.27),
+('gid://shopify/Product/7810573697075',23.27),
+('gid://shopify/Product/7810573795379',23.27),
+('gid://shopify/Product/7810574024755',56.12),
+('gid://shopify/Product/7810455863347',37.12),
+('gid://shopify/Product/7810574090291',37.27),
+('gid://shopify/Product/7810576908339',39.12),
+('gid://shopify/Product/7810455928883',37.12),
+('gid://shopify/Product/7810577039411',39.12),
+('gid://shopify/Product/7810577170483',26.82),
+('gid://shopify/Product/7810577301555',26.82),
+('gid://shopify/Product/7810578677811',23.82),
+('gid://shopify/Product/7810581168179',21.38),
+('gid://shopify/Product/7810581266483',35.42),
+('gid://shopify/Product/7810456027187',37.12),
+('gid://shopify/Product/7810581954611',21.38),
+('gid://shopify/Product/7810582020147',21.38),
+('gid://shopify/Product/7810582970419',36.88),
+('gid://shopify/Product/7810585559091',35.42),
+('gid://shopify/Product/7810456322099',31.52),
+('gid://shopify/Product/7810585591859',35.42),
+('gid://shopify/Product/7810456354867',31.52),
+('gid://shopify/Product/7810434007091',31.52),
+('gid://shopify/Product/7810456518707',48.57),
+('gid://shopify/Product/7810457272371',35.42),
+('gid://shopify/Product/7810445934643',14.38),
+('gid://shopify/Product/7810449506355',23.52),
+('gid://shopify/Product/7810453110835',37.27),
+('gid://shopify/Product/7810542338099',23.52),
+('gid://shopify/Product/7810545254451',38.17),
+('gid://shopify/Product/7810546401331',56.12),
+('gid://shopify/Product/7810457763891',13.42),
+('gid://shopify/Product/7810457796659',13.42),
+('gid://shopify/Product/7810540470323',32.83)) AS v(sid,c) WHERE sp.shopify_id=v.sid AND sp.status='ACTIVE' AND (sp.cost_price IS NULL OR sp.cost_price::numeric=0);
+
+SELECT count(*) FILTER (WHERE cost_source LIKE '%mirror-parity%') AS jd_parity_applied,
+ round(100.0*count(*) FILTER (WHERE cost_price IS NOT NULL AND cost_price::numeric>0)/count(*),1) AS pct_with_cost
+FROM shopify_products WHERE status='ACTIVE';
+COMMIT;
+-- REVERT: UPDATE shopify_products sp SET cost_price=r.old_cost_price, cost_source=r.old_cost_source
+-- FROM cost_backfill_jd_restore_20260824 r WHERE sp.shopify_id=r.shopify_id;
diff --git a/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.json b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.json
new file mode 100644
index 00000000..c4f37a5a
--- /dev/null
+++ b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package-lock.json
@@ -0,0 +1,5327 @@
+{
+ "name": "dw-block-nonpurchasable-checkout",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "dw-block-nonpurchasable-checkout",
+ "version": "1.0.0",
+ "dependencies": {
+ "@shopify/shopify_function": "^2.0.1"
+ },
+ "devDependencies": {
+ "vite": "^6.0.0"
+ }
+ },
+ "node_modules/@ardatan/relay-compiler": {
+ "version": "13.0.2",
+ "resolved": "https://registry.npmjs.org/@ardatan/relay-compiler/-/relay-compiler-13.0.2.tgz",
+ "integrity": "sha512-VFpv9UP820SiwDUPYtq7PmD3jifzZlevkQ26bhbSzFeruSTys0eHzQCZyKg+IhgmZzwPI9AFjPe26ABNjGeIKg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^8.0.0",
+ "immutable": "^5.1.9",
+ "invariant": "^2.2.4"
+ },
+ "peerDependencies": {
+ "graphql": "*"
+ }
+ },
+ "node_modules/@ardatan/sync-fetch": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz",
+ "integrity": "sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.6.1"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz",
+ "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.29.7",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.1.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.7.tgz",
+ "integrity": "sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.7.tgz",
+ "integrity": "sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/generator": "^7.29.7",
+ "@babel/helper-compilation-targets": "^7.29.7",
+ "@babel/helper-module-transforms": "^7.29.7",
+ "@babel/helpers": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/template": "^7.29.7",
+ "@babel/traverse": "^7.29.7",
+ "@babel/types": "^7.29.7",
+ "@jridgewell/remapping": "^2.3.5",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.8.tgz",
+ "integrity": "sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.29.8",
+ "@babel/types": "^7.29.8",
+ "@jridgewell/gen-mapping": "^0.3.12",
+ "@jridgewell/trace-mapping": "^0.3.28",
+ "jsesc": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz",
+ "integrity": "sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.29.7",
+ "@babel/helper-validator-option": "^7.29.7",
+ "browserslist": "^4.24.0",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-globals": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.29.7.tgz",
+ "integrity": "sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz",
+ "integrity": "sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/traverse": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz",
+ "integrity": "sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7",
+ "@babel/traverse": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.29.7.tgz",
+ "integrity": "sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz",
+ "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz",
+ "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz",
+ "integrity": "sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.7.tgz",
+ "integrity": "sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.8.tgz",
+ "integrity": "sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.29.8"
+ },
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.29.7.tgz",
+ "integrity": "sha512-/An1OCBN93thpBAGyfsK2pcf0jvju1SAtKkL2Ny++B5Sy6sqgzXDQH1cZxWbF96Wuk+bn41MDA9bLd4VVAw6rw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-8.0.0.tgz",
+ "integrity": "sha512-sL6cvO2IfkSu/iU+zs2S/w01B7A8V7suXSIKEN4hPFFdZoiPGxrj5pAG0lCaqLWiEIrjKzdznIWuaLcxPR53qw==",
+ "license": "MIT"
+ },
+ "node_modules/@babel/template": {
+ "version": "7.29.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.29.7.tgz",
+ "integrity": "sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/parser": "^7.29.7",
+ "@babel/types": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.8.tgz",
+ "integrity": "sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.29.7",
+ "@babel/generator": "^7.29.8",
+ "@babel/helper-globals": "^7.29.7",
+ "@babel/parser": "^7.29.8",
+ "@babel/template": "^7.29.7",
+ "@babel/types": "^7.29.8",
+ "debug": "^4.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.29.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz",
+ "integrity": "sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.29.7",
+ "@babel/helper-validator-identifier": "^7.29.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@envelop/core": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/@envelop/core/-/core-5.6.0.tgz",
+ "integrity": "sha512-cD7HNfAzJVw/0Pxneu51UAKzUGLvkctk9rr9DVJ9b7FDe4nSa9kAGMRxx145H6ooELIUMjTd2buk3PuvjJmp/A==",
+ "license": "MIT",
+ "dependencies": {
+ "@envelop/instrumentation": "^1.0.0",
+ "@envelop/types": "^5.2.1",
+ "@whatwg-node/promise-helpers": "^1.2.4",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@envelop/instrumentation": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@envelop/instrumentation/-/instrumentation-1.0.0.tgz",
+ "integrity": "sha512-cxgkB66RQB95H3X27jlnxCRNTmPuSTgmBAq6/4n2Dtv4hsk4yz8FadA1ggmd0uZzvKqWD6CR+WFgTjhDqg7eyw==",
+ "license": "MIT",
+ "dependencies": {
+ "@whatwg-node/promise-helpers": "^1.2.1",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@envelop/types": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/@envelop/types/-/types-5.2.1.tgz",
+ "integrity": "sha512-CsFmA3u3c2QoLDTfEpGr4t25fjMU31nyvse7IzWTvb0ZycuPjMjb0fjlheh+PbhBYb9YLugnT2uY6Mwcg1o+Zg==",
+ "license": "MIT",
+ "dependencies": {
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "tslib": "^2.5.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@fastify/busboy": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.2.2.tgz",
+ "integrity": "sha512-yXSS27qPExaXeuLvMRMXOLtpipzfQYNjG3FkunDWKGfMYjKuhFXko9CVzqxm8jcF+lmtS9Fd89QNdh9XDjnbNg==",
+ "license": "MIT"
+ },
+ "node_modules/@graphql-codegen/add": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-5.0.3.tgz",
+ "integrity": "sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.0.3",
+ "tslib": "~2.6.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/add/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/cli": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-5.0.6.tgz",
+ "integrity": "sha512-1r5dtZ2l1jiCF/4qLMTcT7mEoWWWeqQlmn7HcPHgnV/OXIEodwox7XRGAmOKUygoabRjFF3S0jd0TWbkq5Otsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/generator": "^7.18.13",
+ "@babel/template": "^7.18.10",
+ "@babel/types": "^7.18.13",
+ "@graphql-codegen/client-preset": "^4.8.1",
+ "@graphql-codegen/core": "^4.0.2",
+ "@graphql-codegen/plugin-helpers": "^5.0.3",
+ "@graphql-tools/apollo-engine-loader": "^8.0.0",
+ "@graphql-tools/code-file-loader": "^8.0.0",
+ "@graphql-tools/git-loader": "^8.0.0",
+ "@graphql-tools/github-loader": "^8.0.0",
+ "@graphql-tools/graphql-file-loader": "^8.0.0",
+ "@graphql-tools/json-file-loader": "^8.0.0",
+ "@graphql-tools/load": "^8.1.0",
+ "@graphql-tools/prisma-loader": "^8.0.0",
+ "@graphql-tools/url-loader": "^8.0.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "@whatwg-node/fetch": "^0.10.0",
+ "chalk": "^4.1.0",
+ "cosmiconfig": "^8.1.3",
+ "debounce": "^1.2.0",
+ "detect-indent": "^6.0.0",
+ "graphql-config": "^5.1.1",
+ "inquirer": "^8.0.0",
+ "is-glob": "^4.0.1",
+ "jiti": "^1.17.1",
+ "json-to-pretty-yaml": "^1.2.2",
+ "listr2": "^4.0.5",
+ "log-symbols": "^4.0.0",
+ "micromatch": "^4.0.5",
+ "shell-quote": "^1.7.3",
+ "string-env-interpolation": "^1.0.1",
+ "ts-log": "^2.2.3",
+ "tslib": "^2.4.0",
+ "yaml": "^2.3.1",
+ "yargs": "^17.0.0"
+ },
+ "bin": {
+ "gql-gen": "cjs/bin.js",
+ "graphql-code-generator": "cjs/bin.js",
+ "graphql-codegen": "cjs/bin.js",
+ "graphql-codegen-esm": "esm/bin.js"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "@parcel/watcher": "^2.1.0",
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@parcel/watcher": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@graphql-codegen/client-preset": {
+ "version": "4.8.3",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-4.8.3.tgz",
+ "integrity": "sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/template": "^7.20.7",
+ "@graphql-codegen/add": "^5.0.3",
+ "@graphql-codegen/gql-tag-operations": "4.0.17",
+ "@graphql-codegen/plugin-helpers": "^5.1.1",
+ "@graphql-codegen/typed-document-node": "^5.1.2",
+ "@graphql-codegen/typescript": "^4.1.6",
+ "@graphql-codegen/typescript-operations": "^4.6.1",
+ "@graphql-codegen/visitor-plugin-common": "^5.8.0",
+ "@graphql-tools/documents": "^1.0.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "@graphql-typed-document-node/core": "3.2.0",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
+ "graphql-sock": "^1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql-sock": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@graphql-codegen/client-preset/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/core": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-4.0.2.tgz",
+ "integrity": "sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.0.3",
+ "@graphql-tools/schema": "^10.0.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "tslib": "~2.6.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/core/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/gql-tag-operations": {
+ "version": "4.0.17",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-4.0.17.tgz",
+ "integrity": "sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.1.0",
+ "@graphql-codegen/visitor-plugin-common": "5.8.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/gql-tag-operations/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/plugin-helpers": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-5.1.1.tgz",
+ "integrity": "sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^10.0.0",
+ "change-case-all": "1.0.15",
+ "common-tags": "1.8.2",
+ "import-from": "4.0.0",
+ "lodash": "~4.17.0",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/plugin-helpers/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/schema-ast": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/schema-ast/-/schema-ast-4.1.0.tgz",
+ "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.0.3",
+ "@graphql-tools/utils": "^10.0.0",
+ "tslib": "~2.6.0"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/schema-ast/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/typed-document-node": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-5.1.2.tgz",
+ "integrity": "sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.1.0",
+ "@graphql-codegen/visitor-plugin-common": "5.8.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.15",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typed-document-node/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/typescript": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-4.1.6.tgz",
+ "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.1.0",
+ "@graphql-codegen/schema-ast": "^4.0.2",
+ "@graphql-codegen/visitor-plugin-common": "5.8.0",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations": {
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-4.6.1.tgz",
+ "integrity": "sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.1.0",
+ "@graphql-codegen/typescript": "^4.1.6",
+ "@graphql-codegen/visitor-plugin-common": "5.8.0",
+ "auto-bind": "~4.0.0",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0",
+ "graphql-sock": "^1.0.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql-sock": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@graphql-codegen/typescript-operations/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/typescript/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-codegen/visitor-plugin-common": {
+ "version": "5.8.0",
+ "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-5.8.0.tgz",
+ "integrity": "sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-codegen/plugin-helpers": "^5.1.0",
+ "@graphql-tools/optimize": "^2.0.0",
+ "@graphql-tools/relay-operation-optimizer": "^7.0.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "auto-bind": "~4.0.0",
+ "change-case-all": "1.0.15",
+ "dependency-graph": "^0.11.0",
+ "graphql-tag": "^2.11.0",
+ "parse-filepath": "^1.0.2",
+ "tslib": "~2.6.0"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@graphql-codegen/visitor-plugin-common/node_modules/tslib": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
+ "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
+ "license": "0BSD"
+ },
+ "node_modules/@graphql-hive/signal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-hive/signal/-/signal-1.0.0.tgz",
+ "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/apollo-engine-loader": {
+ "version": "8.0.35",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/apollo-engine-loader/-/apollo-engine-loader-8.0.35.tgz",
+ "integrity": "sha512-9tX4Z+kQnLHt1rXb+JVa8ME4f4N90FM0s0CB2ss3k+Ua8wfjMbv5lFT4WpCzzmhMIK6lZ1KMn+0SIaJMYLVGJw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^12.0.0",
+ "@whatwg-node/fetch": "^0.10.13",
+ "sync-fetch": "0.6.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/apollo-engine-loader/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/batch-execute": {
+ "version": "9.0.19",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-9.0.19.tgz",
+ "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^10.9.1",
+ "@whatwg-node/promise-helpers": "^1.3.0",
+ "dataloader": "^2.2.3",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/code-file-loader": {
+ "version": "8.1.37",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/code-file-loader/-/code-file-loader-8.1.37.tgz",
+ "integrity": "sha512-ne+mr8XUvN+8EZ+dTKalSt74KUNYnzZq1904SJ0+l8NybmkSHBb821AcKLAfYxFXPFGGC4oQwyIxZa+iVB6K9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/graphql-tag-pluck": "8.3.36",
+ "@graphql-tools/utils": "^12.0.0",
+ "globby": "^11.0.3",
+ "tslib": "^2.4.0",
+ "unixify": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/code-file-loader/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/delegate": {
+ "version": "10.2.23",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-10.2.23.tgz",
+ "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/batch-execute": "^9.0.19",
+ "@graphql-tools/executor": "^1.4.9",
+ "@graphql-tools/schema": "^10.0.25",
+ "@graphql-tools/utils": "^10.9.1",
+ "@repeaterjs/repeater": "^3.0.6",
+ "@whatwg-node/promise-helpers": "^1.3.0",
+ "dataloader": "^2.2.3",
+ "dset": "^3.1.2",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/documents": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/documents/-/documents-1.0.1.tgz",
+ "integrity": "sha512-aweoMH15wNJ8g7b2r4C4WRuJxZ0ca8HtNO54rkye/3duxTkW4fGBEutCx03jCIr5+a1l+4vFJNP859QnAVBVCA==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash.sortby": "^4.7.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor": {
+ "version": "1.5.7",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-1.5.7.tgz",
+ "integrity": "sha512-UcXVClkBml+qyGEsQxfEaAkboqySVGFUd9ivn7pDc9jZSckgF6zL21cNxuRH5ZA2exneV3PTtcc0I0rDOdE0Tg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^11.2.2",
+ "@graphql-typed-document-node/core": "^3.2.0",
+ "@repeaterjs/repeater": "^3.1.0",
+ "@whatwg-node/disposablestack": "^0.0.6",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-common": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.4.tgz",
+ "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@envelop/core": "^5.2.3",
+ "@graphql-tools/utils": "^10.8.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-graphql-ws": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-1.3.7.tgz",
+ "integrity": "sha512-9KUrlpil5nBgcb+XRUIxNQGI+c237LAfDBqYCdLGuYT+/oZz1b4rRIe6HuRk09vuxrbaMTzm7xHhn/iuwWW4eg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/executor-common": "^0.0.1",
+ "@graphql-tools/utils": "^10.7.0",
+ "@whatwg-node/disposablestack": "^0.0.5",
+ "graphql-ws": "^5.14.0",
+ "isomorphic-ws": "^5.0.0",
+ "tslib": "^2.8.1",
+ "ws": "^8.17.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@graphql-tools/executor-common": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor-common/-/executor-common-0.0.1.tgz",
+ "integrity": "sha512-Gan7uiQhKvAAl0UM20Oy/n5NGBBDNm+ASHvnYuD8mP+dAH0qY+2QMCHyi5py28WAlhAwr0+CAemEyzY/ZzOjdQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@envelop/core": "^5.0.2",
+ "@graphql-tools/utils": "^10.7.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-graphql-ws/node_modules/@whatwg-node/disposablestack": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.5.tgz",
+ "integrity": "sha512-9lXugdknoIequO4OYvIjhygvfSEgnO8oASLqLelnDhkRjgBZhc39shC3QSlZuyDO9bgYSIVa2cHAiN+St3ty4w==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-http": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-1.3.3.tgz",
+ "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-hive/signal": "^1.0.0",
+ "@graphql-tools/executor-common": "^0.0.4",
+ "@graphql-tools/utils": "^10.8.1",
+ "@repeaterjs/repeater": "^3.0.4",
+ "@whatwg-node/disposablestack": "^0.0.6",
+ "@whatwg-node/fetch": "^0.10.4",
+ "@whatwg-node/promise-helpers": "^1.3.0",
+ "meros": "^1.2.1",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-legacy-ws": {
+ "version": "1.1.33",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-1.1.33.tgz",
+ "integrity": "sha512-KxYRFVuqYm/37DW2NsbbS6mwUS8G3glgEGz2yEhY66wFixT0lIy8X4OsV/PixIuh7AwILS/B/A4gZIIGuV2oFw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^12.0.0",
+ "@types/ws": "^8.0.0",
+ "isomorphic-ws": "^5.0.0",
+ "tslib": "^2.4.0",
+ "ws": "^8.21.3"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor-legacy-ws/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/executor/node_modules/@graphql-tools/utils": {
+ "version": "11.2.2",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-11.2.2.tgz",
+ "integrity": "sha512-Do2A/t6ayqOma8m7PvpYMsCBswL+NB35BQSng4GWSBqafL2/BnfAZy/NSENPwV721Rm2fG0BHETFC0+FJJZmLw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/git-loader": {
+ "version": "8.0.41",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/git-loader/-/git-loader-8.0.41.tgz",
+ "integrity": "sha512-KhEaFCWRYfPDwvAEIaNgdkvOepclJL/1lwmfpn2LO1/Isq8u8wZwOu1TSaZkp/ICip0UkhzWTnx84FBPCfds5w==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/graphql-tag-pluck": "8.3.36",
+ "@graphql-tools/utils": "^12.0.0",
+ "is-glob": "4.0.3",
+ "micromatch": "^4.0.8",
+ "tslib": "^2.4.0",
+ "unixify": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/git-loader/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/github-loader": {
+ "version": "8.0.22",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/github-loader/-/github-loader-8.0.22.tgz",
+ "integrity": "sha512-uQ4JNcNPsyMkTIgzeSbsoT9hogLjYrZooLUYd173l5eUGUi49EAcsGdiBCKaKfEjanv410FE8hjaHr7fjSRkJw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/executor-http": "^1.1.9",
+ "@graphql-tools/graphql-tag-pluck": "^8.3.21",
+ "@graphql-tools/utils": "^10.9.1",
+ "@whatwg-node/fetch": "^0.10.0",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "sync-fetch": "0.6.0-2",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/github-loader/node_modules/node-fetch": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+ "license": "MIT",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "node_modules/@graphql-tools/github-loader/node_modules/sync-fetch": {
+ "version": "0.6.0-2",
+ "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0-2.tgz",
+ "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^3.3.2",
+ "timeout-signal": "^2.0.0",
+ "whatwg-mimetype": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@graphql-tools/graphql-file-loader": {
+ "version": "8.1.19",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-8.1.19.tgz",
+ "integrity": "sha512-aB7kelZK4Rk4iPMS1bFjlTvtqbByxE98XL/hyFxSAKRyEQ+fNQ1HHnO1yHRlnG+6BGhesImWo3B1b7mUzlkCbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/import": "^7.1.19",
+ "@graphql-tools/utils": "^12.0.0",
+ "globby": "^11.0.3",
+ "tslib": "^2.4.0",
+ "unixify": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/graphql-file-loader/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/graphql-tag-pluck": {
+ "version": "8.3.36",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-tag-pluck/-/graphql-tag-pluck-8.3.36.tgz",
+ "integrity": "sha512-o+J7i2i1MhswlCcfuWg2JmHZMcKTtFtSzTdDmDOC0/jroHL0pQTtnGPg4yM3UqKAaqntSYPTUW0QSphq8+xCEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.29.7",
+ "@babel/parser": "^7.29.3",
+ "@babel/plugin-syntax-import-assertions": "^7.26.0",
+ "@babel/traverse": "^7.26.10",
+ "@babel/types": "^7.26.10",
+ "@graphql-tools/utils": "^12.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/graphql-tag-pluck/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/import": {
+ "version": "7.1.19",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-7.1.19.tgz",
+ "integrity": "sha512-oC5BL5T44zprAYpx3EvTX9JgooBQ7qUS9wdRvBUx7SwdFvMvPuGtcNaNBkprBb+mj1ZR65Gh6ni893iPZhOkvw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^12.0.0",
+ "resolve-from": "5.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/import/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/json-file-loader": {
+ "version": "8.0.33",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-8.0.33.tgz",
+ "integrity": "sha512-k0qSrgP1kOkVX7fB+pVxe2HOBrop08VFjJPmx/b3BSZTiZQLs4Pkb/aENGEsKuhS9CI2NbUnCHy0oJdIvIb5BA==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^12.0.0",
+ "globby": "^11.0.3",
+ "tslib": "^2.4.0",
+ "unixify": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/json-file-loader/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/load": {
+ "version": "8.1.16",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-8.1.16.tgz",
+ "integrity": "sha512-b3VK4+lX9w3c0TPp0UBzqpPziZKRLmcmF4dDVWlCylhQAlB0SlHJK+oIovMX2qCfmB/Q5Y/7ayFsVy2la+pW6g==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/schema": "^10.1.0",
+ "@graphql-tools/utils": "^12.0.0",
+ "p-limit": "3.1.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/load/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/merge": {
+ "version": "9.2.3",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-9.2.3.tgz",
+ "integrity": "sha512-cKRoXqJGy2zSRBLvotQpkACbXlHAb0yuHLN0l0ypKGCuL3NnF0zofYalkBJqiBxxxpK0lr3s9uowKFHCKi1/ZQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/utils": "^12.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/merge/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/optimize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-2.0.0.tgz",
+ "integrity": "sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/prisma-loader": {
+ "version": "8.0.17",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/prisma-loader/-/prisma-loader-8.0.17.tgz",
+ "integrity": "sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==",
+ "deprecated": "This package was intended to be used with an older versions of Prisma.\\nThe newer versions of Prisma has a different approach to GraphQL integration.\\nTherefore, this package is no longer needed and has been deprecated and removed.\\nLearn more: https://www.prisma.io/graphql",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/url-loader": "^8.0.15",
+ "@graphql-tools/utils": "^10.5.6",
+ "@types/js-yaml": "^4.0.0",
+ "@whatwg-node/fetch": "^0.10.0",
+ "chalk": "^4.1.0",
+ "debug": "^4.3.1",
+ "dotenv": "^16.0.0",
+ "graphql-request": "^6.0.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.0",
+ "jose": "^5.0.0",
+ "js-yaml": "^4.0.0",
+ "lodash": "^4.17.20",
+ "scuid": "^1.1.0",
+ "tslib": "^2.4.0",
+ "yaml-ast-parser": "^0.0.43"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/relay-operation-optimizer": {
+ "version": "7.1.9",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-7.1.9.tgz",
+ "integrity": "sha512-sbkTNbuwT0iGSaQ5hc7dWzfmxTOPVXMZhb5TmdrIWVqhbw8sRenwd/tGCF6jFTG67CSCm0zXOmb9FJhmdM3FmA==",
+ "license": "MIT",
+ "dependencies": {
+ "@ardatan/relay-compiler": "^13.0.2",
+ "@graphql-tools/utils": "^12.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/relay-operation-optimizer/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/schema": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-10.1.0.tgz",
+ "integrity": "sha512-wao48XQnfY631s3jXoNrhEHvCI8mlKXmIuWrR7F6zAdv92VuSOfHoq9P9KL2EnUMgBUnaStnByOx9Mn6RieWDg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/merge": "^9.2.3",
+ "@graphql-tools/utils": "^12.0.0",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/utils": {
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-12.0.0.tgz",
+ "integrity": "sha512-aMdIo/l+8j4lhamWAf+MWHr+lOW8zArSBKXspqtKHgt5I2JF9LS55KDLUe/L9AiJOV/O6qJJ60hgYydbnJHbxg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/url-loader": {
+ "version": "8.0.16",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-8.0.16.tgz",
+ "integrity": "sha512-2VhQBkW/nvKwKJ6xrngl2YLuHSsBYH/oEhp0w56ZkNHOiPkLzEYPj74QeGBpCokf61/LrVBWg1KTpGwVh+l0UQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@ardatan/sync-fetch": "^0.0.1",
+ "@graphql-tools/executor-graphql-ws": "^1.3.2",
+ "@graphql-tools/executor-http": "^1.1.9",
+ "@graphql-tools/executor-legacy-ws": "^1.1.3",
+ "@graphql-tools/utils": "^10.6.0",
+ "@graphql-tools/wrap": "^10.0.16",
+ "@types/ws": "^8.0.0",
+ "@whatwg-node/fetch": "^0.10.0",
+ "isomorphic-ws": "^5.0.0",
+ "tslib": "^2.4.0",
+ "value-or-promise": "^1.0.11",
+ "ws": "^8.17.1"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/utils": {
+ "version": "10.11.0",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-10.11.0.tgz",
+ "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "cross-inspect": "1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-tools/wrap": {
+ "version": "10.1.4",
+ "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-10.1.4.tgz",
+ "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/delegate": "^10.2.23",
+ "@graphql-tools/schema": "^10.0.25",
+ "@graphql-tools/utils": "^10.9.1",
+ "@whatwg-node/promise-helpers": "^1.3.0",
+ "tslib": "^2.8.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz",
+ "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@inquirer/external-editor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
+ "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^2.1.1",
+ "iconv-lite": "^0.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@napi-rs/lzma-linux-x64-gnu": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz",
+ "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^22.20 || ^24.12 || >=25"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@repeaterjs/repeater": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.1.0.tgz",
+ "integrity": "sha512-TaoVksZRSx2KWYYpyLQtMQXXeS98VsgZImzW65xmiVgbYhXLk+aEsmzPLirqVuE4/XuUapH2iMtxUzaBNDzdSQ==",
+ "license": "MIT"
+ },
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.5.tgz",
+ "integrity": "sha512-jfkGfTwhQpsiSckPF8r9bU3pn3vyd72NlWaO+TgEO6WPSDnUhXzrNYCHBMOYj0ACaUgjm6eERLF+XV9a6RstoA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.5.tgz",
+ "integrity": "sha512-oGVqyQlxnrz9/ty89oHpU857VUHEl5/Xu4R2lS+aivCTrNnSsbiENzTnNaBsjxH0CNWGPhzHArOLFwo+oKXveA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.5.tgz",
+ "integrity": "sha512-bW7B8xMEq8n99Q3ieEcPRGuphurdZAaFzQc9Efyyw3FL6DZO6pMy9xhdN+kBoD7Sy05xNXSr4OyPPnpkYriS/A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.5.tgz",
+ "integrity": "sha512-YSwBS86QeHOGlrxJ1PSOIZSkzRL/JmKeunhc+lV6M1a6En8QuVCD/T/qIA0J4Gd2Y86RIOBYrLcOUtqGh9+/1w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.5.tgz",
+ "integrity": "sha512-2fST8lILgl7cKbme/1KDdPCmbXbG+gqoV3bHp19L0ypX/3akYMBVdOunPleRCwonoLnXOZ/0F+Mt/v8POFmfcQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.5.tgz",
+ "integrity": "sha512-cpIxQCP9J+EVad0a6LO1kY3ZGODlk80VlI+2I96B8xMcdHZ4pLVhfQ49JFpYqjPF91FFkQWftf57YlDcTiw9yQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.5.tgz",
+ "integrity": "sha512-r9fGh3eFs3e/udWh5ZjXQtxiYK/xoFxQaYR/cELxac/Udkl5Th+IsFm0CX3Kl9hmUH/we7EoMpjJgeQNnE0+IA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.5.tgz",
+ "integrity": "sha512-xdvFdp7OM6KLJviJT2g/YuRSUjnZgGHk4RNgwIbN7X6cPugOucV60DdHXWzsBVCUdrGb6qSXnJQrrAKMmQuj3Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.5.tgz",
+ "integrity": "sha512-rRqILAndyzHzP7T9NFQrq+4HFWNhqkqkKur7eiBpfLmz01PO0JKx5Vchu3YllE4YXI/Ftgq/szrDWg5GJ0mI8g==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.5.tgz",
+ "integrity": "sha512-Gf4X3qVMucayUvux6aXXPgXovocSFUC0rrffDuPI/S2nHhNMhjcZxsrAFYCOF350PRreW1XwzFj3CT/3bKsWCw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.5.tgz",
+ "integrity": "sha512-+s5qA0TNM0qm8PK/a5gt/1Hpx+NV08uSuCncvhziIlQzT6AEV2fnUQo7eBtFTFO0nA9scauvoR2HusfXmQnO4w==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.5.tgz",
+ "integrity": "sha512-ybb6QvWwWJCbBWqERpc8K3pYVGIrXlG8MEQ8IIuJY6Y9KdHQxoFoNyfkAOtKn1VHu3KuLidXvwrvGR1mEjeWCw==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.5.tgz",
+ "integrity": "sha512-nZb1DtnOyhCmYvsC8A2CwOkopVg+IS1+fPUa7rMOAXtNw5+lLCLLPqd6XAiNrGtoQKsbvIBOwsHnBH/3wnb4HQ==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.5.tgz",
+ "integrity": "sha512-yMbj63Sp89ryrXLWyz+sy+fYD2HpOnMCLGbe4Oa1smclFSUukdtD/BgdiHaAetJNb74URD8U4hM+qG5KVzMEkg==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.5.tgz",
+ "integrity": "sha512-mhoan3OJw2kYV/e1jtIdmvUZgyBFeA6zGWsOswmR0Tg19TQbowZuR+JMLID6spbbBN7Zee2ejrgmy3+FxGrIdA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.5.tgz",
+ "integrity": "sha512-5ZTLmjWbb1VZdjuyhe83K/8QO0/h11midQCBP+X5OYn32ra7eOBoM0ZqtaY4nkgNsYgmdVhMYPoyVPTjUpHf3w==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.5.tgz",
+ "integrity": "sha512-m53kG+br6PGxOTmgBEM2DHSDs9RVjsyEbUwjJPJGTFm1grWOG8EKJggDCTb60unD4Tjby8fi7/m9XfkEWasVWg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.5.tgz",
+ "integrity": "sha512-6RHPJR1g/uvdYU8uXBnfq3nlqyZCP82Fr6NHgfGoaIeSh0YEqnX/x6uA9MmJJbnSH7swqX4F+CkGdUF+6doiQA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "glibc"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.5.tgz",
+ "integrity": "sha512-xs+OXQtEXgpXT0DmA5+U3qnRZHdCST/5HRQxS8wSPZTUZN/EMWeHuSIod32LQklTBZBV9DyfncKBQ8n5V3eFdw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "libc": [
+ "musl"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.5.tgz",
+ "integrity": "sha512-e7hD+sl3s+mcLQDZ8pbudBVsdG6r5yN4w3LqG2TJ8sQHDpblWj5lrJs/3m01Cvlxbt4x13zu5thLjgypgtkYzw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.5.tgz",
+ "integrity": "sha512-GiyJaCf+WpMub/17aPcKk27QMl5W6f+KhdPTjlFOn5akH5Wa/DCM9Stdx5cDfmasyKB08MqpVQ1uJE2RkkpbXg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.5.tgz",
+ "integrity": "sha512-+OQ8U2DdoEfXl8T4Fb18AjmEwbXMerKDKCL8yCPAYhKCEEKoul7rkbeGCBFCbAlaGaa7pmtRTpkAJM2LE/i5FA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.5.tgz",
+ "integrity": "sha512-KanvAZrPKbDBFwrgiU9yEVpQoox9QPV1WZOXX7HudJQY+eSlu82CtWxDU8WtuRRvtN5EGkLczkd6Y6DTcvm9wA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.5.tgz",
+ "integrity": "sha512-1aC3UEWTtRl3RK3VpDJ/Tqk1XI4SLTmXIthAq6wRWo8XiSXJNd+VprJM4/1P4+i6HIaFEFlVi9sTTziniD2tOQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.5.tgz",
+ "integrity": "sha512-/gDJaRs4gl0NPIwqCz+6PkpmhhjRAD2j6P4rSNHBzUkO3naEx2mIU0pRle1vUNRQ7mE/+8OOeXLTv/J56FKiQg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@shopify/shopify_function": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@shopify/shopify_function/-/shopify_function-2.0.1.tgz",
+ "integrity": "sha512-MEqIm1RJuF28ppuOqXpPeJ3SDSowtgmDGS5GYZ5j85izovmQ2HxK0oFKZyjmfYMvzZairRKVvHp+YYdPdqdp4g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@graphql-codegen/cli": "5.0.6",
+ "@graphql-codegen/typescript": "4.1.6",
+ "@graphql-codegen/typescript-operations": "4.6.1",
+ "@graphql-tools/url-loader": "8.0.16",
+ "graphql": "^16.10.0",
+ "graphql-config": "5.1.3",
+ "typescript": "5.8.3"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
+ "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/js-yaml": {
+ "version": "4.0.9",
+ "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
+ "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "26.3.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-26.3.0.tgz",
+ "integrity": "sha512-L3fgrnchriRC2ExBflb8j4uZZURHZfQsmQeyVzhjcHW4kkwVyo8/0h1B2MVzMTrYUJYu6G7EWs14hW/L9putqw==",
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~8.3.0"
+ }
+ },
+ "node_modules/@types/ws": {
+ "version": "8.18.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
+ "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@whatwg-node/disposablestack": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz",
+ "integrity": "sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==",
+ "license": "MIT",
+ "dependencies": {
+ "@whatwg-node/promise-helpers": "^1.0.0",
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@whatwg-node/fetch": {
+ "version": "0.10.13",
+ "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.10.13.tgz",
+ "integrity": "sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@whatwg-node/node-fetch": "^0.8.3",
+ "urlpattern-polyfill": "^10.0.0"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@whatwg-node/node-fetch": {
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.8.6.tgz",
+ "integrity": "sha512-BDMdYFcerLQkwA2RTldxOqRCs6ZQD1S7UgP3pUdGUkcbgTrP/V5ko77ZkCww9DHmC4lpoYuwigGfQYj285gMvA==",
+ "license": "MIT",
+ "dependencies": {
+ "@fastify/busboy": "^3.1.1",
+ "@whatwg-node/disposablestack": "^0.0.6",
+ "@whatwg-node/promise-helpers": "^1.3.2",
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/@whatwg-node/promise-helpers": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@whatwg-node/promise-helpers/-/promise-helpers-1.3.2.tgz",
+ "integrity": "sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.6.3"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/aggregate-error": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
+ "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
+ "license": "MIT",
+ "dependencies": {
+ "clean-stack": "^2.0.0",
+ "indent-string": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "license": "Python-2.0"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/auto-bind": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz",
+ "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/baseline-browser-mapping": {
+ "version": "2.11.19",
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.19.tgz",
+ "integrity": "sha512-Grytf1xOxOEMTGRwx6rLGKkTabd4vMg3VrKdj/7joCmV0qgh4QwMMO6xh34YEXQqirAuUdgQGa5orJQQ+69RBw==",
+ "license": "Apache-2.0",
+ "bin": {
+ "baseline-browser-mapping": "dist/cli.cjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz",
+ "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.28.8",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.8.tgz",
+ "integrity": "sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "baseline-browser-mapping": "^2.11.12",
+ "caniuse-lite": "^1.0.30001809",
+ "electron-to-chromium": "^1.5.402",
+ "node-releases": "^2.0.53",
+ "update-browserslist-db": "^1.3.0"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camel-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+ "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+ "license": "MIT",
+ "dependencies": {
+ "pascal-case": "^3.1.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001810",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001810.tgz",
+ "integrity": "sha512-TITQPUkaz+aVk5GL6NhOdwk1aEaNTSDPsGFWrTuhKGtjTF70jL/Oht2W4c6rXUe5fu7Ie19VIahAXHIIiWWNeg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/capital-case": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
+ "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/change-case": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
+ "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
+ "license": "MIT",
+ "dependencies": {
+ "camel-case": "^4.1.2",
+ "capital-case": "^1.0.4",
+ "constant-case": "^3.0.4",
+ "dot-case": "^3.0.4",
+ "header-case": "^2.0.4",
+ "no-case": "^3.0.4",
+ "param-case": "^3.0.4",
+ "pascal-case": "^3.1.2",
+ "path-case": "^3.0.4",
+ "sentence-case": "^3.0.4",
+ "snake-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/change-case-all": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/change-case-all/-/change-case-all-1.0.15.tgz",
+ "integrity": "sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==",
+ "license": "MIT",
+ "dependencies": {
+ "change-case": "^4.1.2",
+ "is-lower-case": "^2.0.2",
+ "is-upper-case": "^2.0.2",
+ "lower-case": "^2.0.2",
+ "lower-case-first": "^2.0.2",
+ "sponge-case": "^1.0.1",
+ "swap-case": "^2.0.2",
+ "title-case": "^3.0.3",
+ "upper-case": "^2.0.2",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.2.0.tgz",
+ "integrity": "sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==",
+ "license": "MIT"
+ },
+ "node_modules/clean-stack": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+ "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.9.2",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz",
+ "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-truncate": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+ "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
+ "license": "MIT",
+ "dependencies": {
+ "slice-ansi": "^3.0.0",
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz",
+ "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "license": "MIT"
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "license": "MIT"
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/constant-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
+ "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case": "^2.0.2"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "8.3.6",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+ "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
+ "license": "MIT",
+ "dependencies": {
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/cross-fetch": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
+ "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^2.7.0"
+ }
+ },
+ "node_modules/cross-inspect": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cross-inspect/-/cross-inspect-1.0.1.tgz",
+ "integrity": "sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/data-uri-to-buffer": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
+ "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/dataloader": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.3.tgz",
+ "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==",
+ "license": "MIT"
+ },
+ "node_modules/debounce": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+ "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
+ "license": "MIT"
+ },
+ "node_modules/debug": {
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.3"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dependency-graph": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz",
+ "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/detect-indent": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz",
+ "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dot-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+ "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.6.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dset": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz",
+ "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.414",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.414.tgz",
+ "integrity": "sha512-aYlviXiaXBbzvKgyALpcMmqa3Np3sDr0XnZbEG62n2UpZFbEcjQ4EEMOLGzVPhwVnwTz0lvKY+GcARbunuHekw==",
+ "license": "ISC"
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+ "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.12",
+ "@esbuild/android-arm": "0.25.12",
+ "@esbuild/android-arm64": "0.25.12",
+ "@esbuild/android-x64": "0.25.12",
+ "@esbuild/darwin-arm64": "0.25.12",
+ "@esbuild/darwin-x64": "0.25.12",
+ "@esbuild/freebsd-arm64": "0.25.12",
+ "@esbuild/freebsd-x64": "0.25.12",
+ "@esbuild/linux-arm": "0.25.12",
+ "@esbuild/linux-arm64": "0.25.12",
+ "@esbuild/linux-ia32": "0.25.12",
+ "@esbuild/linux-loong64": "0.25.12",
+ "@esbuild/linux-mips64el": "0.25.12",
+ "@esbuild/linux-ppc64": "0.25.12",
+ "@esbuild/linux-riscv64": "0.25.12",
+ "@esbuild/linux-s390x": "0.25.12",
+ "@esbuild/linux-x64": "0.25.12",
+ "@esbuild/netbsd-arm64": "0.25.12",
+ "@esbuild/netbsd-x64": "0.25.12",
+ "@esbuild/openbsd-arm64": "0.25.12",
+ "@esbuild/openbsd-x64": "0.25.12",
+ "@esbuild/openharmony-arm64": "0.25.12",
+ "@esbuild/sunos-x64": "0.25.12",
+ "@esbuild/win32-arm64": "0.25.12",
+ "@esbuild/win32-ia32": "0.25.12",
+ "@esbuild/win32-x64": "0.25.12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+ "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.8"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fastq": {
+ "version": "1.20.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+ "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fetch-blob": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "node-domexception": "^1.0.0",
+ "web-streams-polyfill": "^3.0.3"
+ },
+ "engines": {
+ "node": "^12.20 || >= 14.13"
+ }
+ },
+ "node_modules/figures": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/formdata-polyfill": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+ "license": "MIT",
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
+ "engines": {
+ "node": ">=12.20.0"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graphql": {
+ "version": "16.14.2",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.14.2.tgz",
+ "integrity": "sha512-Chq1s4CY7jmh8gO2qvLIJyfCDIN+EHLFW/9iShnp1z8FjBQMoodWP1kDC36VAMXXIvAjj4ARa7ntfAV2BrjsbA==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "node_modules/graphql-config": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-5.1.3.tgz",
+ "integrity": "sha512-RBhejsPjrNSuwtckRlilWzLVt2j8itl74W9Gke1KejDTz7oaA5kVd6wRn9zK9TS5mcmIYGxf7zN7a1ORMdxp1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-tools/graphql-file-loader": "^8.0.0",
+ "@graphql-tools/json-file-loader": "^8.0.0",
+ "@graphql-tools/load": "^8.0.0",
+ "@graphql-tools/merge": "^9.0.0",
+ "@graphql-tools/url-loader": "^8.0.0",
+ "@graphql-tools/utils": "^10.0.0",
+ "cosmiconfig": "^8.1.0",
+ "jiti": "^2.0.0",
+ "minimatch": "^9.0.5",
+ "string-env-interpolation": "^1.0.1",
+ "tslib": "^2.4.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "peerDependencies": {
+ "cosmiconfig-toml-loader": "^1.0.0",
+ "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ },
+ "peerDependenciesMeta": {
+ "cosmiconfig-toml-loader": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/graphql-config/node_modules/jiti": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
+ "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
+ "license": "MIT",
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
+ }
+ },
+ "node_modules/graphql-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-6.1.0.tgz",
+ "integrity": "sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==",
+ "license": "MIT",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.2.0",
+ "cross-fetch": "^3.1.5"
+ },
+ "peerDependencies": {
+ "graphql": "14 - 16"
+ }
+ },
+ "node_modules/graphql-tag": {
+ "version": "2.12.7",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.7.tgz",
+ "integrity": "sha512-xnE/NFzy+0eIesvAsREJZ284zTl/wYuBAvpsFSDhRGRdRHdnE90M21Q3xAWyYInb0J756c6x0pIQ62+vtvOs1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/graphql-ws": {
+ "version": "5.16.2",
+ "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.2.tgz",
+ "integrity": "sha512-E1uccsZxt/96jH/OwmLPuXMACILs76pKF2i3W861LpKBCYtGIyPQGtWLuBLkND4ox1KHns70e83PS4te50nvPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": ">=0.11 <=16"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/header-case": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
+ "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
+ "license": "MIT",
+ "dependencies": {
+ "capital-case": "^1.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
+ "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+ "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immutable": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz",
+ "integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==",
+ "license": "MIT"
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+ "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/import-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-4.0.0.tgz",
+ "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/indent-string": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "license": "ISC"
+ },
+ "node_modules/inquirer": {
+ "version": "8.2.7",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz",
+ "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@inquirer/external-editor": "^1.0.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.1.1",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^3.0.0",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^5.4.1",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.5",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "through": "^2.3.6",
+ "wrap-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "license": "MIT",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/is-absolute": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+ "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-relative": "^1.0.0",
+ "is-windows": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "license": "MIT"
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-2.0.2.tgz",
+ "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-relative": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+ "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+ "license": "MIT",
+ "dependencies": {
+ "is-unc-path": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-unc-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+ "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+ "license": "MIT",
+ "dependencies": {
+ "unc-path-regex": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz",
+ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-upper-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-2.0.2.tgz",
+ "integrity": "sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/isomorphic-ws": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz",
+ "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "ws": "*"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.7",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
+ "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
+ "license": "MIT",
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/jose": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/jose/-/jose-5.10.0.tgz",
+ "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/panva"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz",
+ "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/puzrin"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/nodeca"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "license": "MIT"
+ },
+ "node_modules/json-to-pretty-yaml": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/json-to-pretty-yaml/-/json-to-pretty-yaml-1.2.2.tgz",
+ "integrity": "sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "remedial": "^1.0.7",
+ "remove-trailing-spaces": "^1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.2.0"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
+ },
+ "node_modules/listr2": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.5.tgz",
+ "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==",
+ "license": "MIT",
+ "dependencies": {
+ "cli-truncate": "^2.1.0",
+ "colorette": "^2.0.16",
+ "log-update": "^4.0.0",
+ "p-map": "^4.0.0",
+ "rfdc": "^1.3.0",
+ "rxjs": "^7.5.5",
+ "through": "^2.3.8",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "peerDependencies": {
+ "enquirer": ">= 2.3.0 < 3"
+ },
+ "peerDependenciesMeta": {
+ "enquirer": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/listr2/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.23",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+ "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
+ "license": "MIT"
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
+ "license": "MIT"
+ },
+ "node_modules/log-symbols": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
+ "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "is-unicode-supported": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
+ "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^4.3.0",
+ "cli-cursor": "^3.1.0",
+ "slice-ansi": "^4.0.0",
+ "wrap-ansi": "^6.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/log-update/node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lower-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+ "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lower-case-first": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz",
+ "integrity": "sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/meros": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.2.tgz",
+ "integrity": "sha512-Q3mobPbvEx7XbwhnC1J1r60+5H6EZyNccdzSz0eGexJRwouUtTZxPVRGdqKtxlpD84ScK4+tIGldkqDtCKdI0A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=13"
+ },
+ "peerDependencies": {
+ "@types/node": ">=13"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "9.0.9",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+ "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "license": "ISC"
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.18",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz",
+ "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/no-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+ "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+ "license": "MIT",
+ "dependencies": {
+ "lower-case": "^2.0.2",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "deprecated": "Use your platform's native DOMException instead",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.53",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.53.tgz",
+ "integrity": "sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==",
+ "license": "MIT",
+ "dependencies": {
+ "remove-trailing-separator": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz",
+ "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==",
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.1.0",
+ "chalk": "^4.1.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.5.0",
+ "is-interactive": "^1.0.0",
+ "is-unicode-supported": "^0.1.0",
+ "log-symbols": "^4.1.0",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-map": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+ "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+ "license": "MIT",
+ "dependencies": {
+ "aggregate-error": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/param-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+ "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-filepath": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+ "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==",
+ "license": "MIT",
+ "dependencies": {
+ "is-absolute": "^1.0.0",
+ "map-cache": "^0.2.0",
+ "path-root": "^0.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/pascal-case": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+ "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/path-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
+ "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/path-root": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+ "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==",
+ "license": "MIT",
+ "dependencies": {
+ "path-root-regex": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-root-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+ "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.5.26",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.26.tgz",
+ "integrity": "sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.17",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/remedial": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/remedial/-/remedial-1.0.8.tgz",
+ "integrity": "sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==",
+ "license": "(MIT OR Apache-2.0)",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==",
+ "license": "ISC"
+ },
+ "node_modules/remove-trailing-spaces": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.9.tgz",
+ "integrity": "sha512-xzG7w5IRijvIkHIjDk65URsJJ7k4J95wmcArY5PRcmjldIOl7oTvG8+X2Ag690R7SfwiOcHrWZKVc1Pp5WIOzA==",
+ "license": "MIT"
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+ "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rfdc": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+ "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+ "license": "MIT"
+ },
+ "node_modules/rollup": {
+ "version": "4.62.5",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.5.tgz",
+ "integrity": "sha512-/tqMfgP7GPA3PHhCmuiS4vIjrSVhHLgY++i+dhbG462euyAj7FpM4D9uq1X3BgjlqRdpcOrYhcQtfiQLNc8tqw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.9"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@napi-rs/lzma-linux-x64-gnu": "1.5.1",
+ "@rollup/rollup-android-arm-eabi": "4.62.5",
+ "@rollup/rollup-android-arm64": "4.62.5",
+ "@rollup/rollup-darwin-arm64": "4.62.5",
+ "@rollup/rollup-darwin-x64": "4.62.5",
+ "@rollup/rollup-freebsd-arm64": "4.62.5",
+ "@rollup/rollup-freebsd-x64": "4.62.5",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.62.5",
+ "@rollup/rollup-linux-arm-musleabihf": "4.62.5",
+ "@rollup/rollup-linux-arm64-gnu": "4.62.5",
+ "@rollup/rollup-linux-arm64-musl": "4.62.5",
+ "@rollup/rollup-linux-loong64-gnu": "4.62.5",
+ "@rollup/rollup-linux-loong64-musl": "4.62.5",
+ "@rollup/rollup-linux-ppc64-gnu": "4.62.5",
+ "@rollup/rollup-linux-ppc64-musl": "4.62.5",
+ "@rollup/rollup-linux-riscv64-gnu": "4.62.5",
+ "@rollup/rollup-linux-riscv64-musl": "4.62.5",
+ "@rollup/rollup-linux-s390x-gnu": "4.62.5",
+ "@rollup/rollup-linux-x64-gnu": "4.62.5",
+ "@rollup/rollup-linux-x64-musl": "4.62.5",
+ "@rollup/rollup-openbsd-x64": "4.62.5",
+ "@rollup/rollup-openharmony-arm64": "4.62.5",
+ "@rollup/rollup-win32-arm64-msvc": "4.62.5",
+ "@rollup/rollup-win32-ia32-msvc": "4.62.5",
+ "@rollup/rollup-win32-x64-gnu": "4.62.5",
+ "@rollup/rollup-win32-x64-msvc": "4.62.5",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.8.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "license": "MIT"
+ },
+ "node_modules/scuid": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz",
+ "integrity": "sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/sentence-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
+ "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
+ "license": "MIT",
+ "dependencies": {
+ "no-case": "^3.0.4",
+ "tslib": "^2.0.3",
+ "upper-case-first": "^2.0.2"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.10.0.tgz",
+ "integrity": "sha512-w1aiOKwKuRgtwAReIIj89puqg+I7GvX4IbLrvmhXbzQsj1+Zwi4VO3+fa6ZF91TWSjIxoEkKnMeHcLEODK5ZXA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "license": "ISC"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+ "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/snake-case": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
+ "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
+ "license": "MIT",
+ "dependencies": {
+ "dot-case": "^3.0.4",
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sponge-case": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/sponge-case/-/sponge-case-1.0.1.tgz",
+ "integrity": "sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-env-interpolation": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz",
+ "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==",
+ "license": "MIT"
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/swap-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-2.0.2.tgz",
+ "integrity": "sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/sync-fetch": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/sync-fetch/-/sync-fetch-0.6.0.tgz",
+ "integrity": "sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==",
+ "license": "MIT",
+ "dependencies": {
+ "node-fetch": "^3.3.2",
+ "timeout-signal": "^2.0.0",
+ "whatwg-mimetype": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/sync-fetch/node_modules/node-fetch": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
+ "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+ "license": "MIT",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "license": "MIT"
+ },
+ "node_modules/timeout-signal": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/timeout-signal/-/timeout-signal-2.0.0.tgz",
+ "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/tinyglobby": {
+ "version": "0.2.17",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/tinyglobby/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tinyglobby/node_modules/picomatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
+ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/title-case": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/title-case/-/title-case-3.0.3.tgz",
+ "integrity": "sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "license": "MIT"
+ },
+ "node_modules/ts-log": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/ts-log/-/ts-log-2.2.7.tgz",
+ "integrity": "sha512-320x5Ggei84AxzlXp91QkIGSw5wgaLT6GeAH0KsqDmRZdVWW2OiSeVvElVoatk3f7nicwXlElXsoFkARiGE2yg==",
+ "license": "MIT"
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
+ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/unc-path-regex": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+ "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz",
+ "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==",
+ "license": "MIT"
+ },
+ "node_modules/unixify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz",
+ "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==",
+ "license": "MIT",
+ "dependencies": {
+ "normalize-path": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.1.tgz",
+ "integrity": "sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/upper-case": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
+ "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/upper-case-first": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
+ "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^2.0.3"
+ }
+ },
+ "node_modules/urlpattern-polyfill": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-10.1.0.tgz",
+ "integrity": "sha512-IGjKp/o0NL3Bso1PymYURCJxMPNAf/ILOpendP9f5B6e1rTJgdgiOvgfoT8VxCAdY+Wisb9uhGaJJf3yZ2V9nw==",
+ "license": "MIT"
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "license": "MIT"
+ },
+ "node_modules/value-or-promise": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz",
+ "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/vite": {
+ "version": "6.4.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz",
+ "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.25.0",
+ "fdir": "^6.4.4",
+ "picomatch": "^4.0.2",
+ "postcss": "^8.5.3",
+ "rollup": "^4.34.9",
+ "tinyglobby": "^0.2.13"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
+ "jiti": ">=1.21.0",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "sass-embedded": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "picomatch": "^3 || ^4"
+ },
+ "peerDependenciesMeta": {
+ "picomatch": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite/node_modules/picomatch": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
+ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "license": "MIT",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
+ "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "license": "MIT",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.21.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz",
+ "integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
+ "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
+ "license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
+ "engines": {
+ "node": ">= 14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/eemeli"
+ }
+ },
+ "node_modules/yaml-ast-parser": {
+ "version": "0.0.43",
+ "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+ "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/yargs": {
+ "version": "17.7.3",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz",
+ "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ }
+ }
+}
diff --git a/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.json b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.json
new file mode 100644
index 00000000..9aecc421
--- /dev/null
+++ b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "dw-block-nonpurchasable-checkout",
+ "version": "1.0.0",
+ "description": "DW Cart & Checkout Validation Function — blocks checkout of quote-only + discontinued line items (TK-10825 / TK-10010). Tag-scoped; never blocks on price, never blocks samples.",
+ "type": "module",
+ "private": true,
+ "scripts": {
+ "shopify": "npm exec -- shopify",
+ "typegen": "npm exec -- shopify app function typegen",
+ "build": "npm exec -- shopify app function build",
+ "preview": "npm exec -- shopify app function run",
+ "test": "node --test"
+ },
+ "codegen": {
+ "schema": "schema.graphql",
+ "documents": "src/*.graphql",
+ "generates": {
+ "./generated/api.ts": {
+ "plugins": [
+ "typescript",
+ "typescript-operations"
+ ]
+ }
+ },
+ "config": {
+ "omitOperationSuffix": true
+ }
+ },
+ "dependencies": {
+ "@shopify/shopify_function": "^2.0.1"
+ },
+ "devDependencies": {
+ "vite": "^6.0.0"
+ }
+}
diff --git a/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphql b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphql
new file mode 100644
index 00000000..d52d6c9c
--- /dev/null
+++ b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/schema.graphql
@@ -0,0 +1,5123 @@
+schema {
+ query: Input
+ mutation: MutationRoot
+}
+
+"""
+Only allow the field to be queried when targeting one of the specified targets.
+"""
+directive @restrictTarget(only: [String!]!) on FIELD_DEFINITION
+
+"""
+Scale the Functions resource limits based on the field's length.
+"""
+directive @scaleLimits(rate: Float!) on FIELD_DEFINITION
+
+"""
+Requires that exactly one field must be supplied and that field must not be `null`.
+"""
+directive @oneOf on INPUT_OBJECT
+
+"""
+A custom property. Attributes are used to store additional information about a Shopify resource, such as
+products, customers, or orders. Attributes are stored as key-value pairs.
+
+For example, a list of attributes might include whether a customer is a first-time buyer (`"customer_first_order": "true"`),
+whether an order is gift-wrapped (`"gift_wrapped": "true"`), a preferred delivery date
+(`"preferred_delivery_date": "2025-10-01"`), the discount applied (`"loyalty_discount_applied": "10%"`), and any
+notes provided by the customer (`"customer_notes": "Please leave at the front door"`).
+"""
+type Attribute {
+ """
+ The key or name of the attribute. For example, `"customer_first_order"`.
+ """
+ key: String!
+
+ """
+ The value of the attribute. For example, `"true"`.
+ """
+ value: String
+}
+
+"""
+Information about the customer that's interacting with the cart. It includes details such as the
+customer's email and phone number, and the total amount of money the customer has spent in the store.
+This information helps personalize the checkout experience and ensures that accurate pricing and delivery options
+are displayed to customers.
+"""
+type BuyerIdentity {
+ """
+ The [customer](https://help.shopify.com/manual/customers/manage-customers) that's interacting with the cart.
+ """
+ customer: Customer
+
+ """
+ The email address of the customer that's interacting with the cart.
+ """
+ email: String
+
+ """
+ Whether the customer is authenticated through their
+ [customer account](https://help.shopify.com/manual/customers/customer-accounts).
+ """
+ isAuthenticated: Boolean!
+
+ """
+ The phone number of the customer that's interacting with the cart.
+ """
+ phone: String
+
+ """
+ The company of a B2B customer that's interacting with the cart.
+ Used to manage and track purchases made by businesses rather than individual customers.
+ """
+ purchasingCompany: PurchasingCompany
+}
+
+type BuyerJourney {
+ step: BuyerJourneyStep
+}
+
+"""
+A specific stage in the customer's purchasing journey that indicates where the customer is in the checkout
+process.
+"""
+enum BuyerJourneyStep {
+ """
+ The customer is interacting with the cart. For example, the customer is adding items to the cart
+ or removing items from the cart.
+ """
+ CART_INTERACTION
+
+ """
+ The customer is completing checkout. For example, the customer is reviewing their order before
+ finalizing the purchase.
+ """
+ CHECKOUT_COMPLETION
+
+ """
+ The customer is interacting with checkout. For example, the customer is adding their shipping
+ address or payment information.
+ """
+ CHECKOUT_INTERACTION
+}
+
+"""
+The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase
+and information about the customer, such as the customer's email address and phone number.
+"""
+type Cart implements HasMetafields {
+ """
+ The custom attributes associated with a cart to store additional information. Cart attributes
+ allow you to collect specific information from customers on the **Cart** page, such as order notes,
+ gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.
+ """
+ attribute(
+ """
+ The key of the cart attribute to retrieve. For example, `"gift_wrapping"`.
+ """
+ key: String
+ ): Attribute
+
+ """
+ Information about the customer that's interacting with the cart. It includes details such as the
+ customer's email and phone number, and the total amount of money the customer has spent in the store.
+ This information helps personalize the checkout experience and ensures that accurate pricing and delivery options
+ are displayed to customers.
+ """
+ buyerIdentity: BuyerIdentity
+
+ """
+ A breakdown of the costs that the customer will pay at checkout. It includes the total amount,
+ the subtotal before taxes and duties, the tax amount, and duty charges.
+ """
+ cost: CartCost!
+
+ """
+ The items in a cart that are eligible for fulfillment and can be delivered to the customer.
+ """
+ deliverableLines: [DeliverableCartLine!]!
+
+ """
+ A collection of items that are grouped by shared delivery characteristics. Delivery groups streamline
+ fulfillment by organizing items that can be shipped together, based on the customer's
+ shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped
+ together, then the items are included in the same delivery group.
+
+ In the [Order Discount](https://shopify.dev/docs/api/functions/reference/order-discounts) and
+ [Product Discount](https://shopify.dev/docs/api/functions/reference/product-discounts) legacy APIs,
+ the `cart.deliveryGroups` input is always an empty array. This means you can't access delivery groups when
+ creating Order Discount or Product Discount Functions. If you need to apply discounts to shipping costs,
+ then use the [Discount Function API](https://shopify.dev/docs/api/functions/reference/discount)
+ instead.
+ """
+ deliveryGroups: [CartDeliveryGroup!]!
+
+ """
+ The items in a cart that the customer intends to purchase. A cart line is an entry in the
+ customer's cart that represents a single unit of a product variant. For example, if a customer adds two
+ different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.
+ """
+ lines: [CartLine!]! @scaleLimits(rate: 0.005)
+
+ """
+ The additional fields on the **Cart** page that are required for international orders in specific countries,
+ such as customs information or tax identification numbers.
+ """
+ localizedFields(
+ """
+ The keys of the localized fields to retrieve.
+ """
+ keys: [LocalizedFieldKey!]! = []
+ ): [LocalizedField!]!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The physical location where a retail order is created or completed.
+ """
+ retailLocation: Location
+}
+
+"""
+A breakdown of the costs that the customer will pay at checkout. It includes the total amount,
+the subtotal before taxes and duties, the tax amount, and duty charges.
+"""
+type CartCost {
+ """
+ The amount, before taxes and cart-level discounts, for the customer to pay.
+ """
+ subtotalAmount: MoneyV2!
+
+ """
+ The total amount for the customer to pay at checkout.
+ """
+ totalAmount: MoneyV2!
+
+ """
+ The duty charges for a customer to pay at checkout.
+ """
+ totalDutyAmount: MoneyV2
+
+ """
+ The total tax amount for the customer to pay at checkout.
+ """
+ totalTaxAmount: MoneyV2
+}
+
+"""
+Information about items in a cart that are grouped by shared delivery characteristics.
+Delivery groups streamline fulfillment by organizing items that can be shipped together, based on the customer's
+shipping address. For example, if a customer orders a t-shirt and a pair of shoes that can be shipped
+together, then the items are included in the same delivery group.
+"""
+type CartDeliveryGroup {
+ """
+ Information about items in a cart that a customer intends to purchase. A cart line is an entry in the
+ customer's cart that represents a single unit of a product variant. For example, if a customer adds two
+ different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.
+ """
+ cartLines: [CartLine!]! @scaleLimits(rate: 0.005)
+
+ """
+ The shipping or destination address associated with the delivery group.
+ """
+ deliveryAddress: MailingAddress
+
+ """
+ The delivery options available for the delivery group. Delivery options are the different ways that customers
+ can choose to have their orders shipped. Examples include express shipping or standard shipping.
+ """
+ deliveryOptions: [CartDeliveryOption!]!
+
+ """
+ The type of merchandise in the delivery group.
+ """
+ groupType: CartDeliveryGroupType!
+
+ """
+ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
+ for the delivery group.
+ """
+ id: ID!
+
+ """
+ Information about the delivery option that the customer has selected.
+ """
+ selectedDeliveryOption: CartDeliveryOption
+}
+
+"""
+Defines what type of merchandise is in the delivery group.
+"""
+enum CartDeliveryGroupType {
+ """
+ The delivery group only contains merchandise that is either a one time purchase or a first delivery of
+ subscription merchandise.
+ """
+ ONE_TIME_PURCHASE
+
+ """
+ The delivery group only contains subscription merchandise.
+ """
+ SUBSCRIPTION
+}
+
+"""
+Information about a delivery option that's available for an item in a cart. Delivery options are the different
+ways that customers can choose to have their orders shipped. Examples include express shipping or standard
+shipping.
+"""
+type CartDeliveryOption {
+ """
+ A unique identifier that represents the delivery option offered to customers.
+ For example, `Canada Post Expedited`.
+ """
+ code: String
+
+ """
+ The amount that the customer pays if they select the delivery option.
+ """
+ cost: MoneyV2!
+
+ """
+ The delivery method associated with the delivery option. A delivery method is a way that merchants can
+ fulfill orders from their online stores. Delivery methods include shipping to an address,
+ [local pickup](https://help.shopify.com/manual/fulfillment/setup/delivery-methods/pickup-in-store),
+ and shipping to a [pickup point](https://help.shopify.com/manual/fulfillment/shopify-shipping/pickup-points),
+ all of which are natively supported by Shopify checkout.
+ """
+ deliveryMethodType: DeliveryMethod!
+
+ """
+ A single-line description of the delivery option, with HTML tags removed.
+ """
+ description: String
+
+ """
+ A unique, human-readable identifier of the delivery option's title.
+ A handle can contain letters, hyphens (`-`), and numbers, but not spaces.
+ For example, `standard-shipping`.
+ """
+ handle: Handle!
+
+ """
+ The name of the delivery option that displays to customers. The title is used to construct the delivery
+ option's handle. For example, if a delivery option is titled "Standard Shipping", then the handle is
+ `standard-shipping`.
+ """
+ title: String
+}
+
+"""
+Information about an item in a cart that a customer intends to purchase. A cart line is an entry in the
+customer's cart that represents a single unit of a product variant. For example, if a customer adds two
+different sizes of the same t-shirt to their cart, then each size is represented as a separate cart line.
+"""
+type CartLine {
+ """
+ The custom attributes associated with a cart to store additional information. Cart attributes
+ allow you to collect specific information from customers on the **Cart** page, such as order notes,
+ gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.
+
+ Cart line attributes are equivalent to the
+ [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item)
+ object in Liquid.
+ """
+ attribute(
+ """
+ The key of the cart attribute to retrieve. For example, `"gift_wrapping"`.
+ """
+ key: String
+ ): Attribute
+
+ """
+ The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's
+ cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of
+ the same t-shirt to their cart, then each size is represented as a separate cart line.
+ """
+ cost: CartLineCost!
+
+ """
+ The ID of the cart line.
+ """
+ id: ID!
+
+ """
+ The item that the customer intends to purchase.
+ """
+ merchandise: Merchandise!
+
+ """
+ The [nested relationship](https://shopify.dev/docs/apps/build/product-merchandising/nested-cart-lines)
+ between this line and its parent line, if any.
+ """
+ parentRelationship: CartLineParentRelationship
+
+ """
+ The quantity of the item that the customer intends to purchase.
+ """
+ quantity: Int!
+
+ """
+ The [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans)
+ associated with the cart line, including information about how a product variant can be sold and purchased.
+ """
+ sellingPlanAllocation: SellingPlanAllocation
+}
+
+"""
+The cost of an item in a cart that the customer intends to purchase. Cart lines are entries in the customer's
+cart that represent a single unit of a product variant. For example, if a customer adds two different sizes of
+the same t-shirt to their cart, then each size is represented as a separate cart line.
+"""
+type CartLineCost {
+ """
+ The cost of a single unit. For example, if a customer purchases three units of a product
+ that are priced at $10 each, then the `amountPerQuantity` is $10.
+ """
+ amountPerQuantity: MoneyV2!
+
+ """
+ The `compareAt` price of a single unit before any discounts are applied. This field is used to calculate and display
+ savings for customers. For example, if a product's `compareAtAmountPerQuantity` is $25 and its current price
+ is $20, then the customer sees a $5 discount. This value can change based on the buyer's identity and is
+ `null` when the value is hidden from buyers.
+ """
+ compareAtAmountPerQuantity: MoneyV2
+
+ """
+ The cost of items in the cart before applying any discounts to certain items.
+ This amount serves as the starting point for calculating any potential savings customers
+ might receive through promotions or discounts.
+ """
+ subtotalAmount: MoneyV2!
+
+ """
+ The total cost of items in a cart.
+ """
+ totalAmount: MoneyV2!
+}
+
+"""
+Represents the relationship between a cart line and its parent line.
+"""
+type CartLineParentRelationship {
+ """
+ The parent line in the relationship.
+ """
+ parent: CartLine!
+}
+
+"""
+The fetch target result. Your Function must return this data structure when generating the request.
+"""
+input CartValidationsGenerateFetchResult {
+ """
+ The attributes associated with an HTTP request.
+ """
+ request: HttpRequest
+}
+
+"""
+The output of the Function run target. The object contains the validation errors
+that display to customers and prevent them from proceeding through checkout.
+"""
+input CartValidationsGenerateRunResult {
+ """
+ An ordered list of operations to be executed for the validations associated with the
+ cart and checkout processes.
+ """
+ operations: [Operation!]!
+}
+
+"""
+Whether the product is in the specified collection.
+
+A collection is a group of products that can be displayed in online stores and other sales channels in
+categories, which makes it easy for customers to find them. For example, an athletics store might create
+different collections for running attire and accessories.
+"""
+type CollectionMembership {
+ """
+ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
+ for the collection.
+ """
+ collectionId: ID!
+
+ """
+ Whether the product is in the specified collection.
+ """
+ isMember: Boolean!
+}
+
+"""
+Represents information about a company which is also a customer of the shop.
+"""
+type Company implements HasMetafields {
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.
+ """
+ createdAt: DateTime!
+
+ """
+ A unique externally-supplied ID for the company.
+ """
+ externalId: String
+
+ """
+ The ID of the company.
+ """
+ id: ID!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The name of the company.
+ """
+ name: String!
+
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.
+ """
+ updatedAt: DateTime!
+}
+
+"""
+A company's main point of contact.
+"""
+type CompanyContact {
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))
+ at which the company contact was created in Shopify.
+ """
+ createdAt: DateTime!
+
+ """
+ The ID of the company.
+ """
+ id: ID!
+
+ """
+ The company contact's locale (language).
+ """
+ locale: String
+
+ """
+ The company contact's job title.
+ """
+ title: String
+
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))
+ at which the company contact was last modified.
+ """
+ updatedAt: DateTime!
+}
+
+"""
+A company's location.
+"""
+type CompanyLocation implements HasMetafields {
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))
+ at which the company location was created in Shopify.
+ """
+ createdAt: DateTime!
+
+ """
+ A unique externally-supplied ID for the company.
+ """
+ externalId: String
+
+ """
+ The ID of the company.
+ """
+ id: ID!
+
+ """
+ The preferred locale of the company location.
+ """
+ locale: String
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The name of the company location.
+ """
+ name: String!
+
+ """
+ The number of orders placed at this company location.
+ """
+ ordersCount: Int!
+
+ """
+ The total amount spent at this company location.
+ """
+ totalSpent: MoneyV2!
+
+ """
+ The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601))
+ at which the company location was last modified.
+ """
+ updatedAt: DateTime!
+}
+
+"""
+The country for which the store is customized, reflecting local preferences and regulations.
+Localization might influence the language, currency, and product offerings available in a store to enhance
+the shopping experience for customers in that region.
+"""
+type Country {
+ """
+ The ISO code of the country.
+ """
+ isoCode: CountryCode!
+}
+
+"""
+The code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.
+If a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision
+of another country. For example, the territories associated with Spain are represented by the country code `ES`,
+and the territories associated with the United States of America are represented by the country code `US`.
+"""
+enum CountryCode {
+ """
+ Ascension Island.
+ """
+ AC
+
+ """
+ Andorra.
+ """
+ AD
+
+ """
+ United Arab Emirates.
+ """
+ AE
+
+ """
+ Afghanistan.
+ """
+ AF
+
+ """
+ Antigua & Barbuda.
+ """
+ AG
+
+ """
+ Anguilla.
+ """
+ AI
+
+ """
+ Albania.
+ """
+ AL
+
+ """
+ Armenia.
+ """
+ AM
+
+ """
+ Netherlands Antilles.
+ """
+ AN
+
+ """
+ Angola.
+ """
+ AO
+
+ """
+ Argentina.
+ """
+ AR
+
+ """
+ Austria.
+ """
+ AT
+
+ """
+ Australia.
+ """
+ AU
+
+ """
+ Aruba.
+ """
+ AW
+
+ """
+ Åland Islands.
+ """
+ AX
+
+ """
+ Azerbaijan.
+ """
+ AZ
+
+ """
+ Bosnia & Herzegovina.
+ """
+ BA
+
+ """
+ Barbados.
+ """
+ BB
+
+ """
+ Bangladesh.
+ """
+ BD
+
+ """
+ Belgium.
+ """
+ BE
+
+ """
+ Burkina Faso.
+ """
+ BF
+
+ """
+ Bulgaria.
+ """
+ BG
+
+ """
+ Bahrain.
+ """
+ BH
+
+ """
+ Burundi.
+ """
+ BI
+
+ """
+ Benin.
+ """
+ BJ
+
+ """
+ St. Barthélemy.
+ """
+ BL
+
+ """
+ Bermuda.
+ """
+ BM
+
+ """
+ Brunei.
+ """
+ BN
+
+ """
+ Bolivia.
+ """
+ BO
+
+ """
+ Caribbean Netherlands.
+ """
+ BQ
+
+ """
+ Brazil.
+ """
+ BR
+
+ """
+ Bahamas.
+ """
+ BS
+
+ """
+ Bhutan.
+ """
+ BT
+
+ """
+ Bouvet Island.
+ """
+ BV
+
+ """
+ Botswana.
+ """
+ BW
+
+ """
+ Belarus.
+ """
+ BY
+
+ """
+ Belize.
+ """
+ BZ
+
+ """
+ Canada.
+ """
+ CA
+
+ """
+ Cocos (Keeling) Islands.
+ """
+ CC
+
+ """
+ Congo - Kinshasa.
+ """
+ CD
+
+ """
+ Central African Republic.
+ """
+ CF
+
+ """
+ Congo - Brazzaville.
+ """
+ CG
+
+ """
+ Switzerland.
+ """
+ CH
+
+ """
+ Côte d’Ivoire.
+ """
+ CI
+
+ """
+ Cook Islands.
+ """
+ CK
+
+ """
+ Chile.
+ """
+ CL
+
+ """
+ Cameroon.
+ """
+ CM
+
+ """
+ China.
+ """
+ CN
+
+ """
+ Colombia.
+ """
+ CO
+
+ """
+ Costa Rica.
+ """
+ CR
+
+ """
+ Cuba.
+ """
+ CU
+
+ """
+ Cape Verde.
+ """
+ CV
+
+ """
+ Curaçao.
+ """
+ CW
+
+ """
+ Christmas Island.
+ """
+ CX
+
+ """
+ Cyprus.
+ """
+ CY
+
+ """
+ Czechia.
+ """
+ CZ
+
+ """
+ Germany.
+ """
+ DE
+
+ """
+ Djibouti.
+ """
+ DJ
+
+ """
+ Denmark.
+ """
+ DK
+
+ """
+ Dominica.
+ """
+ DM
+
+ """
+ Dominican Republic.
+ """
+ DO
+
+ """
+ Algeria.
+ """
+ DZ
+
+ """
+ Ecuador.
+ """
+ EC
+
+ """
+ Estonia.
+ """
+ EE
+
+ """
+ Egypt.
+ """
+ EG
+
+ """
+ Western Sahara.
+ """
+ EH
+
+ """
+ Eritrea.
+ """
+ ER
+
+ """
+ Spain.
+ """
+ ES
+
+ """
+ Ethiopia.
+ """
+ ET
+
+ """
+ Finland.
+ """
+ FI
+
+ """
+ Fiji.
+ """
+ FJ
+
+ """
+ Falkland Islands.
+ """
+ FK
+
+ """
+ Faroe Islands.
+ """
+ FO
+
+ """
+ France.
+ """
+ FR
+
+ """
+ Gabon.
+ """
+ GA
+
+ """
+ United Kingdom.
+ """
+ GB
+
+ """
+ Grenada.
+ """
+ GD
+
+ """
+ Georgia.
+ """
+ GE
+
+ """
+ French Guiana.
+ """
+ GF
+
+ """
+ Guernsey.
+ """
+ GG
+
+ """
+ Ghana.
+ """
+ GH
+
+ """
+ Gibraltar.
+ """
+ GI
+
+ """
+ Greenland.
+ """
+ GL
+
+ """
+ Gambia.
+ """
+ GM
+
+ """
+ Guinea.
+ """
+ GN
+
+ """
+ Guadeloupe.
+ """
+ GP
+
+ """
+ Equatorial Guinea.
+ """
+ GQ
+
+ """
+ Greece.
+ """
+ GR
+
+ """
+ South Georgia & South Sandwich Islands.
+ """
+ GS
+
+ """
+ Guatemala.
+ """
+ GT
+
+ """
+ Guinea-Bissau.
+ """
+ GW
+
+ """
+ Guyana.
+ """
+ GY
+
+ """
+ Hong Kong SAR.
+ """
+ HK
+
+ """
+ Heard & McDonald Islands.
+ """
+ HM
+
+ """
+ Honduras.
+ """
+ HN
+
+ """
+ Croatia.
+ """
+ HR
+
+ """
+ Haiti.
+ """
+ HT
+
+ """
+ Hungary.
+ """
+ HU
+
+ """
+ Indonesia.
+ """
+ ID
+
+ """
+ Ireland.
+ """
+ IE
+
+ """
+ Israel.
+ """
+ IL
+
+ """
+ Isle of Man.
+ """
+ IM
+
+ """
+ India.
+ """
+ IN
+
+ """
+ British Indian Ocean Territory.
+ """
+ IO
+
+ """
+ Iraq.
+ """
+ IQ
+
+ """
+ Iran.
+ """
+ IR
+
+ """
+ Iceland.
+ """
+ IS
+
+ """
+ Italy.
+ """
+ IT
+
+ """
+ Jersey.
+ """
+ JE
+
+ """
+ Jamaica.
+ """
+ JM
+
+ """
+ Jordan.
+ """
+ JO
+
+ """
+ Japan.
+ """
+ JP
+
+ """
+ Kenya.
+ """
+ KE
+
+ """
+ Kyrgyzstan.
+ """
+ KG
+
+ """
+ Cambodia.
+ """
+ KH
+
+ """
+ Kiribati.
+ """
+ KI
+
+ """
+ Comoros.
+ """
+ KM
+
+ """
+ St. Kitts & Nevis.
+ """
+ KN
+
+ """
+ North Korea.
+ """
+ KP
+
+ """
+ South Korea.
+ """
+ KR
+
+ """
+ Kuwait.
+ """
+ KW
+
+ """
+ Cayman Islands.
+ """
+ KY
+
+ """
+ Kazakhstan.
+ """
+ KZ
+
+ """
+ Laos.
+ """
+ LA
+
+ """
+ Lebanon.
+ """
+ LB
+
+ """
+ St. Lucia.
+ """
+ LC
+
+ """
+ Liechtenstein.
+ """
+ LI
+
+ """
+ Sri Lanka.
+ """
+ LK
+
+ """
+ Liberia.
+ """
+ LR
+
+ """
+ Lesotho.
+ """
+ LS
+
+ """
+ Lithuania.
+ """
+ LT
+
+ """
+ Luxembourg.
+ """
+ LU
+
+ """
+ Latvia.
+ """
+ LV
+
+ """
+ Libya.
+ """
+ LY
+
+ """
+ Morocco.
+ """
+ MA
+
+ """
+ Monaco.
+ """
+ MC
+
+ """
+ Moldova.
+ """
+ MD
+
+ """
+ Montenegro.
+ """
+ ME
+
+ """
+ St. Martin.
+ """
+ MF
+
+ """
+ Madagascar.
+ """
+ MG
+
+ """
+ North Macedonia.
+ """
+ MK
+
+ """
+ Mali.
+ """
+ ML
+
+ """
+ Myanmar (Burma).
+ """
+ MM
+
+ """
+ Mongolia.
+ """
+ MN
+
+ """
+ Macao SAR.
+ """
+ MO
+
+ """
+ Martinique.
+ """
+ MQ
+
+ """
+ Mauritania.
+ """
+ MR
+
+ """
+ Montserrat.
+ """
+ MS
+
+ """
+ Malta.
+ """
+ MT
+
+ """
+ Mauritius.
+ """
+ MU
+
+ """
+ Maldives.
+ """
+ MV
+
+ """
+ Malawi.
+ """
+ MW
+
+ """
+ Mexico.
+ """
+ MX
+
+ """
+ Malaysia.
+ """
+ MY
+
+ """
+ Mozambique.
+ """
+ MZ
+
+ """
+ Namibia.
+ """
+ NA
+
+ """
+ New Caledonia.
+ """
+ NC
+
+ """
+ Niger.
+ """
+ NE
+
+ """
+ Norfolk Island.
+ """
+ NF
+
+ """
+ Nigeria.
+ """
+ NG
+
+ """
+ Nicaragua.
+ """
+ NI
+
+ """
+ Netherlands.
+ """
+ NL
+
+ """
+ Norway.
+ """
+ NO
+
+ """
+ Nepal.
+ """
+ NP
+
+ """
+ Nauru.
+ """
+ NR
+
+ """
+ Niue.
+ """
+ NU
+
+ """
+ New Zealand.
+ """
+ NZ
+
+ """
+ Oman.
+ """
+ OM
+
+ """
+ Panama.
+ """
+ PA
+
+ """
+ Peru.
+ """
+ PE
+
+ """
+ French Polynesia.
+ """
+ PF
+
+ """
+ Papua New Guinea.
+ """
+ PG
+
+ """
+ Philippines.
+ """
+ PH
+
+ """
+ Pakistan.
+ """
+ PK
+
+ """
+ Poland.
+ """
+ PL
+
+ """
+ St. Pierre & Miquelon.
+ """
+ PM
+
+ """
+ Pitcairn Islands.
+ """
+ PN
+
+ """
+ Palestinian Territories.
+ """
+ PS
+
+ """
+ Portugal.
+ """
+ PT
+
+ """
+ Paraguay.
+ """
+ PY
+
+ """
+ Qatar.
+ """
+ QA
+
+ """
+ Réunion.
+ """
+ RE
+
+ """
+ Romania.
+ """
+ RO
+
+ """
+ Serbia.
+ """
+ RS
+
+ """
+ Russia.
+ """
+ RU
+
+ """
+ Rwanda.
+ """
+ RW
+
+ """
+ Saudi Arabia.
+ """
+ SA
+
+ """
+ Solomon Islands.
+ """
+ SB
+
+ """
+ Seychelles.
+ """
+ SC
+
+ """
+ Sudan.
+ """
+ SD
+
+ """
+ Sweden.
+ """
+ SE
+
+ """
+ Singapore.
+ """
+ SG
+
+ """
+ St. Helena.
+ """
+ SH
+
+ """
+ Slovenia.
+ """
+ SI
+
+ """
+ Svalbard & Jan Mayen.
+ """
+ SJ
+
+ """
+ Slovakia.
+ """
+ SK
+
+ """
+ Sierra Leone.
+ """
+ SL
+
+ """
+ San Marino.
+ """
+ SM
+
+ """
+ Senegal.
+ """
+ SN
+
+ """
+ Somalia.
+ """
+ SO
+
+ """
+ Suriname.
+ """
+ SR
+
+ """
+ South Sudan.
+ """
+ SS
+
+ """
+ São Tomé & Príncipe.
+ """
+ ST
+
+ """
+ El Salvador.
+ """
+ SV
+
+ """
+ Sint Maarten.
+ """
+ SX
+
+ """
+ Syria.
+ """
+ SY
+
+ """
+ Eswatini.
+ """
+ SZ
+
+ """
+ Tristan da Cunha.
+ """
+ TA
+
+ """
+ Turks & Caicos Islands.
+ """
+ TC
+
+ """
+ Chad.
+ """
+ TD
+
+ """
+ French Southern Territories.
+ """
+ TF
+
+ """
+ Togo.
+ """
+ TG
+
+ """
+ Thailand.
+ """
+ TH
+
+ """
+ Tajikistan.
+ """
+ TJ
+
+ """
+ Tokelau.
+ """
+ TK
+
+ """
+ Timor-Leste.
+ """
+ TL
+
+ """
+ Turkmenistan.
+ """
+ TM
+
+ """
+ Tunisia.
+ """
+ TN
+
+ """
+ Tonga.
+ """
+ TO
+
+ """
+ Türkiye.
+ """
+ TR
+
+ """
+ Trinidad & Tobago.
+ """
+ TT
+
+ """
+ Tuvalu.
+ """
+ TV
+
+ """
+ Taiwan.
+ """
+ TW
+
+ """
+ Tanzania.
+ """
+ TZ
+
+ """
+ Ukraine.
+ """
+ UA
+
+ """
+ Uganda.
+ """
+ UG
+
+ """
+ U.S. Outlying Islands.
+ """
+ UM
+
+ """
+ United States.
+ """
+ US
+
+ """
+ Uruguay.
+ """
+ UY
+
+ """
+ Uzbekistan.
+ """
+ UZ
+
+ """
+ Vatican City.
+ """
+ VA
+
+ """
+ St. Vincent & Grenadines.
+ """
+ VC
+
+ """
+ Venezuela.
+ """
+ VE
+
+ """
+ British Virgin Islands.
+ """
+ VG
+
+ """
+ Vietnam.
+ """
+ VN
+
+ """
+ Vanuatu.
+ """
+ VU
+
+ """
+ Wallis & Futuna.
+ """
+ WF
+
+ """
+ Samoa.
+ """
+ WS
+
+ """
+ Kosovo.
+ """
+ XK
+
+ """
+ Yemen.
+ """
+ YE
+
+ """
+ Mayotte.
+ """
+ YT
+
+ """
+ South Africa.
+ """
+ ZA
+
+ """
+ Zambia.
+ """
+ ZM
+
+ """
+ Zimbabwe.
+ """
+ ZW
+
+ """
+ Unknown Region.
+ """
+ ZZ
+}
+
+"""
+The currency codes that represent the world currencies throughout the Admin API. Currency codes include
+[standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes, non-standard codes,
+digital currency codes.
+"""
+enum CurrencyCode {
+ """
+ United Arab Emirates Dirham (AED).
+ """
+ AED
+
+ """
+ Afghan Afghani (AFN).
+ """
+ AFN
+
+ """
+ Albanian Lek (ALL).
+ """
+ ALL
+
+ """
+ Armenian Dram (AMD).
+ """
+ AMD
+
+ """
+ Netherlands Antillean Guilder.
+ """
+ ANG
+
+ """
+ Angolan Kwanza (AOA).
+ """
+ AOA
+
+ """
+ Argentine Pesos (ARS).
+ """
+ ARS
+
+ """
+ Australian Dollars (AUD).
+ """
+ AUD
+
+ """
+ Aruban Florin (AWG).
+ """
+ AWG
+
+ """
+ Azerbaijani Manat (AZN).
+ """
+ AZN
+
+ """
+ Bosnia and Herzegovina Convertible Mark (BAM).
+ """
+ BAM
+
+ """
+ Barbadian Dollar (BBD).
+ """
+ BBD
+
+ """
+ Bangladesh Taka (BDT).
+ """
+ BDT
+
+ """
+ Bulgarian Lev (BGN).
+ """
+ BGN
+
+ """
+ Bahraini Dinar (BHD).
+ """
+ BHD
+
+ """
+ Burundian Franc (BIF).
+ """
+ BIF
+
+ """
+ Bermudian Dollar (BMD).
+ """
+ BMD
+
+ """
+ Brunei Dollar (BND).
+ """
+ BND
+
+ """
+ Bolivian Boliviano (BOB).
+ """
+ BOB
+
+ """
+ Brazilian Real (BRL).
+ """
+ BRL
+
+ """
+ Bahamian Dollar (BSD).
+ """
+ BSD
+
+ """
+ Bhutanese Ngultrum (BTN).
+ """
+ BTN
+
+ """
+ Botswana Pula (BWP).
+ """
+ BWP
+
+ """
+ Belarusian Ruble (BYN).
+ """
+ BYN
+
+ """
+ Belarusian Ruble (BYR).
+ """
+ BYR @deprecated(reason: "Use `BYN` instead.")
+
+ """
+ Belize Dollar (BZD).
+ """
+ BZD
+
+ """
+ Canadian Dollars (CAD).
+ """
+ CAD
+
+ """
+ Congolese franc (CDF).
+ """
+ CDF
+
+ """
+ Swiss Francs (CHF).
+ """
+ CHF
+
+ """
+ Chilean Peso (CLP).
+ """
+ CLP
+
+ """
+ Chinese Yuan Renminbi (CNY).
+ """
+ CNY
+
+ """
+ Colombian Peso (COP).
+ """
+ COP
+
+ """
+ Costa Rican Colones (CRC).
+ """
+ CRC
+
+ """
+ Cape Verdean escudo (CVE).
+ """
+ CVE
+
+ """
+ Czech Koruny (CZK).
+ """
+ CZK
+
+ """
+ Djiboutian Franc (DJF).
+ """
+ DJF
+
+ """
+ Danish Kroner (DKK).
+ """
+ DKK
+
+ """
+ Dominican Peso (DOP).
+ """
+ DOP
+
+ """
+ Algerian Dinar (DZD).
+ """
+ DZD
+
+ """
+ Egyptian Pound (EGP).
+ """
+ EGP
+
+ """
+ Eritrean Nakfa (ERN).
+ """
+ ERN
+
+ """
+ Ethiopian Birr (ETB).
+ """
+ ETB
+
+ """
+ Euro (EUR).
+ """
+ EUR
+
+ """
+ Fijian Dollars (FJD).
+ """
+ FJD
+
+ """
+ Falkland Islands Pounds (FKP).
+ """
+ FKP
+
+ """
+ United Kingdom Pounds (GBP).
+ """
+ GBP
+
+ """
+ Georgian Lari (GEL).
+ """
+ GEL
+
+ """
+ Ghanaian Cedi (GHS).
+ """
+ GHS
+
+ """
+ Gibraltar Pounds (GIP).
+ """
+ GIP
+
+ """
+ Gambian Dalasi (GMD).
+ """
+ GMD
+
+ """
+ Guinean Franc (GNF).
+ """
+ GNF
+
+ """
+ Guatemalan Quetzal (GTQ).
+ """
+ GTQ
+
+ """
+ Guyanese Dollar (GYD).
+ """
+ GYD
+
+ """
+ Hong Kong Dollars (HKD).
+ """
+ HKD
+
+ """
+ Honduran Lempira (HNL).
+ """
+ HNL
+
+ """
+ Croatian Kuna (HRK).
+ """
+ HRK
+
+ """
+ Haitian Gourde (HTG).
+ """
+ HTG
+
+ """
+ Hungarian Forint (HUF).
+ """
+ HUF
+
+ """
+ Indonesian Rupiah (IDR).
+ """
+ IDR
+
+ """
+ Israeli New Shekel (NIS).
+ """
+ ILS
+
+ """
+ Indian Rupees (INR).
+ """
+ INR
+
+ """
+ Iraqi Dinar (IQD).
+ """
+ IQD
+
+ """
+ Iranian Rial (IRR).
+ """
+ IRR
+
+ """
+ Icelandic Kronur (ISK).
+ """
+ ISK
+
+ """
+ Jersey Pound.
+ """
+ JEP
+
+ """
+ Jamaican Dollars (JMD).
+ """
+ JMD
+
+ """
+ Jordanian Dinar (JOD).
+ """
+ JOD
+
+ """
+ Japanese Yen (JPY).
+ """
+ JPY
+
+ """
+ Kenyan Shilling (KES).
+ """
+ KES
+
+ """
+ Kyrgyzstani Som (KGS).
+ """
+ KGS
+
+ """
+ Cambodian Riel.
+ """
+ KHR
+
+ """
+ Kiribati Dollar (KID).
+ """
+ KID
+
+ """
+ Comorian Franc (KMF).
+ """
+ KMF
+
+ """
+ South Korean Won (KRW).
+ """
+ KRW
+
+ """
+ Kuwaiti Dinar (KWD).
+ """
+ KWD
+
+ """
+ Cayman Dollars (KYD).
+ """
+ KYD
+
+ """
+ Kazakhstani Tenge (KZT).
+ """
+ KZT
+
+ """
+ Laotian Kip (LAK).
+ """
+ LAK
+
+ """
+ Lebanese Pounds (LBP).
+ """
+ LBP
+
+ """
+ Sri Lankan Rupees (LKR).
+ """
+ LKR
+
+ """
+ Liberian Dollar (LRD).
+ """
+ LRD
+
+ """
+ Lesotho Loti (LSL).
+ """
+ LSL
+
+ """
+ Lithuanian Litai (LTL).
+ """
+ LTL
+
+ """
+ Latvian Lati (LVL).
+ """
+ LVL
+
+ """
+ Libyan Dinar (LYD).
+ """
+ LYD
+
+ """
+ Moroccan Dirham.
+ """
+ MAD
+
+ """
+ Moldovan Leu (MDL).
+ """
+ MDL
+
+ """
+ Malagasy Ariary (MGA).
+ """
+ MGA
+
+ """
+ Macedonia Denar (MKD).
+ """
+ MKD
+
+ """
+ Burmese Kyat (MMK).
+ """
+ MMK
+
+ """
+ Mongolian Tugrik.
+ """
+ MNT
+
+ """
+ Macanese Pataca (MOP).
+ """
+ MOP
+
+ """
+ Mauritanian Ouguiya (MRU).
+ """
+ MRU
+
+ """
+ Mauritian Rupee (MUR).
+ """
+ MUR
+
+ """
+ Maldivian Rufiyaa (MVR).
+ """
+ MVR
+
+ """
+ Malawian Kwacha (MWK).
+ """
+ MWK
+
+ """
+ Mexican Pesos (MXN).
+ """
+ MXN
+
+ """
+ Malaysian Ringgits (MYR).
+ """
+ MYR
+
+ """
+ Mozambican Metical.
+ """
+ MZN
+
+ """
+ Namibian Dollar.
+ """
+ NAD
+
+ """
+ Nigerian Naira (NGN).
+ """
+ NGN
+
+ """
+ Nicaraguan Córdoba (NIO).
+ """
+ NIO
+
+ """
+ Norwegian Kroner (NOK).
+ """
+ NOK
+
+ """
+ Nepalese Rupee (NPR).
+ """
+ NPR
+
+ """
+ New Zealand Dollars (NZD).
+ """
+ NZD
+
+ """
+ Omani Rial (OMR).
+ """
+ OMR
+
+ """
+ Panamian Balboa (PAB).
+ """
+ PAB
+
+ """
+ Peruvian Nuevo Sol (PEN).
+ """
+ PEN
+
+ """
+ Papua New Guinean Kina (PGK).
+ """
+ PGK
+
+ """
+ Philippine Peso (PHP).
+ """
+ PHP
+
+ """
+ Pakistani Rupee (PKR).
+ """
+ PKR
+
+ """
+ Polish Zlotych (PLN).
+ """
+ PLN
+
+ """
+ Paraguayan Guarani (PYG).
+ """
+ PYG
+
+ """
+ Qatari Rial (QAR).
+ """
+ QAR
+
+ """
+ Romanian Lei (RON).
+ """
+ RON
+
+ """
+ Serbian dinar (RSD).
+ """
+ RSD
+
+ """
+ Russian Rubles (RUB).
+ """
+ RUB
+
+ """
+ Rwandan Franc (RWF).
+ """
+ RWF
+
+ """
+ Saudi Riyal (SAR).
+ """
+ SAR
+
+ """
+ Solomon Islands Dollar (SBD).
+ """
+ SBD
+
+ """
+ Seychellois Rupee (SCR).
+ """
+ SCR
+
+ """
+ Sudanese Pound (SDG).
+ """
+ SDG
+
+ """
+ Swedish Kronor (SEK).
+ """
+ SEK
+
+ """
+ Singapore Dollars (SGD).
+ """
+ SGD
+
+ """
+ Saint Helena Pounds (SHP).
+ """
+ SHP
+
+ """
+ Sierra Leonean Leone (SLL).
+ """
+ SLL
+
+ """
+ Somali Shilling (SOS).
+ """
+ SOS
+
+ """
+ Surinamese Dollar (SRD).
+ """
+ SRD
+
+ """
+ South Sudanese Pound (SSP).
+ """
+ SSP
+
+ """
+ Sao Tome And Principe Dobra (STD).
+ """
+ STD @deprecated(reason: "Use `STN` instead.")
+
+ """
+ Sao Tome And Principe Dobra (STN).
+ """
+ STN
+
+ """
+ Syrian Pound (SYP).
+ """
+ SYP
+
+ """
+ Swazi Lilangeni (SZL).
+ """
+ SZL
+
+ """
+ Thai baht (THB).
+ """
+ THB
+
+ """
+ Tajikistani Somoni (TJS).
+ """
+ TJS
+
+ """
+ Turkmenistani Manat (TMT).
+ """
+ TMT
+
+ """
+ Tunisian Dinar (TND).
+ """
+ TND
+
+ """
+ Tongan Pa'anga (TOP).
+ """
+ TOP
+
+ """
+ Turkish Lira (TRY).
+ """
+ TRY
+
+ """
+ Trinidad and Tobago Dollars (TTD).
+ """
+ TTD
+
+ """
+ Taiwan Dollars (TWD).
+ """
+ TWD
+
+ """
+ Tanzanian Shilling (TZS).
+ """
+ TZS
+
+ """
+ Ukrainian Hryvnia (UAH).
+ """
+ UAH
+
+ """
+ Ugandan Shilling (UGX).
+ """
+ UGX
+
+ """
+ United States Dollars (USD).
+ """
+ USD
+
+ """
+ United States Dollars Coin (USDC).
+ """
+ USDC
+
+ """
+ Uruguayan Pesos (UYU).
+ """
+ UYU
+
+ """
+ Uzbekistan som (UZS).
+ """
+ UZS
+
+ """
+ Venezuelan Bolivares (VED).
+ """
+ VED
+
+ """
+ Venezuelan Bolivares (VEF).
+ """
+ VEF @deprecated(reason: "Use `VES` instead.")
+
+ """
+ Venezuelan Bolivares Soberanos (VES).
+ """
+ VES
+
+ """
+ Vietnamese đồng (VND).
+ """
+ VND
+
+ """
+ Vanuatu Vatu (VUV).
+ """
+ VUV
+
+ """
+ Samoan Tala (WST).
+ """
+ WST
+
+ """
+ Central African CFA Franc (XAF).
+ """
+ XAF
+
+ """
+ East Caribbean Dollar (XCD).
+ """
+ XCD
+
+ """
+ West African CFA franc (XOF).
+ """
+ XOF
+
+ """
+ CFP Franc (XPF).
+ """
+ XPF
+
+ """
+ Unrecognized currency.
+ """
+ XXX
+
+ """
+ Yemeni Rial (YER).
+ """
+ YER
+
+ """
+ South African Rand (ZAR).
+ """
+ ZAR
+
+ """
+ Zambian Kwacha (ZMW).
+ """
+ ZMW
+}
+
+"""
+A custom product represents a product that doesn't map to Shopify's
+[standard product categories](https://help.shopify.com/manual/products/details/product-type).
+For example, you can use a custom product to manage gift cards, shipping requirements, localized product
+information, or weight measurements and conversions.
+"""
+type CustomProduct {
+ """
+ Whether the merchandise is a gift card.
+ """
+ isGiftCard: Boolean!
+
+ """
+ Whether the item needs to be shipped to the customer. For example, a
+ digital gift card doesn't need to be shipped, but a t-shirt does
+ need to be shipped.
+ """
+ requiresShipping: Boolean!
+
+ """
+ The localized name for the product that displays to customers. The title is used to construct the product's
+ handle, which is a unique, human-readable string of the product's title. For example, if a product is titled
+ "Black Sunglasses", then the handle is `black-sunglasses`.
+ """
+ title: String!
+
+ """
+ The product variant's weight, in the system of measurement set in the `weightUnit` field.
+ """
+ weight: Float
+
+ """
+ The unit of measurement for weight.
+ """
+ weightUnit: WeightUnit!
+}
+
+"""
+Represents a [customer](https://help.shopify.com/manual/customers/manage-customers).
+`Customer` returns data including the customer's contact information and order history.
+"""
+type Customer implements HasMetafields {
+ """
+ The total amount that the customer has spent on orders.
+ The amount is converted from the shop's currency to the currency of the cart using a market rate.
+ """
+ amountSpent: MoneyV2!
+
+ """
+ The full name of the customer, based on the values for `firstName` and `lastName`.
+ If `firstName` and `lastName` aren't specified, then the value is the customer's email address.
+ If the email address isn't specified, then the value is the customer's phone number.
+ """
+ displayName: String!
+
+ """
+ The customer's email address.
+ """
+ email: String
+
+ """
+ The customer's first name.
+ """
+ firstName: String
+
+ """
+ Whether the customer is associated with any of the specified tags. The customer must have at least one tag
+ from the list to return `true`.
+ """
+ hasAnyTag(
+ """
+ A comma-separated list of searchable keywords that are associated with the customer. For example,
+ `"VIP, Gold"` returns customers with either the `VIP` or `Gold` tag.
+ """
+ tags: [String!]! = []
+ ): Boolean!
+
+ """
+ Whether the customer is associated with the specified tags.
+ """
+ hasTags(
+ """
+ A comma-separated list of searchable keywords that are associated with the customer. For example,
+ `"VIP, Gold"` returns customers with both the `VIP` and `Gold` tags.
+ """
+ tags: [String!]! = []
+ ): [HasTagResponse!]!
+
+ """
+ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
+ for the customer.
+ """
+ id: ID!
+
+ """
+ The customer's last name.
+ """
+ lastName: String
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The total number of orders that the customer has made at the store.
+ """
+ numberOfOrders: Int!
+}
+
+"""
+Represents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.
+For example, September 7, 2019 is represented as `"2019-07-16"`.
+"""
+scalar Date
+
+"""
+Represents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.
+For example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is
+represented as `"2019-09-07T15:50:00Z`".
+"""
+scalar DateTime
+
+"""
+A subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that
+includes the date and time but not the timezone which is determined from context.
+
+For example, "2018-01-01T00:00:00".
+"""
+scalar DateTimeWithoutTimezone
+
+"""
+A signed decimal number, which supports arbitrary precision and is serialized as a string.
+
+Example values: `"29.99"`, `"29.999"`.
+"""
+scalar Decimal
+
+"""
+Represents information about the merchandise in the cart.
+"""
+type DeliverableCartLine {
+ """
+ The custom attributes associated with a cart to store additional information. Cart attributes
+ allow you to collect specific information from customers on the **Cart** page, such as order notes,
+ gift wrapping requests, or custom product details. Attributes are stored as key-value pairs.
+
+ Cart line attributes are equivalent to the
+ [`line_item`](https://shopify.dev/docs/api/liquid/objects/line_item)
+ object in Liquid.
+ """
+ attribute(
+ """
+ The key of the cart attribute to retrieve. For example, `"gift_wrapping"`.
+ """
+ key: String
+ ): Attribute
+
+ """
+ The ID of the cart line.
+ """
+ id: ID!
+
+ """
+ The item that the customer intends to purchase.
+ """
+ merchandise: Merchandise!
+
+ """
+ The quantity of the item that the customer intends to purchase.
+ """
+ quantity: Int!
+}
+
+"""
+List of different delivery method types.
+"""
+enum DeliveryMethod {
+ """
+ Local Delivery.
+ """
+ LOCAL
+
+ """
+ None.
+ """
+ NONE
+
+ """
+ Shipping to a Pickup Point.
+ """
+ PICKUP_POINT
+
+ """
+ Local Pickup.
+ """
+ PICK_UP
+
+ """
+ Retail.
+ """
+ RETAIL
+
+ """
+ Shipping.
+ """
+ SHIPPING
+}
+
+"""
+A Function error for a path.
+"""
+input FunctionError {
+ """
+ A description of the validation error. For example, "The product is out of stock" or
+ "The product isn't available for purchase in your region". The message is localized for the customer.
+ """
+ localizedMessage: String!
+
+ """
+ The [identifier](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets)
+ in `shopify.extension.toml` that specifies where you're injecting code in the checkout process.
+ """
+ target: String!
+}
+
+"""
+The fetch target result. Your Function must return this data structure when generating the request.
+"""
+input FunctionFetchResult {
+ """
+ The attributes associated with an HTTP request.
+ """
+ request: HttpRequest
+}
+
+"""
+The output of the Function run target. The object contains the validation errors
+that display to customers and prevent them from proceeding through checkout. In
+API versions 2023-10 and beyond, this type is deprecated in favor of
+`FunctionRunResult`.
+"""
+input FunctionResult {
+ """
+ The validation errors that block a customer from proceeding through checkout.
+ """
+ errors: [FunctionError!]!
+}
+
+"""
+The output of the Function run target. The object contains the validation errors
+that display to customers and prevent them from proceeding through checkout.
+"""
+input FunctionRunResult {
+ """
+ The validation errors that block a customer from proceeding through checkout.
+ """
+ errors: [FunctionError!]!
+}
+
+"""
+A function-scoped handle to a refer a resource.
+The Handle type appears in a JSON response as a String, but it is not intended to be human-readable.
+Example value: `"10079785100"`
+"""
+scalar Handle
+
+"""
+Represents information about the metafields associated to the specified resource.
+"""
+interface HasMetafields {
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+}
+
+"""
+Whether a Shopify resource, such as a product or customer, has a specified tag.
+"""
+type HasTagResponse {
+ """
+ Whether the Shopify resource has the tag.
+ """
+ hasTag: Boolean!
+
+ """
+ A searchable keyword that's associated with a Shopify resource, such as a product or customer. For example,
+ a merchant might apply the `sports` and `summer` tags to products that are associated with sportswear for
+ summer.
+ """
+ tag: String!
+}
+
+"""
+The attributes associated with an HTTP request.
+"""
+input HttpRequest {
+ """
+ The HTTP request body as a plain string.
+ Use this field when the body isn't in JSON format.
+ """
+ body: String
+
+ """
+ The HTTP headers.
+ """
+ headers: [HttpRequestHeader!]!
+
+ """
+ The HTTP request body as a JSON object.
+ Use this field when the body's in JSON format, to reduce function instruction consumption
+ and to ensure the body's formatted in logs.
+ Don't use this field together with the `body` field. If both are provided, then the `body` field
+ will take precedence.
+ If this field is specified and no `Content-Type` header is included, then the header will
+ automatically be set to `application/json`.
+ """
+ jsonBody: JSON
+
+ """
+ The HTTP method.
+ """
+ method: HttpRequestMethod!
+
+ """
+ Policy attached to the HTTP request.
+ """
+ policy: HttpRequestPolicy!
+
+ """
+ The HTTP url (eg.: https://example.com). The scheme needs to be HTTPS.
+ """
+ url: URL!
+}
+
+"""
+The attributes associated with an HTTP request header.
+"""
+input HttpRequestHeader {
+ """
+ Header name.
+ """
+ name: String!
+
+ """
+ Header value.
+ """
+ value: String!
+}
+
+"""
+The HTTP request available methods.
+"""
+enum HttpRequestMethod {
+ """
+ Http GET.
+ """
+ GET
+
+ """
+ Http POST.
+ """
+ POST
+}
+
+"""
+The attributes associated with an HTTP request policy.
+"""
+input HttpRequestPolicy {
+ """
+ Read timeout in milliseconds.
+ """
+ readTimeoutMs: Int!
+}
+
+"""
+The attributes associated with an HTTP response.
+"""
+type HttpResponse {
+ """
+ The HTTP response body as a plain string.
+ Use this field when the body is not in JSON format.
+ """
+ body: String
+
+ """
+ An HTTP header.
+ """
+ header(
+ """
+ A case-insensitive header name.
+ """
+ name: String!
+ ): HttpResponseHeader
+
+ """
+ The HTTP headers.
+ """
+ headers: [HttpResponseHeader!]! @deprecated(reason: "Use `header` instead.")
+
+ """
+ The HTTP response body parsed as JSON.
+ If the body is valid JSON, it will be parsed and returned as a JSON object.
+ If parsing fails, then raw body is returned as a string.
+ Use this field when you expect the response to be JSON, or when you're dealing
+ with mixed response types, meaning both JSON and non-JSON.
+ Using this field reduces function instruction consumption and ensures that the data is formatted in logs.
+ To prevent increasing the function target input size unnecessarily, avoid querying
+ both `body` and `jsonBody` simultaneously.
+ """
+ jsonBody: JSON
+
+ """
+ The HTTP status code.
+ """
+ status: Int!
+}
+
+"""
+The attributes associated with an HTTP response header.
+"""
+type HttpResponseHeader {
+ """
+ Header name.
+ """
+ name: String!
+
+ """
+ Header value.
+ """
+ value: String!
+}
+
+"""
+Represents a unique identifier, often used to refetch an object.
+The ID type appears in a JSON response as a String, but it is not intended to be human-readable.
+
+Example value: `"gid://shopify/Product/10079785100"`
+"""
+scalar ID
+
+"""
+The `Input` object is the complete GraphQL schema that your Function can receive
+as input to validate cart and checkout. Your Function receives only the fields
+that you request in the input query. To optimize performance, we highly
+recommend that you request only the fields that your Function requires.
+"""
+type Input {
+ """
+ Information about the current step in the buyer's purchasing process. The
+ buyer journey helps you determine where the customer is in their shopping
+ experience (for example, cart interaction, checkout interaction, or completing
+ a checkout). You can use this information to apply appropriate validation
+ rules based on the customer's current context and create a more tailored and
+ performant shopping experience.
+ """
+ buyerJourney: BuyerJourney!
+
+ """
+ The cart where the Function is running. A cart contains the merchandise that a customer intends to purchase
+ and information about the customer, such as the customer's email address and phone number.
+ """
+ cart: Cart!
+
+ """
+ The `FunctionFetchResult` object is the result of the fetch target. This is
+ the response that Shopify returns after executing the HTTP request defined in
+ your fetch target, and that is passed as input to the run target. For more
+ information, refer to [network access for Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/network-access).
+ """
+ fetchResult: HttpResponse @restrictTarget(only: ["purchase.validation.run", "cart.validations.generate.run"])
+
+ """
+ The regional and language settings that determine how the Function
+ handles currency, numbers, dates, and other locale-specific values
+ during discount calculations. These settings are based on the store's configured
+ [localization practices](https://shopify.dev/docs/apps/build/functions/localization-practices-shopify-functions).
+ """
+ localization: Localization!
+
+ """
+ The exchange rate used to convert discounts between the shop's default
+ currency and the currency that displays to the customer during checkout.
+ For example, if a store operates in USD but a customer is viewing discounts in EUR,
+ then the presentment currency rate handles this conversion for accurate pricing.
+ """
+ presentmentCurrencyRate: Decimal!
+
+ """
+ Information about the shop where the Function is running, including the shop's timezone
+ setting and associated [metafields](https://shopify.dev/docs/apps/build/custom-data).
+ """
+ shop: Shop!
+
+ """
+ The configuration of the app that owns the Function. This configuration
+ controls how merchants can define validation rules for carts and checkout,
+ such as inventory checks, price validations, or custom purchase restrictions.
+ """
+ validation: Validation!
+}
+
+"""
+A [JSON](https://www.json.org/json-en.html) object.
+
+Example value:
+`{
+ "product": {
+ "id": "gid://shopify/Product/1346443542550",
+ "title": "White T-shirt",
+ "options": [{
+ "name": "Size",
+ "values": ["M", "L"]
+ }]
+ }
+}`
+"""
+scalar JSON
+
+"""
+The language for which the store is customized, ensuring content is tailored to local customers.
+This includes product descriptions and customer communications that resonate with the target audience.
+"""
+type Language {
+ """
+ The ISO code.
+ """
+ isoCode: LanguageCode!
+}
+
+"""
+Language codes supported by Shopify.
+"""
+enum LanguageCode {
+ """
+ Afrikaans.
+ """
+ AF
+
+ """
+ Akan.
+ """
+ AK
+
+ """
+ Amharic.
+ """
+ AM
+
+ """
+ Arabic.
+ """
+ AR
+
+ """
+ Assamese.
+ """
+ AS
+
+ """
+ Azerbaijani.
+ """
+ AZ
+
+ """
+ Belarusian.
+ """
+ BE
+
+ """
+ Bulgarian.
+ """
+ BG
+
+ """
+ Bambara.
+ """
+ BM
+
+ """
+ Bangla.
+ """
+ BN
+
+ """
+ Tibetan.
+ """
+ BO
+
+ """
+ Breton.
+ """
+ BR
+
+ """
+ Bosnian.
+ """
+ BS
+
+ """
+ Catalan.
+ """
+ CA
+
+ """
+ Chechen.
+ """
+ CE
+
+ """
+ Central Kurdish.
+ """
+ CKB
+
+ """
+ Czech.
+ """
+ CS
+
+ """
+ Church Slavic.
+ """
+ CU
+
+ """
+ Welsh.
+ """
+ CY
+
+ """
+ Danish.
+ """
+ DA
+
+ """
+ German.
+ """
+ DE
+
+ """
+ Dzongkha.
+ """
+ DZ
+
+ """
+ Ewe.
+ """
+ EE
+
+ """
+ Greek.
+ """
+ EL
+
+ """
+ English.
+ """
+ EN
+
+ """
+ Esperanto.
+ """
+ EO
+
+ """
+ Spanish.
+ """
+ ES
+
+ """
+ Estonian.
+ """
+ ET
+
+ """
+ Basque.
+ """
+ EU
+
+ """
+ Persian.
+ """
+ FA
+
+ """
+ Fulah.
+ """
+ FF
+
+ """
+ Finnish.
+ """
+ FI
+
+ """
+ Filipino.
+ """
+ FIL
+
+ """
+ Faroese.
+ """
+ FO
+
+ """
+ French.
+ """
+ FR
+
+ """
+ Western Frisian.
+ """
+ FY
+
+ """
+ Irish.
+ """
+ GA
+
+ """
+ Scottish Gaelic.
+ """
+ GD
+
+ """
+ Galician.
+ """
+ GL
+
+ """
+ Gujarati.
+ """
+ GU
+
+ """
+ Manx.
+ """
+ GV
+
+ """
+ Hausa.
+ """
+ HA
+
+ """
+ Hebrew.
+ """
+ HE
+
+ """
+ Hindi.
+ """
+ HI
+
+ """
+ Croatian.
+ """
+ HR
+
+ """
+ Hungarian.
+ """
+ HU
+
+ """
+ Armenian.
+ """
+ HY
+
+ """
+ Interlingua.
+ """
+ IA
+
+ """
+ Indonesian.
+ """
+ ID
+
+ """
+ Igbo.
+ """
+ IG
+
+ """
+ Sichuan Yi.
+ """
+ II
+
+ """
+ Icelandic.
+ """
+ IS
+
+ """
+ Italian.
+ """
+ IT
+
+ """
+ Japanese.
+ """
+ JA
+
+ """
+ Javanese.
+ """
+ JV
+
+ """
+ Georgian.
+ """
+ KA
+
+ """
+ Kikuyu.
+ """
+ KI
+
+ """
+ Kazakh.
+ """
+ KK
+
+ """
+ Kalaallisut.
+ """
+ KL
+
+ """
+ Khmer.
+ """
+ KM
+
+ """
+ Kannada.
+ """
+ KN
+
+ """
+ Korean.
+ """
+ KO
+
+ """
+ Kashmiri.
+ """
+ KS
+
+ """
+ Kurdish.
+ """
+ KU
+
+ """
+ Cornish.
+ """
+ KW
+
+ """
+ Kyrgyz.
+ """
+ KY
+
+ """
+ Luxembourgish.
+ """
+ LB
+
+ """
+ Ganda.
+ """
+ LG
+
+ """
+ Lingala.
+ """
+ LN
+
+ """
+ Lao.
+ """
+ LO
+
+ """
+ Lithuanian.
+ """
+ LT
+
+ """
+ Luba-Katanga.
+ """
+ LU
+
+ """
+ Latvian.
+ """
+ LV
+
+ """
+ Malagasy.
+ """
+ MG
+
+ """
+ Māori.
+ """
+ MI
+
+ """
+ Macedonian.
+ """
+ MK
+
+ """
+ Malayalam.
+ """
+ ML
+
+ """
+ Mongolian.
+ """
+ MN
+
+ """
+ Marathi.
+ """
+ MR
+
+ """
+ Malay.
+ """
+ MS
+
+ """
+ Maltese.
+ """
+ MT
+
+ """
+ Burmese.
+ """
+ MY
+
+ """
+ Norwegian (Bokmål).
+ """
+ NB
+
+ """
+ North Ndebele.
+ """
+ ND
+
+ """
+ Nepali.
+ """
+ NE
+
+ """
+ Dutch.
+ """
+ NL
+
+ """
+ Norwegian Nynorsk.
+ """
+ NN
+
+ """
+ Norwegian.
+ """
+ NO
+
+ """
+ Oromo.
+ """
+ OM
+
+ """
+ Odia.
+ """
+ OR
+
+ """
+ Ossetic.
+ """
+ OS
+
+ """
+ Punjabi.
+ """
+ PA
+
+ """
+ Polish.
+ """
+ PL
+
+ """
+ Pashto.
+ """
+ PS
+
+ """
+ Portuguese.
+ """
+ PT
+
+ """
+ Portuguese (Brazil).
+ """
+ PT_BR
+
+ """
+ Portuguese (Portugal).
+ """
+ PT_PT
+
+ """
+ Quechua.
+ """
+ QU
+
+ """
+ Romansh.
+ """
+ RM
+
+ """
+ Rundi.
+ """
+ RN
+
+ """
+ Romanian.
+ """
+ RO
+
+ """
+ Russian.
+ """
+ RU
+
+ """
+ Kinyarwanda.
+ """
+ RW
+
+ """
+ Sanskrit.
+ """
+ SA
+
+ """
+ Sardinian.
+ """
+ SC
+
+ """
+ Sindhi.
+ """
+ SD
+
+ """
+ Northern Sami.
+ """
+ SE
+
+ """
+ Sango.
+ """
+ SG
+
+ """
+ Sinhala.
+ """
+ SI
+
+ """
+ Slovak.
+ """
+ SK
+
+ """
+ Slovenian.
+ """
+ SL
+
+ """
+ Shona.
+ """
+ SN
+
+ """
+ Somali.
+ """
+ SO
+
+ """
+ Albanian.
+ """
+ SQ
+
+ """
+ Serbian.
+ """
+ SR
+
+ """
+ Sundanese.
+ """
+ SU
+
+ """
+ Swedish.
+ """
+ SV
+
+ """
+ Swahili.
+ """
+ SW
+
+ """
+ Tamil.
+ """
+ TA
+
+ """
+ Telugu.
+ """
+ TE
+
+ """
+ Tajik.
+ """
+ TG
+
+ """
+ Thai.
+ """
+ TH
+
+ """
+ Tigrinya.
+ """
+ TI
+
+ """
+ Turkmen.
+ """
+ TK
+
+ """
+ Tongan.
+ """
+ TO
+
+ """
+ Turkish.
+ """
+ TR
+
+ """
+ Tatar.
+ """
+ TT
+
+ """
+ Uyghur.
+ """
+ UG
+
+ """
+ Ukrainian.
+ """
+ UK
+
+ """
+ Urdu.
+ """
+ UR
+
+ """
+ Uzbek.
+ """
+ UZ
+
+ """
+ Vietnamese.
+ """
+ VI
+
+ """
+ Volapük.
+ """
+ VO
+
+ """
+ Wolof.
+ """
+ WO
+
+ """
+ Xhosa.
+ """
+ XH
+
+ """
+ Yiddish.
+ """
+ YI
+
+ """
+ Yoruba.
+ """
+ YO
+
+ """
+ Chinese.
+ """
+ ZH
+
+ """
+ Chinese (Simplified).
+ """
+ ZH_CN
+
+ """
+ Chinese (Traditional).
+ """
+ ZH_TW
+
+ """
+ Zulu.
+ """
+ ZU
+}
+
+"""
+The current time based on the
+[store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).
+"""
+type LocalTime {
+ """
+ The current date relative to the parent object.
+ """
+ date: Date!
+
+ """
+ Returns true if the current date and time is at or past the given date and time, and false otherwise.
+ """
+ dateTimeAfter(
+ """
+ The date and time to compare against, assumed to be in the timezone of the parent object.
+ """
+ dateTime: DateTimeWithoutTimezone!
+ ): Boolean!
+
+ """
+ Returns true if the current date and time is before the given date and time, and false otherwise.
+ """
+ dateTimeBefore(
+ """
+ The date and time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ dateTime: DateTimeWithoutTimezone!
+ ): Boolean!
+
+ """
+ Returns true if the current date and time is between the two given date and times, and false otherwise.
+ """
+ dateTimeBetween(
+ """
+ The upper bound time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ endDateTime: DateTimeWithoutTimezone!
+
+ """
+ The lower bound time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ startDateTime: DateTimeWithoutTimezone!
+ ): Boolean!
+
+ """
+ Returns true if the current time is at or past the given time, and false otherwise.
+ """
+ timeAfter(
+ """
+ The time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ time: TimeWithoutTimezone!
+ ): Boolean!
+
+ """
+ Returns true if the current time is at or past the given time, and false otherwise.
+ """
+ timeBefore(
+ """
+ The time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ time: TimeWithoutTimezone!
+ ): Boolean!
+
+ """
+ Returns true if the current time is between the two given times, and false otherwise.
+ """
+ timeBetween(
+ """
+ The upper bound time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ endTime: TimeWithoutTimezone!
+
+ """
+ The lower bound time to compare against, assumed to be in the timezone of the parent timezone.
+ """
+ startTime: TimeWithoutTimezone!
+ ): Boolean!
+}
+
+"""
+Details about the localized experience for the store in a specific region, including country and language
+settings. The localized experience is determined by the store's settings and the customer's location.
+Localization ensures that customers can access relevant content and options while browsing or purchasing
+products in a store.
+"""
+type Localization {
+ """
+ The country for which the store is customized, reflecting local preferences and regulations.
+ Localization might influence the language, currency, and product offerings available in a store to enhance
+ the shopping experience for customers in that region.
+ """
+ country: Country!
+
+ """
+ The language for which the store is customized, ensuring content is tailored to local customers.
+ This includes product descriptions and customer communications that resonate with the target audience.
+ """
+ language: Language!
+
+ """
+ The market of the active localized experience.
+ """
+ market: Market! @deprecated(reason: "This `market` field will be removed in a future version of the API.")
+}
+
+"""
+Represents the value captured by a localized field. Localized fields are
+additional fields required by certain countries on international orders. For
+example, some countries require additional fields for customs information or tax
+identification numbers.
+"""
+type LocalizedField {
+ """
+ The key of the localized field.
+ """
+ key: LocalizedFieldKey!
+
+ """
+ The title of the localized field.
+ """
+ title: String!
+
+ """
+ The value of the localized field.
+ """
+ value: String
+}
+
+"""
+Unique key identifying localized fields.
+"""
+enum LocalizedFieldKey {
+ """
+ Localized field key 'shipping_credential_br' for country Brazil.
+ """
+ SHIPPING_CREDENTIAL_BR
+
+ """
+ Localized field key 'shipping_credential_cl' for country Chile.
+ """
+ SHIPPING_CREDENTIAL_CL
+
+ """
+ Localized field key 'shipping_credential_cn' for country China.
+ """
+ SHIPPING_CREDENTIAL_CN
+
+ """
+ Localized field key 'shipping_credential_co' for country Colombia.
+ """
+ SHIPPING_CREDENTIAL_CO
+
+ """
+ Localized field key 'shipping_credential_cr' for country Costa Rica.
+ """
+ SHIPPING_CREDENTIAL_CR
+
+ """
+ Localized field key 'shipping_credential_ec' for country Ecuador.
+ """
+ SHIPPING_CREDENTIAL_EC
+
+ """
+ Localized field key 'shipping_credential_es' for country Spain.
+ """
+ SHIPPING_CREDENTIAL_ES
+
+ """
+ Localized field key 'shipping_credential_gt' for country Guatemala.
+ """
+ SHIPPING_CREDENTIAL_GT
+
+ """
+ Localized field key 'shipping_credential_id' for country Indonesia.
+ """
+ SHIPPING_CREDENTIAL_ID
+
+ """
+ Localized field key 'shipping_credential_kr' for country South Korea.
+ """
+ SHIPPING_CREDENTIAL_KR
+
+ """
+ Localized field key 'shipping_credential_mx' for country Mexico.
+ """
+ SHIPPING_CREDENTIAL_MX
+
+ """
+ Localized field key 'shipping_credential_my' for country Malaysia.
+ """
+ SHIPPING_CREDENTIAL_MY
+
+ """
+ Localized field key 'shipping_credential_pe' for country Peru.
+ """
+ SHIPPING_CREDENTIAL_PE
+
+ """
+ Localized field key 'shipping_credential_pt' for country Portugal.
+ """
+ SHIPPING_CREDENTIAL_PT
+
+ """
+ Localized field key 'shipping_credential_py' for country Paraguay.
+ """
+ SHIPPING_CREDENTIAL_PY
+
+ """
+ Localized field key 'shipping_credential_tr' for country Turkey.
+ """
+ SHIPPING_CREDENTIAL_TR
+
+ """
+ Localized field key 'shipping_credential_tw' for country Taiwan.
+ """
+ SHIPPING_CREDENTIAL_TW
+
+ """
+ Localized field key 'shipping_credential_type_co' for country Colombia.
+ """
+ SHIPPING_CREDENTIAL_TYPE_CO
+
+ """
+ Localized field key 'tax_credential_br' for country Brazil.
+ """
+ TAX_CREDENTIAL_BR
+
+ """
+ Localized field key 'tax_credential_cl' for country Chile.
+ """
+ TAX_CREDENTIAL_CL
+
+ """
+ Localized field key 'tax_credential_co' for country Colombia.
+ """
+ TAX_CREDENTIAL_CO
+
+ """
+ Localized field key 'tax_credential_cr' for country Costa Rica.
+ """
+ TAX_CREDENTIAL_CR
+
+ """
+ Localized field key 'tax_credential_ec' for country Ecuador.
+ """
+ TAX_CREDENTIAL_EC
+
+ """
+ Localized field key 'tax_credential_es' for country Spain.
+ """
+ TAX_CREDENTIAL_ES
+
+ """
+ Localized field key 'tax_credential_gt' for country Guatemala.
+ """
+ TAX_CREDENTIAL_GT
+
+ """
+ Localized field key 'tax_credential_id' for country Indonesia.
+ """
+ TAX_CREDENTIAL_ID
+
+ """
+ Localized field key 'tax_credential_it' for country Italy.
+ """
+ TAX_CREDENTIAL_IT
+
+ """
+ Localized field key 'tax_credential_mx' for country Mexico.
+ """
+ TAX_CREDENTIAL_MX
+
+ """
+ Localized field key 'tax_credential_my' for country Malaysia.
+ """
+ TAX_CREDENTIAL_MY
+
+ """
+ Localized field key 'tax_credential_pe' for country Peru.
+ """
+ TAX_CREDENTIAL_PE
+
+ """
+ Localized field key 'tax_credential_pt' for country Portugal.
+ """
+ TAX_CREDENTIAL_PT
+
+ """
+ Localized field key 'tax_credential_py' for country Paraguay.
+ """
+ TAX_CREDENTIAL_PY
+
+ """
+ Localized field key 'tax_credential_tr' for country Turkey.
+ """
+ TAX_CREDENTIAL_TR
+
+ """
+ Localized field key 'tax_credential_type_co' for country Colombia.
+ """
+ TAX_CREDENTIAL_TYPE_CO
+
+ """
+ Localized field key 'tax_credential_type_mx' for country Mexico.
+ """
+ TAX_CREDENTIAL_TYPE_MX
+
+ """
+ Localized field key 'tax_credential_use_mx' for country Mexico.
+ """
+ TAX_CREDENTIAL_USE_MX
+
+ """
+ Localized field key 'tax_email_it' for country Italy.
+ """
+ TAX_EMAIL_IT
+}
+
+"""
+Represents the location where the inventory resides.
+"""
+type Location implements HasMetafields {
+ """
+ The address of this location.
+ """
+ address: LocationAddress!
+
+ """
+ The location handle.
+ """
+ handle: Handle!
+
+ """
+ The location id.
+ """
+ id: ID!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The name of the location.
+ """
+ name: String!
+}
+
+"""
+Represents the address of a location.
+"""
+type LocationAddress {
+ """
+ The first line of the address for the location.
+ """
+ address1: String
+
+ """
+ The second line of the address for the location.
+ """
+ address2: String
+
+ """
+ The city of the location.
+ """
+ city: String
+
+ """
+ The country of the location.
+ """
+ country: String
+
+ """
+ The country code of the location.
+ """
+ countryCode: String
+
+ """
+ A formatted version of the address for the location.
+ """
+ formatted: [String!]!
+
+ """
+ The approximate latitude coordinates of the location.
+ """
+ latitude: Float
+
+ """
+ The approximate longitude coordinates of the location.
+ """
+ longitude: Float
+
+ """
+ The phone number of the location.
+ """
+ phone: String
+
+ """
+ The province of the location.
+ """
+ province: String
+
+ """
+ The code for the province, state, or district of the address of the location.
+ """
+ provinceCode: String
+
+ """
+ The ZIP code of the location.
+ """
+ zip: String
+}
+
+"""
+Represents a mailing address.
+"""
+type MailingAddress {
+ """
+ The first line of the address. Typically the street address or PO Box number.
+ """
+ address1: String
+
+ """
+ The second line of the address. Typically the number of the apartment, suite, or unit.
+ """
+ address2: String
+
+ """
+ The name of the city, district, village, or town.
+ """
+ city: String
+
+ """
+ The name of the customer's company or organization.
+ """
+ company: String
+
+ """
+ The two-letter code for the country of the address. For example, US.
+ """
+ countryCode: CountryCode
+
+ """
+ The first name of the customer.
+ """
+ firstName: String
+
+ """
+ The last name of the customer.
+ """
+ lastName: String
+
+ """
+ The approximate latitude of the address.
+ """
+ latitude: Float
+
+ """
+ The approximate longitude of the address.
+ """
+ longitude: Float
+
+ """
+ The market of the address.
+ """
+ market: Market @deprecated(reason: "This `market` field will be removed in a future version of the API.")
+
+ """
+ The full name of the customer, based on firstName and lastName.
+ """
+ name: String
+
+ """
+ A unique phone number for the customer. Formatted using E.164 standard. For example, +16135551111.
+ """
+ phone: String
+
+ """
+ The alphanumeric code for the region. For example, ON.
+ """
+ provinceCode: String
+
+ """
+ The zip or postal code of the address.
+ """
+ zip: String
+}
+
+"""
+A market is a group of one or more regions that you want to target for international sales.
+By creating a market, you can configure a distinct, localized shopping experience for
+customers from a specific area of the world. For example, you can
+[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),
+[configure international pricing](https://shopify.dev/api/examples/product-price-lists),
+or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).
+"""
+type Market implements HasMetafields {
+ """
+ A human-readable unique string for the market automatically generated from its title.
+ """
+ handle: Handle!
+
+ """
+ A globally-unique identifier.
+ """
+ id: ID!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ A geographic region which comprises a market.
+ """
+ regions: [MarketRegion!]!
+}
+
+"""
+Represents a region.
+"""
+interface MarketRegion {
+ """
+ The name of the region in the language of the current localization.
+ """
+ name: String
+}
+
+"""
+A country which comprises a market.
+"""
+type MarketRegionCountry implements MarketRegion {
+ """
+ The two-letter code for the country.
+ """
+ code: CountryCode!
+
+ """
+ The country name in the language of the current localization.
+ """
+ name: String!
+}
+
+"""
+The item that a customer intends to purchase. Merchandise can be a product variant or a custom
+product.
+
+A product variant is a specific version of a product that comes in more than one option, such as size or color.
+For example, if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be
+one product variant and a large, blue t-shirt would be another.
+
+A custom product represents a product that doesn't map to Shopify's
+[standard product categories](https://help.shopify.com/manual/products/details/product-type).
+For example, you can use a custom product to manage gift cards, shipping requirements, localized product
+information, or weight measurements and conversions.
+"""
+union Merchandise = CustomProduct | ProductVariant
+
+"""
+[Custom fields](https://shopify.dev/docs/apps/build/custom-data) that store additional information
+about a Shopify resource, such as products, orders, and
+[many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+enables you to customize the checkout experience.
+"""
+type Metafield {
+ """
+ The data that's stored in the metafield, using JSON format.
+ """
+ jsonValue: JSON!
+
+ """
+ The [type of data](https://shopify.dev/apps/metafields/types) that the metafield stores in
+ the `value` field.
+ """
+ type: String!
+
+ """
+ The data that's stored in the metafield. The data is always stored as a string,
+ regardless of the [metafield's type](https://shopify.dev/apps/metafields/types).
+ """
+ value: String!
+}
+
+"""
+A precise monetary value and its associated currency. Combines a decimal amount
+with a three-letter currency code to express prices, costs, and other financial
+values throughout the API. For example, 12.99 USD.
+"""
+type MoneyV2 {
+ """
+ A monetary value in decimal format, allowing for precise representation of cents or fractional
+ currency. For example, 12.99.
+ """
+ amount: Decimal!
+
+ """
+ The three-letter currency code that represents a world currency used in a store. Currency codes
+ include standard [standard ISO 4217 codes](https://en.wikipedia.org/wiki/ISO_4217), legacy codes,
+ and non-standard codes. For example, USD.
+ """
+ currencyCode: CurrencyCode!
+}
+
+"""
+The root mutation for the API.
+"""
+type MutationRoot {
+ """
+ Handles the Function result for the cart.validations.generate.fetch target.
+ """
+ cartValidationsGenerateFetch(
+ """
+ The result of the Function.
+ """
+ result: CartValidationsGenerateFetchResult!
+ ): Void!
+
+ """
+ Handles the Function result for the cart.validations.generate.run target.
+ """
+ cartValidationsGenerateRun(
+ """
+ The result of the Function.
+ """
+ result: CartValidationsGenerateRunResult!
+ ): Void!
+
+ """
+ Handles the Function result for the purchase.validation.fetch target.
+ """
+ fetch(
+ """
+ The result of the Function.
+ """
+ result: FunctionFetchResult!
+ ): Void!
+
+ """
+ Handles the Function result.
+ """
+ handleResult(
+ """
+ The result of the Function.
+ """
+ result: FunctionResult!
+ ): Void! @deprecated(reason: "Use the target-specific field instead.")
+
+ """
+ Handles the Function result for the purchase.validation.run target.
+ """
+ run(
+ """
+ The result of the Function.
+ """
+ result: FunctionRunResult!
+ ): Void!
+}
+
+"""
+An operation to apply.
+"""
+input Operation @oneOf {
+ """
+ An operation that adds validations to the cart and checkout. For example, you might add a validation
+ that, at checkout, confirms a customer's age meets the legal requirement to purchase a product in their cart.
+ """
+ validationAdd: ValidationAddOperation
+}
+
+"""
+The goods and services that merchants offer to customers. Products can include details such as
+title, vendor, and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).
+Products can be organized by grouping them into a collection.
+
+Learn more about [managing products in a merchant's store](https://help.shopify.com/manual/products).
+"""
+type Product implements HasMetafields {
+ """
+ A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and
+ numbers, but not spaces. The handle is used in the online store URL for the product. For example, if a product
+ is titled "Black Sunglasses", then the handle is `black-sunglasses`.
+ """
+ handle: Handle!
+
+ """
+ Whether the product is associated with any of the specified tags. The product must have at least one tag
+ from the list to return `true`.
+ """
+ hasAnyTag(
+ """
+ A comma-separated list of searchable keywords that are associated with the product. For example,
+ `"sports, summer"` returns products with either the `sports` or `summer` tag.
+ """
+ tags: [String!]! = []
+ ): Boolean!
+
+ """
+ Whether the product is associated with the specified tags.
+ """
+ hasTags(
+ """
+ A comma-separated list of searchable keywords that are associated with the product. For example,
+ `"sports, summer"` returns products with both the `sports` and `summer` tags.
+ """
+ tags: [String!]! = []
+ ): [HasTagResponse!]!
+
+ """
+ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
+ for the product.
+ """
+ id: ID!
+
+ """
+ Whether the product is in any of the specified collections. The product must be in at least one collection
+ from the list to return `true`.
+
+ A collection is a group of products that can be displayed in online stores and other sales channels in
+ categories, which makes it easy for customers to find them. For example, an athletics store might create
+ different collections for running attire and accessories.
+ """
+ inAnyCollection(
+ """
+ A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)
+ that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.
+ """
+ ids: [ID!]! = []
+ ): Boolean!
+
+ """
+ Whether the product is in the specified collections. The product must be in all of the collections in the
+ list to return `true`.
+
+ A collection is a group of products that can be displayed in online stores and other sales channels in
+ categories, which makes it easy for customers to find them. For example, an athletics store might create
+ different collections for running attire and accessories.
+ """
+ inCollections(
+ """
+ A comma-separated list of [globally-unique collection IDs](https://shopify.dev/docs/api/usage/gids)
+ that are associated with the product. For example, `gid://shopify/Collection/123`, `gid://shopify/Collection/456`.
+ """
+ ids: [ID!]! = []
+ ): [CollectionMembership!]!
+
+ """
+ Whether the product is a gift card.
+ """
+ isGiftCard: Boolean!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ A custom category for a product. Product types allow merchants to define categories other than the
+ ones available in Shopify's
+ [standard product categories](https://help.shopify.com/manual/products/details/product-type).
+ """
+ productType: String
+
+ """
+ The localized name for the product that displays to customers. The title is used to construct the product's
+ handle, which is a unique, human-readable string of the product's title. For example, if a product is titled
+ "Black Sunglasses", then the handle is `black-sunglasses`.
+ """
+ title: String!
+
+ """
+ The name of the product's vendor.
+ """
+ vendor: String
+}
+
+"""
+A specific version of a product that comes in more than one option, such as size or color. For example,
+if a merchant sells t-shirts with options for size and color, then a small, blue t-shirt would be one
+product variant and a large, blue t-shirt would be another.
+"""
+type ProductVariant implements HasMetafields {
+ """
+ A [globally-unique ID](https://shopify.dev/docs/api/usage/gids)
+ for the product variant.
+ """
+ id: ID!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The product associated with the product variant. For example, if a
+ merchant sells t-shirts with options for size and color, then a small,
+ blue t-shirt would be one product variant and a large, blue t-shirt would be another.
+ The product associated with the product variant would be the t-shirt itself.
+ """
+ product: Product!
+
+ """
+ Whether the item needs to be shipped to the customer. For example, a
+ digital gift card doesn't need to be shipped, but a t-shirt does
+ need to be shipped.
+ """
+ requiresShipping: Boolean!
+
+ """
+ A case-sensitive identifier for the product variant in the merchant's store. For example, `"BBC-1"`.
+ A product variant must have a SKU to be connected to a
+ [fulfillment service](https://shopify.dev/docs/apps/build/orders-fulfillment/fulfillment-service-apps/build-for-fulfillment-services).
+ """
+ sku: String
+
+ """
+ The localized name for the product variant that displays to customers.
+ """
+ title: String
+
+ """
+ The product variant's weight, in the system of measurement set in the `weightUnit` field.
+ """
+ weight: Float
+
+ """
+ The unit of measurement for weight.
+ """
+ weightUnit: WeightUnit!
+}
+
+"""
+The company of a B2B customer that's interacting with the cart.
+Used to manage and track purchases made by businesses rather than individual customers.
+"""
+type PurchasingCompany {
+ """
+ The company associated to the order or draft order.
+ """
+ company: Company!
+
+ """
+ The company contact associated to the order or draft order.
+ """
+ contact: CompanyContact
+
+ """
+ The company location associated to the order or draft order.
+ """
+ location: CompanyLocation!
+}
+
+"""
+Represents how products and variants can be sold and purchased.
+"""
+type SellingPlan implements HasMetafields {
+ """
+ The description of the selling plan.
+ """
+ description: String
+
+ """
+ A globally-unique identifier.
+ """
+ id: ID!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+
+ """
+ The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.
+ """
+ name: String!
+
+ """
+ Whether purchasing the selling plan will result in multiple deliveries.
+ """
+ recurringDeliveries: Boolean!
+}
+
+"""
+Represents an association between a variant and a selling plan. Selling plan
+allocations describe the options offered for each variant, and the price of the
+variant when purchased with a selling plan.
+"""
+type SellingPlanAllocation {
+ """
+ A list of price adjustments, with a maximum of two. When there are two, the
+ first price adjustment goes into effect at the time of purchase, while the
+ second one starts after a certain number of orders. A price adjustment
+ represents how a selling plan affects pricing when a variant is purchased with
+ a selling plan. Prices display in the customer's currency if the shop is
+ configured for it.
+ """
+ priceAdjustments: [SellingPlanAllocationPriceAdjustment!]!
+
+ """
+ A representation of how products and variants can be sold and purchased. For
+ example, an individual selling plan could be '6 weeks of prepaid granola,
+ delivered weekly'.
+ """
+ sellingPlan: SellingPlan!
+}
+
+"""
+The resulting prices for variants when they're purchased with a specific selling plan.
+"""
+type SellingPlanAllocationPriceAdjustment {
+ """
+ The effective price for a single delivery. For example, for a prepaid
+ subscription plan that includes 6 deliveries at the price of $48.00, the per
+ delivery price is $8.00.
+ """
+ perDeliveryPrice: MoneyV2!
+
+ """
+ The price of the variant when it's purchased with a selling plan For example,
+ for a prepaid subscription plan that includes 6 deliveries of $10.00 granola,
+ where the customer gets 20% off, the price is 6 x $10.00 x 0.80 = $48.00.
+ """
+ price: MoneyV2!
+}
+
+"""
+Information about the store, including the store's timezone setting
+and custom data stored in [metafields](https://shopify.dev/docs/apps/build/custom-data).
+"""
+type Shop implements HasMetafields {
+ """
+ The current time based on the
+ [store's timezone setting](https://help.shopify.com/manual/intro-to-shopify/initial-setup/setup-business-settings).
+ """
+ localTime: LocalTime!
+
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+}
+
+"""
+A subset of the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format that
+includes the time but not the date or timezone which is determined from context.
+For example, "05:43:21".
+"""
+scalar TimeWithoutTimezone
+
+"""
+Represents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and
+[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.
+
+For example, `"https://example.myshopify.com"` is a valid URL. It includes a scheme (`https`) and a host
+(`example.myshopify.com`).
+"""
+scalar URL
+
+"""
+A customization that validates a cart and/or checkout.
+"""
+type Validation implements HasMetafields {
+ """
+ A [custom field](https://shopify.dev/docs/apps/build/custom-data) that stores additional information
+ about a Shopify resource, such as products, orders, and
+ [many more](https://shopify.dev/docs/api/admin-graphql/latest/enums/MetafieldOwnerType).
+ Using [metafields with Shopify Functions](https://shopify.dev/docs/apps/build/functions/input-output/metafields-for-input-queries)
+ enables you to customize the checkout experience.
+ """
+ metafield(
+ """
+ The unique identifier for the metafield within its namespace. A metafield is composed of a
+ namespace and a key, in the format `namespace.key`.
+ """
+ key: String!
+
+ """
+ A category that organizes a group of metafields. Namespaces are used to prevent naming conflicts
+ between different apps or different parts of the same app. If omitted, then the
+ [app-reserved namespace](https://shopify.dev/docs/apps/build/custom-data/ownership)
+ is used.
+ """
+ namespace: String
+ ): Metafield
+}
+
+"""
+An operation that adds validations to the cart and checkout. For example, you might add a validation
+that, at checkout, confirms a customer's age meets the legal requirement to purchase a product in their cart.
+"""
+input ValidationAddOperation {
+ """
+ The validation errors that block a customer from proceeding through checkout.
+ The errors are grouped by
+ [target](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets).
+ """
+ errors: [ValidationError!]!
+}
+
+"""
+A Function error for a path.
+"""
+input ValidationError {
+ """
+ A description of the validation error. For example, "The product is out of stock" or
+ "The product isn't available for purchase in your region".
+ """
+ message: String!
+
+ """
+ The [identifier](https://shopify.dev/docs/api/functions/reference/cart-checkout-validation/graphql#supported-checkout-field-targets)
+ in `shopify.extension.toml` that specifies where you're injecting code in the checkout process.
+ """
+ target: String!
+}
+
+"""
+A void type that can be used to return a null value from a mutation.
+"""
+scalar Void
+
+"""
+Units of measurement for weight.
+"""
+enum WeightUnit {
+ """
+ Metric system unit of mass.
+ """
+ GRAMS
+
+ """
+ 1 kilogram equals 1000 grams.
+ """
+ KILOGRAMS
+
+ """
+ Imperial system unit of mass.
+ """
+ OUNCES
+
+ """
+ 1 pound equals 16 ounces.
+ """
+ POUNDS
+}
diff --git a/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.toml b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.toml
new file mode 100644
index 00000000..f5180903
--- /dev/null
+++ b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/shopify.extension.toml
@@ -0,0 +1,52 @@
+# DW Block Non-Purchasable Checkout — Cart & Checkout Validation Function.
+#
+# Targets cart.validations.generate.run — the cart_checkout_validation API's
+# single generate-run target (the validation counterpart to the discount API's
+# cart.lines.discounts.generate.run). A validation Function returns
+# operations[].validationAdd.errors[] — each error {message, target} BLOCKS
+# checkout with the customer-facing message pinned to the offending cart line.
+#
+# WHY THIS EXISTS (server-side liability closure):
+# TK-10825 — 1,281 quote-only products are buyable at $0 (availableForSale=true).
+# TK-10010 — discontinued products that slip back to orderable.
+# Storefront/theme guards can be bypassed (direct /cart add, API, permalink);
+# a validation Function is the ONLY server-side enforcement point Shopify honors
+# at checkout.
+#
+# TAG-SCOPED, NOT PRICE-SCOPED (codex-review correctness rule):
+# Reject a line ONLY when the product carries a quote-only tag
+# (quote-only / Quote Only / quote_only / Quote-Only) OR a discontinued tag
+# (Discontinued / Discontinued-Review / YB-Discontinued-2026-04).
+# NEVER reject on price==$0 alone — legitimate free samples/gifts exist
+# ($4.25 samples, trade freebies). Sample lines (variant title "Sample" or
+# product metafield custom.is_sample=="true") are NEVER blocked.
+#
+# api_version: pinned to 2025-10 to MATCH the sibling free-samples-discount
+# extension, whose comment records that cart.lines.discounts.generate.run does
+# not schema-generate before 2025-10. The app-level default (shopify.app.toml
+# webhooks.api_version = 2026-10) is a forward-compatible superset; if
+# `shopify app function schema` reports the validation target only under a
+# different version, bump THIS value to match — see BUILD-NOTE in README.
+#
+# `shopify app deploy` builds this JS to WASM (Javy) and uploads/releases the
+# Function version; it does NOT activate it. Activation = creating a validation
+# that points at this Function (validationCreate mutation, or the Admin
+# Settings > Checkout > Validations UI) AND installing the app on the store.
+
+api_version = "2025-10"
+uid = "6f7746be-8745-e1f2-febe-1b65f885f9759b364689"
+
+[[extensions]]
+name = "DW Block Non-Purchasable"
+handle = "block-nonpurchasable-checkout"
+type = "function"
+
+ [[extensions.targeting]]
+ target = "cart.validations.generate.run"
+ input_query = "src/run.graphql"
+ export = "run"
+
+ [extensions.build]
+ command = ""
+ path = "dist/function.wasm"
+ watch = [ "src/**.js", "src/**.graphql" ]
diff --git a/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/src/run.graphql b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/src/run.graphql
new file mode 100644
index 00000000..68beeaa5
--- /dev/null
+++ b/shopify/staged/free-samples-function/extensions/block-nonpurchasable-checkout/src/run.graphql
@@ -0,0 +1,7 @@
+query Input {
+ cart {
+ lines {
+ id
+ }
+ }
+}
← cebd4580 TK-10796: Fabricut 'Yards yards' double-unit remediation (au
·
back to Dw Validator Debug TK11314
·
auto-data-snapshot: 2026-08-25T01:34:30 (1 data files) — sho 70dff185 →