From ea5656d792ab8e416c841851112b5892465287e5 Mon Sep 17 00:00:00 2001 From: devidnyk Date: Fri, 3 Oct 2025 15:24:32 +0530 Subject: [PATCH 01/11] Added basic controller, logger, and db --- .gitignore | 2 + README.md | 10 ++ leetcode-wrapper.sln | 36 ++++++ {1kosmos => leetcode/1kosmos}/all.csv | 0 .../1kosmos}/more-than-six-months.csv | 0 {6sense => leetcode/6sense}/all.csv | 0 .../6sense}/more-than-six-months.csv | 0 {6sense => leetcode/6sense}/six-months.csv | 0 {accelya => leetcode/accelya}/all.csv | 0 .../accelya}/more-than-six-months.csv | 0 {accenture => leetcode/accenture}/all.csv | 0 .../accenture}/more-than-six-months.csv | 0 .../accenture}/six-months.csv | 0 {accolite => leetcode/accolite}/all.csv | 0 .../accolite}/more-than-six-months.csv | 0 .../accolite}/six-months.csv | 0 .../accolite}/thirty-days.csv | 0 .../accolite}/three-months.csv | 0 {acko => leetcode/acko}/all.csv | 0 .../acko}/more-than-six-months.csv | 0 {acorns => leetcode/acorns}/all.csv | 0 {activision => leetcode/activision}/all.csv | 0 .../activision}/more-than-six-months.csv | 0 .../activision}/six-months.csv | 0 {addepar => leetcode/addepar}/all.csv | 0 .../addepar}/more-than-six-months.csv | 0 {adobe => leetcode/adobe}/all.csv | 0 .../adobe}/more-than-six-months.csv | 0 {adobe => leetcode/adobe}/six-months.csv | 0 {adobe => leetcode/adobe}/thirty-days.csv | 0 {adobe => leetcode/adobe}/three-months.csv | 0 {adp => leetcode/adp}/all.csv | 0 {adp => leetcode/adp}/six-months.csv | 0 {aetion => leetcode/aetion}/all.csv | 0 .../aetion}/more-than-six-months.csv | 0 {affinity => leetcode/affinity}/all.csv | 0 .../affinity}/more-than-six-months.csv | 0 {affirm => leetcode/affirm}/all.csv | 0 .../affirm}/more-than-six-months.csv | 0 {affirm => leetcode/affirm}/six-months.csv | 0 {affirm => leetcode/affirm}/three-months.csv | 0 {agoda => leetcode/agoda}/all.csv | 0 .../agoda}/more-than-six-months.csv | 0 {agoda => leetcode/agoda}/six-months.csv | 0 {agoda => leetcode/agoda}/three-months.csv | 0 {airbnb => leetcode/airbnb}/all.csv | 0 .../airbnb}/more-than-six-months.csv | 0 {airbnb => leetcode/airbnb}/six-months.csv | 0 {airbnb => leetcode/airbnb}/thirty-days.csv | 0 {airbnb => leetcode/airbnb}/three-months.csv | 0 {airbus => leetcode/airbus}/all.csv | 0 .../airbus}/more-than-six-months.csv | 0 {airbus => leetcode/airbus}/six-months.csv | 0 {airbus => leetcode/airbus}/three-months.csv | 0 {airtel => leetcode/airtel}/all.csv | 0 .../airtel}/more-than-six-months.csv | 0 {airtel => leetcode/airtel}/six-months.csv | 0 {airwallex => leetcode/airwallex}/all.csv | 0 .../airwallex}/more-than-six-months.csv | 0 {akamai => leetcode/akamai}/all.csv | 0 .../akamai}/more-than-six-months.csv | 0 .../akuna-capital}/all.csv | 0 .../akuna-capital}/more-than-six-months.csv | 0 .../akuna-capital}/six-months.csv | 0 .../akuna-capital}/three-months.csv | 0 {alibaba => leetcode/alibaba}/all.csv | 0 .../alibaba}/more-than-six-months.csv | 0 {allincall => leetcode/allincall}/all.csv | 0 .../allincall}/more-than-six-months.csv | 0 {alphagrep => leetcode/alphagrep}/all.csv | 0 .../alphagrep}/more-than-six-months.csv | 0 {alphonso => leetcode/alphonso}/all.csv | 0 .../alphonso}/more-than-six-months.csv | 0 {alten => leetcode/alten}/all.csv | 0 {altimetrik => leetcode/altimetrik}/all.csv | 0 .../altimetrik}/more-than-six-months.csv | 0 {amadeus => leetcode/amadeus}/all.csv | 0 .../amadeus}/more-than-six-months.csv | 0 {amazon => leetcode/amazon}/all.csv | 0 .../amazon}/more-than-six-months.csv | 0 {amazon => leetcode/amazon}/six-months.csv | 0 {amazon => leetcode/amazon}/thirty-days.csv | 0 {amazon => leetcode/amazon}/three-months.csv | 0 {amd => leetcode/amd}/all.csv | 0 .../amd}/more-than-six-months.csv | 0 {amd => leetcode/amd}/six-months.csv | 0 {amdocs => leetcode/amdocs}/all.csv | 0 .../amdocs}/more-than-six-months.csv | 0 .../american-airlines}/all.csv | 0 .../american-express}/all.csv | 0 .../more-than-six-months.csv | 0 .../american-express}/six-months.csv | 0 .../american-express}/three-months.csv | 0 {amplitude => leetcode/amplitude}/all.csv | 0 .../analytics-quotient}/all.csv | 0 .../more-than-six-months.csv | 0 {andela => leetcode/andela}/all.csv | 0 .../andela}/more-than-six-months.csv | 0 {anduril => leetcode/anduril}/all.csv | 0 .../anduril}/more-than-six-months.csv | 0 {anduril => leetcode/anduril}/six-months.csv | 0 {anduril => leetcode/anduril}/thirty-days.csv | 0 .../anduril}/three-months.csv | 0 {anthropic => leetcode/anthropic}/all.csv | 0 .../anthropic}/more-than-six-months.csv | 0 .../anthropic}/six-months.csv | 0 .../anthropic}/thirty-days.csv | 0 .../anthropic}/three-months.csv | 0 {anyscale => leetcode/anyscale}/all.csv | 0 .../anyscale}/more-than-six-months.csv | 0 .../anyscale}/six-months.csv | 0 {aon => leetcode/aon}/all.csv | 0 .../aon}/more-than-six-months.csv | 0 {apna => leetcode/apna}/all.csv | 0 .../apna}/more-than-six-months.csv | 0 {apolloio => leetcode/apolloio}/all.csv | 0 .../apolloio}/more-than-six-months.csv | 0 {appdynamics => leetcode/appdynamics}/all.csv | 0 .../appdynamics}/more-than-six-months.csv | 0 {appfolio => leetcode/appfolio}/all.csv | 0 .../appfolio}/more-than-six-months.csv | 0 {apple => leetcode/apple}/all.csv | 0 .../apple}/more-than-six-months.csv | 0 {apple => leetcode/apple}/six-months.csv | 0 {apple => leetcode/apple}/thirty-days.csv | 0 {apple => leetcode/apple}/three-months.csv | 0 .../applied-intuition}/all.csv | 0 .../more-than-six-months.csv | 0 .../applied-intuition}/six-months.csv | 0 .../applied-intuition}/thirty-days.csv | 0 .../applied-intuition}/three-months.csv | 0 {applovin => leetcode/applovin}/all.csv | 0 .../applovin}/more-than-six-months.csv | 0 {appviewx => leetcode/appviewx}/all.csv | 0 .../appviewx}/more-than-six-months.csv | 0 .../aqr-capital-management-llc}/all.csv | 0 .../more-than-six-months.csv | 0 {arcesium => leetcode/arcesium}/all.csv | 0 .../arcesium}/more-than-six-months.csv | 0 {argo-ai => leetcode/argo-ai}/all.csv | 0 {argo-ai => leetcode/argo-ai}/six-months.csv | 0 .../argo-ai}/three-months.csv | 0 .../arista-networks}/all.csv | 0 .../arista-networks}/more-than-six-months.csv | 0 .../arista-networks}/six-months.csv | 0 .../arista-networks}/three-months.csv | 0 {arm => leetcode/arm}/all.csv | 0 .../arm}/more-than-six-months.csv | 0 {asana => leetcode/asana}/all.csv | 0 .../asana}/more-than-six-months.csv | 0 {asana => leetcode/asana}/six-months.csv | 0 {ascend => leetcode/ascend}/all.csv | 0 .../ascend}/more-than-six-months.csv | 0 {asus => leetcode/asus}/all.csv | 0 .../asus}/more-than-six-months.csv | 0 {at-t => leetcode/at-t}/all.csv | 0 {at-t => leetcode/at-t}/six-months.csv | 0 .../athenahealth}/all.csv | 0 .../athenahealth}/more-than-six-months.csv | 0 .../athenahealth}/six-months.csv | 0 .../athenahealth}/three-months.csv | 0 {atlassian => leetcode/atlassian}/all.csv | 0 .../atlassian}/more-than-six-months.csv | 0 .../atlassian}/six-months.csv | 0 .../atlassian}/thirty-days.csv | 0 .../atlassian}/three-months.csv | 0 {attentive => leetcode/attentive}/all.csv | 0 .../attentive}/more-than-six-months.csv | 0 .../attentive}/six-months.csv | 0 .../attentive}/three-months.csv | 0 {audible => leetcode/audible}/all.csv | 0 .../audible}/more-than-six-months.csv | 0 {auriga => leetcode/auriga}/all.csv | 0 .../auriga}/more-than-six-months.csv | 0 {aurora => leetcode/aurora}/all.csv | 0 .../aurora}/more-than-six-months.csv | 0 {aurora => leetcode/aurora}/six-months.csv | 0 {aurora => leetcode/aurora}/three-months.csv | 0 {autodesk => leetcode/autodesk}/all.csv | 0 .../autodesk}/more-than-six-months.csv | 0 .../autodesk}/six-months.csv | 0 .../autodesk}/thirty-days.csv | 0 .../autodesk}/three-months.csv | 0 {avalara => leetcode/avalara}/all.csv | 0 .../avalara}/more-than-six-months.csv | 0 {avito => leetcode/avito}/all.csv | 0 .../avito}/more-than-six-months.csv | 0 {avito => leetcode/avito}/six-months.csv | 0 {axis-bank => leetcode/axis-bank}/all.csv | 0 .../axis-bank}/six-months.csv | 0 {axon => leetcode/axon}/all.csv | 0 .../axon}/more-than-six-months.csv | 0 {axon => leetcode/axon}/six-months.csv | 0 {axon => leetcode/axon}/thirty-days.csv | 0 {axon => leetcode/axon}/three-months.csv | 0 {baidu => leetcode/baidu}/all.csv | 0 .../baidu}/more-than-six-months.csv | 0 .../bank-of-america}/all.csv | 0 .../bank-of-america}/more-than-six-months.csv | 0 {barclays => leetcode/barclays}/all.csv | 0 .../barclays}/more-than-six-months.csv | 0 .../barclays}/six-months.csv | 0 {bcg => leetcode/bcg}/all.csv | 0 {bcg => leetcode/bcg}/six-months.csv | 0 .../bentley-systems}/all.csv | 0 .../bentley-systems}/more-than-six-months.csv | 0 {bharatpe => leetcode/bharatpe}/all.csv | 0 .../bharatpe}/more-than-six-months.csv | 0 {bidgely => leetcode/bidgely}/all.csv | 0 .../bidgely}/more-than-six-months.csv | 0 {billcom => leetcode/billcom}/all.csv | 0 .../billcom}/more-than-six-months.csv | 0 {bitgo => leetcode/bitgo}/all.csv | 0 .../bitgo}/more-than-six-months.csv | 0 {bitgo => leetcode/bitgo}/six-months.csv | 0 {bitgo => leetcode/bitgo}/three-months.csv | 0 {blackbuck => leetcode/blackbuck}/all.csv | 0 .../blackbuck}/more-than-six-months.csv | 0 {blackrock => leetcode/blackrock}/all.csv | 0 .../blackrock}/more-than-six-months.csv | 0 .../blackrock}/six-months.csv | 0 .../blackrock}/three-months.csv | 0 {blackstone => leetcode/blackstone}/all.csv | 0 .../blackstone}/more-than-six-months.csv | 0 {blend => leetcode/blend}/all.csv | 0 .../blend}/more-than-six-months.csv | 0 {blend => leetcode/blend}/six-months.csv | 0 {blinkit => leetcode/blinkit}/all.csv | 0 .../blinkit}/more-than-six-months.csv | 0 {blizzard => leetcode/blizzard}/all.csv | 0 .../blizzard}/more-than-six-months.csv | 0 {bloomberg => leetcode/bloomberg}/all.csv | 0 .../bloomberg}/more-than-six-months.csv | 0 .../bloomberg}/six-months.csv | 0 .../bloomberg}/thirty-days.csv | 0 .../bloomberg}/three-months.csv | 0 {bloomreach => leetcode/bloomreach}/all.csv | 0 .../bloomreach}/more-than-six-months.csv | 0 {blue-origin => leetcode/blue-origin}/all.csv | 0 .../blue-origin}/more-than-six-months.csv | 0 {blue-yonder => leetcode/blue-yonder}/all.csv | 0 .../blue-yonder}/more-than-six-months.csv | 0 {bnp-paribas => leetcode/bnp-paribas}/all.csv | 0 .../bnp-paribas}/more-than-six-months.csv | 0 {bny-mellon => leetcode/bny-mellon}/all.csv | 0 .../bny-mellon}/more-than-six-months.csv | 0 .../bny-mellon}/six-months.csv | 0 {boeing => leetcode/boeing}/all.csv | 0 .../boeing}/more-than-six-months.csv | 0 {bolt => leetcode/bolt}/all.csv | 0 .../bolt}/more-than-six-months.csv | 0 {bolt => leetcode/bolt}/six-months.csv | 0 {bookingcom => leetcode/bookingcom}/all.csv | 0 .../bookingcom}/more-than-six-months.csv | 0 .../bookingcom}/six-months.csv | 0 {bosch => leetcode/bosch}/all.csv | 0 .../bosch}/more-than-six-months.csv | 0 {box => leetcode/box}/all.csv | 0 .../box}/more-than-six-months.csv | 0 {box => leetcode/box}/six-months.csv | 0 {box => leetcode/box}/three-months.csv | 0 {bp => leetcode/bp}/all.csv | 0 {bp => leetcode/bp}/more-than-six-months.csv | 0 {braze => leetcode/braze}/all.csv | 0 .../braze}/more-than-six-months.csv | 0 {brex => leetcode/brex}/all.csv | 0 .../brex}/more-than-six-months.csv | 0 .../bridgewater-associates}/all.csv | 0 .../more-than-six-months.csv | 0 {brillio => leetcode/brillio}/all.csv | 0 {broadcom => leetcode/broadcom}/all.csv | 0 .../broadcom}/more-than-six-months.csv | 0 .../browserstack}/all.csv | 0 {bt-group => leetcode/bt-group}/all.csv | 0 .../bt-group}/more-than-six-months.csv | 0 {buyhatke => leetcode/buyhatke}/all.csv | 0 .../buyhatke}/more-than-six-months.csv | 0 {bytedance => leetcode/bytedance}/all.csv | 0 .../bytedance}/more-than-six-months.csv | 0 .../bytedance}/six-months.csv | 0 .../bytedance}/three-months.csv | 0 {c3-ai => leetcode/c3-ai}/all.csv | 0 {c3-ai => leetcode/c3-ai}/six-months.csv | 0 {c3-ai => leetcode/c3-ai}/three-months.csv | 0 {caastle => leetcode/caastle}/all.csv | 0 .../caastle}/more-than-six-months.csv | 0 {cadence => leetcode/cadence}/all.csv | 0 .../cadence}/more-than-six-months.csv | 0 {cadence => leetcode/cadence}/six-months.csv | 0 {canonical => leetcode/canonical}/all.csv | 0 .../canonical}/more-than-six-months.csv | 0 .../canonical}/six-months.csv | 0 {canva => leetcode/canva}/all.csv | 0 .../canva}/more-than-six-months.csv | 0 {canva => leetcode/canva}/six-months.csv | 0 {capgemini => leetcode/capgemini}/all.csv | 0 .../capgemini}/more-than-six-months.csv | 0 .../capgemini}/six-months.csv | 0 .../capgemini}/three-months.csv | 0 {capital-one => leetcode/capital-one}/all.csv | 0 .../capital-one}/more-than-six-months.csv | 0 .../capital-one}/six-months.csv | 0 .../capital-one}/thirty-days.csv | 0 .../capital-one}/three-months.csv | 0 {careem => leetcode/careem}/all.csv | 0 .../careem}/more-than-six-months.csv | 0 {careem => leetcode/careem}/six-months.csv | 0 {careem => leetcode/careem}/thirty-days.csv | 0 {careem => leetcode/careem}/three-months.csv | 0 {cars24 => leetcode/cars24}/all.csv | 0 .../cars24}/more-than-six-months.csv | 0 {carwale => leetcode/carwale}/all.csv | 0 .../carwale}/more-than-six-months.csv | 0 {cashfree => leetcode/cashfree}/all.csv | 0 .../cashfree}/more-than-six-months.csv | 0 {caterpillar => leetcode/caterpillar}/all.csv | 0 {cedcoss => leetcode/cedcoss}/all.csv | 0 .../cedcoss}/more-than-six-months.csv | 0 {celigo => leetcode/celigo}/all.csv | 0 .../celigo}/more-than-six-months.csv | 0 {chalo => leetcode/chalo}/all.csv | 0 .../chalo}/more-than-six-months.csv | 0 {chargebee => leetcode/chargebee}/all.csv | 0 .../chargebee}/six-months.csv | 0 {chewy => leetcode/chewy}/all.csv | 0 .../chewy}/more-than-six-months.csv | 0 {chime => leetcode/chime}/all.csv | 0 .../chime}/more-than-six-months.csv | 0 {chronus => leetcode/chronus}/all.csv | 0 .../chronus}/more-than-six-months.csv | 0 {chubb => leetcode/chubb}/all.csv | 0 .../chubb}/more-than-six-months.csv | 0 {ciena => leetcode/ciena}/all.csv | 0 .../ciena}/more-than-six-months.csv | 0 {circle => leetcode/circle}/all.csv | 0 .../circle}/more-than-six-months.csv | 0 {cisco => leetcode/cisco}/all.csv | 0 .../cisco}/more-than-six-months.csv | 0 {cisco => leetcode/cisco}/six-months.csv | 0 {cisco => leetcode/cisco}/thirty-days.csv | 0 {cisco => leetcode/cisco}/three-months.csv | 0 {citadel => leetcode/citadel}/all.csv | 0 .../citadel}/more-than-six-months.csv | 0 {citadel => leetcode/citadel}/six-months.csv | 0 {citadel => leetcode/citadel}/thirty-days.csv | 0 .../citadel}/three-months.csv | 0 {citi => leetcode/citi}/all.csv | 0 .../citi}/more-than-six-months.csv | 0 {citrix => leetcode/citrix}/all.csv | 0 .../citrix}/more-than-six-months.csv | 0 {clari => leetcode/clari}/all.csv | 0 .../clari}/more-than-six-months.csv | 0 {cleartax => leetcode/cleartax}/all.csv | 0 .../cleartax}/more-than-six-months.csv | 0 {cleartrip => leetcode/cleartrip}/all.csv | 0 .../cleartrip}/more-than-six-months.csv | 0 .../cleartrip}/six-months.csv | 0 {cloudera => leetcode/cloudera}/all.csv | 0 .../cloudera}/more-than-six-months.csv | 0 {cloudflare => leetcode/cloudflare}/all.csv | 0 .../cloudflare}/more-than-six-months.csv | 0 .../cloudflare}/six-months.csv | 0 .../cloudflare}/thirty-days.csv | 0 .../cloudflare}/three-months.csv | 0 {clumio => leetcode/clumio}/all.csv | 0 .../clumio}/more-than-six-months.csv | 0 {clutter => leetcode/clutter}/all.csv | 0 .../clutter}/more-than-six-months.csv | 0 {cme-group => leetcode/cme-group}/all.csv | 0 .../cme-group}/more-than-six-months.csv | 0 .../cme-group}/six-months.csv | 0 .../cme-group}/thirty-days.csv | 0 .../cme-group}/three-months.csv | 0 .../cockroach-labs}/all.csv | 0 .../cockroach-labs}/more-than-six-months.csv | 0 .../cockroach-labs}/six-months.csv | 0 .../cockroach-labs}/thirty-days.csv | 0 .../cockroach-labs}/three-months.csv | 0 {code-studio => leetcode/code-studio}/all.csv | 0 .../code-studio}/more-than-six-months.csv | 0 {codingmart => leetcode/codingmart}/all.csv | 0 .../codingmart}/more-than-six-months.csv | 0 {cognizant => leetcode/cognizant}/all.csv | 0 .../cognizant}/more-than-six-months.csv | 0 .../cognizant}/six-months.csv | 0 .../cognizant}/three-months.csv | 0 {cohesity => leetcode/cohesity}/all.csv | 0 .../cohesity}/more-than-six-months.csv | 0 .../cohesity}/six-months.csv | 0 .../cohesity}/thirty-days.csv | 0 .../cohesity}/three-months.csv | 0 {coinbase => leetcode/coinbase}/all.csv | 0 .../coinbase}/more-than-six-months.csv | 0 .../coinbase}/six-months.csv | 0 .../coinbase}/thirty-days.csv | 0 .../coinbase}/three-months.csv | 0 {coindcx => leetcode/coindcx}/all.csv | 0 .../coindcx}/more-than-six-months.csv | 0 {coindcx => leetcode/coindcx}/six-months.csv | 0 {comcast => leetcode/comcast}/all.csv | 0 .../comcast}/more-than-six-months.csv | 0 {comcast => leetcode/comcast}/six-months.csv | 0 {commvault => leetcode/commvault}/all.csv | 0 .../commvault}/more-than-six-months.csv | 0 {compass => leetcode/compass}/all.csv | 0 .../compass}/more-than-six-months.csv | 0 {compass => leetcode/compass}/six-months.csv | 0 {confluent => leetcode/confluent}/all.csv | 0 .../confluent}/more-than-six-months.csv | 0 .../confluent}/six-months.csv | 0 .../confluent}/thirty-days.csv | 0 .../confluent}/three-months.csv | 0 {consultadd => leetcode/consultadd}/all.csv | 0 .../consultadd}/more-than-six-months.csv | 0 {couchbase => leetcode/couchbase}/all.csv | 0 .../couchbase}/more-than-six-months.csv | 0 .../couchbase}/six-months.csv | 0 {coupang => leetcode/coupang}/all.csv | 0 .../coupang}/more-than-six-months.csv | 0 {coupang => leetcode/coupang}/six-months.csv | 0 .../coupang}/three-months.csv | 0 {coursera => leetcode/coursera}/all.csv | 0 .../coursera}/more-than-six-months.csv | 0 .../coursera}/six-months.csv | 0 .../coursera}/three-months.csv | 0 {coveo => leetcode/coveo}/all.csv | 0 .../coveo}/more-than-six-months.csv | 0 {cred => leetcode/cred}/all.csv | 0 {cred => leetcode/cred}/six-months.csv | 0 {cred => leetcode/cred}/thirty-days.csv | 0 {cred => leetcode/cred}/three-months.csv | 0 .../credit-karma}/all.csv | 0 .../credit-karma}/more-than-six-months.csv | 0 {criteo => leetcode/criteo}/all.csv | 0 .../criteo}/more-than-six-months.csv | 0 {criteo => leetcode/criteo}/six-months.csv | 0 {criteo => leetcode/criteo}/three-months.csv | 0 {crowdstrike => leetcode/crowdstrike}/all.csv | 0 .../crowdstrike}/more-than-six-months.csv | 0 .../crowdstrike}/six-months.csv | 0 .../crowdstrike}/three-months.csv | 0 .../cruise-automation}/all.csv | 0 .../more-than-six-months.csv | 0 .../cruise-automation}/six-months.csv | 0 {ctc => leetcode/ctc}/all.csv | 0 .../ctc}/more-than-six-months.csv | 0 {curefit => leetcode/curefit}/all.csv | 0 .../curefit}/more-than-six-months.csv | 0 {cvent => leetcode/cvent}/all.csv | 0 .../cvent}/more-than-six-months.csv | 0 {cyntexa => leetcode/cyntexa}/all.csv | 0 .../cyntexa}/more-than-six-months.csv | 0 {cyware => leetcode/cyware}/all.csv | 0 .../cyware}/more-than-six-months.csv | 0 {dailyhunt => leetcode/dailyhunt}/all.csv | 0 .../dailyhunt}/more-than-six-months.csv | 0 {darwinbox => leetcode/darwinbox}/all.csv | 0 .../darwinbox}/more-than-six-months.csv | 0 .../darwinbox}/six-months.csv | 0 .../darwinbox}/thirty-days.csv | 0 .../darwinbox}/three-months.csv | 0 .../dassault-sysetmes}/all.csv | 0 .../more-than-six-months.csv | 0 {databricks => leetcode/databricks}/all.csv | 0 .../databricks}/more-than-six-months.csv | 0 .../databricks}/six-months.csv | 0 .../databricks}/thirty-days.csv | 0 .../databricks}/three-months.csv | 0 {datadog => leetcode/datadog}/all.csv | 0 .../datadog}/more-than-six-months.csv | 0 {datadog => leetcode/datadog}/six-months.csv | 0 .../datadog}/three-months.csv | 0 {dataminr => leetcode/dataminr}/all.csv | 0 .../dataminr}/more-than-six-months.csv | 0 {de-shaw => leetcode/de-shaw}/all.csv | 0 .../de-shaw}/more-than-six-months.csv | 0 {de-shaw => leetcode/de-shaw}/six-months.csv | 0 {de-shaw => leetcode/de-shaw}/thirty-days.csv | 0 .../de-shaw}/three-months.csv | 0 {deepmind => leetcode/deepmind}/all.csv | 0 .../deepmind}/more-than-six-months.csv | 0 {delhivery => leetcode/delhivery}/all.csv | 0 .../delhivery}/more-than-six-months.csv | 0 {deliveroo => leetcode/deliveroo}/all.csv | 0 .../deliveroo}/more-than-six-months.csv | 0 {dell => leetcode/dell}/all.csv | 0 .../dell}/more-than-six-months.csv | 0 {dell => leetcode/dell}/six-months.csv | 0 {dell => leetcode/dell}/three-months.csv | 0 {deloitte => leetcode/deloitte}/all.csv | 0 .../deloitte}/more-than-six-months.csv | 0 .../deloitte}/six-months.csv | 0 .../deloitte}/thirty-days.csv | 0 .../deloitte}/three-months.csv | 0 {deltax => leetcode/deltax}/all.csv | 0 .../deltax}/more-than-six-months.csv | 0 .../deutsche-bank}/all.csv | 0 .../deutsche-bank}/more-than-six-months.csv | 0 {devrev => leetcode/devrev}/all.csv | 0 .../devrev}/more-than-six-months.csv | 0 {devsinc => leetcode/devsinc}/all.csv | 0 .../devsinc}/more-than-six-months.csv | 0 {devtron => leetcode/devtron}/all.csv | 0 .../devtron}/more-than-six-months.csv | 0 {dialpad => leetcode/dialpad}/all.csv | 0 {dialpad => leetcode/dialpad}/six-months.csv | 0 {didi => leetcode/didi}/all.csv | 0 .../didi}/more-than-six-months.csv | 0 {directi => leetcode/directi}/all.csv | 0 .../directi}/more-than-six-months.csv | 0 {discord => leetcode/discord}/all.csv | 0 .../discord}/more-than-six-months.csv | 0 {disney => leetcode/disney}/all.csv | 0 .../disney}/more-than-six-months.csv | 0 {disney => leetcode/disney}/six-months.csv | 0 {dji => leetcode/dji}/all.csv | 0 {docusign => leetcode/docusign}/all.csv | 0 .../docusign}/more-than-six-months.csv | 0 .../docusign}/six-months.csv | 0 .../docusign}/thirty-days.csv | 0 .../docusign}/three-months.csv | 0 {doordash => leetcode/doordash}/all.csv | 0 .../doordash}/more-than-six-months.csv | 0 .../doordash}/six-months.csv | 0 .../doordash}/thirty-days.csv | 0 .../doordash}/three-months.csv | 0 {dp-world => leetcode/dp-world}/all.csv | 0 .../dp-world}/more-than-six-months.csv | 0 .../dp-world}/six-months.csv | 0 {drawbridge => leetcode/drawbridge}/all.csv | 0 .../drawbridge}/more-than-six-months.csv | 0 {dream11 => leetcode/dream11}/all.csv | 0 .../dream11}/more-than-six-months.csv | 0 {dream11 => leetcode/dream11}/six-months.csv | 0 .../dream11}/three-months.csv | 0 {dropbox => leetcode/dropbox}/all.csv | 0 .../dropbox}/more-than-six-months.csv | 0 {dropbox => leetcode/dropbox}/six-months.csv | 0 .../dropbox}/three-months.csv | 0 {druva => leetcode/druva}/all.csv | 0 .../druva}/more-than-six-months.csv | 0 {drw => leetcode/drw}/all.csv | 0 .../drw}/more-than-six-months.csv | 0 {drw => leetcode/drw}/six-months.csv | 0 {dtcc => leetcode/dtcc}/all.csv | 0 .../dtcc}/more-than-six-months.csv | 0 {dunzo => leetcode/dunzo}/all.csv | 0 .../dunzo}/more-than-six-months.csv | 0 {duolingo => leetcode/duolingo}/all.csv | 0 .../duolingo}/more-than-six-months.csv | 0 .../duolingo}/six-months.csv | 0 {dxc => leetcode/dxc}/all.csv | 0 .../dxc}/more-than-six-months.csv | 0 {earnin => leetcode/earnin}/all.csv | 0 .../earnin}/more-than-six-months.csv | 0 {ebay => leetcode/ebay}/all.csv | 0 .../ebay}/more-than-six-months.csv | 0 {ebay => leetcode/ebay}/six-months.csv | 0 {ebay => leetcode/ebay}/thirty-days.csv | 0 {ebay => leetcode/ebay}/three-months.csv | 0 {edelweiss => leetcode/edelweiss}/all.csv | 0 .../edelweiss}/more-than-six-months.csv | 0 {elbit => leetcode/elbit}/all.csv | 0 .../elbit}/more-than-six-months.csv | 0 .../electronic-arts}/all.csv | 0 .../electronic-arts}/more-than-six-months.csv | 0 {elitmus => leetcode/elitmus}/all.csv | 0 .../elitmus}/more-than-six-months.csv | 0 {envoy => leetcode/envoy}/all.csv | 0 .../envoy}/more-than-six-months.csv | 0 .../epam-systems}/all.csv | 0 .../epam-systems}/more-than-six-months.csv | 0 .../epam-systems}/six-months.csv | 0 .../epam-systems}/three-months.csv | 0 {epic-games => leetcode/epic-games}/all.csv | 0 .../epic-games}/more-than-six-months.csv | 0 .../epic-systems}/all.csv | 0 .../epic-systems}/more-than-six-months.csv | 0 .../epic-systems}/six-months.csv | 0 .../epic-systems}/three-months.csv | 0 {epifi => leetcode/epifi}/all.csv | 0 {ericsson => leetcode/ericsson}/all.csv | 0 .../ericsson}/more-than-six-months.csv | 0 {etsy => leetcode/etsy}/all.csv | 0 .../etsy}/more-than-six-months.csv | 0 {etsy => leetcode/etsy}/six-months.csv | 0 {expedia => leetcode/expedia}/all.csv | 0 .../expedia}/more-than-six-months.csv | 0 {expedia => leetcode/expedia}/six-months.csv | 0 {ey => leetcode/ey}/all.csv | 0 {ey => leetcode/ey}/more-than-six-months.csv | 0 {f5-networks => leetcode/f5-networks}/all.csv | 0 .../f5-networks}/more-than-six-months.csv | 0 {facebook => leetcode/facebook}/all.csv | 0 .../facebook}/more-than-six-months.csv | 0 .../facebook}/six-months.csv | 0 .../facebook}/thirty-days.csv | 0 .../facebook}/three-months.csv | 0 {factset => leetcode/factset}/all.csv | 0 .../factset}/more-than-six-months.csv | 0 {factwise => leetcode/factwise}/all.csv | 0 {faire => leetcode/faire}/all.csv | 0 .../faire}/more-than-six-months.csv | 0 {faire => leetcode/faire}/six-months.csv | 0 {faire => leetcode/faire}/thirty-days.csv | 0 {faire => leetcode/faire}/three-months.csv | 0 {fallible => leetcode/fallible}/all.csv | 0 .../fallible}/more-than-six-months.csv | 0 {fastenal => leetcode/fastenal}/all.csv | 0 .../fastenal}/more-than-six-months.csv | 0 {fico => leetcode/fico}/all.csv | 0 .../fico}/more-than-six-months.csv | 0 {fidelity => leetcode/fidelity}/all.csv | 0 .../fidelity}/more-than-six-months.csv | 0 {fidessa => leetcode/fidessa}/all.csv | 0 {fiverr => leetcode/fiverr}/all.csv | 0 .../fiverr}/more-than-six-months.csv | 0 .../flatiron-health}/all.csv | 0 .../flatiron-health}/more-than-six-months.csv | 0 .../flatiron-health}/six-months.csv | 0 .../flatiron-health}/thirty-days.csv | 0 .../flatiron-health}/three-months.csv | 0 {fleetx => leetcode/fleetx}/all.csv | 0 .../fleetx}/more-than-six-months.csv | 0 {flexera => leetcode/flexera}/all.csv | 0 .../flexera}/more-than-six-months.csv | 0 {flexport => leetcode/flexport}/all.csv | 0 .../flexport}/more-than-six-months.csv | 0 .../flexport}/six-months.csv | 0 .../flexport}/three-months.csv | 0 {flipkart => leetcode/flipkart}/all.csv | 0 .../flipkart}/more-than-six-months.csv | 0 .../flipkart}/six-months.csv | 0 .../flipkart}/three-months.csv | 0 {ford => leetcode/ford}/all.csv | 0 .../ford}/more-than-six-months.csv | 0 {fortinet => leetcode/fortinet}/all.csv | 0 .../fortinet}/more-than-six-months.csv | 0 .../fortinet}/six-months.csv | 0 .../fortinet}/three-months.csv | 0 {forusall => leetcode/forusall}/all.csv | 0 .../forusall}/more-than-six-months.csv | 0 {fourkites => leetcode/fourkites}/all.csv | 0 .../fourkites}/more-than-six-months.csv | 0 {fpt => leetcode/fpt}/all.csv | 0 .../fpt}/more-than-six-months.csv | 0 .../fractal-analytics}/all.csv | 0 .../more-than-six-months.csv | 0 .../fractal-analytics}/six-months.csv | 0 .../fractal-analytics}/thirty-days.csv | 0 .../fractal-analytics}/three-months.csv | 0 {freecharge => leetcode/freecharge}/all.csv | 0 .../freecharge}/more-than-six-months.csv | 0 .../freecharge}/six-months.csv | 0 {freshworks => leetcode/freshworks}/all.csv | 0 .../freshworks}/more-than-six-months.csv | 0 {fynd => leetcode/fynd}/all.csv | 0 {gainsight => leetcode/gainsight}/all.csv | 0 .../gainsight}/more-than-six-months.csv | 0 {gameskraft => leetcode/gameskraft}/all.csv | 0 .../gameskraft}/more-than-six-months.csv | 0 {garena => leetcode/garena}/all.csv | 0 .../garena}/more-than-six-months.csv | 0 {garmin => leetcode/garmin}/all.csv | 0 .../garmin}/more-than-six-months.csv | 0 {garmin => leetcode/garmin}/six-months.csv | 0 {garmin => leetcode/garmin}/three-months.csv | 0 {gartner => leetcode/gartner}/all.csv | 0 .../gartner}/more-than-six-months.csv | 0 {gartner => leetcode/gartner}/six-months.csv | 0 {ge-digital => leetcode/ge-digital}/all.csv | 0 .../ge-digital}/more-than-six-months.csv | 0 .../ge-healthcare}/all.csv | 0 .../ge-healthcare}/more-than-six-months.csv | 0 {geico => leetcode/geico}/all.csv | 0 .../geico}/more-than-six-months.csv | 0 {geico => leetcode/geico}/six-months.csv | 0 {geico => leetcode/geico}/three-months.csv | 0 .../general-electric}/all.csv | 0 .../more-than-six-months.csv | 0 .../general-motors}/all.csv | 0 .../general-motors}/more-than-six-months.csv | 0 .../general-motors}/six-months.csv | 0 .../general-motors}/thirty-days.csv | 0 .../general-motors}/three-months.csv | 0 {genpact => leetcode/genpact}/all.csv | 0 .../genpact}/more-than-six-months.csv | 0 {gilt-groupe => leetcode/gilt-groupe}/all.csv | 0 .../gilt-groupe}/more-than-six-months.csv | 0 {github => leetcode/github}/all.csv | 0 {github => leetcode/github}/six-months.csv | 0 {glassdoor => leetcode/glassdoor}/all.csv | 0 .../glassdoor}/more-than-six-months.csv | 0 {globallogic => leetcode/globallogic}/all.csv | 0 .../globallogic}/more-than-six-months.csv | 0 .../globallogic}/six-months.csv | 0 {globant => leetcode/globant}/all.csv | 0 .../globant}/more-than-six-months.csv | 0 {glovo => leetcode/glovo}/all.csv | 0 {glovo => leetcode/glovo}/six-months.csv | 0 {godaddy => leetcode/godaddy}/all.csv | 0 .../godaddy}/more-than-six-months.csv | 0 {gojek => leetcode/gojek}/all.csv | 0 .../gojek}/more-than-six-months.csv | 0 .../goldman-sachs}/all.csv | 0 .../goldman-sachs}/more-than-six-months.csv | 0 .../goldman-sachs}/six-months.csv | 0 .../goldman-sachs}/thirty-days.csv | 0 .../goldman-sachs}/three-months.csv | 0 {google => leetcode/google}/all.csv | 0 .../google}/more-than-six-months.csv | 0 {google => leetcode/google}/six-months.csv | 0 {google => leetcode/google}/thirty-days.csv | 0 {google => leetcode/google}/three-months.csv | 0 {gopuff => leetcode/gopuff}/all.csv | 0 {gopuff => leetcode/gopuff}/six-months.csv | 0 {grab => leetcode/grab}/all.csv | 0 .../grab}/more-than-six-months.csv | 0 {grab => leetcode/grab}/six-months.csv | 0 {grab => leetcode/grab}/thirty-days.csv | 0 {grab => leetcode/grab}/three-months.csv | 0 {grammarly => leetcode/grammarly}/all.csv | 0 .../grammarly}/more-than-six-months.csv | 0 .../grammarly}/six-months.csv | 0 .../grammarly}/thirty-days.csv | 0 .../grammarly}/three-months.csv | 0 {graviton => leetcode/graviton}/all.csv | 0 .../graviton}/more-than-six-months.csv | 0 .../grid-dynamics}/all.csv | 0 .../grid-dynamics}/more-than-six-months.csv | 0 {groupon => leetcode/groupon}/all.csv | 0 .../groupon}/more-than-six-months.csv | 0 {groww => leetcode/groww}/all.csv | 0 .../groww}/more-than-six-months.csv | 0 {grubhub => leetcode/grubhub}/all.csv | 0 .../grubhub}/more-than-six-months.csv | 0 {gsa-capital => leetcode/gsa-capital}/all.csv | 0 .../gsa-capital}/more-than-six-months.csv | 0 {gsn-games => leetcode/gsn-games}/all.csv | 0 .../gsn-games}/more-than-six-months.csv | 0 {guidewire => leetcode/guidewire}/all.csv | 0 .../guidewire}/more-than-six-months.csv | 0 .../guidewire}/six-months.csv | 0 .../guidewire}/thirty-days.csv | 0 .../guidewire}/three-months.csv | 0 {gusto => leetcode/gusto}/all.csv | 0 .../gusto}/more-than-six-months.csv | 0 {gusto => leetcode/gusto}/six-months.csv | 0 {gusto => leetcode/gusto}/three-months.csv | 0 {harman => leetcode/harman}/all.csv | 0 .../harman}/more-than-six-months.csv | 0 {harness => leetcode/harness}/all.csv | 0 .../harness}/more-than-six-months.csv | 0 {hashedin => leetcode/hashedin}/all.csv | 0 .../hashedin}/more-than-six-months.csv | 0 .../hashedin}/six-months.csv | 0 .../hashedin}/three-months.csv | 0 {hbo => leetcode/hbo}/all.csv | 0 .../hbo}/more-than-six-months.csv | 0 {hcl => leetcode/hcl}/all.csv | 0 .../hcl}/more-than-six-months.csv | 0 {hcl => leetcode/hcl}/six-months.csv | 0 {heb => leetcode/heb}/all.csv | 0 .../heb}/more-than-six-months.csv | 0 {helix => leetcode/helix}/all.csv | 0 .../helix}/more-than-six-months.csv | 0 {hertz => leetcode/hertz}/all.csv | 0 .../hertz}/more-than-six-months.csv | 0 {highspot => leetcode/highspot}/all.csv | 0 .../highspot}/more-than-six-months.csv | 0 {hilabs => leetcode/hilabs}/all.csv | 0 .../hilabs}/more-than-six-months.csv | 0 {hive => leetcode/hive}/all.csv | 0 .../hive}/more-than-six-months.csv | 0 {hiver => leetcode/hiver}/all.csv | 0 .../hiver}/more-than-six-months.csv | 0 {honey => leetcode/honey}/all.csv | 0 {honeywell => leetcode/honeywell}/all.csv | 0 .../honeywell}/more-than-six-months.csv | 0 {hopper => leetcode/hopper}/all.csv | 0 {hopper => leetcode/hopper}/six-months.csv | 0 {hopper => leetcode/hopper}/three-months.csv | 0 {hotstar => leetcode/hotstar}/all.csv | 0 .../hotstar}/more-than-six-months.csv | 0 {houzz => leetcode/houzz}/all.csv | 0 .../houzz}/more-than-six-months.csv | 0 {hp => leetcode/hp}/all.csv | 0 {hp => leetcode/hp}/more-than-six-months.csv | 0 {hpe => leetcode/hpe}/all.csv | 0 .../hpe}/more-than-six-months.csv | 0 {hrt => leetcode/hrt}/all.csv | 0 .../hrt}/more-than-six-months.csv | 0 {hsbc => leetcode/hsbc}/all.csv | 0 .../hsbc}/more-than-six-months.csv | 0 {hsbc => leetcode/hsbc}/six-months.csv | 0 {hsbc => leetcode/hsbc}/three-months.csv | 0 {huawei => leetcode/huawei}/all.csv | 0 .../huawei}/more-than-six-months.csv | 0 {hubspot => leetcode/hubspot}/all.csv | 0 .../hubspot}/more-than-six-months.csv | 0 {hubspot => leetcode/hubspot}/six-months.csv | 0 .../hubspot}/three-months.csv | 0 {hulu => leetcode/hulu}/all.csv | 0 .../hulu}/more-than-six-months.csv | 0 {hyperverge => leetcode/hyperverge}/all.csv | 0 .../hyperverge}/more-than-six-months.csv | 0 {ibm => leetcode/ibm}/all.csv | 0 .../ibm}/more-than-six-months.csv | 0 {ibm => leetcode/ibm}/six-months.csv | 0 {ibm => leetcode/ibm}/thirty-days.csv | 0 {ibm => leetcode/ibm}/three-months.csv | 0 {iit-bombay => leetcode/iit-bombay}/all.csv | 0 .../iit-bombay}/more-than-six-months.csv | 0 {imc => leetcode/imc}/all.csv | 0 .../imc}/more-than-six-months.csv | 0 .../impact-analytics}/all.csv | 0 .../more-than-six-months.csv | 0 {increff => leetcode/increff}/all.csv | 0 .../increff}/more-than-six-months.csv | 0 {indeed => leetcode/indeed}/all.csv | 0 .../indeed}/more-than-six-months.csv | 0 {indmoney => leetcode/indmoney}/all.csv | 0 .../indmoney}/more-than-six-months.csv | 0 {info-edge => leetcode/info-edge}/all.csv | 0 .../info-edge}/more-than-six-months.csv | 0 .../info-edge}/six-months.csv | 0 {informatica => leetcode/informatica}/all.csv | 0 .../informatica}/more-than-six-months.csv | 0 {infosys => leetcode/infosys}/all.csv | 0 .../infosys}/more-than-six-months.csv | 0 {infosys => leetcode/infosys}/six-months.csv | 0 {infosys => leetcode/infosys}/thirty-days.csv | 0 .../infosys}/three-months.csv | 0 {inmobi => leetcode/inmobi}/all.csv | 0 .../inmobi}/more-than-six-months.csv | 0 {innovaccer => leetcode/innovaccer}/all.csv | 0 .../innovaccer}/more-than-six-months.csv | 0 .../innovaccer}/six-months.csv | 0 {instabase => leetcode/instabase}/all.csv | 0 .../instabase}/more-than-six-months.csv | 0 {instacart => leetcode/instacart}/all.csv | 0 .../instacart}/more-than-six-months.csv | 0 .../instacart}/six-months.csv | 0 .../instacart}/thirty-days.csv | 0 .../instacart}/three-months.csv | 0 {intel => leetcode/intel}/all.csv | 0 .../intel}/more-than-six-months.csv | 0 {intel => leetcode/intel}/six-months.csv | 0 .../interactive-brokers}/all.csv | 0 .../more-than-six-months.csv | 0 {intercom => leetcode/intercom}/all.csv | 0 .../intercom}/more-than-six-months.csv | 0 .../intercom}/six-months.csv | 0 {intuit => leetcode/intuit}/all.csv | 0 .../intuit}/more-than-six-months.csv | 0 {intuit => leetcode/intuit}/six-months.csv | 0 {intuit => leetcode/intuit}/thirty-days.csv | 0 {intuit => leetcode/intuit}/three-months.csv | 0 {ion => leetcode/ion}/all.csv | 0 .../ion}/more-than-six-months.csv | 0 {ivp => leetcode/ivp}/all.csv | 0 .../ivp}/more-than-six-months.csv | 0 {ixigo => leetcode/ixigo}/all.csv | 0 .../ixigo}/more-than-six-months.csv | 0 {ixl => leetcode/ixl}/all.csv | 0 .../ixl}/more-than-six-months.csv | 0 {ixl => leetcode/ixl}/six-months.csv | 0 {ixl => leetcode/ixl}/three-months.csv | 0 {jane-street => leetcode/jane-street}/all.csv | 0 .../jane-street}/more-than-six-months.csv | 0 {jd => leetcode/jd}/all.csv | 0 {jd => leetcode/jd}/six-months.csv | 0 {jeavio => leetcode/jeavio}/all.csv | 0 .../jeavio}/more-than-six-months.csv | 0 {jetbrains => leetcode/jetbrains}/all.csv | 0 .../jetbrains}/more-than-six-months.csv | 0 {jingchi => leetcode/jingchi}/all.csv | 0 .../jingchi}/more-than-six-months.csv | 0 {jio => leetcode/jio}/all.csv | 0 .../jio}/more-than-six-months.csv | 0 .../josh-technology}/all.csv | 0 .../josh-technology}/more-than-six-months.csv | 0 .../josh-technology}/six-months.csv | 0 .../josh-technology}/thirty-days.csv | 0 .../josh-technology}/three-months.csv | 0 {jpmorgan => leetcode/jpmorgan}/all.csv | 0 .../jpmorgan}/more-than-six-months.csv | 0 .../jpmorgan}/six-months.csv | 0 .../jpmorgan}/thirty-days.csv | 0 .../jpmorgan}/three-months.csv | 0 {jtg => leetcode/jtg}/all.csv | 0 .../jtg}/more-than-six-months.csv | 0 .../jump-trading}/all.csv | 0 .../jump-trading}/more-than-six-months.csv | 0 .../jump-trading}/six-months.csv | 0 .../junglee-games}/all.csv | 0 .../junglee-games}/more-than-six-months.csv | 0 {juniper => leetcode/juniper}/all.csv | 0 .../juniper}/more-than-six-months.csv | 0 {juspay => leetcode/juspay}/all.csv | 0 .../juspay}/more-than-six-months.csv | 0 {juspay => leetcode/juspay}/six-months.csv | 0 {juspay => leetcode/juspay}/three-months.csv | 0 {justworks => leetcode/justworks}/all.csv | 0 .../justworks}/more-than-six-months.csv | 0 {kakao => leetcode/kakao}/all.csv | 0 .../kakao}/more-than-six-months.csv | 0 {karat => leetcode/karat}/all.csv | 0 .../karat}/more-than-six-months.csv | 0 {karat => leetcode/karat}/six-months.csv | 0 {karat => leetcode/karat}/thirty-days.csv | 0 {karat => leetcode/karat}/three-months.csv | 0 {keeptruckin => leetcode/keeptruckin}/all.csv | 0 .../keeptruckin}/more-than-six-months.csv | 0 .../keeptruckin}/six-months.csv | 0 .../keeptruckin}/three-months.csv | 0 {kla-tencor => leetcode/kla-tencor}/all.csv | 0 .../kla-tencor}/more-than-six-months.csv | 0 .../kla-tencor}/six-months.csv | 0 {kla => leetcode/kla}/all.csv | 0 .../kla}/more-than-six-months.csv | 0 {kla => leetcode/kla}/six-months.csv | 0 {kla => leetcode/kla}/thirty-days.csv | 0 {kla => leetcode/kla}/three-months.csv | 0 {komprise => leetcode/komprise}/all.csv | 0 .../komprise}/more-than-six-months.csv | 0 .../kotak-mahindra-bank}/all.csv | 0 .../more-than-six-months.csv | 0 {kpit => leetcode/kpit}/all.csv | 0 .../kpit}/more-than-six-months.csv | 0 {kpmg => leetcode/kpmg}/all.csv | 0 {kpmg => leetcode/kpmg}/six-months.csv | 0 {lacework => leetcode/lacework}/all.csv | 0 .../lacework}/more-than-six-months.csv | 0 .../larsen-toubro}/all.csv | 0 .../larsen-toubro}/more-than-six-months.csv | 0 {leap-motion => leetcode/leap-motion}/all.csv | 0 .../leap-motion}/more-than-six-months.csv | 0 {lendingkart => leetcode/lendingkart}/all.csv | 0 {lenskart => leetcode/lenskart}/all.csv | 0 .../lenskart}/more-than-six-months.csv | 0 .../lg-electronics}/all.csv | 0 .../lg-electronics}/more-than-six-months.csv | 0 .../lg-electronics}/six-months.csv | 0 {licious => leetcode/licious}/all.csv | 0 .../licious}/more-than-six-months.csv | 0 {liftoff => leetcode/liftoff}/all.csv | 0 .../liftoff}/more-than-six-months.csv | 0 {liftoff => leetcode/liftoff}/six-months.csv | 0 .../liftoff}/three-months.csv | 0 {lime => leetcode/lime}/all.csv | 0 .../lime}/more-than-six-months.csv | 0 {lime => leetcode/lime}/six-months.csv | 0 {line => leetcode/line}/all.csv | 0 .../line}/more-than-six-months.csv | 0 {line => leetcode/line}/six-months.csv | 0 {line => leetcode/line}/three-months.csv | 0 {linkedin => leetcode/linkedin}/all.csv | 0 .../linkedin}/more-than-six-months.csv | 0 .../linkedin}/six-months.csv | 0 .../linkedin}/thirty-days.csv | 0 .../linkedin}/three-months.csv | 0 {liveramp => leetcode/liveramp}/all.csv | 0 .../liveramp}/more-than-six-months.csv | 0 {livspace => leetcode/livspace}/all.csv | 0 .../livspace}/six-months.csv | 0 .../livspace}/three-months.csv | 0 {lowe => leetcode/lowe}/all.csv | 0 .../lowe}/more-than-six-months.csv | 0 {lti => leetcode/lti}/all.csv | 0 .../lti}/more-than-six-months.csv | 0 {lucid => leetcode/lucid}/all.csv | 0 .../lucid}/more-than-six-months.csv | 0 {lucid => leetcode/lucid}/six-months.csv | 0 {lucid => leetcode/lucid}/thirty-days.csv | 0 {lucid => leetcode/lucid}/three-months.csv | 0 {luxoft => leetcode/luxoft}/all.csv | 0 .../luxoft}/more-than-six-months.csv | 0 {luxoft => leetcode/luxoft}/six-months.csv | 0 {lyft => leetcode/lyft}/all.csv | 0 .../lyft}/more-than-six-months.csv | 0 {lyft => leetcode/lyft}/six-months.csv | 0 {lyft => leetcode/lyft}/thirty-days.csv | 0 {lyft => leetcode/lyft}/three-months.csv | 0 .../machine-zone}/all.csv | 0 .../machine-zone}/more-than-six-months.csv | 0 {machinezone => leetcode/machinezone}/all.csv | 0 .../machinezone}/more-than-six-months.csv | 0 {maersk => leetcode/maersk}/all.csv | 0 .../maersk}/more-than-six-months.csv | 0 {makemytrip => leetcode/makemytrip}/all.csv | 0 .../makemytrip}/more-than-six-months.csv | 0 {mapbox => leetcode/mapbox}/all.csv | 0 .../maq-software}/all.csv | 0 .../maq-software}/more-than-six-months.csv | 0 {marqeta => leetcode/marqeta}/all.csv | 0 .../marqeta}/more-than-six-months.csv | 0 {marqeta => leetcode/marqeta}/six-months.csv | 0 {marqeta => leetcode/marqeta}/thirty-days.csv | 0 .../marqeta}/three-months.csv | 0 {mastercard => leetcode/mastercard}/all.csv | 0 .../mastercard}/more-than-six-months.csv | 0 .../mastercard}/six-months.csv | 0 .../mastercard}/three-months.csv | 0 {mathworks => leetcode/mathworks}/all.csv | 0 .../mathworks}/more-than-six-months.csv | 0 .../mathworks}/six-months.csv | 0 .../mathworks}/three-months.csv | 0 {mcafee => leetcode/mcafee}/all.csv | 0 .../mcafee}/more-than-six-months.csv | 0 {mckinsey => leetcode/mckinsey}/all.csv | 0 .../mckinsey}/more-than-six-months.csv | 0 {medianet => leetcode/medianet}/all.csv | 0 .../medianet}/more-than-six-months.csv | 0 .../medianet}/six-months.csv | 0 .../medianet}/thirty-days.csv | 0 .../medianet}/three-months.csv | 0 {meesho => leetcode/meesho}/all.csv | 0 .../meesho}/more-than-six-months.csv | 0 {meesho => leetcode/meesho}/six-months.csv | 0 {meesho => leetcode/meesho}/thirty-days.csv | 0 {meesho => leetcode/meesho}/three-months.csv | 0 {meituan => leetcode/meituan}/all.csv | 0 .../meituan}/more-than-six-months.csv | 0 {mercari => leetcode/mercari}/all.csv | 0 .../mercari}/more-than-six-months.csv | 0 {micro1 => leetcode/micro1}/all.csv | 0 .../micro1}/more-than-six-months.csv | 0 {microsoft => leetcode/microsoft}/all.csv | 0 .../microsoft}/more-than-six-months.csv | 0 .../microsoft}/six-months.csv | 0 .../microsoft}/thirty-days.csv | 0 .../microsoft}/three-months.csv | 0 .../microstrategy}/all.csv | 0 .../microstrategy}/more-than-six-months.csv | 0 {millennium => leetcode/millennium}/all.csv | 0 .../millennium}/more-than-six-months.csv | 0 .../millennium}/six-months.csv | 0 {mindtickle => leetcode/mindtickle}/all.csv | 0 .../mindtickle}/more-than-six-months.csv | 0 {mindtree => leetcode/mindtree}/all.csv | 0 .../mindtree}/more-than-six-months.csv | 0 {miro => leetcode/miro}/all.csv | 0 .../miro}/more-than-six-months.csv | 0 {mishipay => leetcode/mishipay}/all.csv | 0 .../mishipay}/more-than-six-months.csv | 0 {mitsogo => leetcode/mitsogo}/all.csv | 0 .../mitsogo}/more-than-six-months.csv | 0 {mixpanel => leetcode/mixpanel}/all.csv | 0 .../mixpanel}/more-than-six-months.csv | 0 .../mixpanel}/six-months.csv | 0 .../mixpanel}/three-months.csv | 0 {mobileye => leetcode/mobileye}/all.csv | 0 .../mobileye}/more-than-six-months.csv | 0 {mobisy => leetcode/mobisy}/all.csv | 0 .../mobisy}/more-than-six-months.csv | 0 {moengage => leetcode/moengage}/all.csv | 0 .../moengage}/more-than-six-months.csv | 0 {moloco => leetcode/moloco}/all.csv | 0 .../moloco}/more-than-six-months.csv | 0 {moloco => leetcode/moloco}/six-months.csv | 0 {moneylion => leetcode/moneylion}/all.csv | 0 .../moneylion}/more-than-six-months.csv | 0 {mongodb => leetcode/mongodb}/all.csv | 0 .../mongodb}/more-than-six-months.csv | 0 {mongodb => leetcode/mongodb}/six-months.csv | 0 .../mongodb}/three-months.csv | 0 .../morgan-stanley}/all.csv | 0 .../morgan-stanley}/more-than-six-months.csv | 0 .../morgan-stanley}/six-months.csv | 0 .../morgan-stanley}/three-months.csv | 0 {motorola => leetcode/motorola}/all.csv | 0 .../motorola}/more-than-six-months.csv | 0 {mountblue => leetcode/mountblue}/all.csv | 0 .../mountblue}/more-than-six-months.csv | 0 {moveworks => leetcode/moveworks}/all.csv | 0 .../moveworks}/more-than-six-months.csv | 0 .../moveworks}/six-months.csv | 0 .../moveworks}/three-months.csv | 0 {msci => leetcode/msci}/all.csv | 0 .../msci}/more-than-six-months.csv | 0 {mts => leetcode/mts}/all.csv | 0 .../mts}/more-than-six-months.csv | 0 {murex => leetcode/murex}/all.csv | 0 .../murex}/more-than-six-months.csv | 0 {mykaarma => leetcode/mykaarma}/all.csv | 0 .../mykaarma}/more-than-six-months.csv | 0 {myntra => leetcode/myntra}/all.csv | 0 .../myntra}/more-than-six-months.csv | 0 {myntra => leetcode/myntra}/six-months.csv | 0 {nagarro => leetcode/nagarro}/all.csv | 0 .../nagarro}/more-than-six-months.csv | 0 .../national-instruments}/all.csv | 0 .../more-than-six-months.csv | 0 .../all.csv | 0 .../more-than-six-months.csv | 0 {navan => leetcode/navan}/all.csv | 0 .../navan}/more-than-six-months.csv | 0 {navan => leetcode/navan}/six-months.csv | 0 {navan => leetcode/navan}/three-months.csv | 0 {naver => leetcode/naver}/all.csv | 0 .../naver}/more-than-six-months.csv | 0 {navi => leetcode/navi}/all.csv | 0 .../navi}/more-than-six-months.csv | 0 {ncr => leetcode/ncr}/all.csv | 0 .../ncr}/more-than-six-months.csv | 0 {nerdwallet => leetcode/nerdwallet}/all.csv | 0 {netapp => leetcode/netapp}/all.csv | 0 .../netapp}/more-than-six-months.csv | 0 {netapp => leetcode/netapp}/six-months.csv | 0 .../netcracker-technology}/all.csv | 0 .../netcracker-technology}/six-months.csv | 0 .../netcracker-technology}/three-months.csv | 0 {netease => leetcode/netease}/all.csv | 0 .../netease}/more-than-six-months.csv | 0 {netflix => leetcode/netflix}/all.csv | 0 .../netflix}/more-than-six-months.csv | 0 {netflix => leetcode/netflix}/six-months.csv | 0 {netflix => leetcode/netflix}/thirty-days.csv | 0 .../netflix}/three-months.csv | 0 {netskope => leetcode/netskope}/all.csv | 0 .../netskope}/more-than-six-months.csv | 0 .../netskope}/six-months.csv | 0 {netsuite => leetcode/netsuite}/all.csv | 0 .../netsuite}/more-than-six-months.csv | 0 {newsbreak => leetcode/newsbreak}/all.csv | 0 .../newsbreak}/six-months.csv | 0 .../newsbreak}/three-months.csv | 0 {nextdoor => leetcode/nextdoor}/all.csv | 0 .../nextdoor}/more-than-six-months.csv | 0 .../nextdoor}/six-months.csv | 0 {nextjump => leetcode/nextjump}/all.csv | 0 .../nextjump}/more-than-six-months.csv | 0 {nference => leetcode/nference}/all.csv | 0 .../nference}/more-than-six-months.csv | 0 {niantic => leetcode/niantic}/all.csv | 0 .../niantic}/more-than-six-months.csv | 0 {nielsen => leetcode/nielsen}/all.csv | 0 .../nielsen}/more-than-six-months.csv | 0 {nike => leetcode/nike}/all.csv | 0 .../nike}/more-than-six-months.csv | 0 {nike => leetcode/nike}/six-months.csv | 0 {nike => leetcode/nike}/thirty-days.csv | 0 {nike => leetcode/nike}/three-months.csv | 0 {ninjacart => leetcode/ninjacart}/all.csv | 0 .../ninjacart}/more-than-six-months.csv | 0 {nokia => leetcode/nokia}/all.csv | 0 .../nokia}/more-than-six-months.csv | 0 {nordstrom => leetcode/nordstrom}/all.csv | 0 .../nordstrom}/more-than-six-months.csv | 0 .../nordstrom}/six-months.csv | 0 .../nordstrom}/three-months.csv | 0 {notion => leetcode/notion}/all.csv | 0 .../notion}/more-than-six-months.csv | 0 {npci => leetcode/npci}/all.csv | 0 .../npci}/more-than-six-months.csv | 0 {nuro => leetcode/nuro}/all.csv | 0 .../nuro}/more-than-six-months.csv | 0 {nuro => leetcode/nuro}/six-months.csv | 0 {nuro => leetcode/nuro}/thirty-days.csv | 0 {nuro => leetcode/nuro}/three-months.csv | 0 {nutanix => leetcode/nutanix}/all.csv | 0 .../nutanix}/more-than-six-months.csv | 0 {nutanix => leetcode/nutanix}/six-months.csv | 0 {nutanix => leetcode/nutanix}/thirty-days.csv | 0 .../nutanix}/three-months.csv | 0 {nvidia => leetcode/nvidia}/all.csv | 0 .../nvidia}/more-than-six-months.csv | 0 {nvidia => leetcode/nvidia}/six-months.csv | 0 {nvidia => leetcode/nvidia}/thirty-days.csv | 0 {nvidia => leetcode/nvidia}/three-months.csv | 0 {nykaa => leetcode/nykaa}/all.csv | 0 .../nykaa}/more-than-six-months.csv | 0 {nykaa => leetcode/nykaa}/six-months.csv | 0 {observeai => leetcode/observeai}/all.csv | 0 .../observeai}/more-than-six-months.csv | 0 .../observeai}/six-months.csv | 0 {odoo => leetcode/odoo}/all.csv | 0 .../odoo}/more-than-six-months.csv | 0 {okta => leetcode/okta}/all.csv | 0 .../okta}/more-than-six-months.csv | 0 {okx => leetcode/okx}/all.csv | 0 .../okx}/more-than-six-months.csv | 0 {ola => leetcode/ola}/all.csv | 0 .../ola}/more-than-six-months.csv | 0 {olx => leetcode/olx}/all.csv | 0 {olx => leetcode/olx}/six-months.csv | 0 {openai => leetcode/openai}/all.csv | 0 .../openai}/more-than-six-months.csv | 0 {openai => leetcode/openai}/six-months.csv | 0 {openai => leetcode/openai}/three-months.csv | 0 {opendoor => leetcode/opendoor}/all.csv | 0 .../opendoor}/more-than-six-months.csv | 0 {opentext => leetcode/opentext}/all.csv | 0 .../opentext}/more-than-six-months.csv | 0 {oppo => leetcode/oppo}/all.csv | 0 {optiver => leetcode/optiver}/all.csv | 0 .../optiver}/more-than-six-months.csv | 0 {optum => leetcode/optum}/all.csv | 0 .../optum}/more-than-six-months.csv | 0 {oracle => leetcode/oracle}/all.csv | 0 .../oracle}/more-than-six-months.csv | 0 {oracle => leetcode/oracle}/six-months.csv | 0 {oracle => leetcode/oracle}/thirty-days.csv | 0 {oracle => leetcode/oracle}/three-months.csv | 0 .../oscar-health}/all.csv | 0 .../oscar-health}/more-than-six-months.csv | 0 .../oscar-health}/six-months.csv | 0 .../oscar-health}/thirty-days.csv | 0 .../oscar-health}/three-months.csv | 0 {otterai => leetcode/otterai}/all.csv | 0 .../otterai}/more-than-six-months.csv | 0 {oyo => leetcode/oyo}/all.csv | 0 .../oyo}/more-than-six-months.csv | 0 {oyo => leetcode/oyo}/six-months.csv | 0 {oyo => leetcode/oyo}/three-months.csv | 0 {ozon => leetcode/ozon}/all.csv | 0 .../ozon}/more-than-six-months.csv | 0 {ozon => leetcode/ozon}/six-months.csv | 0 {ozon => leetcode/ozon}/three-months.csv | 0 .../palantir-technologies}/all.csv | 0 .../more-than-six-months.csv | 0 .../palantir-technologies}/six-months.csv | 0 .../palantir-technologies}/three-months.csv | 0 .../palo-alto-networks}/all.csv | 0 .../more-than-six-months.csv | 0 .../palo-alto-networks}/six-months.csv | 0 .../palo-alto-networks}/three-months.csv | 0 {park => leetcode/park}/all.csv | 0 .../park}/more-than-six-months.csv | 0 {patreon => leetcode/patreon}/all.csv | 0 .../patreon}/more-than-six-months.csv | 0 {patreon => leetcode/patreon}/six-months.csv | 0 {paycom => leetcode/paycom}/all.csv | 0 .../paycom}/more-than-six-months.csv | 0 {paypal => leetcode/paypal}/all.csv | 0 .../paypal}/more-than-six-months.csv | 0 {paypal => leetcode/paypal}/six-months.csv | 0 {paypal => leetcode/paypal}/thirty-days.csv | 0 {paypal => leetcode/paypal}/three-months.csv | 0 {paypay => leetcode/paypay}/all.csv | 0 .../paypay}/more-than-six-months.csv | 0 {paypay => leetcode/paypay}/six-months.csv | 0 {paypay => leetcode/paypay}/three-months.csv | 0 {paytm => leetcode/paytm}/all.csv | 0 .../paytm}/more-than-six-months.csv | 0 {paytm => leetcode/paytm}/six-months.csv | 0 {payu => leetcode/payu}/all.csv | 0 .../payu}/more-than-six-months.csv | 0 {peak6 => leetcode/peak6}/all.csv | 0 {pega => leetcode/pega}/all.csv | 0 {peloton => leetcode/peloton}/all.csv | 0 .../peloton}/more-than-six-months.csv | 0 .../persistent-systems}/all.csv | 0 .../more-than-six-months.csv | 0 .../persistent-systems}/six-months.csv | 0 {philips => leetcode/philips}/all.csv | 0 {philips => leetcode/philips}/six-months.csv | 0 {phonepe => leetcode/phonepe}/all.csv | 0 .../phonepe}/more-than-six-months.csv | 0 {phonepe => leetcode/phonepe}/six-months.csv | 0 {phonepe => leetcode/phonepe}/thirty-days.csv | 0 .../phonepe}/three-months.csv | 0 {pickrr => leetcode/pickrr}/all.csv | 0 .../pickrr}/more-than-six-months.csv | 0 {pinterest => leetcode/pinterest}/all.csv | 0 .../pinterest}/more-than-six-months.csv | 0 .../pinterest}/six-months.csv | 0 .../pinterest}/thirty-days.csv | 0 .../pinterest}/three-months.csv | 0 {plaid => leetcode/plaid}/all.csv | 0 {plaid => leetcode/plaid}/six-months.csv | 0 {plaid => leetcode/plaid}/three-months.csv | 0 {pocket-gems => leetcode/pocket-gems}/all.csv | 0 .../pocket-gems}/more-than-six-months.csv | 0 {point72 => leetcode/point72}/all.csv | 0 .../point72}/more-than-six-months.csv | 0 {polar => leetcode/polar}/all.csv | 0 .../polar}/more-than-six-months.csv | 0 {ponyai => leetcode/ponyai}/all.csv | 0 .../ponyai}/more-than-six-months.csv | 0 {pornhub => leetcode/pornhub}/all.csv | 0 .../pornhub}/more-than-six-months.csv | 0 {porter => leetcode/porter}/all.csv | 0 .../porter}/more-than-six-months.csv | 0 {poshmark => leetcode/poshmark}/all.csv | 0 .../poshmark}/more-than-six-months.csv | 0 {postman => leetcode/postman}/all.csv | 0 {postmates => leetcode/postmates}/all.csv | 0 .../postmates}/more-than-six-months.csv | 0 {poynt => leetcode/poynt}/all.csv | 0 .../poynt}/more-than-six-months.csv | 0 {practo => leetcode/practo}/all.csv | 0 .../practo}/more-than-six-months.csv | 0 .../publicis-sapient}/all.csv | 0 .../more-than-six-months.csv | 0 .../publicis-sapient}/six-months.csv | 0 {pubmatic => leetcode/pubmatic}/all.csv | 0 .../pubmatic}/more-than-six-months.csv | 0 .../pure-storage}/all.csv | 0 .../pure-storage}/more-than-six-months.csv | 0 .../pure-storage}/six-months.csv | 0 .../pure-storage}/three-months.csv | 0 {pure => leetcode/pure}/all.csv | 0 {pure => leetcode/pure}/six-months.csv | 0 {purplle => leetcode/purplle}/all.csv | 0 .../purplle}/more-than-six-months.csv | 0 {pwc => leetcode/pwc}/all.csv | 0 .../pwc}/more-than-six-months.csv | 0 {pwc => leetcode/pwc}/six-months.csv | 0 {qburst => leetcode/qburst}/all.csv | 0 .../qburst}/more-than-six-months.csv | 0 {qualcomm => leetcode/qualcomm}/all.csv | 0 .../qualcomm}/more-than-six-months.csv | 0 .../qualcomm}/six-months.csv | 0 .../qualcomm}/three-months.csv | 0 {qualtrics => leetcode/qualtrics}/all.csv | 0 .../qualtrics}/more-than-six-months.csv | 0 .../qualtrics}/six-months.csv | 0 {qualys => leetcode/qualys}/all.csv | 0 .../qualys}/more-than-six-months.csv | 0 {quantcast => leetcode/quantcast}/all.csv | 0 .../quantcast}/six-months.csv | 0 .../quantcast}/three-months.csv | 0 {quince => leetcode/quince}/all.csv | 0 .../quince}/more-than-six-months.csv | 0 {quince => leetcode/quince}/six-months.csv | 0 {quince => leetcode/quince}/thirty-days.csv | 0 {quince => leetcode/quince}/three-months.csv | 0 {qumulo => leetcode/qumulo}/all.csv | 0 .../qumulo}/more-than-six-months.csv | 0 {quora => leetcode/quora}/all.csv | 0 .../quora}/more-than-six-months.csv | 0 {quora => leetcode/quora}/six-months.csv | 0 {quora => leetcode/quora}/three-months.csv | 0 {rackspace => leetcode/rackspace}/all.csv | 0 .../rackspace}/more-than-six-months.csv | 0 {radius => leetcode/radius}/all.csv | 0 .../radius}/more-than-six-months.csv | 0 {rakuten => leetcode/rakuten}/all.csv | 0 .../rakuten}/more-than-six-months.csv | 0 {rakuten => leetcode/rakuten}/six-months.csv | 0 {rakuten => leetcode/rakuten}/thirty-days.csv | 0 .../rakuten}/three-months.csv | 0 {ramp-2 => leetcode/ramp-2}/all.csv | 0 .../ramp-2}/more-than-six-months.csv | 0 {ramp-2 => leetcode/ramp-2}/six-months.csv | 0 {ramp-2 => leetcode/ramp-2}/three-months.csv | 0 {razorpay => leetcode/razorpay}/all.csv | 0 .../razorpay}/more-than-six-months.csv | 0 .../razorpay}/six-months.csv | 0 {rbc => leetcode/rbc}/all.csv | 0 .../rbc}/more-than-six-months.csv | 0 {rbc => leetcode/rbc}/six-months.csv | 0 {redbus => leetcode/redbus}/all.csv | 0 .../redbus}/more-than-six-months.csv | 0 {reddit => leetcode/reddit}/all.csv | 0 .../reddit}/more-than-six-months.csv | 0 {reddit => leetcode/reddit}/six-months.csv | 0 {redfin => leetcode/redfin}/all.csv | 0 {redfin => leetcode/redfin}/six-months.csv | 0 {remitly => leetcode/remitly}/all.csv | 0 .../remitly}/more-than-six-months.csv | 0 {remitly => leetcode/remitly}/six-months.csv | 0 .../remitly}/three-months.csv | 0 {retailmenot => leetcode/retailmenot}/all.csv | 0 .../retailmenot}/more-than-six-months.csv | 0 {revolut => leetcode/revolut}/all.csv | 0 .../revolut}/more-than-six-months.csv | 0 {revolut => leetcode/revolut}/six-months.csv | 0 .../revolut}/three-months.csv | 0 {riot-games => leetcode/riot-games}/all.csv | 0 .../riot-games}/more-than-six-months.csv | 0 .../riot-games}/six-months.csv | 0 {ripple => leetcode/ripple}/all.csv | 0 .../ripple}/more-than-six-months.csv | 0 {ripple => leetcode/ripple}/six-months.csv | 0 {ripple => leetcode/ripple}/three-months.csv | 0 {rippling => leetcode/rippling}/all.csv | 0 .../rippling}/more-than-six-months.csv | 0 .../rippling}/six-months.csv | 0 {rivian => leetcode/rivian}/all.csv | 0 .../rivian}/more-than-six-months.csv | 0 {rivian => leetcode/rivian}/six-months.csv | 0 {rivian => leetcode/rivian}/three-months.csv | 0 {robinhood => leetcode/robinhood}/all.csv | 0 .../robinhood}/more-than-six-months.csv | 0 .../robinhood}/six-months.csv | 0 .../robinhood}/three-months.csv | 0 {roblox => leetcode/roblox}/all.csv | 0 .../roblox}/more-than-six-months.csv | 0 {roblox => leetcode/roblox}/six-months.csv | 0 {roblox => leetcode/roblox}/thirty-days.csv | 0 {roblox => leetcode/roblox}/three-months.csv | 0 {roche => leetcode/roche}/all.csv | 0 .../roche}/more-than-six-months.csv | 0 {rokt => leetcode/rokt}/all.csv | 0 .../rokt}/more-than-six-months.csv | 0 {rokt => leetcode/rokt}/six-months.csv | 0 {roku => leetcode/roku}/all.csv | 0 .../roku}/more-than-six-months.csv | 0 {roku => leetcode/roku}/six-months.csv | 0 {roku => leetcode/roku}/three-months.csv | 0 {rubrik => leetcode/rubrik}/all.csv | 0 .../rubrik}/more-than-six-months.csv | 0 {rubrik => leetcode/rubrik}/six-months.csv | 0 {rubrik => leetcode/rubrik}/three-months.csv | 0 {salesforce => leetcode/salesforce}/all.csv | 0 .../salesforce}/more-than-six-months.csv | 0 .../salesforce}/six-months.csv | 0 .../salesforce}/thirty-days.csv | 0 .../salesforce}/three-months.csv | 0 {sambanova => leetcode/sambanova}/all.csv | 0 {samsara => leetcode/samsara}/all.csv | 0 .../samsara}/more-than-six-months.csv | 0 {samsara => leetcode/samsara}/six-months.csv | 0 {samsung => leetcode/samsung}/all.csv | 0 .../samsung}/more-than-six-months.csv | 0 {samsung => leetcode/samsung}/six-months.csv | 0 .../samsung}/three-months.csv | 0 {sap => leetcode/sap}/all.csv | 0 .../sap}/more-than-six-months.csv | 0 {sap => leetcode/sap}/six-months.csv | 0 {sap => leetcode/sap}/three-months.csv | 0 {scale-ai => leetcode/scale-ai}/all.csv | 0 .../scale-ai}/more-than-six-months.csv | 0 .../schneider-electric}/all.csv | 0 .../more-than-six-months.csv | 0 {schrodinger => leetcode/schrodinger}/all.csv | 0 .../schrodinger}/more-than-six-months.csv | 0 {sentry => leetcode/sentry}/all.csv | 0 .../sentry}/more-than-six-months.csv | 0 {servicenow => leetcode/servicenow}/all.csv | 0 .../servicenow}/more-than-six-months.csv | 0 .../servicenow}/six-months.csv | 0 .../servicenow}/three-months.csv | 0 {sharechat => leetcode/sharechat}/all.csv | 0 .../sharechat}/more-than-six-months.csv | 0 .../shift-technology}/all.csv | 0 .../more-than-six-months.csv | 0 {shipsy => leetcode/shipsy}/all.csv | 0 .../shipsy}/more-than-six-months.csv | 0 {shopee => leetcode/shopee}/all.csv | 0 .../shopee}/more-than-six-months.csv | 0 {shopee => leetcode/shopee}/six-months.csv | 0 {shopify => leetcode/shopify}/all.csv | 0 .../shopify}/more-than-six-months.csv | 0 {shopify => leetcode/shopify}/six-months.csv | 0 .../shopify}/three-months.csv | 0 {siemens => leetcode/siemens}/all.csv | 0 .../siemens}/more-than-six-months.csv | 0 {siemens => leetcode/siemens}/six-months.csv | 0 {sig => leetcode/sig}/all.csv | 0 .../sig}/more-than-six-months.csv | 0 {sig => leetcode/sig}/six-months.csv | 0 {sigmoid => leetcode/sigmoid}/all.csv | 0 .../sigmoid}/more-than-six-months.csv | 0 {sigmoid => leetcode/sigmoid}/six-months.csv | 0 .../sigmoid}/three-months.csv | 0 {singlestore => leetcode/singlestore}/all.csv | 0 .../singlestore}/more-than-six-months.csv | 0 {sixt => leetcode/sixt}/all.csv | 0 .../sixt}/more-than-six-months.csv | 0 {slice => leetcode/slice}/all.csv | 0 .../slice}/more-than-six-months.csv | 0 {smartnews => leetcode/smartnews}/all.csv | 0 .../smartnews}/more-than-six-months.csv | 0 {smartsheet => leetcode/smartsheet}/all.csv | 0 .../smartsheet}/more-than-six-months.csv | 0 {snapchat => leetcode/snapchat}/all.csv | 0 .../snapchat}/more-than-six-months.csv | 0 .../snapchat}/six-months.csv | 0 .../snapchat}/three-months.csv | 0 {snapdeal => leetcode/snapdeal}/all.csv | 0 .../snapdeal}/more-than-six-months.csv | 0 {snowflake => leetcode/snowflake}/all.csv | 0 .../snowflake}/more-than-six-months.csv | 0 .../snowflake}/six-months.csv | 0 .../snowflake}/thirty-days.csv | 0 .../snowflake}/three-months.csv | 0 .../societe-generale}/all.csv | 0 .../more-than-six-months.csv | 0 {sofi => leetcode/sofi}/all.csv | 0 .../sofi}/more-than-six-months.csv | 0 {sofi => leetcode/sofi}/six-months.csv | 0 {sofi => leetcode/sofi}/three-months.csv | 0 {software-ag => leetcode/software-ag}/all.csv | 0 .../software-ag}/more-than-six-months.csv | 0 {softwire => leetcode/softwire}/all.csv | 0 .../softwire}/more-than-six-months.csv | 0 .../softwire}/six-months.csv | 0 {sony => leetcode/sony}/all.csv | 0 .../sony}/more-than-six-months.csv | 0 {soti => leetcode/soti}/all.csv | 0 .../soti}/more-than-six-months.csv | 0 {soundhound => leetcode/soundhound}/all.csv | 0 .../soundhound}/more-than-six-months.csv | 0 {spacex => leetcode/spacex}/all.csv | 0 .../spacex}/more-than-six-months.csv | 0 {spinny => leetcode/spinny}/all.csv | 0 .../spinny}/more-than-six-months.csv | 0 {spinny => leetcode/spinny}/six-months.csv | 0 {spinny => leetcode/spinny}/three-months.csv | 0 {splunk => leetcode/splunk}/all.csv | 0 .../splunk}/more-than-six-months.csv | 0 {splunk => leetcode/splunk}/six-months.csv | 0 {spotify => leetcode/spotify}/all.csv | 0 .../spotify}/more-than-six-months.csv | 0 {spotify => leetcode/spotify}/six-months.csv | 0 {spotify => leetcode/spotify}/thirty-days.csv | 0 .../spotify}/three-months.csv | 0 {sprinklr => leetcode/sprinklr}/all.csv | 0 .../sprinklr}/more-than-six-months.csv | 0 {square => leetcode/square}/all.csv | 0 .../square}/more-than-six-months.csv | 0 {square => leetcode/square}/six-months.csv | 0 .../squarepoint-capital}/all.csv | 0 .../more-than-six-months.csv | 0 .../squarepoint-capital}/six-months.csv | 0 {squarespace => leetcode/squarespace}/all.csv | 0 .../squarespace}/more-than-six-months.csv | 0 .../squarespace}/six-months.csv | 0 .../squarespace}/three-months.csv | 0 {src => leetcode/src}/main/java/Main.java | 0 {src => leetcode/src}/main/java/Scraper.java | 0 .../main/java/model/ProblemStatement.java | 0 {stackadapt => leetcode/stackadapt}/all.csv | 0 .../stackadapt}/more-than-six-months.csv | 0 {stackline => leetcode/stackline}/all.csv | 0 .../stackline}/more-than-six-months.csv | 0 .../stackline}/six-months.csv | 0 {starbucks => leetcode/starbucks}/all.csv | 0 .../starbucks}/six-months.csv | 0 .../starbucks}/three-months.csv | 0 {state-farm => leetcode/state-farm}/all.csv | 0 .../state-farm}/six-months.csv | 0 {strava => leetcode/strava}/all.csv | 0 .../strava}/more-than-six-months.csv | 0 {stripe => leetcode/stripe}/all.csv | 0 .../stripe}/more-than-six-months.csv | 0 {stripe => leetcode/stripe}/six-months.csv | 0 {stripe => leetcode/stripe}/thirty-days.csv | 0 {stripe => leetcode/stripe}/three-months.csv | 0 {sumologic => leetcode/sumologic}/all.csv | 0 .../sumologic}/more-than-six-months.csv | 0 .../susquehanna-international-group}/all.csv | 0 {swiggy => leetcode/swiggy}/all.csv | 0 .../swiggy}/more-than-six-months.csv | 0 {swiggy => leetcode/swiggy}/six-months.csv | 0 {swiggy => leetcode/swiggy}/thirty-days.csv | 0 {swiggy => leetcode/swiggy}/three-months.csv | 0 {syfe => leetcode/syfe}/all.csv | 0 .../syfe}/more-than-six-months.csv | 0 {synology => leetcode/synology}/all.csv | 0 .../synology}/more-than-six-months.csv | 0 {synopsys => leetcode/synopsys}/all.csv | 0 .../synopsys}/more-than-six-months.csv | 0 {ta-digital => leetcode/ta-digital}/all.csv | 0 .../ta-digital}/more-than-six-months.csv | 0 {tableau => leetcode/tableau}/all.csv | 0 .../tableau}/more-than-six-months.csv | 0 .../tally-solutions}/all.csv | 0 .../tally-solutions}/more-than-six-months.csv | 0 {tanium => leetcode/tanium}/all.csv | 0 .../tanium}/more-than-six-months.csv | 0 {tanium => leetcode/tanium}/six-months.csv | 0 {target => leetcode/target}/all.csv | 0 .../target}/more-than-six-months.csv | 0 {tcs => leetcode/tcs}/all.csv | 0 .../tcs}/more-than-six-months.csv | 0 {tcs => leetcode/tcs}/six-months.csv | 0 {tcs => leetcode/tcs}/thirty-days.csv | 0 {tcs => leetcode/tcs}/three-months.csv | 0 .../tech-mahindra}/all.csv | 0 .../tech-mahindra}/more-than-six-months.csv | 0 {tekion => leetcode/tekion}/all.csv | 0 .../tekion}/more-than-six-months.csv | 0 {tekion => leetcode/tekion}/six-months.csv | 0 {tekion => leetcode/tekion}/three-months.csv | 0 {tencent => leetcode/tencent}/all.csv | 0 .../tencent}/more-than-six-months.csv | 0 {tencent => leetcode/tencent}/six-months.csv | 0 .../tencent}/three-months.csv | 0 {teradata => leetcode/teradata}/all.csv | 0 .../teradata}/more-than-six-months.csv | 0 {tesco => leetcode/tesco}/all.csv | 0 .../tesco}/more-than-six-months.csv | 0 {tesco => leetcode/tesco}/six-months.csv | 0 {tesla => leetcode/tesla}/all.csv | 0 .../tesla}/more-than-six-months.csv | 0 {tesla => leetcode/tesla}/six-months.csv | 0 {tesla => leetcode/tesla}/three-months.csv | 0 .../texas-instruments}/all.csv | 0 .../more-than-six-months.csv | 0 .../the-trade-desk}/all.csv | 0 .../the-trade-desk}/more-than-six-months.csv | 0 .../the-trade-desk}/six-months.csv | 0 .../thomson-reuters}/all.csv | 0 .../thomson-reuters}/more-than-six-months.csv | 0 {thoughtspot => leetcode/thoughtspot}/all.csv | 0 .../thoughtspot}/more-than-six-months.csv | 0 .../thoughtworks}/all.csv | 0 .../thoughtworks}/more-than-six-months.csv | 0 .../thousandeyes}/all.csv | 0 .../thousandeyes}/more-than-six-months.csv | 0 {thumbtack => leetcode/thumbtack}/all.csv | 0 .../thumbtack}/more-than-six-months.csv | 0 {tiaa => leetcode/tiaa}/all.csv | 0 .../tiaa}/more-than-six-months.csv | 0 .../tiger-analytics}/all.csv | 0 .../tiger-analytics}/more-than-six-months.csv | 0 .../tiger-analytics}/six-months.csv | 0 .../tiger-analytics}/three-months.csv | 0 {tiktok => leetcode/tiktok}/all.csv | 0 .../tiktok}/more-than-six-months.csv | 0 {tiktok => leetcode/tiktok}/six-months.csv | 0 {tiktok => leetcode/tiktok}/thirty-days.csv | 0 {tiktok => leetcode/tiktok}/three-months.csv | 0 {tinder => leetcode/tinder}/all.csv | 0 .../tinder}/more-than-six-months.csv | 0 {tinkoff => leetcode/tinkoff}/all.csv | 0 .../tinkoff}/more-than-six-months.csv | 0 {toast => leetcode/toast}/all.csv | 0 .../toast}/more-than-six-months.csv | 0 {toast => leetcode/toast}/six-months.csv | 0 {toast => leetcode/toast}/three-months.csv | 0 {tokopedia => leetcode/tokopedia}/all.csv | 0 .../tokopedia}/more-than-six-months.csv | 0 {tomtom => leetcode/tomtom}/all.csv | 0 .../tomtom}/more-than-six-months.csv | 0 {tomtom => leetcode/tomtom}/six-months.csv | 0 {toptal => leetcode/toptal}/all.csv | 0 .../toptal}/more-than-six-months.csv | 0 .../tower-research}/all.csv | 0 .../tower-research}/more-than-six-months.csv | 0 {tracxn => leetcode/tracxn}/all.csv | 0 {tracxn => leetcode/tracxn}/six-months.csv | 0 {traveloka => leetcode/traveloka}/all.csv | 0 .../traveloka}/more-than-six-months.csv | 0 .../traveloka}/six-months.csv | 0 {trexquant => leetcode/trexquant}/all.csv | 0 .../trexquant}/more-than-six-months.csv | 0 {trilogy => leetcode/trilogy}/all.csv | 0 .../trilogy}/more-than-six-months.csv | 0 {trilogy => leetcode/trilogy}/six-months.csv | 0 {trilogy => leetcode/trilogy}/thirty-days.csv | 0 .../trilogy}/three-months.csv | 0 {tripadvisor => leetcode/tripadvisor}/all.csv | 0 .../tripadvisor}/more-than-six-months.csv | 0 .../tripadvisor}/six-months.csv | 0 {triplebyte => leetcode/triplebyte}/all.csv | 0 .../triplebyte}/more-than-six-months.csv | 0 {turing => leetcode/turing}/all.csv | 0 .../turing}/more-than-six-months.csv | 0 {turing => leetcode/turing}/six-months.csv | 0 {turing => leetcode/turing}/three-months.csv | 0 {turo => leetcode/turo}/all.csv | 0 .../turo}/more-than-six-months.csv | 0 {turvo => leetcode/turvo}/all.csv | 0 .../turvo}/more-than-six-months.csv | 0 {tusimple => leetcode/tusimple}/all.csv | 0 .../tusimple}/more-than-six-months.csv | 0 {twilio => leetcode/twilio}/all.csv | 0 .../twilio}/more-than-six-months.csv | 0 {twitch => leetcode/twitch}/all.csv | 0 .../twitch}/more-than-six-months.csv | 0 {twitch => leetcode/twitch}/six-months.csv | 0 {twitch => leetcode/twitch}/three-months.csv | 0 {twitter => leetcode/twitter}/all.csv | 0 .../twitter}/more-than-six-months.csv | 0 {two-sigma => leetcode/two-sigma}/all.csv | 0 .../two-sigma}/more-than-six-months.csv | 0 .../two-sigma}/six-months.csv | 0 {uber => leetcode/uber}/all.csv | 0 .../uber}/more-than-six-months.csv | 0 {uber => leetcode/uber}/six-months.csv | 0 {uber => leetcode/uber}/thirty-days.csv | 0 {uber => leetcode/uber}/three-months.csv | 0 {ubisoft => leetcode/ubisoft}/all.csv | 0 {ubs => leetcode/ubs}/all.csv | 0 .../ubs}/more-than-six-months.csv | 0 {ubs => leetcode/ubs}/six-months.csv | 0 {uipath => leetcode/uipath}/all.csv | 0 .../uipath}/more-than-six-months.csv | 0 {uipath => leetcode/uipath}/six-months.csv | 0 {uipath => leetcode/uipath}/three-months.csv | 0 {ukg => leetcode/ukg}/all.csv | 0 .../ukg}/more-than-six-months.csv | 0 {ukg => leetcode/ukg}/six-months.csv | 0 {ukg => leetcode/ukg}/three-months.csv | 0 {unbxd => leetcode/unbxd}/all.csv | 0 .../unbxd}/more-than-six-months.csv | 0 {unity => leetcode/unity}/all.csv | 0 .../unity}/more-than-six-months.csv | 0 {unstop => leetcode/unstop}/all.csv | 0 .../unstop}/more-than-six-months.csv | 0 {upstart => leetcode/upstart}/all.csv | 0 .../upstart}/more-than-six-months.csv | 0 {upstart => leetcode/upstart}/six-months.csv | 0 .../upstart}/three-months.csv | 0 {upstox => leetcode/upstox}/all.csv | 0 .../urban-company}/all.csv | 0 .../urban-company}/more-than-six-months.csv | 0 {usaa => leetcode/usaa}/all.csv | 0 .../usaa}/more-than-six-months.csv | 0 {ust => leetcode/ust}/all.csv | 0 .../ust}/more-than-six-months.csv | 0 {valve => leetcode/valve}/all.csv | 0 .../valve}/more-than-six-months.csv | 0 {valve => leetcode/valve}/six-months.csv | 0 {vanguard => leetcode/vanguard}/all.csv | 0 .../vanguard}/more-than-six-months.csv | 0 {veeva => leetcode/veeva}/all.csv | 0 .../veeva}/more-than-six-months.csv | 0 {verily => leetcode/verily}/all.csv | 0 .../verily}/more-than-six-months.csv | 0 {verily => leetcode/verily}/six-months.csv | 0 {veritas => leetcode/veritas}/all.csv | 0 .../veritas}/more-than-six-months.csv | 0 {verizon => leetcode/verizon}/all.csv | 0 .../verizon}/more-than-six-months.csv | 0 {verizon => leetcode/verizon}/six-months.csv | 0 {verkada => leetcode/verkada}/all.csv | 0 .../verkada}/more-than-six-months.csv | 0 {verkada => leetcode/verkada}/six-months.csv | 0 .../verkada}/three-months.csv | 0 {viasat => leetcode/viasat}/all.csv | 0 .../viasat}/more-than-six-months.csv | 0 {viasat => leetcode/viasat}/six-months.csv | 0 {vimeo => leetcode/vimeo}/all.csv | 0 .../vimeo}/more-than-six-months.csv | 0 {vimeo => leetcode/vimeo}/six-months.csv | 0 {vimeo => leetcode/vimeo}/three-months.csv | 0 {virtu => leetcode/virtu}/all.csv | 0 .../virtu}/more-than-six-months.csv | 0 {virtu => leetcode/virtu}/six-months.csv | 0 {virtu => leetcode/virtu}/three-months.csv | 0 {virtusa => leetcode/virtusa}/all.csv | 0 .../virtusa}/more-than-six-months.csv | 0 {visa => leetcode/visa}/all.csv | 0 .../visa}/more-than-six-months.csv | 0 {visa => leetcode/visa}/six-months.csv | 0 {visa => leetcode/visa}/three-months.csv | 0 {vk => leetcode/vk}/all.csv | 0 {vk => leetcode/vk}/more-than-six-months.csv | 0 {vk => leetcode/vk}/six-months.csv | 0 {vk => leetcode/vk}/three-months.csv | 0 {vmware => leetcode/vmware}/all.csv | 0 .../vmware}/more-than-six-months.csv | 0 .../walmart-labs}/all.csv | 0 .../walmart-labs}/more-than-six-months.csv | 0 .../walmart-labs}/six-months.csv | 0 .../walmart-labs}/thirty-days.csv | 0 .../walmart-labs}/three-months.csv | 0 {warnermedia => leetcode/warnermedia}/all.csv | 0 .../warnermedia}/more-than-six-months.csv | 0 .../warnermedia}/six-months.csv | 0 .../warnermedia}/three-months.csv | 0 {watchguard => leetcode/watchguard}/all.csv | 0 .../watchguard}/more-than-six-months.csv | 0 {wayfair => leetcode/wayfair}/all.csv | 0 .../wayfair}/more-than-six-months.csv | 0 {wayfair => leetcode/wayfair}/six-months.csv | 0 {waymo => leetcode/waymo}/all.csv | 0 .../waymo}/more-than-six-months.csv | 0 {waymo => leetcode/waymo}/six-months.csv | 0 {waymo => leetcode/waymo}/three-months.csv | 0 {wayve => leetcode/wayve}/all.csv | 0 .../wayve}/more-than-six-months.csv | 0 {wealthfront => leetcode/wealthfront}/all.csv | 0 .../wealthfront}/more-than-six-months.csv | 0 {wells-fargo => leetcode/wells-fargo}/all.csv | 0 .../wells-fargo}/more-than-six-months.csv | 0 {weride => leetcode/weride}/all.csv | 0 .../weride}/more-than-six-months.csv | 0 {weride => leetcode/weride}/six-months.csv | 0 {weride => leetcode/weride}/three-months.csv | 0 .../western-digital}/all.csv | 0 .../western-digital}/six-months.csv | 0 {whatfix => leetcode/whatfix}/all.csv | 0 .../whatfix}/more-than-six-months.csv | 0 {whatnot => leetcode/whatnot}/all.csv | 0 .../whatnot}/more-than-six-months.csv | 0 {whatnot => leetcode/whatnot}/six-months.csv | 0 .../whatnot}/three-months.csv | 0 {winzo => leetcode/winzo}/all.csv | 0 .../winzo}/more-than-six-months.csv | 0 {wipro => leetcode/wipro}/all.csv | 0 .../wipro}/more-than-six-months.csv | 0 {wipro => leetcode/wipro}/six-months.csv | 0 {wipro => leetcode/wipro}/three-months.csv | 0 {wise => leetcode/wise}/all.csv | 0 .../wise}/more-than-six-months.csv | 0 {wish => leetcode/wish}/all.csv | 0 .../wish}/more-than-six-months.csv | 0 {wissen => leetcode/wissen}/all.csv | 0 .../wissen}/more-than-six-months.csv | 0 {wissen => leetcode/wissen}/six-months.csv | 0 {wissen => leetcode/wissen}/three-months.csv | 0 {wix => leetcode/wix}/all.csv | 0 .../wix}/more-than-six-months.csv | 0 {wix => leetcode/wix}/six-months.csv | 0 {wix => leetcode/wix}/three-months.csv | 0 {workday => leetcode/workday}/all.csv | 0 .../workday}/more-than-six-months.csv | 0 {workday => leetcode/workday}/six-months.csv | 0 .../workday}/three-months.csv | 0 .../works-applications}/all.csv | 0 .../more-than-six-months.csv | 0 {worldquant => leetcode/worldquant}/all.csv | 0 .../worldquant}/more-than-six-months.csv | 0 .../worldquant}/six-months.csv | 0 .../worldquant}/three-months.csv | 0 .../woven-by-toyota}/all.csv | 0 .../woven-by-toyota}/six-months.csv | 0 {xiaomi => leetcode/xiaomi}/all.csv | 0 {xing => leetcode/xing}/all.csv | 0 .../xing}/more-than-six-months.csv | 0 {yahoo => leetcode/yahoo}/all.csv | 0 .../yahoo}/more-than-six-months.csv | 0 {yahoo => leetcode/yahoo}/six-months.csv | 0 {yahoo => leetcode/yahoo}/three-months.csv | 0 {yandex => leetcode/yandex}/all.csv | 0 .../yandex}/more-than-six-months.csv | 0 {yandex => leetcode/yandex}/six-months.csv | 0 {yandex => leetcode/yandex}/thirty-days.csv | 0 {yandex => leetcode/yandex}/three-months.csv | 0 {yatra => leetcode/yatra}/all.csv | 0 .../yatra}/more-than-six-months.csv | 0 {yelp => leetcode/yelp}/all.csv | 0 .../yelp}/more-than-six-months.csv | 0 {yelp => leetcode/yelp}/six-months.csv | 0 {yelp => leetcode/yelp}/three-months.csv | 0 {yext => leetcode/yext}/all.csv | 0 .../yext}/more-than-six-months.csv | 0 {zalando => leetcode/zalando}/all.csv | 0 .../zalando}/more-than-six-months.csv | 0 {zappos => leetcode/zappos}/all.csv | 0 .../zappos}/more-than-six-months.csv | 0 {zemoso => leetcode/zemoso}/all.csv | 0 .../zemoso}/more-than-six-months.csv | 0 {zendesk => leetcode/zendesk}/all.csv | 0 .../zendesk}/more-than-six-months.csv | 0 {zenefits => leetcode/zenefits}/all.csv | 0 .../zenefits}/more-than-six-months.csv | 0 {zepto => leetcode/zepto}/all.csv | 0 .../zepto}/more-than-six-months.csv | 0 {zepto => leetcode/zepto}/six-months.csv | 0 {zeta-suite => leetcode/zeta-suite}/all.csv | 0 .../zeta-suite}/more-than-six-months.csv | 0 {zeta => leetcode/zeta}/all.csv | 0 .../zeta}/more-than-six-months.csv | 0 {zeta => leetcode/zeta}/six-months.csv | 0 {zeta => leetcode/zeta}/thirty-days.csv | 0 {zeta => leetcode/zeta}/three-months.csv | 0 {zillow => leetcode/zillow}/all.csv | 0 .../zillow}/more-than-six-months.csv | 0 {zip => leetcode/zip}/all.csv | 0 .../zip}/more-than-six-months.csv | 0 {zip => leetcode/zip}/six-months.csv | 0 {zip => leetcode/zip}/three-months.csv | 0 .../ziprecruiter}/all.csv | 0 .../ziprecruiter}/more-than-six-months.csv | 0 {zluri => leetcode/zluri}/all.csv | 0 .../zluri}/more-than-six-months.csv | 0 {zoho => leetcode/zoho}/all.csv | 0 .../zoho}/more-than-six-months.csv | 0 {zoho => leetcode/zoho}/six-months.csv | 0 {zoho => leetcode/zoho}/thirty-days.csv | 0 {zoho => leetcode/zoho}/three-months.csv | 0 {zomato => leetcode/zomato}/all.csv | 0 .../zomato}/more-than-six-months.csv | 0 {zomato => leetcode/zomato}/six-months.csv | 0 {zomato => leetcode/zomato}/three-months.csv | 0 {zoom => leetcode/zoom}/all.csv | 0 .../zoom}/more-than-six-months.csv | 0 {zoox => leetcode/zoox}/all.csv | 0 .../zoox}/more-than-six-months.csv | 0 {zoox => leetcode/zoox}/six-months.csv | 0 {zoox => leetcode/zoox}/three-months.csv | 0 {zopsmart => leetcode/zopsmart}/all.csv | 0 .../zopsmart}/more-than-six-months.csv | 0 .../zopsmart}/six-months.csv | 0 .../zopsmart}/three-months.csv | 0 .../zs-associates}/all.csv | 0 .../zs-associates}/more-than-six-months.csv | 0 .../zs-associates}/six-months.csv | 0 .../zs-associates}/three-months.csv | 0 {zscaler => leetcode/zscaler}/all.csv | 0 .../zscaler}/more-than-six-months.csv | 0 {zscaler => leetcode/zscaler}/six-months.csv | 0 .../zscaler}/three-months.csv | 0 {zynga => leetcode/zynga}/all.csv | 0 .../zynga}/more-than-six-months.csv | 0 src/Backend/AppContext.cs | 19 ++++ src/Backend/Backend.csproj | 21 ++++ src/Backend/Backend.http | 6 + src/Backend/Controllers/ProblemsController.cs | 46 ++++++++ src/Backend/Models/Internal/Problem.cs | 0 src/Backend/Models/Public/Problem.cs | 1 + src/Backend/Models/Public/QueryParam.cs | 11 ++ src/Backend/Operations/DataProvider.cs | 71 ++++++++++++ src/Backend/Operations/IFilter.cs | 7 ++ src/Backend/Operations/ProblemFilter.cs | 43 +++++++ src/Backend/Program.cs | 83 ++++++++++++++ src/Backend/Properties/launchSettings.json | 41 +++++++ src/Backend/appsettings.Development.json | 8 ++ src/Backend/appsettings.json | 24 ++++ src/Common/Common.csproj | 10 ++ src/Common/Models/Problem.cs | 58 ++++++++++ src/Common/Models/ProblemSchema.cs | 44 ++++++++ src/Common/Program.cs | 9 ++ src/Synchronizer/Helper.cs | 49 ++++++++ src/Synchronizer/ProblemsProcessor.cs | 106 ++++++++++++++++++ src/Synchronizer/Program.cs | 83 ++++++++++++++ src/Synchronizer/Synchronizer.csproj | 20 ++++ 1916 files changed, 808 insertions(+) create mode 100644 leetcode-wrapper.sln rename {1kosmos => leetcode/1kosmos}/all.csv (100%) rename {1kosmos => leetcode/1kosmos}/more-than-six-months.csv (100%) rename {6sense => leetcode/6sense}/all.csv (100%) rename {6sense => leetcode/6sense}/more-than-six-months.csv (100%) rename {6sense => leetcode/6sense}/six-months.csv (100%) rename {accelya => leetcode/accelya}/all.csv (100%) rename {accelya => leetcode/accelya}/more-than-six-months.csv (100%) rename {accenture => leetcode/accenture}/all.csv (100%) rename {accenture => leetcode/accenture}/more-than-six-months.csv (100%) rename {accenture => leetcode/accenture}/six-months.csv (100%) rename {accolite => leetcode/accolite}/all.csv (100%) rename {accolite => leetcode/accolite}/more-than-six-months.csv (100%) rename {accolite => leetcode/accolite}/six-months.csv (100%) rename {accolite => leetcode/accolite}/thirty-days.csv (100%) rename {accolite => leetcode/accolite}/three-months.csv (100%) rename {acko => leetcode/acko}/all.csv (100%) rename {acko => leetcode/acko}/more-than-six-months.csv (100%) rename {acorns => leetcode/acorns}/all.csv (100%) rename {activision => leetcode/activision}/all.csv (100%) rename {activision => leetcode/activision}/more-than-six-months.csv (100%) rename {activision => leetcode/activision}/six-months.csv (100%) rename {addepar => leetcode/addepar}/all.csv (100%) rename {addepar => leetcode/addepar}/more-than-six-months.csv (100%) rename {adobe => leetcode/adobe}/all.csv (100%) rename {adobe => leetcode/adobe}/more-than-six-months.csv (100%) rename {adobe => leetcode/adobe}/six-months.csv (100%) rename {adobe => leetcode/adobe}/thirty-days.csv (100%) rename {adobe => leetcode/adobe}/three-months.csv (100%) rename {adp => leetcode/adp}/all.csv (100%) rename {adp => leetcode/adp}/six-months.csv (100%) rename {aetion => leetcode/aetion}/all.csv (100%) rename {aetion => leetcode/aetion}/more-than-six-months.csv (100%) rename {affinity => leetcode/affinity}/all.csv (100%) rename {affinity => leetcode/affinity}/more-than-six-months.csv (100%) rename {affirm => leetcode/affirm}/all.csv (100%) rename {affirm => leetcode/affirm}/more-than-six-months.csv (100%) rename {affirm => leetcode/affirm}/six-months.csv (100%) rename {affirm => leetcode/affirm}/three-months.csv (100%) rename {agoda => leetcode/agoda}/all.csv (100%) rename {agoda => leetcode/agoda}/more-than-six-months.csv (100%) rename {agoda => leetcode/agoda}/six-months.csv (100%) rename {agoda => leetcode/agoda}/three-months.csv (100%) rename {airbnb => leetcode/airbnb}/all.csv (100%) rename {airbnb => leetcode/airbnb}/more-than-six-months.csv (100%) rename {airbnb => leetcode/airbnb}/six-months.csv (100%) rename {airbnb => leetcode/airbnb}/thirty-days.csv (100%) rename {airbnb => leetcode/airbnb}/three-months.csv (100%) rename {airbus => leetcode/airbus}/all.csv (100%) rename {airbus => leetcode/airbus}/more-than-six-months.csv (100%) rename {airbus => leetcode/airbus}/six-months.csv (100%) rename {airbus => leetcode/airbus}/three-months.csv (100%) rename {airtel => leetcode/airtel}/all.csv (100%) rename {airtel => leetcode/airtel}/more-than-six-months.csv (100%) rename {airtel => leetcode/airtel}/six-months.csv (100%) rename {airwallex => leetcode/airwallex}/all.csv (100%) rename {airwallex => leetcode/airwallex}/more-than-six-months.csv (100%) rename {akamai => leetcode/akamai}/all.csv (100%) rename {akamai => leetcode/akamai}/more-than-six-months.csv (100%) rename {akuna-capital => leetcode/akuna-capital}/all.csv (100%) rename {akuna-capital => leetcode/akuna-capital}/more-than-six-months.csv (100%) rename {akuna-capital => leetcode/akuna-capital}/six-months.csv (100%) rename {akuna-capital => leetcode/akuna-capital}/three-months.csv (100%) rename {alibaba => leetcode/alibaba}/all.csv (100%) rename {alibaba => leetcode/alibaba}/more-than-six-months.csv (100%) rename {allincall => leetcode/allincall}/all.csv (100%) rename {allincall => leetcode/allincall}/more-than-six-months.csv (100%) rename {alphagrep => leetcode/alphagrep}/all.csv (100%) rename {alphagrep => leetcode/alphagrep}/more-than-six-months.csv (100%) rename {alphonso => leetcode/alphonso}/all.csv (100%) rename {alphonso => leetcode/alphonso}/more-than-six-months.csv (100%) rename {alten => leetcode/alten}/all.csv (100%) rename {altimetrik => leetcode/altimetrik}/all.csv (100%) rename {altimetrik => leetcode/altimetrik}/more-than-six-months.csv (100%) rename {amadeus => leetcode/amadeus}/all.csv (100%) rename {amadeus => leetcode/amadeus}/more-than-six-months.csv (100%) rename {amazon => leetcode/amazon}/all.csv (100%) rename {amazon => leetcode/amazon}/more-than-six-months.csv (100%) rename {amazon => leetcode/amazon}/six-months.csv (100%) rename {amazon => leetcode/amazon}/thirty-days.csv (100%) rename {amazon => leetcode/amazon}/three-months.csv (100%) rename {amd => leetcode/amd}/all.csv (100%) rename {amd => leetcode/amd}/more-than-six-months.csv (100%) rename {amd => leetcode/amd}/six-months.csv (100%) rename {amdocs => leetcode/amdocs}/all.csv (100%) rename {amdocs => leetcode/amdocs}/more-than-six-months.csv (100%) rename {american-airlines => leetcode/american-airlines}/all.csv (100%) rename {american-express => leetcode/american-express}/all.csv (100%) rename {american-express => leetcode/american-express}/more-than-six-months.csv (100%) rename {american-express => leetcode/american-express}/six-months.csv (100%) rename {american-express => leetcode/american-express}/three-months.csv (100%) rename {amplitude => leetcode/amplitude}/all.csv (100%) rename {analytics-quotient => leetcode/analytics-quotient}/all.csv (100%) rename {analytics-quotient => leetcode/analytics-quotient}/more-than-six-months.csv (100%) rename {andela => leetcode/andela}/all.csv (100%) rename {andela => leetcode/andela}/more-than-six-months.csv (100%) rename {anduril => leetcode/anduril}/all.csv (100%) rename {anduril => leetcode/anduril}/more-than-six-months.csv (100%) rename {anduril => leetcode/anduril}/six-months.csv (100%) rename {anduril => leetcode/anduril}/thirty-days.csv (100%) rename {anduril => leetcode/anduril}/three-months.csv (100%) rename {anthropic => leetcode/anthropic}/all.csv (100%) rename {anthropic => leetcode/anthropic}/more-than-six-months.csv (100%) rename {anthropic => leetcode/anthropic}/six-months.csv (100%) rename {anthropic => leetcode/anthropic}/thirty-days.csv (100%) rename {anthropic => leetcode/anthropic}/three-months.csv (100%) rename {anyscale => leetcode/anyscale}/all.csv (100%) rename {anyscale => leetcode/anyscale}/more-than-six-months.csv (100%) rename {anyscale => leetcode/anyscale}/six-months.csv (100%) rename {aon => leetcode/aon}/all.csv (100%) rename {aon => leetcode/aon}/more-than-six-months.csv (100%) rename {apna => leetcode/apna}/all.csv (100%) rename {apna => leetcode/apna}/more-than-six-months.csv (100%) rename {apolloio => leetcode/apolloio}/all.csv (100%) rename {apolloio => leetcode/apolloio}/more-than-six-months.csv (100%) rename {appdynamics => leetcode/appdynamics}/all.csv (100%) rename {appdynamics => leetcode/appdynamics}/more-than-six-months.csv (100%) rename {appfolio => leetcode/appfolio}/all.csv (100%) rename {appfolio => leetcode/appfolio}/more-than-six-months.csv (100%) rename {apple => leetcode/apple}/all.csv (100%) rename {apple => leetcode/apple}/more-than-six-months.csv (100%) rename {apple => leetcode/apple}/six-months.csv (100%) rename {apple => leetcode/apple}/thirty-days.csv (100%) rename {apple => leetcode/apple}/three-months.csv (100%) rename {applied-intuition => leetcode/applied-intuition}/all.csv (100%) rename {applied-intuition => leetcode/applied-intuition}/more-than-six-months.csv (100%) rename {applied-intuition => leetcode/applied-intuition}/six-months.csv (100%) rename {applied-intuition => leetcode/applied-intuition}/thirty-days.csv (100%) rename {applied-intuition => leetcode/applied-intuition}/three-months.csv (100%) rename {applovin => leetcode/applovin}/all.csv (100%) rename {applovin => leetcode/applovin}/more-than-six-months.csv (100%) rename {appviewx => leetcode/appviewx}/all.csv (100%) rename {appviewx => leetcode/appviewx}/more-than-six-months.csv (100%) rename {aqr-capital-management-llc => leetcode/aqr-capital-management-llc}/all.csv (100%) rename {aqr-capital-management-llc => leetcode/aqr-capital-management-llc}/more-than-six-months.csv (100%) rename {arcesium => leetcode/arcesium}/all.csv (100%) rename {arcesium => leetcode/arcesium}/more-than-six-months.csv (100%) rename {argo-ai => leetcode/argo-ai}/all.csv (100%) rename {argo-ai => leetcode/argo-ai}/six-months.csv (100%) rename {argo-ai => leetcode/argo-ai}/three-months.csv (100%) rename {arista-networks => leetcode/arista-networks}/all.csv (100%) rename {arista-networks => leetcode/arista-networks}/more-than-six-months.csv (100%) rename {arista-networks => leetcode/arista-networks}/six-months.csv (100%) rename {arista-networks => leetcode/arista-networks}/three-months.csv (100%) rename {arm => leetcode/arm}/all.csv (100%) rename {arm => leetcode/arm}/more-than-six-months.csv (100%) rename {asana => leetcode/asana}/all.csv (100%) rename {asana => leetcode/asana}/more-than-six-months.csv (100%) rename {asana => leetcode/asana}/six-months.csv (100%) rename {ascend => leetcode/ascend}/all.csv (100%) rename {ascend => leetcode/ascend}/more-than-six-months.csv (100%) rename {asus => leetcode/asus}/all.csv (100%) rename {asus => leetcode/asus}/more-than-six-months.csv (100%) rename {at-t => leetcode/at-t}/all.csv (100%) rename {at-t => leetcode/at-t}/six-months.csv (100%) rename {athenahealth => leetcode/athenahealth}/all.csv (100%) rename {athenahealth => leetcode/athenahealth}/more-than-six-months.csv (100%) rename {athenahealth => leetcode/athenahealth}/six-months.csv (100%) rename {athenahealth => leetcode/athenahealth}/three-months.csv (100%) rename {atlassian => leetcode/atlassian}/all.csv (100%) rename {atlassian => leetcode/atlassian}/more-than-six-months.csv (100%) rename {atlassian => leetcode/atlassian}/six-months.csv (100%) rename {atlassian => leetcode/atlassian}/thirty-days.csv (100%) rename {atlassian => leetcode/atlassian}/three-months.csv (100%) rename {attentive => leetcode/attentive}/all.csv (100%) rename {attentive => leetcode/attentive}/more-than-six-months.csv (100%) rename {attentive => leetcode/attentive}/six-months.csv (100%) rename {attentive => leetcode/attentive}/three-months.csv (100%) rename {audible => leetcode/audible}/all.csv (100%) rename {audible => leetcode/audible}/more-than-six-months.csv (100%) rename {auriga => leetcode/auriga}/all.csv (100%) rename {auriga => leetcode/auriga}/more-than-six-months.csv (100%) rename {aurora => leetcode/aurora}/all.csv (100%) rename {aurora => leetcode/aurora}/more-than-six-months.csv (100%) rename {aurora => leetcode/aurora}/six-months.csv (100%) rename {aurora => leetcode/aurora}/three-months.csv (100%) rename {autodesk => leetcode/autodesk}/all.csv (100%) rename {autodesk => leetcode/autodesk}/more-than-six-months.csv (100%) rename {autodesk => leetcode/autodesk}/six-months.csv (100%) rename {autodesk => leetcode/autodesk}/thirty-days.csv (100%) rename {autodesk => leetcode/autodesk}/three-months.csv (100%) rename {avalara => leetcode/avalara}/all.csv (100%) rename {avalara => leetcode/avalara}/more-than-six-months.csv (100%) rename {avito => leetcode/avito}/all.csv (100%) rename {avito => leetcode/avito}/more-than-six-months.csv (100%) rename {avito => leetcode/avito}/six-months.csv (100%) rename {axis-bank => leetcode/axis-bank}/all.csv (100%) rename {axis-bank => leetcode/axis-bank}/six-months.csv (100%) rename {axon => leetcode/axon}/all.csv (100%) rename {axon => leetcode/axon}/more-than-six-months.csv (100%) rename {axon => leetcode/axon}/six-months.csv (100%) rename {axon => leetcode/axon}/thirty-days.csv (100%) rename {axon => leetcode/axon}/three-months.csv (100%) rename {baidu => leetcode/baidu}/all.csv (100%) rename {baidu => leetcode/baidu}/more-than-six-months.csv (100%) rename {bank-of-america => leetcode/bank-of-america}/all.csv (100%) rename {bank-of-america => leetcode/bank-of-america}/more-than-six-months.csv (100%) rename {barclays => leetcode/barclays}/all.csv (100%) rename {barclays => leetcode/barclays}/more-than-six-months.csv (100%) rename {barclays => leetcode/barclays}/six-months.csv (100%) rename {bcg => leetcode/bcg}/all.csv (100%) rename {bcg => leetcode/bcg}/six-months.csv (100%) rename {bentley-systems => leetcode/bentley-systems}/all.csv (100%) rename {bentley-systems => leetcode/bentley-systems}/more-than-six-months.csv (100%) rename {bharatpe => leetcode/bharatpe}/all.csv (100%) rename {bharatpe => leetcode/bharatpe}/more-than-six-months.csv (100%) rename {bidgely => leetcode/bidgely}/all.csv (100%) rename {bidgely => leetcode/bidgely}/more-than-six-months.csv (100%) rename {billcom => leetcode/billcom}/all.csv (100%) rename {billcom => leetcode/billcom}/more-than-six-months.csv (100%) rename {bitgo => leetcode/bitgo}/all.csv (100%) rename {bitgo => leetcode/bitgo}/more-than-six-months.csv (100%) rename {bitgo => leetcode/bitgo}/six-months.csv (100%) rename {bitgo => leetcode/bitgo}/three-months.csv (100%) rename {blackbuck => leetcode/blackbuck}/all.csv (100%) rename {blackbuck => leetcode/blackbuck}/more-than-six-months.csv (100%) rename {blackrock => leetcode/blackrock}/all.csv (100%) rename {blackrock => leetcode/blackrock}/more-than-six-months.csv (100%) rename {blackrock => leetcode/blackrock}/six-months.csv (100%) rename {blackrock => leetcode/blackrock}/three-months.csv (100%) rename {blackstone => leetcode/blackstone}/all.csv (100%) rename {blackstone => leetcode/blackstone}/more-than-six-months.csv (100%) rename {blend => leetcode/blend}/all.csv (100%) rename {blend => leetcode/blend}/more-than-six-months.csv (100%) rename {blend => leetcode/blend}/six-months.csv (100%) rename {blinkit => leetcode/blinkit}/all.csv (100%) rename {blinkit => leetcode/blinkit}/more-than-six-months.csv (100%) rename {blizzard => leetcode/blizzard}/all.csv (100%) rename {blizzard => leetcode/blizzard}/more-than-six-months.csv (100%) rename {bloomberg => leetcode/bloomberg}/all.csv (100%) rename {bloomberg => leetcode/bloomberg}/more-than-six-months.csv (100%) rename {bloomberg => leetcode/bloomberg}/six-months.csv (100%) rename {bloomberg => leetcode/bloomberg}/thirty-days.csv (100%) rename {bloomberg => leetcode/bloomberg}/three-months.csv (100%) rename {bloomreach => leetcode/bloomreach}/all.csv (100%) rename {bloomreach => leetcode/bloomreach}/more-than-six-months.csv (100%) rename {blue-origin => leetcode/blue-origin}/all.csv (100%) rename {blue-origin => leetcode/blue-origin}/more-than-six-months.csv (100%) rename {blue-yonder => leetcode/blue-yonder}/all.csv (100%) rename {blue-yonder => leetcode/blue-yonder}/more-than-six-months.csv (100%) rename {bnp-paribas => leetcode/bnp-paribas}/all.csv (100%) rename {bnp-paribas => leetcode/bnp-paribas}/more-than-six-months.csv (100%) rename {bny-mellon => leetcode/bny-mellon}/all.csv (100%) rename {bny-mellon => leetcode/bny-mellon}/more-than-six-months.csv (100%) rename {bny-mellon => leetcode/bny-mellon}/six-months.csv (100%) rename {boeing => leetcode/boeing}/all.csv (100%) rename {boeing => leetcode/boeing}/more-than-six-months.csv (100%) rename {bolt => leetcode/bolt}/all.csv (100%) rename {bolt => leetcode/bolt}/more-than-six-months.csv (100%) rename {bolt => leetcode/bolt}/six-months.csv (100%) rename {bookingcom => leetcode/bookingcom}/all.csv (100%) rename {bookingcom => leetcode/bookingcom}/more-than-six-months.csv (100%) rename {bookingcom => leetcode/bookingcom}/six-months.csv (100%) rename {bosch => leetcode/bosch}/all.csv (100%) rename {bosch => leetcode/bosch}/more-than-six-months.csv (100%) rename {box => leetcode/box}/all.csv (100%) rename {box => leetcode/box}/more-than-six-months.csv (100%) rename {box => leetcode/box}/six-months.csv (100%) rename {box => leetcode/box}/three-months.csv (100%) rename {bp => leetcode/bp}/all.csv (100%) rename {bp => leetcode/bp}/more-than-six-months.csv (100%) rename {braze => leetcode/braze}/all.csv (100%) rename {braze => leetcode/braze}/more-than-six-months.csv (100%) rename {brex => leetcode/brex}/all.csv (100%) rename {brex => leetcode/brex}/more-than-six-months.csv (100%) rename {bridgewater-associates => leetcode/bridgewater-associates}/all.csv (100%) rename {bridgewater-associates => leetcode/bridgewater-associates}/more-than-six-months.csv (100%) rename {brillio => leetcode/brillio}/all.csv (100%) rename {broadcom => leetcode/broadcom}/all.csv (100%) rename {broadcom => leetcode/broadcom}/more-than-six-months.csv (100%) rename {browserstack => leetcode/browserstack}/all.csv (100%) rename {bt-group => leetcode/bt-group}/all.csv (100%) rename {bt-group => leetcode/bt-group}/more-than-six-months.csv (100%) rename {buyhatke => leetcode/buyhatke}/all.csv (100%) rename {buyhatke => leetcode/buyhatke}/more-than-six-months.csv (100%) rename {bytedance => leetcode/bytedance}/all.csv (100%) rename {bytedance => leetcode/bytedance}/more-than-six-months.csv (100%) rename {bytedance => leetcode/bytedance}/six-months.csv (100%) rename {bytedance => leetcode/bytedance}/three-months.csv (100%) rename {c3-ai => leetcode/c3-ai}/all.csv (100%) rename {c3-ai => leetcode/c3-ai}/six-months.csv (100%) rename {c3-ai => leetcode/c3-ai}/three-months.csv (100%) rename {caastle => leetcode/caastle}/all.csv (100%) rename {caastle => leetcode/caastle}/more-than-six-months.csv (100%) rename {cadence => leetcode/cadence}/all.csv (100%) rename {cadence => leetcode/cadence}/more-than-six-months.csv (100%) rename {cadence => leetcode/cadence}/six-months.csv (100%) rename {canonical => leetcode/canonical}/all.csv (100%) rename {canonical => leetcode/canonical}/more-than-six-months.csv (100%) rename {canonical => leetcode/canonical}/six-months.csv (100%) rename {canva => leetcode/canva}/all.csv (100%) rename {canva => leetcode/canva}/more-than-six-months.csv (100%) rename {canva => leetcode/canva}/six-months.csv (100%) rename {capgemini => leetcode/capgemini}/all.csv (100%) rename {capgemini => leetcode/capgemini}/more-than-six-months.csv (100%) rename {capgemini => leetcode/capgemini}/six-months.csv (100%) rename {capgemini => leetcode/capgemini}/three-months.csv (100%) rename {capital-one => leetcode/capital-one}/all.csv (100%) rename {capital-one => leetcode/capital-one}/more-than-six-months.csv (100%) rename {capital-one => leetcode/capital-one}/six-months.csv (100%) rename {capital-one => leetcode/capital-one}/thirty-days.csv (100%) rename {capital-one => leetcode/capital-one}/three-months.csv (100%) rename {careem => leetcode/careem}/all.csv (100%) rename {careem => leetcode/careem}/more-than-six-months.csv (100%) rename {careem => leetcode/careem}/six-months.csv (100%) rename {careem => leetcode/careem}/thirty-days.csv (100%) rename {careem => leetcode/careem}/three-months.csv (100%) rename {cars24 => leetcode/cars24}/all.csv (100%) rename {cars24 => leetcode/cars24}/more-than-six-months.csv (100%) rename {carwale => leetcode/carwale}/all.csv (100%) rename {carwale => leetcode/carwale}/more-than-six-months.csv (100%) rename {cashfree => leetcode/cashfree}/all.csv (100%) rename {cashfree => leetcode/cashfree}/more-than-six-months.csv (100%) rename {caterpillar => leetcode/caterpillar}/all.csv (100%) rename {cedcoss => leetcode/cedcoss}/all.csv (100%) rename {cedcoss => leetcode/cedcoss}/more-than-six-months.csv (100%) rename {celigo => leetcode/celigo}/all.csv (100%) rename {celigo => leetcode/celigo}/more-than-six-months.csv (100%) rename {chalo => leetcode/chalo}/all.csv (100%) rename {chalo => leetcode/chalo}/more-than-six-months.csv (100%) rename {chargebee => leetcode/chargebee}/all.csv (100%) rename {chargebee => leetcode/chargebee}/six-months.csv (100%) rename {chewy => leetcode/chewy}/all.csv (100%) rename {chewy => leetcode/chewy}/more-than-six-months.csv (100%) rename {chime => leetcode/chime}/all.csv (100%) rename {chime => leetcode/chime}/more-than-six-months.csv (100%) rename {chronus => leetcode/chronus}/all.csv (100%) rename {chronus => leetcode/chronus}/more-than-six-months.csv (100%) rename {chubb => leetcode/chubb}/all.csv (100%) rename {chubb => leetcode/chubb}/more-than-six-months.csv (100%) rename {ciena => leetcode/ciena}/all.csv (100%) rename {ciena => leetcode/ciena}/more-than-six-months.csv (100%) rename {circle => leetcode/circle}/all.csv (100%) rename {circle => leetcode/circle}/more-than-six-months.csv (100%) rename {cisco => leetcode/cisco}/all.csv (100%) rename {cisco => leetcode/cisco}/more-than-six-months.csv (100%) rename {cisco => leetcode/cisco}/six-months.csv (100%) rename {cisco => leetcode/cisco}/thirty-days.csv (100%) rename {cisco => leetcode/cisco}/three-months.csv (100%) rename {citadel => leetcode/citadel}/all.csv (100%) rename {citadel => leetcode/citadel}/more-than-six-months.csv (100%) rename {citadel => leetcode/citadel}/six-months.csv (100%) rename {citadel => leetcode/citadel}/thirty-days.csv (100%) rename {citadel => leetcode/citadel}/three-months.csv (100%) rename {citi => leetcode/citi}/all.csv (100%) rename {citi => leetcode/citi}/more-than-six-months.csv (100%) rename {citrix => leetcode/citrix}/all.csv (100%) rename {citrix => leetcode/citrix}/more-than-six-months.csv (100%) rename {clari => leetcode/clari}/all.csv (100%) rename {clari => leetcode/clari}/more-than-six-months.csv (100%) rename {cleartax => leetcode/cleartax}/all.csv (100%) rename {cleartax => leetcode/cleartax}/more-than-six-months.csv (100%) rename {cleartrip => leetcode/cleartrip}/all.csv (100%) rename {cleartrip => leetcode/cleartrip}/more-than-six-months.csv (100%) rename {cleartrip => leetcode/cleartrip}/six-months.csv (100%) rename {cloudera => leetcode/cloudera}/all.csv (100%) rename {cloudera => leetcode/cloudera}/more-than-six-months.csv (100%) rename {cloudflare => leetcode/cloudflare}/all.csv (100%) rename {cloudflare => leetcode/cloudflare}/more-than-six-months.csv (100%) rename {cloudflare => leetcode/cloudflare}/six-months.csv (100%) rename {cloudflare => leetcode/cloudflare}/thirty-days.csv (100%) rename {cloudflare => leetcode/cloudflare}/three-months.csv (100%) rename {clumio => leetcode/clumio}/all.csv (100%) rename {clumio => leetcode/clumio}/more-than-six-months.csv (100%) rename {clutter => leetcode/clutter}/all.csv (100%) rename {clutter => leetcode/clutter}/more-than-six-months.csv (100%) rename {cme-group => leetcode/cme-group}/all.csv (100%) rename {cme-group => leetcode/cme-group}/more-than-six-months.csv (100%) rename {cme-group => leetcode/cme-group}/six-months.csv (100%) rename {cme-group => leetcode/cme-group}/thirty-days.csv (100%) rename {cme-group => leetcode/cme-group}/three-months.csv (100%) rename {cockroach-labs => leetcode/cockroach-labs}/all.csv (100%) rename {cockroach-labs => leetcode/cockroach-labs}/more-than-six-months.csv (100%) rename {cockroach-labs => leetcode/cockroach-labs}/six-months.csv (100%) rename {cockroach-labs => leetcode/cockroach-labs}/thirty-days.csv (100%) rename {cockroach-labs => leetcode/cockroach-labs}/three-months.csv (100%) rename {code-studio => leetcode/code-studio}/all.csv (100%) rename {code-studio => leetcode/code-studio}/more-than-six-months.csv (100%) rename {codingmart => leetcode/codingmart}/all.csv (100%) rename {codingmart => leetcode/codingmart}/more-than-six-months.csv (100%) rename {cognizant => leetcode/cognizant}/all.csv (100%) rename {cognizant => leetcode/cognizant}/more-than-six-months.csv (100%) rename {cognizant => leetcode/cognizant}/six-months.csv (100%) rename {cognizant => leetcode/cognizant}/three-months.csv (100%) rename {cohesity => leetcode/cohesity}/all.csv (100%) rename {cohesity => leetcode/cohesity}/more-than-six-months.csv (100%) rename {cohesity => leetcode/cohesity}/six-months.csv (100%) rename {cohesity => leetcode/cohesity}/thirty-days.csv (100%) rename {cohesity => leetcode/cohesity}/three-months.csv (100%) rename {coinbase => leetcode/coinbase}/all.csv (100%) rename {coinbase => leetcode/coinbase}/more-than-six-months.csv (100%) rename {coinbase => leetcode/coinbase}/six-months.csv (100%) rename {coinbase => leetcode/coinbase}/thirty-days.csv (100%) rename {coinbase => leetcode/coinbase}/three-months.csv (100%) rename {coindcx => leetcode/coindcx}/all.csv (100%) rename {coindcx => leetcode/coindcx}/more-than-six-months.csv (100%) rename {coindcx => leetcode/coindcx}/six-months.csv (100%) rename {comcast => leetcode/comcast}/all.csv (100%) rename {comcast => leetcode/comcast}/more-than-six-months.csv (100%) rename {comcast => leetcode/comcast}/six-months.csv (100%) rename {commvault => leetcode/commvault}/all.csv (100%) rename {commvault => leetcode/commvault}/more-than-six-months.csv (100%) rename {compass => leetcode/compass}/all.csv (100%) rename {compass => leetcode/compass}/more-than-six-months.csv (100%) rename {compass => leetcode/compass}/six-months.csv (100%) rename {confluent => leetcode/confluent}/all.csv (100%) rename {confluent => leetcode/confluent}/more-than-six-months.csv (100%) rename {confluent => leetcode/confluent}/six-months.csv (100%) rename {confluent => leetcode/confluent}/thirty-days.csv (100%) rename {confluent => leetcode/confluent}/three-months.csv (100%) rename {consultadd => leetcode/consultadd}/all.csv (100%) rename {consultadd => leetcode/consultadd}/more-than-six-months.csv (100%) rename {couchbase => leetcode/couchbase}/all.csv (100%) rename {couchbase => leetcode/couchbase}/more-than-six-months.csv (100%) rename {couchbase => leetcode/couchbase}/six-months.csv (100%) rename {coupang => leetcode/coupang}/all.csv (100%) rename {coupang => leetcode/coupang}/more-than-six-months.csv (100%) rename {coupang => leetcode/coupang}/six-months.csv (100%) rename {coupang => leetcode/coupang}/three-months.csv (100%) rename {coursera => leetcode/coursera}/all.csv (100%) rename {coursera => leetcode/coursera}/more-than-six-months.csv (100%) rename {coursera => leetcode/coursera}/six-months.csv (100%) rename {coursera => leetcode/coursera}/three-months.csv (100%) rename {coveo => leetcode/coveo}/all.csv (100%) rename {coveo => leetcode/coveo}/more-than-six-months.csv (100%) rename {cred => leetcode/cred}/all.csv (100%) rename {cred => leetcode/cred}/six-months.csv (100%) rename {cred => leetcode/cred}/thirty-days.csv (100%) rename {cred => leetcode/cred}/three-months.csv (100%) rename {credit-karma => leetcode/credit-karma}/all.csv (100%) rename {credit-karma => leetcode/credit-karma}/more-than-six-months.csv (100%) rename {criteo => leetcode/criteo}/all.csv (100%) rename {criteo => leetcode/criteo}/more-than-six-months.csv (100%) rename {criteo => leetcode/criteo}/six-months.csv (100%) rename {criteo => leetcode/criteo}/three-months.csv (100%) rename {crowdstrike => leetcode/crowdstrike}/all.csv (100%) rename {crowdstrike => leetcode/crowdstrike}/more-than-six-months.csv (100%) rename {crowdstrike => leetcode/crowdstrike}/six-months.csv (100%) rename {crowdstrike => leetcode/crowdstrike}/three-months.csv (100%) rename {cruise-automation => leetcode/cruise-automation}/all.csv (100%) rename {cruise-automation => leetcode/cruise-automation}/more-than-six-months.csv (100%) rename {cruise-automation => leetcode/cruise-automation}/six-months.csv (100%) rename {ctc => leetcode/ctc}/all.csv (100%) rename {ctc => leetcode/ctc}/more-than-six-months.csv (100%) rename {curefit => leetcode/curefit}/all.csv (100%) rename {curefit => leetcode/curefit}/more-than-six-months.csv (100%) rename {cvent => leetcode/cvent}/all.csv (100%) rename {cvent => leetcode/cvent}/more-than-six-months.csv (100%) rename {cyntexa => leetcode/cyntexa}/all.csv (100%) rename {cyntexa => leetcode/cyntexa}/more-than-six-months.csv (100%) rename {cyware => leetcode/cyware}/all.csv (100%) rename {cyware => leetcode/cyware}/more-than-six-months.csv (100%) rename {dailyhunt => leetcode/dailyhunt}/all.csv (100%) rename {dailyhunt => leetcode/dailyhunt}/more-than-six-months.csv (100%) rename {darwinbox => leetcode/darwinbox}/all.csv (100%) rename {darwinbox => leetcode/darwinbox}/more-than-six-months.csv (100%) rename {darwinbox => leetcode/darwinbox}/six-months.csv (100%) rename {darwinbox => leetcode/darwinbox}/thirty-days.csv (100%) rename {darwinbox => leetcode/darwinbox}/three-months.csv (100%) rename {dassault-sysetmes => leetcode/dassault-sysetmes}/all.csv (100%) rename {dassault-sysetmes => leetcode/dassault-sysetmes}/more-than-six-months.csv (100%) rename {databricks => leetcode/databricks}/all.csv (100%) rename {databricks => leetcode/databricks}/more-than-six-months.csv (100%) rename {databricks => leetcode/databricks}/six-months.csv (100%) rename {databricks => leetcode/databricks}/thirty-days.csv (100%) rename {databricks => leetcode/databricks}/three-months.csv (100%) rename {datadog => leetcode/datadog}/all.csv (100%) rename {datadog => leetcode/datadog}/more-than-six-months.csv (100%) rename {datadog => leetcode/datadog}/six-months.csv (100%) rename {datadog => leetcode/datadog}/three-months.csv (100%) rename {dataminr => leetcode/dataminr}/all.csv (100%) rename {dataminr => leetcode/dataminr}/more-than-six-months.csv (100%) rename {de-shaw => leetcode/de-shaw}/all.csv (100%) rename {de-shaw => leetcode/de-shaw}/more-than-six-months.csv (100%) rename {de-shaw => leetcode/de-shaw}/six-months.csv (100%) rename {de-shaw => leetcode/de-shaw}/thirty-days.csv (100%) rename {de-shaw => leetcode/de-shaw}/three-months.csv (100%) rename {deepmind => leetcode/deepmind}/all.csv (100%) rename {deepmind => leetcode/deepmind}/more-than-six-months.csv (100%) rename {delhivery => leetcode/delhivery}/all.csv (100%) rename {delhivery => leetcode/delhivery}/more-than-six-months.csv (100%) rename {deliveroo => leetcode/deliveroo}/all.csv (100%) rename {deliveroo => leetcode/deliveroo}/more-than-six-months.csv (100%) rename {dell => leetcode/dell}/all.csv (100%) rename {dell => leetcode/dell}/more-than-six-months.csv (100%) rename {dell => leetcode/dell}/six-months.csv (100%) rename {dell => leetcode/dell}/three-months.csv (100%) rename {deloitte => leetcode/deloitte}/all.csv (100%) rename {deloitte => leetcode/deloitte}/more-than-six-months.csv (100%) rename {deloitte => leetcode/deloitte}/six-months.csv (100%) rename {deloitte => leetcode/deloitte}/thirty-days.csv (100%) rename {deloitte => leetcode/deloitte}/three-months.csv (100%) rename {deltax => leetcode/deltax}/all.csv (100%) rename {deltax => leetcode/deltax}/more-than-six-months.csv (100%) rename {deutsche-bank => leetcode/deutsche-bank}/all.csv (100%) rename {deutsche-bank => leetcode/deutsche-bank}/more-than-six-months.csv (100%) rename {devrev => leetcode/devrev}/all.csv (100%) rename {devrev => leetcode/devrev}/more-than-six-months.csv (100%) rename {devsinc => leetcode/devsinc}/all.csv (100%) rename {devsinc => leetcode/devsinc}/more-than-six-months.csv (100%) rename {devtron => leetcode/devtron}/all.csv (100%) rename {devtron => leetcode/devtron}/more-than-six-months.csv (100%) rename {dialpad => leetcode/dialpad}/all.csv (100%) rename {dialpad => leetcode/dialpad}/six-months.csv (100%) rename {didi => leetcode/didi}/all.csv (100%) rename {didi => leetcode/didi}/more-than-six-months.csv (100%) rename {directi => leetcode/directi}/all.csv (100%) rename {directi => leetcode/directi}/more-than-six-months.csv (100%) rename {discord => leetcode/discord}/all.csv (100%) rename {discord => leetcode/discord}/more-than-six-months.csv (100%) rename {disney => leetcode/disney}/all.csv (100%) rename {disney => leetcode/disney}/more-than-six-months.csv (100%) rename {disney => leetcode/disney}/six-months.csv (100%) rename {dji => leetcode/dji}/all.csv (100%) rename {docusign => leetcode/docusign}/all.csv (100%) rename {docusign => leetcode/docusign}/more-than-six-months.csv (100%) rename {docusign => leetcode/docusign}/six-months.csv (100%) rename {docusign => leetcode/docusign}/thirty-days.csv (100%) rename {docusign => leetcode/docusign}/three-months.csv (100%) rename {doordash => leetcode/doordash}/all.csv (100%) rename {doordash => leetcode/doordash}/more-than-six-months.csv (100%) rename {doordash => leetcode/doordash}/six-months.csv (100%) rename {doordash => leetcode/doordash}/thirty-days.csv (100%) rename {doordash => leetcode/doordash}/three-months.csv (100%) rename {dp-world => leetcode/dp-world}/all.csv (100%) rename {dp-world => leetcode/dp-world}/more-than-six-months.csv (100%) rename {dp-world => leetcode/dp-world}/six-months.csv (100%) rename {drawbridge => leetcode/drawbridge}/all.csv (100%) rename {drawbridge => leetcode/drawbridge}/more-than-six-months.csv (100%) rename {dream11 => leetcode/dream11}/all.csv (100%) rename {dream11 => leetcode/dream11}/more-than-six-months.csv (100%) rename {dream11 => leetcode/dream11}/six-months.csv (100%) rename {dream11 => leetcode/dream11}/three-months.csv (100%) rename {dropbox => leetcode/dropbox}/all.csv (100%) rename {dropbox => leetcode/dropbox}/more-than-six-months.csv (100%) rename {dropbox => leetcode/dropbox}/six-months.csv (100%) rename {dropbox => leetcode/dropbox}/three-months.csv (100%) rename {druva => leetcode/druva}/all.csv (100%) rename {druva => leetcode/druva}/more-than-six-months.csv (100%) rename {drw => leetcode/drw}/all.csv (100%) rename {drw => leetcode/drw}/more-than-six-months.csv (100%) rename {drw => leetcode/drw}/six-months.csv (100%) rename {dtcc => leetcode/dtcc}/all.csv (100%) rename {dtcc => leetcode/dtcc}/more-than-six-months.csv (100%) rename {dunzo => leetcode/dunzo}/all.csv (100%) rename {dunzo => leetcode/dunzo}/more-than-six-months.csv (100%) rename {duolingo => leetcode/duolingo}/all.csv (100%) rename {duolingo => leetcode/duolingo}/more-than-six-months.csv (100%) rename {duolingo => leetcode/duolingo}/six-months.csv (100%) rename {dxc => leetcode/dxc}/all.csv (100%) rename {dxc => leetcode/dxc}/more-than-six-months.csv (100%) rename {earnin => leetcode/earnin}/all.csv (100%) rename {earnin => leetcode/earnin}/more-than-six-months.csv (100%) rename {ebay => leetcode/ebay}/all.csv (100%) rename {ebay => leetcode/ebay}/more-than-six-months.csv (100%) rename {ebay => leetcode/ebay}/six-months.csv (100%) rename {ebay => leetcode/ebay}/thirty-days.csv (100%) rename {ebay => leetcode/ebay}/three-months.csv (100%) rename {edelweiss => leetcode/edelweiss}/all.csv (100%) rename {edelweiss => leetcode/edelweiss}/more-than-six-months.csv (100%) rename {elbit => leetcode/elbit}/all.csv (100%) rename {elbit => leetcode/elbit}/more-than-six-months.csv (100%) rename {electronic-arts => leetcode/electronic-arts}/all.csv (100%) rename {electronic-arts => leetcode/electronic-arts}/more-than-six-months.csv (100%) rename {elitmus => leetcode/elitmus}/all.csv (100%) rename {elitmus => leetcode/elitmus}/more-than-six-months.csv (100%) rename {envoy => leetcode/envoy}/all.csv (100%) rename {envoy => leetcode/envoy}/more-than-six-months.csv (100%) rename {epam-systems => leetcode/epam-systems}/all.csv (100%) rename {epam-systems => leetcode/epam-systems}/more-than-six-months.csv (100%) rename {epam-systems => leetcode/epam-systems}/six-months.csv (100%) rename {epam-systems => leetcode/epam-systems}/three-months.csv (100%) rename {epic-games => leetcode/epic-games}/all.csv (100%) rename {epic-games => leetcode/epic-games}/more-than-six-months.csv (100%) rename {epic-systems => leetcode/epic-systems}/all.csv (100%) rename {epic-systems => leetcode/epic-systems}/more-than-six-months.csv (100%) rename {epic-systems => leetcode/epic-systems}/six-months.csv (100%) rename {epic-systems => leetcode/epic-systems}/three-months.csv (100%) rename {epifi => leetcode/epifi}/all.csv (100%) rename {ericsson => leetcode/ericsson}/all.csv (100%) rename {ericsson => leetcode/ericsson}/more-than-six-months.csv (100%) rename {etsy => leetcode/etsy}/all.csv (100%) rename {etsy => leetcode/etsy}/more-than-six-months.csv (100%) rename {etsy => leetcode/etsy}/six-months.csv (100%) rename {expedia => leetcode/expedia}/all.csv (100%) rename {expedia => leetcode/expedia}/more-than-six-months.csv (100%) rename {expedia => leetcode/expedia}/six-months.csv (100%) rename {ey => leetcode/ey}/all.csv (100%) rename {ey => leetcode/ey}/more-than-six-months.csv (100%) rename {f5-networks => leetcode/f5-networks}/all.csv (100%) rename {f5-networks => leetcode/f5-networks}/more-than-six-months.csv (100%) rename {facebook => leetcode/facebook}/all.csv (100%) rename {facebook => leetcode/facebook}/more-than-six-months.csv (100%) rename {facebook => leetcode/facebook}/six-months.csv (100%) rename {facebook => leetcode/facebook}/thirty-days.csv (100%) rename {facebook => leetcode/facebook}/three-months.csv (100%) rename {factset => leetcode/factset}/all.csv (100%) rename {factset => leetcode/factset}/more-than-six-months.csv (100%) rename {factwise => leetcode/factwise}/all.csv (100%) rename {faire => leetcode/faire}/all.csv (100%) rename {faire => leetcode/faire}/more-than-six-months.csv (100%) rename {faire => leetcode/faire}/six-months.csv (100%) rename {faire => leetcode/faire}/thirty-days.csv (100%) rename {faire => leetcode/faire}/three-months.csv (100%) rename {fallible => leetcode/fallible}/all.csv (100%) rename {fallible => leetcode/fallible}/more-than-six-months.csv (100%) rename {fastenal => leetcode/fastenal}/all.csv (100%) rename {fastenal => leetcode/fastenal}/more-than-six-months.csv (100%) rename {fico => leetcode/fico}/all.csv (100%) rename {fico => leetcode/fico}/more-than-six-months.csv (100%) rename {fidelity => leetcode/fidelity}/all.csv (100%) rename {fidelity => leetcode/fidelity}/more-than-six-months.csv (100%) rename {fidessa => leetcode/fidessa}/all.csv (100%) rename {fiverr => leetcode/fiverr}/all.csv (100%) rename {fiverr => leetcode/fiverr}/more-than-six-months.csv (100%) rename {flatiron-health => leetcode/flatiron-health}/all.csv (100%) rename {flatiron-health => leetcode/flatiron-health}/more-than-six-months.csv (100%) rename {flatiron-health => leetcode/flatiron-health}/six-months.csv (100%) rename {flatiron-health => leetcode/flatiron-health}/thirty-days.csv (100%) rename {flatiron-health => leetcode/flatiron-health}/three-months.csv (100%) rename {fleetx => leetcode/fleetx}/all.csv (100%) rename {fleetx => leetcode/fleetx}/more-than-six-months.csv (100%) rename {flexera => leetcode/flexera}/all.csv (100%) rename {flexera => leetcode/flexera}/more-than-six-months.csv (100%) rename {flexport => leetcode/flexport}/all.csv (100%) rename {flexport => leetcode/flexport}/more-than-six-months.csv (100%) rename {flexport => leetcode/flexport}/six-months.csv (100%) rename {flexport => leetcode/flexport}/three-months.csv (100%) rename {flipkart => leetcode/flipkart}/all.csv (100%) rename {flipkart => leetcode/flipkart}/more-than-six-months.csv (100%) rename {flipkart => leetcode/flipkart}/six-months.csv (100%) rename {flipkart => leetcode/flipkart}/three-months.csv (100%) rename {ford => leetcode/ford}/all.csv (100%) rename {ford => leetcode/ford}/more-than-six-months.csv (100%) rename {fortinet => leetcode/fortinet}/all.csv (100%) rename {fortinet => leetcode/fortinet}/more-than-six-months.csv (100%) rename {fortinet => leetcode/fortinet}/six-months.csv (100%) rename {fortinet => leetcode/fortinet}/three-months.csv (100%) rename {forusall => leetcode/forusall}/all.csv (100%) rename {forusall => leetcode/forusall}/more-than-six-months.csv (100%) rename {fourkites => leetcode/fourkites}/all.csv (100%) rename {fourkites => leetcode/fourkites}/more-than-six-months.csv (100%) rename {fpt => leetcode/fpt}/all.csv (100%) rename {fpt => leetcode/fpt}/more-than-six-months.csv (100%) rename {fractal-analytics => leetcode/fractal-analytics}/all.csv (100%) rename {fractal-analytics => leetcode/fractal-analytics}/more-than-six-months.csv (100%) rename {fractal-analytics => leetcode/fractal-analytics}/six-months.csv (100%) rename {fractal-analytics => leetcode/fractal-analytics}/thirty-days.csv (100%) rename {fractal-analytics => leetcode/fractal-analytics}/three-months.csv (100%) rename {freecharge => leetcode/freecharge}/all.csv (100%) rename {freecharge => leetcode/freecharge}/more-than-six-months.csv (100%) rename {freecharge => leetcode/freecharge}/six-months.csv (100%) rename {freshworks => leetcode/freshworks}/all.csv (100%) rename {freshworks => leetcode/freshworks}/more-than-six-months.csv (100%) rename {fynd => leetcode/fynd}/all.csv (100%) rename {gainsight => leetcode/gainsight}/all.csv (100%) rename {gainsight => leetcode/gainsight}/more-than-six-months.csv (100%) rename {gameskraft => leetcode/gameskraft}/all.csv (100%) rename {gameskraft => leetcode/gameskraft}/more-than-six-months.csv (100%) rename {garena => leetcode/garena}/all.csv (100%) rename {garena => leetcode/garena}/more-than-six-months.csv (100%) rename {garmin => leetcode/garmin}/all.csv (100%) rename {garmin => leetcode/garmin}/more-than-six-months.csv (100%) rename {garmin => leetcode/garmin}/six-months.csv (100%) rename {garmin => leetcode/garmin}/three-months.csv (100%) rename {gartner => leetcode/gartner}/all.csv (100%) rename {gartner => leetcode/gartner}/more-than-six-months.csv (100%) rename {gartner => leetcode/gartner}/six-months.csv (100%) rename {ge-digital => leetcode/ge-digital}/all.csv (100%) rename {ge-digital => leetcode/ge-digital}/more-than-six-months.csv (100%) rename {ge-healthcare => leetcode/ge-healthcare}/all.csv (100%) rename {ge-healthcare => leetcode/ge-healthcare}/more-than-six-months.csv (100%) rename {geico => leetcode/geico}/all.csv (100%) rename {geico => leetcode/geico}/more-than-six-months.csv (100%) rename {geico => leetcode/geico}/six-months.csv (100%) rename {geico => leetcode/geico}/three-months.csv (100%) rename {general-electric => leetcode/general-electric}/all.csv (100%) rename {general-electric => leetcode/general-electric}/more-than-six-months.csv (100%) rename {general-motors => leetcode/general-motors}/all.csv (100%) rename {general-motors => leetcode/general-motors}/more-than-six-months.csv (100%) rename {general-motors => leetcode/general-motors}/six-months.csv (100%) rename {general-motors => leetcode/general-motors}/thirty-days.csv (100%) rename {general-motors => leetcode/general-motors}/three-months.csv (100%) rename {genpact => leetcode/genpact}/all.csv (100%) rename {genpact => leetcode/genpact}/more-than-six-months.csv (100%) rename {gilt-groupe => leetcode/gilt-groupe}/all.csv (100%) rename {gilt-groupe => leetcode/gilt-groupe}/more-than-six-months.csv (100%) rename {github => leetcode/github}/all.csv (100%) rename {github => leetcode/github}/six-months.csv (100%) rename {glassdoor => leetcode/glassdoor}/all.csv (100%) rename {glassdoor => leetcode/glassdoor}/more-than-six-months.csv (100%) rename {globallogic => leetcode/globallogic}/all.csv (100%) rename {globallogic => leetcode/globallogic}/more-than-six-months.csv (100%) rename {globallogic => leetcode/globallogic}/six-months.csv (100%) rename {globant => leetcode/globant}/all.csv (100%) rename {globant => leetcode/globant}/more-than-six-months.csv (100%) rename {glovo => leetcode/glovo}/all.csv (100%) rename {glovo => leetcode/glovo}/six-months.csv (100%) rename {godaddy => leetcode/godaddy}/all.csv (100%) rename {godaddy => leetcode/godaddy}/more-than-six-months.csv (100%) rename {gojek => leetcode/gojek}/all.csv (100%) rename {gojek => leetcode/gojek}/more-than-six-months.csv (100%) rename {goldman-sachs => leetcode/goldman-sachs}/all.csv (100%) rename {goldman-sachs => leetcode/goldman-sachs}/more-than-six-months.csv (100%) rename {goldman-sachs => leetcode/goldman-sachs}/six-months.csv (100%) rename {goldman-sachs => leetcode/goldman-sachs}/thirty-days.csv (100%) rename {goldman-sachs => leetcode/goldman-sachs}/three-months.csv (100%) rename {google => leetcode/google}/all.csv (100%) rename {google => leetcode/google}/more-than-six-months.csv (100%) rename {google => leetcode/google}/six-months.csv (100%) rename {google => leetcode/google}/thirty-days.csv (100%) rename {google => leetcode/google}/three-months.csv (100%) rename {gopuff => leetcode/gopuff}/all.csv (100%) rename {gopuff => leetcode/gopuff}/six-months.csv (100%) rename {grab => leetcode/grab}/all.csv (100%) rename {grab => leetcode/grab}/more-than-six-months.csv (100%) rename {grab => leetcode/grab}/six-months.csv (100%) rename {grab => leetcode/grab}/thirty-days.csv (100%) rename {grab => leetcode/grab}/three-months.csv (100%) rename {grammarly => leetcode/grammarly}/all.csv (100%) rename {grammarly => leetcode/grammarly}/more-than-six-months.csv (100%) rename {grammarly => leetcode/grammarly}/six-months.csv (100%) rename {grammarly => leetcode/grammarly}/thirty-days.csv (100%) rename {grammarly => leetcode/grammarly}/three-months.csv (100%) rename {graviton => leetcode/graviton}/all.csv (100%) rename {graviton => leetcode/graviton}/more-than-six-months.csv (100%) rename {grid-dynamics => leetcode/grid-dynamics}/all.csv (100%) rename {grid-dynamics => leetcode/grid-dynamics}/more-than-six-months.csv (100%) rename {groupon => leetcode/groupon}/all.csv (100%) rename {groupon => leetcode/groupon}/more-than-six-months.csv (100%) rename {groww => leetcode/groww}/all.csv (100%) rename {groww => leetcode/groww}/more-than-six-months.csv (100%) rename {grubhub => leetcode/grubhub}/all.csv (100%) rename {grubhub => leetcode/grubhub}/more-than-six-months.csv (100%) rename {gsa-capital => leetcode/gsa-capital}/all.csv (100%) rename {gsa-capital => leetcode/gsa-capital}/more-than-six-months.csv (100%) rename {gsn-games => leetcode/gsn-games}/all.csv (100%) rename {gsn-games => leetcode/gsn-games}/more-than-six-months.csv (100%) rename {guidewire => leetcode/guidewire}/all.csv (100%) rename {guidewire => leetcode/guidewire}/more-than-six-months.csv (100%) rename {guidewire => leetcode/guidewire}/six-months.csv (100%) rename {guidewire => leetcode/guidewire}/thirty-days.csv (100%) rename {guidewire => leetcode/guidewire}/three-months.csv (100%) rename {gusto => leetcode/gusto}/all.csv (100%) rename {gusto => leetcode/gusto}/more-than-six-months.csv (100%) rename {gusto => leetcode/gusto}/six-months.csv (100%) rename {gusto => leetcode/gusto}/three-months.csv (100%) rename {harman => leetcode/harman}/all.csv (100%) rename {harman => leetcode/harman}/more-than-six-months.csv (100%) rename {harness => leetcode/harness}/all.csv (100%) rename {harness => leetcode/harness}/more-than-six-months.csv (100%) rename {hashedin => leetcode/hashedin}/all.csv (100%) rename {hashedin => leetcode/hashedin}/more-than-six-months.csv (100%) rename {hashedin => leetcode/hashedin}/six-months.csv (100%) rename {hashedin => leetcode/hashedin}/three-months.csv (100%) rename {hbo => leetcode/hbo}/all.csv (100%) rename {hbo => leetcode/hbo}/more-than-six-months.csv (100%) rename {hcl => leetcode/hcl}/all.csv (100%) rename {hcl => leetcode/hcl}/more-than-six-months.csv (100%) rename {hcl => leetcode/hcl}/six-months.csv (100%) rename {heb => leetcode/heb}/all.csv (100%) rename {heb => leetcode/heb}/more-than-six-months.csv (100%) rename {helix => leetcode/helix}/all.csv (100%) rename {helix => leetcode/helix}/more-than-six-months.csv (100%) rename {hertz => leetcode/hertz}/all.csv (100%) rename {hertz => leetcode/hertz}/more-than-six-months.csv (100%) rename {highspot => leetcode/highspot}/all.csv (100%) rename {highspot => leetcode/highspot}/more-than-six-months.csv (100%) rename {hilabs => leetcode/hilabs}/all.csv (100%) rename {hilabs => leetcode/hilabs}/more-than-six-months.csv (100%) rename {hive => leetcode/hive}/all.csv (100%) rename {hive => leetcode/hive}/more-than-six-months.csv (100%) rename {hiver => leetcode/hiver}/all.csv (100%) rename {hiver => leetcode/hiver}/more-than-six-months.csv (100%) rename {honey => leetcode/honey}/all.csv (100%) rename {honeywell => leetcode/honeywell}/all.csv (100%) rename {honeywell => leetcode/honeywell}/more-than-six-months.csv (100%) rename {hopper => leetcode/hopper}/all.csv (100%) rename {hopper => leetcode/hopper}/six-months.csv (100%) rename {hopper => leetcode/hopper}/three-months.csv (100%) rename {hotstar => leetcode/hotstar}/all.csv (100%) rename {hotstar => leetcode/hotstar}/more-than-six-months.csv (100%) rename {houzz => leetcode/houzz}/all.csv (100%) rename {houzz => leetcode/houzz}/more-than-six-months.csv (100%) rename {hp => leetcode/hp}/all.csv (100%) rename {hp => leetcode/hp}/more-than-six-months.csv (100%) rename {hpe => leetcode/hpe}/all.csv (100%) rename {hpe => leetcode/hpe}/more-than-six-months.csv (100%) rename {hrt => leetcode/hrt}/all.csv (100%) rename {hrt => leetcode/hrt}/more-than-six-months.csv (100%) rename {hsbc => leetcode/hsbc}/all.csv (100%) rename {hsbc => leetcode/hsbc}/more-than-six-months.csv (100%) rename {hsbc => leetcode/hsbc}/six-months.csv (100%) rename {hsbc => leetcode/hsbc}/three-months.csv (100%) rename {huawei => leetcode/huawei}/all.csv (100%) rename {huawei => leetcode/huawei}/more-than-six-months.csv (100%) rename {hubspot => leetcode/hubspot}/all.csv (100%) rename {hubspot => leetcode/hubspot}/more-than-six-months.csv (100%) rename {hubspot => leetcode/hubspot}/six-months.csv (100%) rename {hubspot => leetcode/hubspot}/three-months.csv (100%) rename {hulu => leetcode/hulu}/all.csv (100%) rename {hulu => leetcode/hulu}/more-than-six-months.csv (100%) rename {hyperverge => leetcode/hyperverge}/all.csv (100%) rename {hyperverge => leetcode/hyperverge}/more-than-six-months.csv (100%) rename {ibm => leetcode/ibm}/all.csv (100%) rename {ibm => leetcode/ibm}/more-than-six-months.csv (100%) rename {ibm => leetcode/ibm}/six-months.csv (100%) rename {ibm => leetcode/ibm}/thirty-days.csv (100%) rename {ibm => leetcode/ibm}/three-months.csv (100%) rename {iit-bombay => leetcode/iit-bombay}/all.csv (100%) rename {iit-bombay => leetcode/iit-bombay}/more-than-six-months.csv (100%) rename {imc => leetcode/imc}/all.csv (100%) rename {imc => leetcode/imc}/more-than-six-months.csv (100%) rename {impact-analytics => leetcode/impact-analytics}/all.csv (100%) rename {impact-analytics => leetcode/impact-analytics}/more-than-six-months.csv (100%) rename {increff => leetcode/increff}/all.csv (100%) rename {increff => leetcode/increff}/more-than-six-months.csv (100%) rename {indeed => leetcode/indeed}/all.csv (100%) rename {indeed => leetcode/indeed}/more-than-six-months.csv (100%) rename {indmoney => leetcode/indmoney}/all.csv (100%) rename {indmoney => leetcode/indmoney}/more-than-six-months.csv (100%) rename {info-edge => leetcode/info-edge}/all.csv (100%) rename {info-edge => leetcode/info-edge}/more-than-six-months.csv (100%) rename {info-edge => leetcode/info-edge}/six-months.csv (100%) rename {informatica => leetcode/informatica}/all.csv (100%) rename {informatica => leetcode/informatica}/more-than-six-months.csv (100%) rename {infosys => leetcode/infosys}/all.csv (100%) rename {infosys => leetcode/infosys}/more-than-six-months.csv (100%) rename {infosys => leetcode/infosys}/six-months.csv (100%) rename {infosys => leetcode/infosys}/thirty-days.csv (100%) rename {infosys => leetcode/infosys}/three-months.csv (100%) rename {inmobi => leetcode/inmobi}/all.csv (100%) rename {inmobi => leetcode/inmobi}/more-than-six-months.csv (100%) rename {innovaccer => leetcode/innovaccer}/all.csv (100%) rename {innovaccer => leetcode/innovaccer}/more-than-six-months.csv (100%) rename {innovaccer => leetcode/innovaccer}/six-months.csv (100%) rename {instabase => leetcode/instabase}/all.csv (100%) rename {instabase => leetcode/instabase}/more-than-six-months.csv (100%) rename {instacart => leetcode/instacart}/all.csv (100%) rename {instacart => leetcode/instacart}/more-than-six-months.csv (100%) rename {instacart => leetcode/instacart}/six-months.csv (100%) rename {instacart => leetcode/instacart}/thirty-days.csv (100%) rename {instacart => leetcode/instacart}/three-months.csv (100%) rename {intel => leetcode/intel}/all.csv (100%) rename {intel => leetcode/intel}/more-than-six-months.csv (100%) rename {intel => leetcode/intel}/six-months.csv (100%) rename {interactive-brokers => leetcode/interactive-brokers}/all.csv (100%) rename {interactive-brokers => leetcode/interactive-brokers}/more-than-six-months.csv (100%) rename {intercom => leetcode/intercom}/all.csv (100%) rename {intercom => leetcode/intercom}/more-than-six-months.csv (100%) rename {intercom => leetcode/intercom}/six-months.csv (100%) rename {intuit => leetcode/intuit}/all.csv (100%) rename {intuit => leetcode/intuit}/more-than-six-months.csv (100%) rename {intuit => leetcode/intuit}/six-months.csv (100%) rename {intuit => leetcode/intuit}/thirty-days.csv (100%) rename {intuit => leetcode/intuit}/three-months.csv (100%) rename {ion => leetcode/ion}/all.csv (100%) rename {ion => leetcode/ion}/more-than-six-months.csv (100%) rename {ivp => leetcode/ivp}/all.csv (100%) rename {ivp => leetcode/ivp}/more-than-six-months.csv (100%) rename {ixigo => leetcode/ixigo}/all.csv (100%) rename {ixigo => leetcode/ixigo}/more-than-six-months.csv (100%) rename {ixl => leetcode/ixl}/all.csv (100%) rename {ixl => leetcode/ixl}/more-than-six-months.csv (100%) rename {ixl => leetcode/ixl}/six-months.csv (100%) rename {ixl => leetcode/ixl}/three-months.csv (100%) rename {jane-street => leetcode/jane-street}/all.csv (100%) rename {jane-street => leetcode/jane-street}/more-than-six-months.csv (100%) rename {jd => leetcode/jd}/all.csv (100%) rename {jd => leetcode/jd}/six-months.csv (100%) rename {jeavio => leetcode/jeavio}/all.csv (100%) rename {jeavio => leetcode/jeavio}/more-than-six-months.csv (100%) rename {jetbrains => leetcode/jetbrains}/all.csv (100%) rename {jetbrains => leetcode/jetbrains}/more-than-six-months.csv (100%) rename {jingchi => leetcode/jingchi}/all.csv (100%) rename {jingchi => leetcode/jingchi}/more-than-six-months.csv (100%) rename {jio => leetcode/jio}/all.csv (100%) rename {jio => leetcode/jio}/more-than-six-months.csv (100%) rename {josh-technology => leetcode/josh-technology}/all.csv (100%) rename {josh-technology => leetcode/josh-technology}/more-than-six-months.csv (100%) rename {josh-technology => leetcode/josh-technology}/six-months.csv (100%) rename {josh-technology => leetcode/josh-technology}/thirty-days.csv (100%) rename {josh-technology => leetcode/josh-technology}/three-months.csv (100%) rename {jpmorgan => leetcode/jpmorgan}/all.csv (100%) rename {jpmorgan => leetcode/jpmorgan}/more-than-six-months.csv (100%) rename {jpmorgan => leetcode/jpmorgan}/six-months.csv (100%) rename {jpmorgan => leetcode/jpmorgan}/thirty-days.csv (100%) rename {jpmorgan => leetcode/jpmorgan}/three-months.csv (100%) rename {jtg => leetcode/jtg}/all.csv (100%) rename {jtg => leetcode/jtg}/more-than-six-months.csv (100%) rename {jump-trading => leetcode/jump-trading}/all.csv (100%) rename {jump-trading => leetcode/jump-trading}/more-than-six-months.csv (100%) rename {jump-trading => leetcode/jump-trading}/six-months.csv (100%) rename {junglee-games => leetcode/junglee-games}/all.csv (100%) rename {junglee-games => leetcode/junglee-games}/more-than-six-months.csv (100%) rename {juniper => leetcode/juniper}/all.csv (100%) rename {juniper => leetcode/juniper}/more-than-six-months.csv (100%) rename {juspay => leetcode/juspay}/all.csv (100%) rename {juspay => leetcode/juspay}/more-than-six-months.csv (100%) rename {juspay => leetcode/juspay}/six-months.csv (100%) rename {juspay => leetcode/juspay}/three-months.csv (100%) rename {justworks => leetcode/justworks}/all.csv (100%) rename {justworks => leetcode/justworks}/more-than-six-months.csv (100%) rename {kakao => leetcode/kakao}/all.csv (100%) rename {kakao => leetcode/kakao}/more-than-six-months.csv (100%) rename {karat => leetcode/karat}/all.csv (100%) rename {karat => leetcode/karat}/more-than-six-months.csv (100%) rename {karat => leetcode/karat}/six-months.csv (100%) rename {karat => leetcode/karat}/thirty-days.csv (100%) rename {karat => leetcode/karat}/three-months.csv (100%) rename {keeptruckin => leetcode/keeptruckin}/all.csv (100%) rename {keeptruckin => leetcode/keeptruckin}/more-than-six-months.csv (100%) rename {keeptruckin => leetcode/keeptruckin}/six-months.csv (100%) rename {keeptruckin => leetcode/keeptruckin}/three-months.csv (100%) rename {kla-tencor => leetcode/kla-tencor}/all.csv (100%) rename {kla-tencor => leetcode/kla-tencor}/more-than-six-months.csv (100%) rename {kla-tencor => leetcode/kla-tencor}/six-months.csv (100%) rename {kla => leetcode/kla}/all.csv (100%) rename {kla => leetcode/kla}/more-than-six-months.csv (100%) rename {kla => leetcode/kla}/six-months.csv (100%) rename {kla => leetcode/kla}/thirty-days.csv (100%) rename {kla => leetcode/kla}/three-months.csv (100%) rename {komprise => leetcode/komprise}/all.csv (100%) rename {komprise => leetcode/komprise}/more-than-six-months.csv (100%) rename {kotak-mahindra-bank => leetcode/kotak-mahindra-bank}/all.csv (100%) rename {kotak-mahindra-bank => leetcode/kotak-mahindra-bank}/more-than-six-months.csv (100%) rename {kpit => leetcode/kpit}/all.csv (100%) rename {kpit => leetcode/kpit}/more-than-six-months.csv (100%) rename {kpmg => leetcode/kpmg}/all.csv (100%) rename {kpmg => leetcode/kpmg}/six-months.csv (100%) rename {lacework => leetcode/lacework}/all.csv (100%) rename {lacework => leetcode/lacework}/more-than-six-months.csv (100%) rename {larsen-toubro => leetcode/larsen-toubro}/all.csv (100%) rename {larsen-toubro => leetcode/larsen-toubro}/more-than-six-months.csv (100%) rename {leap-motion => leetcode/leap-motion}/all.csv (100%) rename {leap-motion => leetcode/leap-motion}/more-than-six-months.csv (100%) rename {lendingkart => leetcode/lendingkart}/all.csv (100%) rename {lenskart => leetcode/lenskart}/all.csv (100%) rename {lenskart => leetcode/lenskart}/more-than-six-months.csv (100%) rename {lg-electronics => leetcode/lg-electronics}/all.csv (100%) rename {lg-electronics => leetcode/lg-electronics}/more-than-six-months.csv (100%) rename {lg-electronics => leetcode/lg-electronics}/six-months.csv (100%) rename {licious => leetcode/licious}/all.csv (100%) rename {licious => leetcode/licious}/more-than-six-months.csv (100%) rename {liftoff => leetcode/liftoff}/all.csv (100%) rename {liftoff => leetcode/liftoff}/more-than-six-months.csv (100%) rename {liftoff => leetcode/liftoff}/six-months.csv (100%) rename {liftoff => leetcode/liftoff}/three-months.csv (100%) rename {lime => leetcode/lime}/all.csv (100%) rename {lime => leetcode/lime}/more-than-six-months.csv (100%) rename {lime => leetcode/lime}/six-months.csv (100%) rename {line => leetcode/line}/all.csv (100%) rename {line => leetcode/line}/more-than-six-months.csv (100%) rename {line => leetcode/line}/six-months.csv (100%) rename {line => leetcode/line}/three-months.csv (100%) rename {linkedin => leetcode/linkedin}/all.csv (100%) rename {linkedin => leetcode/linkedin}/more-than-six-months.csv (100%) rename {linkedin => leetcode/linkedin}/six-months.csv (100%) rename {linkedin => leetcode/linkedin}/thirty-days.csv (100%) rename {linkedin => leetcode/linkedin}/three-months.csv (100%) rename {liveramp => leetcode/liveramp}/all.csv (100%) rename {liveramp => leetcode/liveramp}/more-than-six-months.csv (100%) rename {livspace => leetcode/livspace}/all.csv (100%) rename {livspace => leetcode/livspace}/six-months.csv (100%) rename {livspace => leetcode/livspace}/three-months.csv (100%) rename {lowe => leetcode/lowe}/all.csv (100%) rename {lowe => leetcode/lowe}/more-than-six-months.csv (100%) rename {lti => leetcode/lti}/all.csv (100%) rename {lti => leetcode/lti}/more-than-six-months.csv (100%) rename {lucid => leetcode/lucid}/all.csv (100%) rename {lucid => leetcode/lucid}/more-than-six-months.csv (100%) rename {lucid => leetcode/lucid}/six-months.csv (100%) rename {lucid => leetcode/lucid}/thirty-days.csv (100%) rename {lucid => leetcode/lucid}/three-months.csv (100%) rename {luxoft => leetcode/luxoft}/all.csv (100%) rename {luxoft => leetcode/luxoft}/more-than-six-months.csv (100%) rename {luxoft => leetcode/luxoft}/six-months.csv (100%) rename {lyft => leetcode/lyft}/all.csv (100%) rename {lyft => leetcode/lyft}/more-than-six-months.csv (100%) rename {lyft => leetcode/lyft}/six-months.csv (100%) rename {lyft => leetcode/lyft}/thirty-days.csv (100%) rename {lyft => leetcode/lyft}/three-months.csv (100%) rename {machine-zone => leetcode/machine-zone}/all.csv (100%) rename {machine-zone => leetcode/machine-zone}/more-than-six-months.csv (100%) rename {machinezone => leetcode/machinezone}/all.csv (100%) rename {machinezone => leetcode/machinezone}/more-than-six-months.csv (100%) rename {maersk => leetcode/maersk}/all.csv (100%) rename {maersk => leetcode/maersk}/more-than-six-months.csv (100%) rename {makemytrip => leetcode/makemytrip}/all.csv (100%) rename {makemytrip => leetcode/makemytrip}/more-than-six-months.csv (100%) rename {mapbox => leetcode/mapbox}/all.csv (100%) rename {maq-software => leetcode/maq-software}/all.csv (100%) rename {maq-software => leetcode/maq-software}/more-than-six-months.csv (100%) rename {marqeta => leetcode/marqeta}/all.csv (100%) rename {marqeta => leetcode/marqeta}/more-than-six-months.csv (100%) rename {marqeta => leetcode/marqeta}/six-months.csv (100%) rename {marqeta => leetcode/marqeta}/thirty-days.csv (100%) rename {marqeta => leetcode/marqeta}/three-months.csv (100%) rename {mastercard => leetcode/mastercard}/all.csv (100%) rename {mastercard => leetcode/mastercard}/more-than-six-months.csv (100%) rename {mastercard => leetcode/mastercard}/six-months.csv (100%) rename {mastercard => leetcode/mastercard}/three-months.csv (100%) rename {mathworks => leetcode/mathworks}/all.csv (100%) rename {mathworks => leetcode/mathworks}/more-than-six-months.csv (100%) rename {mathworks => leetcode/mathworks}/six-months.csv (100%) rename {mathworks => leetcode/mathworks}/three-months.csv (100%) rename {mcafee => leetcode/mcafee}/all.csv (100%) rename {mcafee => leetcode/mcafee}/more-than-six-months.csv (100%) rename {mckinsey => leetcode/mckinsey}/all.csv (100%) rename {mckinsey => leetcode/mckinsey}/more-than-six-months.csv (100%) rename {medianet => leetcode/medianet}/all.csv (100%) rename {medianet => leetcode/medianet}/more-than-six-months.csv (100%) rename {medianet => leetcode/medianet}/six-months.csv (100%) rename {medianet => leetcode/medianet}/thirty-days.csv (100%) rename {medianet => leetcode/medianet}/three-months.csv (100%) rename {meesho => leetcode/meesho}/all.csv (100%) rename {meesho => leetcode/meesho}/more-than-six-months.csv (100%) rename {meesho => leetcode/meesho}/six-months.csv (100%) rename {meesho => leetcode/meesho}/thirty-days.csv (100%) rename {meesho => leetcode/meesho}/three-months.csv (100%) rename {meituan => leetcode/meituan}/all.csv (100%) rename {meituan => leetcode/meituan}/more-than-six-months.csv (100%) rename {mercari => leetcode/mercari}/all.csv (100%) rename {mercari => leetcode/mercari}/more-than-six-months.csv (100%) rename {micro1 => leetcode/micro1}/all.csv (100%) rename {micro1 => leetcode/micro1}/more-than-six-months.csv (100%) rename {microsoft => leetcode/microsoft}/all.csv (100%) rename {microsoft => leetcode/microsoft}/more-than-six-months.csv (100%) rename {microsoft => leetcode/microsoft}/six-months.csv (100%) rename {microsoft => leetcode/microsoft}/thirty-days.csv (100%) rename {microsoft => leetcode/microsoft}/three-months.csv (100%) rename {microstrategy => leetcode/microstrategy}/all.csv (100%) rename {microstrategy => leetcode/microstrategy}/more-than-six-months.csv (100%) rename {millennium => leetcode/millennium}/all.csv (100%) rename {millennium => leetcode/millennium}/more-than-six-months.csv (100%) rename {millennium => leetcode/millennium}/six-months.csv (100%) rename {mindtickle => leetcode/mindtickle}/all.csv (100%) rename {mindtickle => leetcode/mindtickle}/more-than-six-months.csv (100%) rename {mindtree => leetcode/mindtree}/all.csv (100%) rename {mindtree => leetcode/mindtree}/more-than-six-months.csv (100%) rename {miro => leetcode/miro}/all.csv (100%) rename {miro => leetcode/miro}/more-than-six-months.csv (100%) rename {mishipay => leetcode/mishipay}/all.csv (100%) rename {mishipay => leetcode/mishipay}/more-than-six-months.csv (100%) rename {mitsogo => leetcode/mitsogo}/all.csv (100%) rename {mitsogo => leetcode/mitsogo}/more-than-six-months.csv (100%) rename {mixpanel => leetcode/mixpanel}/all.csv (100%) rename {mixpanel => leetcode/mixpanel}/more-than-six-months.csv (100%) rename {mixpanel => leetcode/mixpanel}/six-months.csv (100%) rename {mixpanel => leetcode/mixpanel}/three-months.csv (100%) rename {mobileye => leetcode/mobileye}/all.csv (100%) rename {mobileye => leetcode/mobileye}/more-than-six-months.csv (100%) rename {mobisy => leetcode/mobisy}/all.csv (100%) rename {mobisy => leetcode/mobisy}/more-than-six-months.csv (100%) rename {moengage => leetcode/moengage}/all.csv (100%) rename {moengage => leetcode/moengage}/more-than-six-months.csv (100%) rename {moloco => leetcode/moloco}/all.csv (100%) rename {moloco => leetcode/moloco}/more-than-six-months.csv (100%) rename {moloco => leetcode/moloco}/six-months.csv (100%) rename {moneylion => leetcode/moneylion}/all.csv (100%) rename {moneylion => leetcode/moneylion}/more-than-six-months.csv (100%) rename {mongodb => leetcode/mongodb}/all.csv (100%) rename {mongodb => leetcode/mongodb}/more-than-six-months.csv (100%) rename {mongodb => leetcode/mongodb}/six-months.csv (100%) rename {mongodb => leetcode/mongodb}/three-months.csv (100%) rename {morgan-stanley => leetcode/morgan-stanley}/all.csv (100%) rename {morgan-stanley => leetcode/morgan-stanley}/more-than-six-months.csv (100%) rename {morgan-stanley => leetcode/morgan-stanley}/six-months.csv (100%) rename {morgan-stanley => leetcode/morgan-stanley}/three-months.csv (100%) rename {motorola => leetcode/motorola}/all.csv (100%) rename {motorola => leetcode/motorola}/more-than-six-months.csv (100%) rename {mountblue => leetcode/mountblue}/all.csv (100%) rename {mountblue => leetcode/mountblue}/more-than-six-months.csv (100%) rename {moveworks => leetcode/moveworks}/all.csv (100%) rename {moveworks => leetcode/moveworks}/more-than-six-months.csv (100%) rename {moveworks => leetcode/moveworks}/six-months.csv (100%) rename {moveworks => leetcode/moveworks}/three-months.csv (100%) rename {msci => leetcode/msci}/all.csv (100%) rename {msci => leetcode/msci}/more-than-six-months.csv (100%) rename {mts => leetcode/mts}/all.csv (100%) rename {mts => leetcode/mts}/more-than-six-months.csv (100%) rename {murex => leetcode/murex}/all.csv (100%) rename {murex => leetcode/murex}/more-than-six-months.csv (100%) rename {mykaarma => leetcode/mykaarma}/all.csv (100%) rename {mykaarma => leetcode/mykaarma}/more-than-six-months.csv (100%) rename {myntra => leetcode/myntra}/all.csv (100%) rename {myntra => leetcode/myntra}/more-than-six-months.csv (100%) rename {myntra => leetcode/myntra}/six-months.csv (100%) rename {nagarro => leetcode/nagarro}/all.csv (100%) rename {nagarro => leetcode/nagarro}/more-than-six-months.csv (100%) rename {national-instruments => leetcode/national-instruments}/all.csv (100%) rename {national-instruments => leetcode/national-instruments}/more-than-six-months.csv (100%) rename {national-payments-coorperation-india => leetcode/national-payments-coorperation-india}/all.csv (100%) rename {national-payments-coorperation-india => leetcode/national-payments-coorperation-india}/more-than-six-months.csv (100%) rename {navan => leetcode/navan}/all.csv (100%) rename {navan => leetcode/navan}/more-than-six-months.csv (100%) rename {navan => leetcode/navan}/six-months.csv (100%) rename {navan => leetcode/navan}/three-months.csv (100%) rename {naver => leetcode/naver}/all.csv (100%) rename {naver => leetcode/naver}/more-than-six-months.csv (100%) rename {navi => leetcode/navi}/all.csv (100%) rename {navi => leetcode/navi}/more-than-six-months.csv (100%) rename {ncr => leetcode/ncr}/all.csv (100%) rename {ncr => leetcode/ncr}/more-than-six-months.csv (100%) rename {nerdwallet => leetcode/nerdwallet}/all.csv (100%) rename {netapp => leetcode/netapp}/all.csv (100%) rename {netapp => leetcode/netapp}/more-than-six-months.csv (100%) rename {netapp => leetcode/netapp}/six-months.csv (100%) rename {netcracker-technology => leetcode/netcracker-technology}/all.csv (100%) rename {netcracker-technology => leetcode/netcracker-technology}/six-months.csv (100%) rename {netcracker-technology => leetcode/netcracker-technology}/three-months.csv (100%) rename {netease => leetcode/netease}/all.csv (100%) rename {netease => leetcode/netease}/more-than-six-months.csv (100%) rename {netflix => leetcode/netflix}/all.csv (100%) rename {netflix => leetcode/netflix}/more-than-six-months.csv (100%) rename {netflix => leetcode/netflix}/six-months.csv (100%) rename {netflix => leetcode/netflix}/thirty-days.csv (100%) rename {netflix => leetcode/netflix}/three-months.csv (100%) rename {netskope => leetcode/netskope}/all.csv (100%) rename {netskope => leetcode/netskope}/more-than-six-months.csv (100%) rename {netskope => leetcode/netskope}/six-months.csv (100%) rename {netsuite => leetcode/netsuite}/all.csv (100%) rename {netsuite => leetcode/netsuite}/more-than-six-months.csv (100%) rename {newsbreak => leetcode/newsbreak}/all.csv (100%) rename {newsbreak => leetcode/newsbreak}/six-months.csv (100%) rename {newsbreak => leetcode/newsbreak}/three-months.csv (100%) rename {nextdoor => leetcode/nextdoor}/all.csv (100%) rename {nextdoor => leetcode/nextdoor}/more-than-six-months.csv (100%) rename {nextdoor => leetcode/nextdoor}/six-months.csv (100%) rename {nextjump => leetcode/nextjump}/all.csv (100%) rename {nextjump => leetcode/nextjump}/more-than-six-months.csv (100%) rename {nference => leetcode/nference}/all.csv (100%) rename {nference => leetcode/nference}/more-than-six-months.csv (100%) rename {niantic => leetcode/niantic}/all.csv (100%) rename {niantic => leetcode/niantic}/more-than-six-months.csv (100%) rename {nielsen => leetcode/nielsen}/all.csv (100%) rename {nielsen => leetcode/nielsen}/more-than-six-months.csv (100%) rename {nike => leetcode/nike}/all.csv (100%) rename {nike => leetcode/nike}/more-than-six-months.csv (100%) rename {nike => leetcode/nike}/six-months.csv (100%) rename {nike => leetcode/nike}/thirty-days.csv (100%) rename {nike => leetcode/nike}/three-months.csv (100%) rename {ninjacart => leetcode/ninjacart}/all.csv (100%) rename {ninjacart => leetcode/ninjacart}/more-than-six-months.csv (100%) rename {nokia => leetcode/nokia}/all.csv (100%) rename {nokia => leetcode/nokia}/more-than-six-months.csv (100%) rename {nordstrom => leetcode/nordstrom}/all.csv (100%) rename {nordstrom => leetcode/nordstrom}/more-than-six-months.csv (100%) rename {nordstrom => leetcode/nordstrom}/six-months.csv (100%) rename {nordstrom => leetcode/nordstrom}/three-months.csv (100%) rename {notion => leetcode/notion}/all.csv (100%) rename {notion => leetcode/notion}/more-than-six-months.csv (100%) rename {npci => leetcode/npci}/all.csv (100%) rename {npci => leetcode/npci}/more-than-six-months.csv (100%) rename {nuro => leetcode/nuro}/all.csv (100%) rename {nuro => leetcode/nuro}/more-than-six-months.csv (100%) rename {nuro => leetcode/nuro}/six-months.csv (100%) rename {nuro => leetcode/nuro}/thirty-days.csv (100%) rename {nuro => leetcode/nuro}/three-months.csv (100%) rename {nutanix => leetcode/nutanix}/all.csv (100%) rename {nutanix => leetcode/nutanix}/more-than-six-months.csv (100%) rename {nutanix => leetcode/nutanix}/six-months.csv (100%) rename {nutanix => leetcode/nutanix}/thirty-days.csv (100%) rename {nutanix => leetcode/nutanix}/three-months.csv (100%) rename {nvidia => leetcode/nvidia}/all.csv (100%) rename {nvidia => leetcode/nvidia}/more-than-six-months.csv (100%) rename {nvidia => leetcode/nvidia}/six-months.csv (100%) rename {nvidia => leetcode/nvidia}/thirty-days.csv (100%) rename {nvidia => leetcode/nvidia}/three-months.csv (100%) rename {nykaa => leetcode/nykaa}/all.csv (100%) rename {nykaa => leetcode/nykaa}/more-than-six-months.csv (100%) rename {nykaa => leetcode/nykaa}/six-months.csv (100%) rename {observeai => leetcode/observeai}/all.csv (100%) rename {observeai => leetcode/observeai}/more-than-six-months.csv (100%) rename {observeai => leetcode/observeai}/six-months.csv (100%) rename {odoo => leetcode/odoo}/all.csv (100%) rename {odoo => leetcode/odoo}/more-than-six-months.csv (100%) rename {okta => leetcode/okta}/all.csv (100%) rename {okta => leetcode/okta}/more-than-six-months.csv (100%) rename {okx => leetcode/okx}/all.csv (100%) rename {okx => leetcode/okx}/more-than-six-months.csv (100%) rename {ola => leetcode/ola}/all.csv (100%) rename {ola => leetcode/ola}/more-than-six-months.csv (100%) rename {olx => leetcode/olx}/all.csv (100%) rename {olx => leetcode/olx}/six-months.csv (100%) rename {openai => leetcode/openai}/all.csv (100%) rename {openai => leetcode/openai}/more-than-six-months.csv (100%) rename {openai => leetcode/openai}/six-months.csv (100%) rename {openai => leetcode/openai}/three-months.csv (100%) rename {opendoor => leetcode/opendoor}/all.csv (100%) rename {opendoor => leetcode/opendoor}/more-than-six-months.csv (100%) rename {opentext => leetcode/opentext}/all.csv (100%) rename {opentext => leetcode/opentext}/more-than-six-months.csv (100%) rename {oppo => leetcode/oppo}/all.csv (100%) rename {optiver => leetcode/optiver}/all.csv (100%) rename {optiver => leetcode/optiver}/more-than-six-months.csv (100%) rename {optum => leetcode/optum}/all.csv (100%) rename {optum => leetcode/optum}/more-than-six-months.csv (100%) rename {oracle => leetcode/oracle}/all.csv (100%) rename {oracle => leetcode/oracle}/more-than-six-months.csv (100%) rename {oracle => leetcode/oracle}/six-months.csv (100%) rename {oracle => leetcode/oracle}/thirty-days.csv (100%) rename {oracle => leetcode/oracle}/three-months.csv (100%) rename {oscar-health => leetcode/oscar-health}/all.csv (100%) rename {oscar-health => leetcode/oscar-health}/more-than-six-months.csv (100%) rename {oscar-health => leetcode/oscar-health}/six-months.csv (100%) rename {oscar-health => leetcode/oscar-health}/thirty-days.csv (100%) rename {oscar-health => leetcode/oscar-health}/three-months.csv (100%) rename {otterai => leetcode/otterai}/all.csv (100%) rename {otterai => leetcode/otterai}/more-than-six-months.csv (100%) rename {oyo => leetcode/oyo}/all.csv (100%) rename {oyo => leetcode/oyo}/more-than-six-months.csv (100%) rename {oyo => leetcode/oyo}/six-months.csv (100%) rename {oyo => leetcode/oyo}/three-months.csv (100%) rename {ozon => leetcode/ozon}/all.csv (100%) rename {ozon => leetcode/ozon}/more-than-six-months.csv (100%) rename {ozon => leetcode/ozon}/six-months.csv (100%) rename {ozon => leetcode/ozon}/three-months.csv (100%) rename {palantir-technologies => leetcode/palantir-technologies}/all.csv (100%) rename {palantir-technologies => leetcode/palantir-technologies}/more-than-six-months.csv (100%) rename {palantir-technologies => leetcode/palantir-technologies}/six-months.csv (100%) rename {palantir-technologies => leetcode/palantir-technologies}/three-months.csv (100%) rename {palo-alto-networks => leetcode/palo-alto-networks}/all.csv (100%) rename {palo-alto-networks => leetcode/palo-alto-networks}/more-than-six-months.csv (100%) rename {palo-alto-networks => leetcode/palo-alto-networks}/six-months.csv (100%) rename {palo-alto-networks => leetcode/palo-alto-networks}/three-months.csv (100%) rename {park => leetcode/park}/all.csv (100%) rename {park => leetcode/park}/more-than-six-months.csv (100%) rename {patreon => leetcode/patreon}/all.csv (100%) rename {patreon => leetcode/patreon}/more-than-six-months.csv (100%) rename {patreon => leetcode/patreon}/six-months.csv (100%) rename {paycom => leetcode/paycom}/all.csv (100%) rename {paycom => leetcode/paycom}/more-than-six-months.csv (100%) rename {paypal => leetcode/paypal}/all.csv (100%) rename {paypal => leetcode/paypal}/more-than-six-months.csv (100%) rename {paypal => leetcode/paypal}/six-months.csv (100%) rename {paypal => leetcode/paypal}/thirty-days.csv (100%) rename {paypal => leetcode/paypal}/three-months.csv (100%) rename {paypay => leetcode/paypay}/all.csv (100%) rename {paypay => leetcode/paypay}/more-than-six-months.csv (100%) rename {paypay => leetcode/paypay}/six-months.csv (100%) rename {paypay => leetcode/paypay}/three-months.csv (100%) rename {paytm => leetcode/paytm}/all.csv (100%) rename {paytm => leetcode/paytm}/more-than-six-months.csv (100%) rename {paytm => leetcode/paytm}/six-months.csv (100%) rename {payu => leetcode/payu}/all.csv (100%) rename {payu => leetcode/payu}/more-than-six-months.csv (100%) rename {peak6 => leetcode/peak6}/all.csv (100%) rename {pega => leetcode/pega}/all.csv (100%) rename {peloton => leetcode/peloton}/all.csv (100%) rename {peloton => leetcode/peloton}/more-than-six-months.csv (100%) rename {persistent-systems => leetcode/persistent-systems}/all.csv (100%) rename {persistent-systems => leetcode/persistent-systems}/more-than-six-months.csv (100%) rename {persistent-systems => leetcode/persistent-systems}/six-months.csv (100%) rename {philips => leetcode/philips}/all.csv (100%) rename {philips => leetcode/philips}/six-months.csv (100%) rename {phonepe => leetcode/phonepe}/all.csv (100%) rename {phonepe => leetcode/phonepe}/more-than-six-months.csv (100%) rename {phonepe => leetcode/phonepe}/six-months.csv (100%) rename {phonepe => leetcode/phonepe}/thirty-days.csv (100%) rename {phonepe => leetcode/phonepe}/three-months.csv (100%) rename {pickrr => leetcode/pickrr}/all.csv (100%) rename {pickrr => leetcode/pickrr}/more-than-six-months.csv (100%) rename {pinterest => leetcode/pinterest}/all.csv (100%) rename {pinterest => leetcode/pinterest}/more-than-six-months.csv (100%) rename {pinterest => leetcode/pinterest}/six-months.csv (100%) rename {pinterest => leetcode/pinterest}/thirty-days.csv (100%) rename {pinterest => leetcode/pinterest}/three-months.csv (100%) rename {plaid => leetcode/plaid}/all.csv (100%) rename {plaid => leetcode/plaid}/six-months.csv (100%) rename {plaid => leetcode/plaid}/three-months.csv (100%) rename {pocket-gems => leetcode/pocket-gems}/all.csv (100%) rename {pocket-gems => leetcode/pocket-gems}/more-than-six-months.csv (100%) rename {point72 => leetcode/point72}/all.csv (100%) rename {point72 => leetcode/point72}/more-than-six-months.csv (100%) rename {polar => leetcode/polar}/all.csv (100%) rename {polar => leetcode/polar}/more-than-six-months.csv (100%) rename {ponyai => leetcode/ponyai}/all.csv (100%) rename {ponyai => leetcode/ponyai}/more-than-six-months.csv (100%) rename {pornhub => leetcode/pornhub}/all.csv (100%) rename {pornhub => leetcode/pornhub}/more-than-six-months.csv (100%) rename {porter => leetcode/porter}/all.csv (100%) rename {porter => leetcode/porter}/more-than-six-months.csv (100%) rename {poshmark => leetcode/poshmark}/all.csv (100%) rename {poshmark => leetcode/poshmark}/more-than-six-months.csv (100%) rename {postman => leetcode/postman}/all.csv (100%) rename {postmates => leetcode/postmates}/all.csv (100%) rename {postmates => leetcode/postmates}/more-than-six-months.csv (100%) rename {poynt => leetcode/poynt}/all.csv (100%) rename {poynt => leetcode/poynt}/more-than-six-months.csv (100%) rename {practo => leetcode/practo}/all.csv (100%) rename {practo => leetcode/practo}/more-than-six-months.csv (100%) rename {publicis-sapient => leetcode/publicis-sapient}/all.csv (100%) rename {publicis-sapient => leetcode/publicis-sapient}/more-than-six-months.csv (100%) rename {publicis-sapient => leetcode/publicis-sapient}/six-months.csv (100%) rename {pubmatic => leetcode/pubmatic}/all.csv (100%) rename {pubmatic => leetcode/pubmatic}/more-than-six-months.csv (100%) rename {pure-storage => leetcode/pure-storage}/all.csv (100%) rename {pure-storage => leetcode/pure-storage}/more-than-six-months.csv (100%) rename {pure-storage => leetcode/pure-storage}/six-months.csv (100%) rename {pure-storage => leetcode/pure-storage}/three-months.csv (100%) rename {pure => leetcode/pure}/all.csv (100%) rename {pure => leetcode/pure}/six-months.csv (100%) rename {purplle => leetcode/purplle}/all.csv (100%) rename {purplle => leetcode/purplle}/more-than-six-months.csv (100%) rename {pwc => leetcode/pwc}/all.csv (100%) rename {pwc => leetcode/pwc}/more-than-six-months.csv (100%) rename {pwc => leetcode/pwc}/six-months.csv (100%) rename {qburst => leetcode/qburst}/all.csv (100%) rename {qburst => leetcode/qburst}/more-than-six-months.csv (100%) rename {qualcomm => leetcode/qualcomm}/all.csv (100%) rename {qualcomm => leetcode/qualcomm}/more-than-six-months.csv (100%) rename {qualcomm => leetcode/qualcomm}/six-months.csv (100%) rename {qualcomm => leetcode/qualcomm}/three-months.csv (100%) rename {qualtrics => leetcode/qualtrics}/all.csv (100%) rename {qualtrics => leetcode/qualtrics}/more-than-six-months.csv (100%) rename {qualtrics => leetcode/qualtrics}/six-months.csv (100%) rename {qualys => leetcode/qualys}/all.csv (100%) rename {qualys => leetcode/qualys}/more-than-six-months.csv (100%) rename {quantcast => leetcode/quantcast}/all.csv (100%) rename {quantcast => leetcode/quantcast}/six-months.csv (100%) rename {quantcast => leetcode/quantcast}/three-months.csv (100%) rename {quince => leetcode/quince}/all.csv (100%) rename {quince => leetcode/quince}/more-than-six-months.csv (100%) rename {quince => leetcode/quince}/six-months.csv (100%) rename {quince => leetcode/quince}/thirty-days.csv (100%) rename {quince => leetcode/quince}/three-months.csv (100%) rename {qumulo => leetcode/qumulo}/all.csv (100%) rename {qumulo => leetcode/qumulo}/more-than-six-months.csv (100%) rename {quora => leetcode/quora}/all.csv (100%) rename {quora => leetcode/quora}/more-than-six-months.csv (100%) rename {quora => leetcode/quora}/six-months.csv (100%) rename {quora => leetcode/quora}/three-months.csv (100%) rename {rackspace => leetcode/rackspace}/all.csv (100%) rename {rackspace => leetcode/rackspace}/more-than-six-months.csv (100%) rename {radius => leetcode/radius}/all.csv (100%) rename {radius => leetcode/radius}/more-than-six-months.csv (100%) rename {rakuten => leetcode/rakuten}/all.csv (100%) rename {rakuten => leetcode/rakuten}/more-than-six-months.csv (100%) rename {rakuten => leetcode/rakuten}/six-months.csv (100%) rename {rakuten => leetcode/rakuten}/thirty-days.csv (100%) rename {rakuten => leetcode/rakuten}/three-months.csv (100%) rename {ramp-2 => leetcode/ramp-2}/all.csv (100%) rename {ramp-2 => leetcode/ramp-2}/more-than-six-months.csv (100%) rename {ramp-2 => leetcode/ramp-2}/six-months.csv (100%) rename {ramp-2 => leetcode/ramp-2}/three-months.csv (100%) rename {razorpay => leetcode/razorpay}/all.csv (100%) rename {razorpay => leetcode/razorpay}/more-than-six-months.csv (100%) rename {razorpay => leetcode/razorpay}/six-months.csv (100%) rename {rbc => leetcode/rbc}/all.csv (100%) rename {rbc => leetcode/rbc}/more-than-six-months.csv (100%) rename {rbc => leetcode/rbc}/six-months.csv (100%) rename {redbus => leetcode/redbus}/all.csv (100%) rename {redbus => leetcode/redbus}/more-than-six-months.csv (100%) rename {reddit => leetcode/reddit}/all.csv (100%) rename {reddit => leetcode/reddit}/more-than-six-months.csv (100%) rename {reddit => leetcode/reddit}/six-months.csv (100%) rename {redfin => leetcode/redfin}/all.csv (100%) rename {redfin => leetcode/redfin}/six-months.csv (100%) rename {remitly => leetcode/remitly}/all.csv (100%) rename {remitly => leetcode/remitly}/more-than-six-months.csv (100%) rename {remitly => leetcode/remitly}/six-months.csv (100%) rename {remitly => leetcode/remitly}/three-months.csv (100%) rename {retailmenot => leetcode/retailmenot}/all.csv (100%) rename {retailmenot => leetcode/retailmenot}/more-than-six-months.csv (100%) rename {revolut => leetcode/revolut}/all.csv (100%) rename {revolut => leetcode/revolut}/more-than-six-months.csv (100%) rename {revolut => leetcode/revolut}/six-months.csv (100%) rename {revolut => leetcode/revolut}/three-months.csv (100%) rename {riot-games => leetcode/riot-games}/all.csv (100%) rename {riot-games => leetcode/riot-games}/more-than-six-months.csv (100%) rename {riot-games => leetcode/riot-games}/six-months.csv (100%) rename {ripple => leetcode/ripple}/all.csv (100%) rename {ripple => leetcode/ripple}/more-than-six-months.csv (100%) rename {ripple => leetcode/ripple}/six-months.csv (100%) rename {ripple => leetcode/ripple}/three-months.csv (100%) rename {rippling => leetcode/rippling}/all.csv (100%) rename {rippling => leetcode/rippling}/more-than-six-months.csv (100%) rename {rippling => leetcode/rippling}/six-months.csv (100%) rename {rivian => leetcode/rivian}/all.csv (100%) rename {rivian => leetcode/rivian}/more-than-six-months.csv (100%) rename {rivian => leetcode/rivian}/six-months.csv (100%) rename {rivian => leetcode/rivian}/three-months.csv (100%) rename {robinhood => leetcode/robinhood}/all.csv (100%) rename {robinhood => leetcode/robinhood}/more-than-six-months.csv (100%) rename {robinhood => leetcode/robinhood}/six-months.csv (100%) rename {robinhood => leetcode/robinhood}/three-months.csv (100%) rename {roblox => leetcode/roblox}/all.csv (100%) rename {roblox => leetcode/roblox}/more-than-six-months.csv (100%) rename {roblox => leetcode/roblox}/six-months.csv (100%) rename {roblox => leetcode/roblox}/thirty-days.csv (100%) rename {roblox => leetcode/roblox}/three-months.csv (100%) rename {roche => leetcode/roche}/all.csv (100%) rename {roche => leetcode/roche}/more-than-six-months.csv (100%) rename {rokt => leetcode/rokt}/all.csv (100%) rename {rokt => leetcode/rokt}/more-than-six-months.csv (100%) rename {rokt => leetcode/rokt}/six-months.csv (100%) rename {roku => leetcode/roku}/all.csv (100%) rename {roku => leetcode/roku}/more-than-six-months.csv (100%) rename {roku => leetcode/roku}/six-months.csv (100%) rename {roku => leetcode/roku}/three-months.csv (100%) rename {rubrik => leetcode/rubrik}/all.csv (100%) rename {rubrik => leetcode/rubrik}/more-than-six-months.csv (100%) rename {rubrik => leetcode/rubrik}/six-months.csv (100%) rename {rubrik => leetcode/rubrik}/three-months.csv (100%) rename {salesforce => leetcode/salesforce}/all.csv (100%) rename {salesforce => leetcode/salesforce}/more-than-six-months.csv (100%) rename {salesforce => leetcode/salesforce}/six-months.csv (100%) rename {salesforce => leetcode/salesforce}/thirty-days.csv (100%) rename {salesforce => leetcode/salesforce}/three-months.csv (100%) rename {sambanova => leetcode/sambanova}/all.csv (100%) rename {samsara => leetcode/samsara}/all.csv (100%) rename {samsara => leetcode/samsara}/more-than-six-months.csv (100%) rename {samsara => leetcode/samsara}/six-months.csv (100%) rename {samsung => leetcode/samsung}/all.csv (100%) rename {samsung => leetcode/samsung}/more-than-six-months.csv (100%) rename {samsung => leetcode/samsung}/six-months.csv (100%) rename {samsung => leetcode/samsung}/three-months.csv (100%) rename {sap => leetcode/sap}/all.csv (100%) rename {sap => leetcode/sap}/more-than-six-months.csv (100%) rename {sap => leetcode/sap}/six-months.csv (100%) rename {sap => leetcode/sap}/three-months.csv (100%) rename {scale-ai => leetcode/scale-ai}/all.csv (100%) rename {scale-ai => leetcode/scale-ai}/more-than-six-months.csv (100%) rename {schneider-electric => leetcode/schneider-electric}/all.csv (100%) rename {schneider-electric => leetcode/schneider-electric}/more-than-six-months.csv (100%) rename {schrodinger => leetcode/schrodinger}/all.csv (100%) rename {schrodinger => leetcode/schrodinger}/more-than-six-months.csv (100%) rename {sentry => leetcode/sentry}/all.csv (100%) rename {sentry => leetcode/sentry}/more-than-six-months.csv (100%) rename {servicenow => leetcode/servicenow}/all.csv (100%) rename {servicenow => leetcode/servicenow}/more-than-six-months.csv (100%) rename {servicenow => leetcode/servicenow}/six-months.csv (100%) rename {servicenow => leetcode/servicenow}/three-months.csv (100%) rename {sharechat => leetcode/sharechat}/all.csv (100%) rename {sharechat => leetcode/sharechat}/more-than-six-months.csv (100%) rename {shift-technology => leetcode/shift-technology}/all.csv (100%) rename {shift-technology => leetcode/shift-technology}/more-than-six-months.csv (100%) rename {shipsy => leetcode/shipsy}/all.csv (100%) rename {shipsy => leetcode/shipsy}/more-than-six-months.csv (100%) rename {shopee => leetcode/shopee}/all.csv (100%) rename {shopee => leetcode/shopee}/more-than-six-months.csv (100%) rename {shopee => leetcode/shopee}/six-months.csv (100%) rename {shopify => leetcode/shopify}/all.csv (100%) rename {shopify => leetcode/shopify}/more-than-six-months.csv (100%) rename {shopify => leetcode/shopify}/six-months.csv (100%) rename {shopify => leetcode/shopify}/three-months.csv (100%) rename {siemens => leetcode/siemens}/all.csv (100%) rename {siemens => leetcode/siemens}/more-than-six-months.csv (100%) rename {siemens => leetcode/siemens}/six-months.csv (100%) rename {sig => leetcode/sig}/all.csv (100%) rename {sig => leetcode/sig}/more-than-six-months.csv (100%) rename {sig => leetcode/sig}/six-months.csv (100%) rename {sigmoid => leetcode/sigmoid}/all.csv (100%) rename {sigmoid => leetcode/sigmoid}/more-than-six-months.csv (100%) rename {sigmoid => leetcode/sigmoid}/six-months.csv (100%) rename {sigmoid => leetcode/sigmoid}/three-months.csv (100%) rename {singlestore => leetcode/singlestore}/all.csv (100%) rename {singlestore => leetcode/singlestore}/more-than-six-months.csv (100%) rename {sixt => leetcode/sixt}/all.csv (100%) rename {sixt => leetcode/sixt}/more-than-six-months.csv (100%) rename {slice => leetcode/slice}/all.csv (100%) rename {slice => leetcode/slice}/more-than-six-months.csv (100%) rename {smartnews => leetcode/smartnews}/all.csv (100%) rename {smartnews => leetcode/smartnews}/more-than-six-months.csv (100%) rename {smartsheet => leetcode/smartsheet}/all.csv (100%) rename {smartsheet => leetcode/smartsheet}/more-than-six-months.csv (100%) rename {snapchat => leetcode/snapchat}/all.csv (100%) rename {snapchat => leetcode/snapchat}/more-than-six-months.csv (100%) rename {snapchat => leetcode/snapchat}/six-months.csv (100%) rename {snapchat => leetcode/snapchat}/three-months.csv (100%) rename {snapdeal => leetcode/snapdeal}/all.csv (100%) rename {snapdeal => leetcode/snapdeal}/more-than-six-months.csv (100%) rename {snowflake => leetcode/snowflake}/all.csv (100%) rename {snowflake => leetcode/snowflake}/more-than-six-months.csv (100%) rename {snowflake => leetcode/snowflake}/six-months.csv (100%) rename {snowflake => leetcode/snowflake}/thirty-days.csv (100%) rename {snowflake => leetcode/snowflake}/three-months.csv (100%) rename {societe-generale => leetcode/societe-generale}/all.csv (100%) rename {societe-generale => leetcode/societe-generale}/more-than-six-months.csv (100%) rename {sofi => leetcode/sofi}/all.csv (100%) rename {sofi => leetcode/sofi}/more-than-six-months.csv (100%) rename {sofi => leetcode/sofi}/six-months.csv (100%) rename {sofi => leetcode/sofi}/three-months.csv (100%) rename {software-ag => leetcode/software-ag}/all.csv (100%) rename {software-ag => leetcode/software-ag}/more-than-six-months.csv (100%) rename {softwire => leetcode/softwire}/all.csv (100%) rename {softwire => leetcode/softwire}/more-than-six-months.csv (100%) rename {softwire => leetcode/softwire}/six-months.csv (100%) rename {sony => leetcode/sony}/all.csv (100%) rename {sony => leetcode/sony}/more-than-six-months.csv (100%) rename {soti => leetcode/soti}/all.csv (100%) rename {soti => leetcode/soti}/more-than-six-months.csv (100%) rename {soundhound => leetcode/soundhound}/all.csv (100%) rename {soundhound => leetcode/soundhound}/more-than-six-months.csv (100%) rename {spacex => leetcode/spacex}/all.csv (100%) rename {spacex => leetcode/spacex}/more-than-six-months.csv (100%) rename {spinny => leetcode/spinny}/all.csv (100%) rename {spinny => leetcode/spinny}/more-than-six-months.csv (100%) rename {spinny => leetcode/spinny}/six-months.csv (100%) rename {spinny => leetcode/spinny}/three-months.csv (100%) rename {splunk => leetcode/splunk}/all.csv (100%) rename {splunk => leetcode/splunk}/more-than-six-months.csv (100%) rename {splunk => leetcode/splunk}/six-months.csv (100%) rename {spotify => leetcode/spotify}/all.csv (100%) rename {spotify => leetcode/spotify}/more-than-six-months.csv (100%) rename {spotify => leetcode/spotify}/six-months.csv (100%) rename {spotify => leetcode/spotify}/thirty-days.csv (100%) rename {spotify => leetcode/spotify}/three-months.csv (100%) rename {sprinklr => leetcode/sprinklr}/all.csv (100%) rename {sprinklr => leetcode/sprinklr}/more-than-six-months.csv (100%) rename {square => leetcode/square}/all.csv (100%) rename {square => leetcode/square}/more-than-six-months.csv (100%) rename {square => leetcode/square}/six-months.csv (100%) rename {squarepoint-capital => leetcode/squarepoint-capital}/all.csv (100%) rename {squarepoint-capital => leetcode/squarepoint-capital}/more-than-six-months.csv (100%) rename {squarepoint-capital => leetcode/squarepoint-capital}/six-months.csv (100%) rename {squarespace => leetcode/squarespace}/all.csv (100%) rename {squarespace => leetcode/squarespace}/more-than-six-months.csv (100%) rename {squarespace => leetcode/squarespace}/six-months.csv (100%) rename {squarespace => leetcode/squarespace}/three-months.csv (100%) rename {src => leetcode/src}/main/java/Main.java (100%) rename {src => leetcode/src}/main/java/Scraper.java (100%) rename {src => leetcode/src}/main/java/model/ProblemStatement.java (100%) rename {stackadapt => leetcode/stackadapt}/all.csv (100%) rename {stackadapt => leetcode/stackadapt}/more-than-six-months.csv (100%) rename {stackline => leetcode/stackline}/all.csv (100%) rename {stackline => leetcode/stackline}/more-than-six-months.csv (100%) rename {stackline => leetcode/stackline}/six-months.csv (100%) rename {starbucks => leetcode/starbucks}/all.csv (100%) rename {starbucks => leetcode/starbucks}/six-months.csv (100%) rename {starbucks => leetcode/starbucks}/three-months.csv (100%) rename {state-farm => leetcode/state-farm}/all.csv (100%) rename {state-farm => leetcode/state-farm}/six-months.csv (100%) rename {strava => leetcode/strava}/all.csv (100%) rename {strava => leetcode/strava}/more-than-six-months.csv (100%) rename {stripe => leetcode/stripe}/all.csv (100%) rename {stripe => leetcode/stripe}/more-than-six-months.csv (100%) rename {stripe => leetcode/stripe}/six-months.csv (100%) rename {stripe => leetcode/stripe}/thirty-days.csv (100%) rename {stripe => leetcode/stripe}/three-months.csv (100%) rename {sumologic => leetcode/sumologic}/all.csv (100%) rename {sumologic => leetcode/sumologic}/more-than-six-months.csv (100%) rename {susquehanna-international-group => leetcode/susquehanna-international-group}/all.csv (100%) rename {swiggy => leetcode/swiggy}/all.csv (100%) rename {swiggy => leetcode/swiggy}/more-than-six-months.csv (100%) rename {swiggy => leetcode/swiggy}/six-months.csv (100%) rename {swiggy => leetcode/swiggy}/thirty-days.csv (100%) rename {swiggy => leetcode/swiggy}/three-months.csv (100%) rename {syfe => leetcode/syfe}/all.csv (100%) rename {syfe => leetcode/syfe}/more-than-six-months.csv (100%) rename {synology => leetcode/synology}/all.csv (100%) rename {synology => leetcode/synology}/more-than-six-months.csv (100%) rename {synopsys => leetcode/synopsys}/all.csv (100%) rename {synopsys => leetcode/synopsys}/more-than-six-months.csv (100%) rename {ta-digital => leetcode/ta-digital}/all.csv (100%) rename {ta-digital => leetcode/ta-digital}/more-than-six-months.csv (100%) rename {tableau => leetcode/tableau}/all.csv (100%) rename {tableau => leetcode/tableau}/more-than-six-months.csv (100%) rename {tally-solutions => leetcode/tally-solutions}/all.csv (100%) rename {tally-solutions => leetcode/tally-solutions}/more-than-six-months.csv (100%) rename {tanium => leetcode/tanium}/all.csv (100%) rename {tanium => leetcode/tanium}/more-than-six-months.csv (100%) rename {tanium => leetcode/tanium}/six-months.csv (100%) rename {target => leetcode/target}/all.csv (100%) rename {target => leetcode/target}/more-than-six-months.csv (100%) rename {tcs => leetcode/tcs}/all.csv (100%) rename {tcs => leetcode/tcs}/more-than-six-months.csv (100%) rename {tcs => leetcode/tcs}/six-months.csv (100%) rename {tcs => leetcode/tcs}/thirty-days.csv (100%) rename {tcs => leetcode/tcs}/three-months.csv (100%) rename {tech-mahindra => leetcode/tech-mahindra}/all.csv (100%) rename {tech-mahindra => leetcode/tech-mahindra}/more-than-six-months.csv (100%) rename {tekion => leetcode/tekion}/all.csv (100%) rename {tekion => leetcode/tekion}/more-than-six-months.csv (100%) rename {tekion => leetcode/tekion}/six-months.csv (100%) rename {tekion => leetcode/tekion}/three-months.csv (100%) rename {tencent => leetcode/tencent}/all.csv (100%) rename {tencent => leetcode/tencent}/more-than-six-months.csv (100%) rename {tencent => leetcode/tencent}/six-months.csv (100%) rename {tencent => leetcode/tencent}/three-months.csv (100%) rename {teradata => leetcode/teradata}/all.csv (100%) rename {teradata => leetcode/teradata}/more-than-six-months.csv (100%) rename {tesco => leetcode/tesco}/all.csv (100%) rename {tesco => leetcode/tesco}/more-than-six-months.csv (100%) rename {tesco => leetcode/tesco}/six-months.csv (100%) rename {tesla => leetcode/tesla}/all.csv (100%) rename {tesla => leetcode/tesla}/more-than-six-months.csv (100%) rename {tesla => leetcode/tesla}/six-months.csv (100%) rename {tesla => leetcode/tesla}/three-months.csv (100%) rename {texas-instruments => leetcode/texas-instruments}/all.csv (100%) rename {texas-instruments => leetcode/texas-instruments}/more-than-six-months.csv (100%) rename {the-trade-desk => leetcode/the-trade-desk}/all.csv (100%) rename {the-trade-desk => leetcode/the-trade-desk}/more-than-six-months.csv (100%) rename {the-trade-desk => leetcode/the-trade-desk}/six-months.csv (100%) rename {thomson-reuters => leetcode/thomson-reuters}/all.csv (100%) rename {thomson-reuters => leetcode/thomson-reuters}/more-than-six-months.csv (100%) rename {thoughtspot => leetcode/thoughtspot}/all.csv (100%) rename {thoughtspot => leetcode/thoughtspot}/more-than-six-months.csv (100%) rename {thoughtworks => leetcode/thoughtworks}/all.csv (100%) rename {thoughtworks => leetcode/thoughtworks}/more-than-six-months.csv (100%) rename {thousandeyes => leetcode/thousandeyes}/all.csv (100%) rename {thousandeyes => leetcode/thousandeyes}/more-than-six-months.csv (100%) rename {thumbtack => leetcode/thumbtack}/all.csv (100%) rename {thumbtack => leetcode/thumbtack}/more-than-six-months.csv (100%) rename {tiaa => leetcode/tiaa}/all.csv (100%) rename {tiaa => leetcode/tiaa}/more-than-six-months.csv (100%) rename {tiger-analytics => leetcode/tiger-analytics}/all.csv (100%) rename {tiger-analytics => leetcode/tiger-analytics}/more-than-six-months.csv (100%) rename {tiger-analytics => leetcode/tiger-analytics}/six-months.csv (100%) rename {tiger-analytics => leetcode/tiger-analytics}/three-months.csv (100%) rename {tiktok => leetcode/tiktok}/all.csv (100%) rename {tiktok => leetcode/tiktok}/more-than-six-months.csv (100%) rename {tiktok => leetcode/tiktok}/six-months.csv (100%) rename {tiktok => leetcode/tiktok}/thirty-days.csv (100%) rename {tiktok => leetcode/tiktok}/three-months.csv (100%) rename {tinder => leetcode/tinder}/all.csv (100%) rename {tinder => leetcode/tinder}/more-than-six-months.csv (100%) rename {tinkoff => leetcode/tinkoff}/all.csv (100%) rename {tinkoff => leetcode/tinkoff}/more-than-six-months.csv (100%) rename {toast => leetcode/toast}/all.csv (100%) rename {toast => leetcode/toast}/more-than-six-months.csv (100%) rename {toast => leetcode/toast}/six-months.csv (100%) rename {toast => leetcode/toast}/three-months.csv (100%) rename {tokopedia => leetcode/tokopedia}/all.csv (100%) rename {tokopedia => leetcode/tokopedia}/more-than-six-months.csv (100%) rename {tomtom => leetcode/tomtom}/all.csv (100%) rename {tomtom => leetcode/tomtom}/more-than-six-months.csv (100%) rename {tomtom => leetcode/tomtom}/six-months.csv (100%) rename {toptal => leetcode/toptal}/all.csv (100%) rename {toptal => leetcode/toptal}/more-than-six-months.csv (100%) rename {tower-research => leetcode/tower-research}/all.csv (100%) rename {tower-research => leetcode/tower-research}/more-than-six-months.csv (100%) rename {tracxn => leetcode/tracxn}/all.csv (100%) rename {tracxn => leetcode/tracxn}/six-months.csv (100%) rename {traveloka => leetcode/traveloka}/all.csv (100%) rename {traveloka => leetcode/traveloka}/more-than-six-months.csv (100%) rename {traveloka => leetcode/traveloka}/six-months.csv (100%) rename {trexquant => leetcode/trexquant}/all.csv (100%) rename {trexquant => leetcode/trexquant}/more-than-six-months.csv (100%) rename {trilogy => leetcode/trilogy}/all.csv (100%) rename {trilogy => leetcode/trilogy}/more-than-six-months.csv (100%) rename {trilogy => leetcode/trilogy}/six-months.csv (100%) rename {trilogy => leetcode/trilogy}/thirty-days.csv (100%) rename {trilogy => leetcode/trilogy}/three-months.csv (100%) rename {tripadvisor => leetcode/tripadvisor}/all.csv (100%) rename {tripadvisor => leetcode/tripadvisor}/more-than-six-months.csv (100%) rename {tripadvisor => leetcode/tripadvisor}/six-months.csv (100%) rename {triplebyte => leetcode/triplebyte}/all.csv (100%) rename {triplebyte => leetcode/triplebyte}/more-than-six-months.csv (100%) rename {turing => leetcode/turing}/all.csv (100%) rename {turing => leetcode/turing}/more-than-six-months.csv (100%) rename {turing => leetcode/turing}/six-months.csv (100%) rename {turing => leetcode/turing}/three-months.csv (100%) rename {turo => leetcode/turo}/all.csv (100%) rename {turo => leetcode/turo}/more-than-six-months.csv (100%) rename {turvo => leetcode/turvo}/all.csv (100%) rename {turvo => leetcode/turvo}/more-than-six-months.csv (100%) rename {tusimple => leetcode/tusimple}/all.csv (100%) rename {tusimple => leetcode/tusimple}/more-than-six-months.csv (100%) rename {twilio => leetcode/twilio}/all.csv (100%) rename {twilio => leetcode/twilio}/more-than-six-months.csv (100%) rename {twitch => leetcode/twitch}/all.csv (100%) rename {twitch => leetcode/twitch}/more-than-six-months.csv (100%) rename {twitch => leetcode/twitch}/six-months.csv (100%) rename {twitch => leetcode/twitch}/three-months.csv (100%) rename {twitter => leetcode/twitter}/all.csv (100%) rename {twitter => leetcode/twitter}/more-than-six-months.csv (100%) rename {two-sigma => leetcode/two-sigma}/all.csv (100%) rename {two-sigma => leetcode/two-sigma}/more-than-six-months.csv (100%) rename {two-sigma => leetcode/two-sigma}/six-months.csv (100%) rename {uber => leetcode/uber}/all.csv (100%) rename {uber => leetcode/uber}/more-than-six-months.csv (100%) rename {uber => leetcode/uber}/six-months.csv (100%) rename {uber => leetcode/uber}/thirty-days.csv (100%) rename {uber => leetcode/uber}/three-months.csv (100%) rename {ubisoft => leetcode/ubisoft}/all.csv (100%) rename {ubs => leetcode/ubs}/all.csv (100%) rename {ubs => leetcode/ubs}/more-than-six-months.csv (100%) rename {ubs => leetcode/ubs}/six-months.csv (100%) rename {uipath => leetcode/uipath}/all.csv (100%) rename {uipath => leetcode/uipath}/more-than-six-months.csv (100%) rename {uipath => leetcode/uipath}/six-months.csv (100%) rename {uipath => leetcode/uipath}/three-months.csv (100%) rename {ukg => leetcode/ukg}/all.csv (100%) rename {ukg => leetcode/ukg}/more-than-six-months.csv (100%) rename {ukg => leetcode/ukg}/six-months.csv (100%) rename {ukg => leetcode/ukg}/three-months.csv (100%) rename {unbxd => leetcode/unbxd}/all.csv (100%) rename {unbxd => leetcode/unbxd}/more-than-six-months.csv (100%) rename {unity => leetcode/unity}/all.csv (100%) rename {unity => leetcode/unity}/more-than-six-months.csv (100%) rename {unstop => leetcode/unstop}/all.csv (100%) rename {unstop => leetcode/unstop}/more-than-six-months.csv (100%) rename {upstart => leetcode/upstart}/all.csv (100%) rename {upstart => leetcode/upstart}/more-than-six-months.csv (100%) rename {upstart => leetcode/upstart}/six-months.csv (100%) rename {upstart => leetcode/upstart}/three-months.csv (100%) rename {upstox => leetcode/upstox}/all.csv (100%) rename {urban-company => leetcode/urban-company}/all.csv (100%) rename {urban-company => leetcode/urban-company}/more-than-six-months.csv (100%) rename {usaa => leetcode/usaa}/all.csv (100%) rename {usaa => leetcode/usaa}/more-than-six-months.csv (100%) rename {ust => leetcode/ust}/all.csv (100%) rename {ust => leetcode/ust}/more-than-six-months.csv (100%) rename {valve => leetcode/valve}/all.csv (100%) rename {valve => leetcode/valve}/more-than-six-months.csv (100%) rename {valve => leetcode/valve}/six-months.csv (100%) rename {vanguard => leetcode/vanguard}/all.csv (100%) rename {vanguard => leetcode/vanguard}/more-than-six-months.csv (100%) rename {veeva => leetcode/veeva}/all.csv (100%) rename {veeva => leetcode/veeva}/more-than-six-months.csv (100%) rename {verily => leetcode/verily}/all.csv (100%) rename {verily => leetcode/verily}/more-than-six-months.csv (100%) rename {verily => leetcode/verily}/six-months.csv (100%) rename {veritas => leetcode/veritas}/all.csv (100%) rename {veritas => leetcode/veritas}/more-than-six-months.csv (100%) rename {verizon => leetcode/verizon}/all.csv (100%) rename {verizon => leetcode/verizon}/more-than-six-months.csv (100%) rename {verizon => leetcode/verizon}/six-months.csv (100%) rename {verkada => leetcode/verkada}/all.csv (100%) rename {verkada => leetcode/verkada}/more-than-six-months.csv (100%) rename {verkada => leetcode/verkada}/six-months.csv (100%) rename {verkada => leetcode/verkada}/three-months.csv (100%) rename {viasat => leetcode/viasat}/all.csv (100%) rename {viasat => leetcode/viasat}/more-than-six-months.csv (100%) rename {viasat => leetcode/viasat}/six-months.csv (100%) rename {vimeo => leetcode/vimeo}/all.csv (100%) rename {vimeo => leetcode/vimeo}/more-than-six-months.csv (100%) rename {vimeo => leetcode/vimeo}/six-months.csv (100%) rename {vimeo => leetcode/vimeo}/three-months.csv (100%) rename {virtu => leetcode/virtu}/all.csv (100%) rename {virtu => leetcode/virtu}/more-than-six-months.csv (100%) rename {virtu => leetcode/virtu}/six-months.csv (100%) rename {virtu => leetcode/virtu}/three-months.csv (100%) rename {virtusa => leetcode/virtusa}/all.csv (100%) rename {virtusa => leetcode/virtusa}/more-than-six-months.csv (100%) rename {visa => leetcode/visa}/all.csv (100%) rename {visa => leetcode/visa}/more-than-six-months.csv (100%) rename {visa => leetcode/visa}/six-months.csv (100%) rename {visa => leetcode/visa}/three-months.csv (100%) rename {vk => leetcode/vk}/all.csv (100%) rename {vk => leetcode/vk}/more-than-six-months.csv (100%) rename {vk => leetcode/vk}/six-months.csv (100%) rename {vk => leetcode/vk}/three-months.csv (100%) rename {vmware => leetcode/vmware}/all.csv (100%) rename {vmware => leetcode/vmware}/more-than-six-months.csv (100%) rename {walmart-labs => leetcode/walmart-labs}/all.csv (100%) rename {walmart-labs => leetcode/walmart-labs}/more-than-six-months.csv (100%) rename {walmart-labs => leetcode/walmart-labs}/six-months.csv (100%) rename {walmart-labs => leetcode/walmart-labs}/thirty-days.csv (100%) rename {walmart-labs => leetcode/walmart-labs}/three-months.csv (100%) rename {warnermedia => leetcode/warnermedia}/all.csv (100%) rename {warnermedia => leetcode/warnermedia}/more-than-six-months.csv (100%) rename {warnermedia => leetcode/warnermedia}/six-months.csv (100%) rename {warnermedia => leetcode/warnermedia}/three-months.csv (100%) rename {watchguard => leetcode/watchguard}/all.csv (100%) rename {watchguard => leetcode/watchguard}/more-than-six-months.csv (100%) rename {wayfair => leetcode/wayfair}/all.csv (100%) rename {wayfair => leetcode/wayfair}/more-than-six-months.csv (100%) rename {wayfair => leetcode/wayfair}/six-months.csv (100%) rename {waymo => leetcode/waymo}/all.csv (100%) rename {waymo => leetcode/waymo}/more-than-six-months.csv (100%) rename {waymo => leetcode/waymo}/six-months.csv (100%) rename {waymo => leetcode/waymo}/three-months.csv (100%) rename {wayve => leetcode/wayve}/all.csv (100%) rename {wayve => leetcode/wayve}/more-than-six-months.csv (100%) rename {wealthfront => leetcode/wealthfront}/all.csv (100%) rename {wealthfront => leetcode/wealthfront}/more-than-six-months.csv (100%) rename {wells-fargo => leetcode/wells-fargo}/all.csv (100%) rename {wells-fargo => leetcode/wells-fargo}/more-than-six-months.csv (100%) rename {weride => leetcode/weride}/all.csv (100%) rename {weride => leetcode/weride}/more-than-six-months.csv (100%) rename {weride => leetcode/weride}/six-months.csv (100%) rename {weride => leetcode/weride}/three-months.csv (100%) rename {western-digital => leetcode/western-digital}/all.csv (100%) rename {western-digital => leetcode/western-digital}/six-months.csv (100%) rename {whatfix => leetcode/whatfix}/all.csv (100%) rename {whatfix => leetcode/whatfix}/more-than-six-months.csv (100%) rename {whatnot => leetcode/whatnot}/all.csv (100%) rename {whatnot => leetcode/whatnot}/more-than-six-months.csv (100%) rename {whatnot => leetcode/whatnot}/six-months.csv (100%) rename {whatnot => leetcode/whatnot}/three-months.csv (100%) rename {winzo => leetcode/winzo}/all.csv (100%) rename {winzo => leetcode/winzo}/more-than-six-months.csv (100%) rename {wipro => leetcode/wipro}/all.csv (100%) rename {wipro => leetcode/wipro}/more-than-six-months.csv (100%) rename {wipro => leetcode/wipro}/six-months.csv (100%) rename {wipro => leetcode/wipro}/three-months.csv (100%) rename {wise => leetcode/wise}/all.csv (100%) rename {wise => leetcode/wise}/more-than-six-months.csv (100%) rename {wish => leetcode/wish}/all.csv (100%) rename {wish => leetcode/wish}/more-than-six-months.csv (100%) rename {wissen => leetcode/wissen}/all.csv (100%) rename {wissen => leetcode/wissen}/more-than-six-months.csv (100%) rename {wissen => leetcode/wissen}/six-months.csv (100%) rename {wissen => leetcode/wissen}/three-months.csv (100%) rename {wix => leetcode/wix}/all.csv (100%) rename {wix => leetcode/wix}/more-than-six-months.csv (100%) rename {wix => leetcode/wix}/six-months.csv (100%) rename {wix => leetcode/wix}/three-months.csv (100%) rename {workday => leetcode/workday}/all.csv (100%) rename {workday => leetcode/workday}/more-than-six-months.csv (100%) rename {workday => leetcode/workday}/six-months.csv (100%) rename {workday => leetcode/workday}/three-months.csv (100%) rename {works-applications => leetcode/works-applications}/all.csv (100%) rename {works-applications => leetcode/works-applications}/more-than-six-months.csv (100%) rename {worldquant => leetcode/worldquant}/all.csv (100%) rename {worldquant => leetcode/worldquant}/more-than-six-months.csv (100%) rename {worldquant => leetcode/worldquant}/six-months.csv (100%) rename {worldquant => leetcode/worldquant}/three-months.csv (100%) rename {woven-by-toyota => leetcode/woven-by-toyota}/all.csv (100%) rename {woven-by-toyota => leetcode/woven-by-toyota}/six-months.csv (100%) rename {xiaomi => leetcode/xiaomi}/all.csv (100%) rename {xing => leetcode/xing}/all.csv (100%) rename {xing => leetcode/xing}/more-than-six-months.csv (100%) rename {yahoo => leetcode/yahoo}/all.csv (100%) rename {yahoo => leetcode/yahoo}/more-than-six-months.csv (100%) rename {yahoo => leetcode/yahoo}/six-months.csv (100%) rename {yahoo => leetcode/yahoo}/three-months.csv (100%) rename {yandex => leetcode/yandex}/all.csv (100%) rename {yandex => leetcode/yandex}/more-than-six-months.csv (100%) rename {yandex => leetcode/yandex}/six-months.csv (100%) rename {yandex => leetcode/yandex}/thirty-days.csv (100%) rename {yandex => leetcode/yandex}/three-months.csv (100%) rename {yatra => leetcode/yatra}/all.csv (100%) rename {yatra => leetcode/yatra}/more-than-six-months.csv (100%) rename {yelp => leetcode/yelp}/all.csv (100%) rename {yelp => leetcode/yelp}/more-than-six-months.csv (100%) rename {yelp => leetcode/yelp}/six-months.csv (100%) rename {yelp => leetcode/yelp}/three-months.csv (100%) rename {yext => leetcode/yext}/all.csv (100%) rename {yext => leetcode/yext}/more-than-six-months.csv (100%) rename {zalando => leetcode/zalando}/all.csv (100%) rename {zalando => leetcode/zalando}/more-than-six-months.csv (100%) rename {zappos => leetcode/zappos}/all.csv (100%) rename {zappos => leetcode/zappos}/more-than-six-months.csv (100%) rename {zemoso => leetcode/zemoso}/all.csv (100%) rename {zemoso => leetcode/zemoso}/more-than-six-months.csv (100%) rename {zendesk => leetcode/zendesk}/all.csv (100%) rename {zendesk => leetcode/zendesk}/more-than-six-months.csv (100%) rename {zenefits => leetcode/zenefits}/all.csv (100%) rename {zenefits => leetcode/zenefits}/more-than-six-months.csv (100%) rename {zepto => leetcode/zepto}/all.csv (100%) rename {zepto => leetcode/zepto}/more-than-six-months.csv (100%) rename {zepto => leetcode/zepto}/six-months.csv (100%) rename {zeta-suite => leetcode/zeta-suite}/all.csv (100%) rename {zeta-suite => leetcode/zeta-suite}/more-than-six-months.csv (100%) rename {zeta => leetcode/zeta}/all.csv (100%) rename {zeta => leetcode/zeta}/more-than-six-months.csv (100%) rename {zeta => leetcode/zeta}/six-months.csv (100%) rename {zeta => leetcode/zeta}/thirty-days.csv (100%) rename {zeta => leetcode/zeta}/three-months.csv (100%) rename {zillow => leetcode/zillow}/all.csv (100%) rename {zillow => leetcode/zillow}/more-than-six-months.csv (100%) rename {zip => leetcode/zip}/all.csv (100%) rename {zip => leetcode/zip}/more-than-six-months.csv (100%) rename {zip => leetcode/zip}/six-months.csv (100%) rename {zip => leetcode/zip}/three-months.csv (100%) rename {ziprecruiter => leetcode/ziprecruiter}/all.csv (100%) rename {ziprecruiter => leetcode/ziprecruiter}/more-than-six-months.csv (100%) rename {zluri => leetcode/zluri}/all.csv (100%) rename {zluri => leetcode/zluri}/more-than-six-months.csv (100%) rename {zoho => leetcode/zoho}/all.csv (100%) rename {zoho => leetcode/zoho}/more-than-six-months.csv (100%) rename {zoho => leetcode/zoho}/six-months.csv (100%) rename {zoho => leetcode/zoho}/thirty-days.csv (100%) rename {zoho => leetcode/zoho}/three-months.csv (100%) rename {zomato => leetcode/zomato}/all.csv (100%) rename {zomato => leetcode/zomato}/more-than-six-months.csv (100%) rename {zomato => leetcode/zomato}/six-months.csv (100%) rename {zomato => leetcode/zomato}/three-months.csv (100%) rename {zoom => leetcode/zoom}/all.csv (100%) rename {zoom => leetcode/zoom}/more-than-six-months.csv (100%) rename {zoox => leetcode/zoox}/all.csv (100%) rename {zoox => leetcode/zoox}/more-than-six-months.csv (100%) rename {zoox => leetcode/zoox}/six-months.csv (100%) rename {zoox => leetcode/zoox}/three-months.csv (100%) rename {zopsmart => leetcode/zopsmart}/all.csv (100%) rename {zopsmart => leetcode/zopsmart}/more-than-six-months.csv (100%) rename {zopsmart => leetcode/zopsmart}/six-months.csv (100%) rename {zopsmart => leetcode/zopsmart}/three-months.csv (100%) rename {zs-associates => leetcode/zs-associates}/all.csv (100%) rename {zs-associates => leetcode/zs-associates}/more-than-six-months.csv (100%) rename {zs-associates => leetcode/zs-associates}/six-months.csv (100%) rename {zs-associates => leetcode/zs-associates}/three-months.csv (100%) rename {zscaler => leetcode/zscaler}/all.csv (100%) rename {zscaler => leetcode/zscaler}/more-than-six-months.csv (100%) rename {zscaler => leetcode/zscaler}/six-months.csv (100%) rename {zscaler => leetcode/zscaler}/three-months.csv (100%) rename {zynga => leetcode/zynga}/all.csv (100%) rename {zynga => leetcode/zynga}/more-than-six-months.csv (100%) create mode 100644 src/Backend/AppContext.cs create mode 100644 src/Backend/Backend.csproj create mode 100644 src/Backend/Backend.http create mode 100644 src/Backend/Controllers/ProblemsController.cs create mode 100644 src/Backend/Models/Internal/Problem.cs create mode 100644 src/Backend/Models/Public/Problem.cs create mode 100644 src/Backend/Models/Public/QueryParam.cs create mode 100644 src/Backend/Operations/DataProvider.cs create mode 100644 src/Backend/Operations/IFilter.cs create mode 100644 src/Backend/Operations/ProblemFilter.cs create mode 100644 src/Backend/Program.cs create mode 100644 src/Backend/Properties/launchSettings.json create mode 100644 src/Backend/appsettings.Development.json create mode 100644 src/Backend/appsettings.json create mode 100644 src/Common/Common.csproj create mode 100644 src/Common/Models/Problem.cs create mode 100644 src/Common/Models/ProblemSchema.cs create mode 100644 src/Common/Program.cs create mode 100644 src/Synchronizer/Helper.cs create mode 100644 src/Synchronizer/ProblemsProcessor.cs create mode 100644 src/Synchronizer/Program.cs create mode 100644 src/Synchronizer/Synchronizer.csproj diff --git a/.gitignore b/.gitignore index 824a26c..6020982 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,8 @@ local.properties .settings/ .loadpath .recommenders +obj/ +ZTest/ # External tool builders .externalToolBuilders/ diff --git a/README.md b/README.md index 50f27e6..c15cd2f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,13 @@ +# Wrapper around the leetcode data scrapping + +How to start server: +``` +cd /src/Backend +dotnet run --ApplicationSettings:CosmosDbPrimaryKey --ApplicationInsights:ConnectionString +``` + +--- + # Leetcode Companywise Interview Questions ![leetcode-companywise-interview-questions](https://socialify.git.ci/snehasishroy/leetcode-companywise-interview-questions/image?description=1&font=JetBrains+Mono&forks=1&language=1&name=1&owner=1&pattern=Solid&stargazers=1&theme=Dark) diff --git a/leetcode-wrapper.sln b/leetcode-wrapper.sln new file mode 100644 index 0000000..356a8cc --- /dev/null +++ b/leetcode-wrapper.sln @@ -0,0 +1,36 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "src\Backend\Backend.csproj", "{1A54C3FC-900B-AAEA-3502-101EF4241700}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Synchronizer", "src\Synchronizer\Synchronizer.csproj", "{ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1A54C3FC-900B-AAEA-3502-101EF4241700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1A54C3FC-900B-AAEA-3502-101EF4241700}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1A54C3FC-900B-AAEA-3502-101EF4241700}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1A54C3FC-900B-AAEA-3502-101EF4241700}.Release|Any CPU.Build.0 = Release|Any CPU + {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {1A54C3FC-900B-AAEA-3502-101EF4241700} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {4616E715-EE81-4855-918C-DC915A5305C3} + EndGlobalSection +EndGlobal diff --git a/1kosmos/all.csv b/leetcode/1kosmos/all.csv similarity index 100% rename from 1kosmos/all.csv rename to leetcode/1kosmos/all.csv diff --git a/1kosmos/more-than-six-months.csv b/leetcode/1kosmos/more-than-six-months.csv similarity index 100% rename from 1kosmos/more-than-six-months.csv rename to leetcode/1kosmos/more-than-six-months.csv diff --git a/6sense/all.csv b/leetcode/6sense/all.csv similarity index 100% rename from 6sense/all.csv rename to leetcode/6sense/all.csv diff --git a/6sense/more-than-six-months.csv b/leetcode/6sense/more-than-six-months.csv similarity index 100% rename from 6sense/more-than-six-months.csv rename to leetcode/6sense/more-than-six-months.csv diff --git a/6sense/six-months.csv b/leetcode/6sense/six-months.csv similarity index 100% rename from 6sense/six-months.csv rename to leetcode/6sense/six-months.csv diff --git a/accelya/all.csv b/leetcode/accelya/all.csv similarity index 100% rename from accelya/all.csv rename to leetcode/accelya/all.csv diff --git a/accelya/more-than-six-months.csv b/leetcode/accelya/more-than-six-months.csv similarity index 100% rename from accelya/more-than-six-months.csv rename to leetcode/accelya/more-than-six-months.csv diff --git a/accenture/all.csv b/leetcode/accenture/all.csv similarity index 100% rename from accenture/all.csv rename to leetcode/accenture/all.csv diff --git a/accenture/more-than-six-months.csv b/leetcode/accenture/more-than-six-months.csv similarity index 100% rename from accenture/more-than-six-months.csv rename to leetcode/accenture/more-than-six-months.csv diff --git a/accenture/six-months.csv b/leetcode/accenture/six-months.csv similarity index 100% rename from accenture/six-months.csv rename to leetcode/accenture/six-months.csv diff --git a/accolite/all.csv b/leetcode/accolite/all.csv similarity index 100% rename from accolite/all.csv rename to leetcode/accolite/all.csv diff --git a/accolite/more-than-six-months.csv b/leetcode/accolite/more-than-six-months.csv similarity index 100% rename from accolite/more-than-six-months.csv rename to leetcode/accolite/more-than-six-months.csv diff --git a/accolite/six-months.csv b/leetcode/accolite/six-months.csv similarity index 100% rename from accolite/six-months.csv rename to leetcode/accolite/six-months.csv diff --git a/accolite/thirty-days.csv b/leetcode/accolite/thirty-days.csv similarity index 100% rename from accolite/thirty-days.csv rename to leetcode/accolite/thirty-days.csv diff --git a/accolite/three-months.csv b/leetcode/accolite/three-months.csv similarity index 100% rename from accolite/three-months.csv rename to leetcode/accolite/three-months.csv diff --git a/acko/all.csv b/leetcode/acko/all.csv similarity index 100% rename from acko/all.csv rename to leetcode/acko/all.csv diff --git a/acko/more-than-six-months.csv b/leetcode/acko/more-than-six-months.csv similarity index 100% rename from acko/more-than-six-months.csv rename to leetcode/acko/more-than-six-months.csv diff --git a/acorns/all.csv b/leetcode/acorns/all.csv similarity index 100% rename from acorns/all.csv rename to leetcode/acorns/all.csv diff --git a/activision/all.csv b/leetcode/activision/all.csv similarity index 100% rename from activision/all.csv rename to leetcode/activision/all.csv diff --git a/activision/more-than-six-months.csv b/leetcode/activision/more-than-six-months.csv similarity index 100% rename from activision/more-than-six-months.csv rename to leetcode/activision/more-than-six-months.csv diff --git a/activision/six-months.csv b/leetcode/activision/six-months.csv similarity index 100% rename from activision/six-months.csv rename to leetcode/activision/six-months.csv diff --git a/addepar/all.csv b/leetcode/addepar/all.csv similarity index 100% rename from addepar/all.csv rename to leetcode/addepar/all.csv diff --git a/addepar/more-than-six-months.csv b/leetcode/addepar/more-than-six-months.csv similarity index 100% rename from addepar/more-than-six-months.csv rename to leetcode/addepar/more-than-six-months.csv diff --git a/adobe/all.csv b/leetcode/adobe/all.csv similarity index 100% rename from adobe/all.csv rename to leetcode/adobe/all.csv diff --git a/adobe/more-than-six-months.csv b/leetcode/adobe/more-than-six-months.csv similarity index 100% rename from adobe/more-than-six-months.csv rename to leetcode/adobe/more-than-six-months.csv diff --git a/adobe/six-months.csv b/leetcode/adobe/six-months.csv similarity index 100% rename from adobe/six-months.csv rename to leetcode/adobe/six-months.csv diff --git a/adobe/thirty-days.csv b/leetcode/adobe/thirty-days.csv similarity index 100% rename from adobe/thirty-days.csv rename to leetcode/adobe/thirty-days.csv diff --git a/adobe/three-months.csv b/leetcode/adobe/three-months.csv similarity index 100% rename from adobe/three-months.csv rename to leetcode/adobe/three-months.csv diff --git a/adp/all.csv b/leetcode/adp/all.csv similarity index 100% rename from adp/all.csv rename to leetcode/adp/all.csv diff --git a/adp/six-months.csv b/leetcode/adp/six-months.csv similarity index 100% rename from adp/six-months.csv rename to leetcode/adp/six-months.csv diff --git a/aetion/all.csv b/leetcode/aetion/all.csv similarity index 100% rename from aetion/all.csv rename to leetcode/aetion/all.csv diff --git a/aetion/more-than-six-months.csv b/leetcode/aetion/more-than-six-months.csv similarity index 100% rename from aetion/more-than-six-months.csv rename to leetcode/aetion/more-than-six-months.csv diff --git a/affinity/all.csv b/leetcode/affinity/all.csv similarity index 100% rename from affinity/all.csv rename to leetcode/affinity/all.csv diff --git a/affinity/more-than-six-months.csv b/leetcode/affinity/more-than-six-months.csv similarity index 100% rename from affinity/more-than-six-months.csv rename to leetcode/affinity/more-than-six-months.csv diff --git a/affirm/all.csv b/leetcode/affirm/all.csv similarity index 100% rename from affirm/all.csv rename to leetcode/affirm/all.csv diff --git a/affirm/more-than-six-months.csv b/leetcode/affirm/more-than-six-months.csv similarity index 100% rename from affirm/more-than-six-months.csv rename to leetcode/affirm/more-than-six-months.csv diff --git a/affirm/six-months.csv b/leetcode/affirm/six-months.csv similarity index 100% rename from affirm/six-months.csv rename to leetcode/affirm/six-months.csv diff --git a/affirm/three-months.csv b/leetcode/affirm/three-months.csv similarity index 100% rename from affirm/three-months.csv rename to leetcode/affirm/three-months.csv diff --git a/agoda/all.csv b/leetcode/agoda/all.csv similarity index 100% rename from agoda/all.csv rename to leetcode/agoda/all.csv diff --git a/agoda/more-than-six-months.csv b/leetcode/agoda/more-than-six-months.csv similarity index 100% rename from agoda/more-than-six-months.csv rename to leetcode/agoda/more-than-six-months.csv diff --git a/agoda/six-months.csv b/leetcode/agoda/six-months.csv similarity index 100% rename from agoda/six-months.csv rename to leetcode/agoda/six-months.csv diff --git a/agoda/three-months.csv b/leetcode/agoda/three-months.csv similarity index 100% rename from agoda/three-months.csv rename to leetcode/agoda/three-months.csv diff --git a/airbnb/all.csv b/leetcode/airbnb/all.csv similarity index 100% rename from airbnb/all.csv rename to leetcode/airbnb/all.csv diff --git a/airbnb/more-than-six-months.csv b/leetcode/airbnb/more-than-six-months.csv similarity index 100% rename from airbnb/more-than-six-months.csv rename to leetcode/airbnb/more-than-six-months.csv diff --git a/airbnb/six-months.csv b/leetcode/airbnb/six-months.csv similarity index 100% rename from airbnb/six-months.csv rename to leetcode/airbnb/six-months.csv diff --git a/airbnb/thirty-days.csv b/leetcode/airbnb/thirty-days.csv similarity index 100% rename from airbnb/thirty-days.csv rename to leetcode/airbnb/thirty-days.csv diff --git a/airbnb/three-months.csv b/leetcode/airbnb/three-months.csv similarity index 100% rename from airbnb/three-months.csv rename to leetcode/airbnb/three-months.csv diff --git a/airbus/all.csv b/leetcode/airbus/all.csv similarity index 100% rename from airbus/all.csv rename to leetcode/airbus/all.csv diff --git a/airbus/more-than-six-months.csv b/leetcode/airbus/more-than-six-months.csv similarity index 100% rename from airbus/more-than-six-months.csv rename to leetcode/airbus/more-than-six-months.csv diff --git a/airbus/six-months.csv b/leetcode/airbus/six-months.csv similarity index 100% rename from airbus/six-months.csv rename to leetcode/airbus/six-months.csv diff --git a/airbus/three-months.csv b/leetcode/airbus/three-months.csv similarity index 100% rename from airbus/three-months.csv rename to leetcode/airbus/three-months.csv diff --git a/airtel/all.csv b/leetcode/airtel/all.csv similarity index 100% rename from airtel/all.csv rename to leetcode/airtel/all.csv diff --git a/airtel/more-than-six-months.csv b/leetcode/airtel/more-than-six-months.csv similarity index 100% rename from airtel/more-than-six-months.csv rename to leetcode/airtel/more-than-six-months.csv diff --git a/airtel/six-months.csv b/leetcode/airtel/six-months.csv similarity index 100% rename from airtel/six-months.csv rename to leetcode/airtel/six-months.csv diff --git a/airwallex/all.csv b/leetcode/airwallex/all.csv similarity index 100% rename from airwallex/all.csv rename to leetcode/airwallex/all.csv diff --git a/airwallex/more-than-six-months.csv b/leetcode/airwallex/more-than-six-months.csv similarity index 100% rename from airwallex/more-than-six-months.csv rename to leetcode/airwallex/more-than-six-months.csv diff --git a/akamai/all.csv b/leetcode/akamai/all.csv similarity index 100% rename from akamai/all.csv rename to leetcode/akamai/all.csv diff --git a/akamai/more-than-six-months.csv b/leetcode/akamai/more-than-six-months.csv similarity index 100% rename from akamai/more-than-six-months.csv rename to leetcode/akamai/more-than-six-months.csv diff --git a/akuna-capital/all.csv b/leetcode/akuna-capital/all.csv similarity index 100% rename from akuna-capital/all.csv rename to leetcode/akuna-capital/all.csv diff --git a/akuna-capital/more-than-six-months.csv b/leetcode/akuna-capital/more-than-six-months.csv similarity index 100% rename from akuna-capital/more-than-six-months.csv rename to leetcode/akuna-capital/more-than-six-months.csv diff --git a/akuna-capital/six-months.csv b/leetcode/akuna-capital/six-months.csv similarity index 100% rename from akuna-capital/six-months.csv rename to leetcode/akuna-capital/six-months.csv diff --git a/akuna-capital/three-months.csv b/leetcode/akuna-capital/three-months.csv similarity index 100% rename from akuna-capital/three-months.csv rename to leetcode/akuna-capital/three-months.csv diff --git a/alibaba/all.csv b/leetcode/alibaba/all.csv similarity index 100% rename from alibaba/all.csv rename to leetcode/alibaba/all.csv diff --git a/alibaba/more-than-six-months.csv b/leetcode/alibaba/more-than-six-months.csv similarity index 100% rename from alibaba/more-than-six-months.csv rename to leetcode/alibaba/more-than-six-months.csv diff --git a/allincall/all.csv b/leetcode/allincall/all.csv similarity index 100% rename from allincall/all.csv rename to leetcode/allincall/all.csv diff --git a/allincall/more-than-six-months.csv b/leetcode/allincall/more-than-six-months.csv similarity index 100% rename from allincall/more-than-six-months.csv rename to leetcode/allincall/more-than-six-months.csv diff --git a/alphagrep/all.csv b/leetcode/alphagrep/all.csv similarity index 100% rename from alphagrep/all.csv rename to leetcode/alphagrep/all.csv diff --git a/alphagrep/more-than-six-months.csv b/leetcode/alphagrep/more-than-six-months.csv similarity index 100% rename from alphagrep/more-than-six-months.csv rename to leetcode/alphagrep/more-than-six-months.csv diff --git a/alphonso/all.csv b/leetcode/alphonso/all.csv similarity index 100% rename from alphonso/all.csv rename to leetcode/alphonso/all.csv diff --git a/alphonso/more-than-six-months.csv b/leetcode/alphonso/more-than-six-months.csv similarity index 100% rename from alphonso/more-than-six-months.csv rename to leetcode/alphonso/more-than-six-months.csv diff --git a/alten/all.csv b/leetcode/alten/all.csv similarity index 100% rename from alten/all.csv rename to leetcode/alten/all.csv diff --git a/altimetrik/all.csv b/leetcode/altimetrik/all.csv similarity index 100% rename from altimetrik/all.csv rename to leetcode/altimetrik/all.csv diff --git a/altimetrik/more-than-six-months.csv b/leetcode/altimetrik/more-than-six-months.csv similarity index 100% rename from altimetrik/more-than-six-months.csv rename to leetcode/altimetrik/more-than-six-months.csv diff --git a/amadeus/all.csv b/leetcode/amadeus/all.csv similarity index 100% rename from amadeus/all.csv rename to leetcode/amadeus/all.csv diff --git a/amadeus/more-than-six-months.csv b/leetcode/amadeus/more-than-six-months.csv similarity index 100% rename from amadeus/more-than-six-months.csv rename to leetcode/amadeus/more-than-six-months.csv diff --git a/amazon/all.csv b/leetcode/amazon/all.csv similarity index 100% rename from amazon/all.csv rename to leetcode/amazon/all.csv diff --git a/amazon/more-than-six-months.csv b/leetcode/amazon/more-than-six-months.csv similarity index 100% rename from amazon/more-than-six-months.csv rename to leetcode/amazon/more-than-six-months.csv diff --git a/amazon/six-months.csv b/leetcode/amazon/six-months.csv similarity index 100% rename from amazon/six-months.csv rename to leetcode/amazon/six-months.csv diff --git a/amazon/thirty-days.csv b/leetcode/amazon/thirty-days.csv similarity index 100% rename from amazon/thirty-days.csv rename to leetcode/amazon/thirty-days.csv diff --git a/amazon/three-months.csv b/leetcode/amazon/three-months.csv similarity index 100% rename from amazon/three-months.csv rename to leetcode/amazon/three-months.csv diff --git a/amd/all.csv b/leetcode/amd/all.csv similarity index 100% rename from amd/all.csv rename to leetcode/amd/all.csv diff --git a/amd/more-than-six-months.csv b/leetcode/amd/more-than-six-months.csv similarity index 100% rename from amd/more-than-six-months.csv rename to leetcode/amd/more-than-six-months.csv diff --git a/amd/six-months.csv b/leetcode/amd/six-months.csv similarity index 100% rename from amd/six-months.csv rename to leetcode/amd/six-months.csv diff --git a/amdocs/all.csv b/leetcode/amdocs/all.csv similarity index 100% rename from amdocs/all.csv rename to leetcode/amdocs/all.csv diff --git a/amdocs/more-than-six-months.csv b/leetcode/amdocs/more-than-six-months.csv similarity index 100% rename from amdocs/more-than-six-months.csv rename to leetcode/amdocs/more-than-six-months.csv diff --git a/american-airlines/all.csv b/leetcode/american-airlines/all.csv similarity index 100% rename from american-airlines/all.csv rename to leetcode/american-airlines/all.csv diff --git a/american-express/all.csv b/leetcode/american-express/all.csv similarity index 100% rename from american-express/all.csv rename to leetcode/american-express/all.csv diff --git a/american-express/more-than-six-months.csv b/leetcode/american-express/more-than-six-months.csv similarity index 100% rename from american-express/more-than-six-months.csv rename to leetcode/american-express/more-than-six-months.csv diff --git a/american-express/six-months.csv b/leetcode/american-express/six-months.csv similarity index 100% rename from american-express/six-months.csv rename to leetcode/american-express/six-months.csv diff --git a/american-express/three-months.csv b/leetcode/american-express/three-months.csv similarity index 100% rename from american-express/three-months.csv rename to leetcode/american-express/three-months.csv diff --git a/amplitude/all.csv b/leetcode/amplitude/all.csv similarity index 100% rename from amplitude/all.csv rename to leetcode/amplitude/all.csv diff --git a/analytics-quotient/all.csv b/leetcode/analytics-quotient/all.csv similarity index 100% rename from analytics-quotient/all.csv rename to leetcode/analytics-quotient/all.csv diff --git a/analytics-quotient/more-than-six-months.csv b/leetcode/analytics-quotient/more-than-six-months.csv similarity index 100% rename from analytics-quotient/more-than-six-months.csv rename to leetcode/analytics-quotient/more-than-six-months.csv diff --git a/andela/all.csv b/leetcode/andela/all.csv similarity index 100% rename from andela/all.csv rename to leetcode/andela/all.csv diff --git a/andela/more-than-six-months.csv b/leetcode/andela/more-than-six-months.csv similarity index 100% rename from andela/more-than-six-months.csv rename to leetcode/andela/more-than-six-months.csv diff --git a/anduril/all.csv b/leetcode/anduril/all.csv similarity index 100% rename from anduril/all.csv rename to leetcode/anduril/all.csv diff --git a/anduril/more-than-six-months.csv b/leetcode/anduril/more-than-six-months.csv similarity index 100% rename from anduril/more-than-six-months.csv rename to leetcode/anduril/more-than-six-months.csv diff --git a/anduril/six-months.csv b/leetcode/anduril/six-months.csv similarity index 100% rename from anduril/six-months.csv rename to leetcode/anduril/six-months.csv diff --git a/anduril/thirty-days.csv b/leetcode/anduril/thirty-days.csv similarity index 100% rename from anduril/thirty-days.csv rename to leetcode/anduril/thirty-days.csv diff --git a/anduril/three-months.csv b/leetcode/anduril/three-months.csv similarity index 100% rename from anduril/three-months.csv rename to leetcode/anduril/three-months.csv diff --git a/anthropic/all.csv b/leetcode/anthropic/all.csv similarity index 100% rename from anthropic/all.csv rename to leetcode/anthropic/all.csv diff --git a/anthropic/more-than-six-months.csv b/leetcode/anthropic/more-than-six-months.csv similarity index 100% rename from anthropic/more-than-six-months.csv rename to leetcode/anthropic/more-than-six-months.csv diff --git a/anthropic/six-months.csv b/leetcode/anthropic/six-months.csv similarity index 100% rename from anthropic/six-months.csv rename to leetcode/anthropic/six-months.csv diff --git a/anthropic/thirty-days.csv b/leetcode/anthropic/thirty-days.csv similarity index 100% rename from anthropic/thirty-days.csv rename to leetcode/anthropic/thirty-days.csv diff --git a/anthropic/three-months.csv b/leetcode/anthropic/three-months.csv similarity index 100% rename from anthropic/three-months.csv rename to leetcode/anthropic/three-months.csv diff --git a/anyscale/all.csv b/leetcode/anyscale/all.csv similarity index 100% rename from anyscale/all.csv rename to leetcode/anyscale/all.csv diff --git a/anyscale/more-than-six-months.csv b/leetcode/anyscale/more-than-six-months.csv similarity index 100% rename from anyscale/more-than-six-months.csv rename to leetcode/anyscale/more-than-six-months.csv diff --git a/anyscale/six-months.csv b/leetcode/anyscale/six-months.csv similarity index 100% rename from anyscale/six-months.csv rename to leetcode/anyscale/six-months.csv diff --git a/aon/all.csv b/leetcode/aon/all.csv similarity index 100% rename from aon/all.csv rename to leetcode/aon/all.csv diff --git a/aon/more-than-six-months.csv b/leetcode/aon/more-than-six-months.csv similarity index 100% rename from aon/more-than-six-months.csv rename to leetcode/aon/more-than-six-months.csv diff --git a/apna/all.csv b/leetcode/apna/all.csv similarity index 100% rename from apna/all.csv rename to leetcode/apna/all.csv diff --git a/apna/more-than-six-months.csv b/leetcode/apna/more-than-six-months.csv similarity index 100% rename from apna/more-than-six-months.csv rename to leetcode/apna/more-than-six-months.csv diff --git a/apolloio/all.csv b/leetcode/apolloio/all.csv similarity index 100% rename from apolloio/all.csv rename to leetcode/apolloio/all.csv diff --git a/apolloio/more-than-six-months.csv b/leetcode/apolloio/more-than-six-months.csv similarity index 100% rename from apolloio/more-than-six-months.csv rename to leetcode/apolloio/more-than-six-months.csv diff --git a/appdynamics/all.csv b/leetcode/appdynamics/all.csv similarity index 100% rename from appdynamics/all.csv rename to leetcode/appdynamics/all.csv diff --git a/appdynamics/more-than-six-months.csv b/leetcode/appdynamics/more-than-six-months.csv similarity index 100% rename from appdynamics/more-than-six-months.csv rename to leetcode/appdynamics/more-than-six-months.csv diff --git a/appfolio/all.csv b/leetcode/appfolio/all.csv similarity index 100% rename from appfolio/all.csv rename to leetcode/appfolio/all.csv diff --git a/appfolio/more-than-six-months.csv b/leetcode/appfolio/more-than-six-months.csv similarity index 100% rename from appfolio/more-than-six-months.csv rename to leetcode/appfolio/more-than-six-months.csv diff --git a/apple/all.csv b/leetcode/apple/all.csv similarity index 100% rename from apple/all.csv rename to leetcode/apple/all.csv diff --git a/apple/more-than-six-months.csv b/leetcode/apple/more-than-six-months.csv similarity index 100% rename from apple/more-than-six-months.csv rename to leetcode/apple/more-than-six-months.csv diff --git a/apple/six-months.csv b/leetcode/apple/six-months.csv similarity index 100% rename from apple/six-months.csv rename to leetcode/apple/six-months.csv diff --git a/apple/thirty-days.csv b/leetcode/apple/thirty-days.csv similarity index 100% rename from apple/thirty-days.csv rename to leetcode/apple/thirty-days.csv diff --git a/apple/three-months.csv b/leetcode/apple/three-months.csv similarity index 100% rename from apple/three-months.csv rename to leetcode/apple/three-months.csv diff --git a/applied-intuition/all.csv b/leetcode/applied-intuition/all.csv similarity index 100% rename from applied-intuition/all.csv rename to leetcode/applied-intuition/all.csv diff --git a/applied-intuition/more-than-six-months.csv b/leetcode/applied-intuition/more-than-six-months.csv similarity index 100% rename from applied-intuition/more-than-six-months.csv rename to leetcode/applied-intuition/more-than-six-months.csv diff --git a/applied-intuition/six-months.csv b/leetcode/applied-intuition/six-months.csv similarity index 100% rename from applied-intuition/six-months.csv rename to leetcode/applied-intuition/six-months.csv diff --git a/applied-intuition/thirty-days.csv b/leetcode/applied-intuition/thirty-days.csv similarity index 100% rename from applied-intuition/thirty-days.csv rename to leetcode/applied-intuition/thirty-days.csv diff --git a/applied-intuition/three-months.csv b/leetcode/applied-intuition/three-months.csv similarity index 100% rename from applied-intuition/three-months.csv rename to leetcode/applied-intuition/three-months.csv diff --git a/applovin/all.csv b/leetcode/applovin/all.csv similarity index 100% rename from applovin/all.csv rename to leetcode/applovin/all.csv diff --git a/applovin/more-than-six-months.csv b/leetcode/applovin/more-than-six-months.csv similarity index 100% rename from applovin/more-than-six-months.csv rename to leetcode/applovin/more-than-six-months.csv diff --git a/appviewx/all.csv b/leetcode/appviewx/all.csv similarity index 100% rename from appviewx/all.csv rename to leetcode/appviewx/all.csv diff --git a/appviewx/more-than-six-months.csv b/leetcode/appviewx/more-than-six-months.csv similarity index 100% rename from appviewx/more-than-six-months.csv rename to leetcode/appviewx/more-than-six-months.csv diff --git a/aqr-capital-management-llc/all.csv b/leetcode/aqr-capital-management-llc/all.csv similarity index 100% rename from aqr-capital-management-llc/all.csv rename to leetcode/aqr-capital-management-llc/all.csv diff --git a/aqr-capital-management-llc/more-than-six-months.csv b/leetcode/aqr-capital-management-llc/more-than-six-months.csv similarity index 100% rename from aqr-capital-management-llc/more-than-six-months.csv rename to leetcode/aqr-capital-management-llc/more-than-six-months.csv diff --git a/arcesium/all.csv b/leetcode/arcesium/all.csv similarity index 100% rename from arcesium/all.csv rename to leetcode/arcesium/all.csv diff --git a/arcesium/more-than-six-months.csv b/leetcode/arcesium/more-than-six-months.csv similarity index 100% rename from arcesium/more-than-six-months.csv rename to leetcode/arcesium/more-than-six-months.csv diff --git a/argo-ai/all.csv b/leetcode/argo-ai/all.csv similarity index 100% rename from argo-ai/all.csv rename to leetcode/argo-ai/all.csv diff --git a/argo-ai/six-months.csv b/leetcode/argo-ai/six-months.csv similarity index 100% rename from argo-ai/six-months.csv rename to leetcode/argo-ai/six-months.csv diff --git a/argo-ai/three-months.csv b/leetcode/argo-ai/three-months.csv similarity index 100% rename from argo-ai/three-months.csv rename to leetcode/argo-ai/three-months.csv diff --git a/arista-networks/all.csv b/leetcode/arista-networks/all.csv similarity index 100% rename from arista-networks/all.csv rename to leetcode/arista-networks/all.csv diff --git a/arista-networks/more-than-six-months.csv b/leetcode/arista-networks/more-than-six-months.csv similarity index 100% rename from arista-networks/more-than-six-months.csv rename to leetcode/arista-networks/more-than-six-months.csv diff --git a/arista-networks/six-months.csv b/leetcode/arista-networks/six-months.csv similarity index 100% rename from arista-networks/six-months.csv rename to leetcode/arista-networks/six-months.csv diff --git a/arista-networks/three-months.csv b/leetcode/arista-networks/three-months.csv similarity index 100% rename from arista-networks/three-months.csv rename to leetcode/arista-networks/three-months.csv diff --git a/arm/all.csv b/leetcode/arm/all.csv similarity index 100% rename from arm/all.csv rename to leetcode/arm/all.csv diff --git a/arm/more-than-six-months.csv b/leetcode/arm/more-than-six-months.csv similarity index 100% rename from arm/more-than-six-months.csv rename to leetcode/arm/more-than-six-months.csv diff --git a/asana/all.csv b/leetcode/asana/all.csv similarity index 100% rename from asana/all.csv rename to leetcode/asana/all.csv diff --git a/asana/more-than-six-months.csv b/leetcode/asana/more-than-six-months.csv similarity index 100% rename from asana/more-than-six-months.csv rename to leetcode/asana/more-than-six-months.csv diff --git a/asana/six-months.csv b/leetcode/asana/six-months.csv similarity index 100% rename from asana/six-months.csv rename to leetcode/asana/six-months.csv diff --git a/ascend/all.csv b/leetcode/ascend/all.csv similarity index 100% rename from ascend/all.csv rename to leetcode/ascend/all.csv diff --git a/ascend/more-than-six-months.csv b/leetcode/ascend/more-than-six-months.csv similarity index 100% rename from ascend/more-than-six-months.csv rename to leetcode/ascend/more-than-six-months.csv diff --git a/asus/all.csv b/leetcode/asus/all.csv similarity index 100% rename from asus/all.csv rename to leetcode/asus/all.csv diff --git a/asus/more-than-six-months.csv b/leetcode/asus/more-than-six-months.csv similarity index 100% rename from asus/more-than-six-months.csv rename to leetcode/asus/more-than-six-months.csv diff --git a/at-t/all.csv b/leetcode/at-t/all.csv similarity index 100% rename from at-t/all.csv rename to leetcode/at-t/all.csv diff --git a/at-t/six-months.csv b/leetcode/at-t/six-months.csv similarity index 100% rename from at-t/six-months.csv rename to leetcode/at-t/six-months.csv diff --git a/athenahealth/all.csv b/leetcode/athenahealth/all.csv similarity index 100% rename from athenahealth/all.csv rename to leetcode/athenahealth/all.csv diff --git a/athenahealth/more-than-six-months.csv b/leetcode/athenahealth/more-than-six-months.csv similarity index 100% rename from athenahealth/more-than-six-months.csv rename to leetcode/athenahealth/more-than-six-months.csv diff --git a/athenahealth/six-months.csv b/leetcode/athenahealth/six-months.csv similarity index 100% rename from athenahealth/six-months.csv rename to leetcode/athenahealth/six-months.csv diff --git a/athenahealth/three-months.csv b/leetcode/athenahealth/three-months.csv similarity index 100% rename from athenahealth/three-months.csv rename to leetcode/athenahealth/three-months.csv diff --git a/atlassian/all.csv b/leetcode/atlassian/all.csv similarity index 100% rename from atlassian/all.csv rename to leetcode/atlassian/all.csv diff --git a/atlassian/more-than-six-months.csv b/leetcode/atlassian/more-than-six-months.csv similarity index 100% rename from atlassian/more-than-six-months.csv rename to leetcode/atlassian/more-than-six-months.csv diff --git a/atlassian/six-months.csv b/leetcode/atlassian/six-months.csv similarity index 100% rename from atlassian/six-months.csv rename to leetcode/atlassian/six-months.csv diff --git a/atlassian/thirty-days.csv b/leetcode/atlassian/thirty-days.csv similarity index 100% rename from atlassian/thirty-days.csv rename to leetcode/atlassian/thirty-days.csv diff --git a/atlassian/three-months.csv b/leetcode/atlassian/three-months.csv similarity index 100% rename from atlassian/three-months.csv rename to leetcode/atlassian/three-months.csv diff --git a/attentive/all.csv b/leetcode/attentive/all.csv similarity index 100% rename from attentive/all.csv rename to leetcode/attentive/all.csv diff --git a/attentive/more-than-six-months.csv b/leetcode/attentive/more-than-six-months.csv similarity index 100% rename from attentive/more-than-six-months.csv rename to leetcode/attentive/more-than-six-months.csv diff --git a/attentive/six-months.csv b/leetcode/attentive/six-months.csv similarity index 100% rename from attentive/six-months.csv rename to leetcode/attentive/six-months.csv diff --git a/attentive/three-months.csv b/leetcode/attentive/three-months.csv similarity index 100% rename from attentive/three-months.csv rename to leetcode/attentive/three-months.csv diff --git a/audible/all.csv b/leetcode/audible/all.csv similarity index 100% rename from audible/all.csv rename to leetcode/audible/all.csv diff --git a/audible/more-than-six-months.csv b/leetcode/audible/more-than-six-months.csv similarity index 100% rename from audible/more-than-six-months.csv rename to leetcode/audible/more-than-six-months.csv diff --git a/auriga/all.csv b/leetcode/auriga/all.csv similarity index 100% rename from auriga/all.csv rename to leetcode/auriga/all.csv diff --git a/auriga/more-than-six-months.csv b/leetcode/auriga/more-than-six-months.csv similarity index 100% rename from auriga/more-than-six-months.csv rename to leetcode/auriga/more-than-six-months.csv diff --git a/aurora/all.csv b/leetcode/aurora/all.csv similarity index 100% rename from aurora/all.csv rename to leetcode/aurora/all.csv diff --git a/aurora/more-than-six-months.csv b/leetcode/aurora/more-than-six-months.csv similarity index 100% rename from aurora/more-than-six-months.csv rename to leetcode/aurora/more-than-six-months.csv diff --git a/aurora/six-months.csv b/leetcode/aurora/six-months.csv similarity index 100% rename from aurora/six-months.csv rename to leetcode/aurora/six-months.csv diff --git a/aurora/three-months.csv b/leetcode/aurora/three-months.csv similarity index 100% rename from aurora/three-months.csv rename to leetcode/aurora/three-months.csv diff --git a/autodesk/all.csv b/leetcode/autodesk/all.csv similarity index 100% rename from autodesk/all.csv rename to leetcode/autodesk/all.csv diff --git a/autodesk/more-than-six-months.csv b/leetcode/autodesk/more-than-six-months.csv similarity index 100% rename from autodesk/more-than-six-months.csv rename to leetcode/autodesk/more-than-six-months.csv diff --git a/autodesk/six-months.csv b/leetcode/autodesk/six-months.csv similarity index 100% rename from autodesk/six-months.csv rename to leetcode/autodesk/six-months.csv diff --git a/autodesk/thirty-days.csv b/leetcode/autodesk/thirty-days.csv similarity index 100% rename from autodesk/thirty-days.csv rename to leetcode/autodesk/thirty-days.csv diff --git a/autodesk/three-months.csv b/leetcode/autodesk/three-months.csv similarity index 100% rename from autodesk/three-months.csv rename to leetcode/autodesk/three-months.csv diff --git a/avalara/all.csv b/leetcode/avalara/all.csv similarity index 100% rename from avalara/all.csv rename to leetcode/avalara/all.csv diff --git a/avalara/more-than-six-months.csv b/leetcode/avalara/more-than-six-months.csv similarity index 100% rename from avalara/more-than-six-months.csv rename to leetcode/avalara/more-than-six-months.csv diff --git a/avito/all.csv b/leetcode/avito/all.csv similarity index 100% rename from avito/all.csv rename to leetcode/avito/all.csv diff --git a/avito/more-than-six-months.csv b/leetcode/avito/more-than-six-months.csv similarity index 100% rename from avito/more-than-six-months.csv rename to leetcode/avito/more-than-six-months.csv diff --git a/avito/six-months.csv b/leetcode/avito/six-months.csv similarity index 100% rename from avito/six-months.csv rename to leetcode/avito/six-months.csv diff --git a/axis-bank/all.csv b/leetcode/axis-bank/all.csv similarity index 100% rename from axis-bank/all.csv rename to leetcode/axis-bank/all.csv diff --git a/axis-bank/six-months.csv b/leetcode/axis-bank/six-months.csv similarity index 100% rename from axis-bank/six-months.csv rename to leetcode/axis-bank/six-months.csv diff --git a/axon/all.csv b/leetcode/axon/all.csv similarity index 100% rename from axon/all.csv rename to leetcode/axon/all.csv diff --git a/axon/more-than-six-months.csv b/leetcode/axon/more-than-six-months.csv similarity index 100% rename from axon/more-than-six-months.csv rename to leetcode/axon/more-than-six-months.csv diff --git a/axon/six-months.csv b/leetcode/axon/six-months.csv similarity index 100% rename from axon/six-months.csv rename to leetcode/axon/six-months.csv diff --git a/axon/thirty-days.csv b/leetcode/axon/thirty-days.csv similarity index 100% rename from axon/thirty-days.csv rename to leetcode/axon/thirty-days.csv diff --git a/axon/three-months.csv b/leetcode/axon/three-months.csv similarity index 100% rename from axon/three-months.csv rename to leetcode/axon/three-months.csv diff --git a/baidu/all.csv b/leetcode/baidu/all.csv similarity index 100% rename from baidu/all.csv rename to leetcode/baidu/all.csv diff --git a/baidu/more-than-six-months.csv b/leetcode/baidu/more-than-six-months.csv similarity index 100% rename from baidu/more-than-six-months.csv rename to leetcode/baidu/more-than-six-months.csv diff --git a/bank-of-america/all.csv b/leetcode/bank-of-america/all.csv similarity index 100% rename from bank-of-america/all.csv rename to leetcode/bank-of-america/all.csv diff --git a/bank-of-america/more-than-six-months.csv b/leetcode/bank-of-america/more-than-six-months.csv similarity index 100% rename from bank-of-america/more-than-six-months.csv rename to leetcode/bank-of-america/more-than-six-months.csv diff --git a/barclays/all.csv b/leetcode/barclays/all.csv similarity index 100% rename from barclays/all.csv rename to leetcode/barclays/all.csv diff --git a/barclays/more-than-six-months.csv b/leetcode/barclays/more-than-six-months.csv similarity index 100% rename from barclays/more-than-six-months.csv rename to leetcode/barclays/more-than-six-months.csv diff --git a/barclays/six-months.csv b/leetcode/barclays/six-months.csv similarity index 100% rename from barclays/six-months.csv rename to leetcode/barclays/six-months.csv diff --git a/bcg/all.csv b/leetcode/bcg/all.csv similarity index 100% rename from bcg/all.csv rename to leetcode/bcg/all.csv diff --git a/bcg/six-months.csv b/leetcode/bcg/six-months.csv similarity index 100% rename from bcg/six-months.csv rename to leetcode/bcg/six-months.csv diff --git a/bentley-systems/all.csv b/leetcode/bentley-systems/all.csv similarity index 100% rename from bentley-systems/all.csv rename to leetcode/bentley-systems/all.csv diff --git a/bentley-systems/more-than-six-months.csv b/leetcode/bentley-systems/more-than-six-months.csv similarity index 100% rename from bentley-systems/more-than-six-months.csv rename to leetcode/bentley-systems/more-than-six-months.csv diff --git a/bharatpe/all.csv b/leetcode/bharatpe/all.csv similarity index 100% rename from bharatpe/all.csv rename to leetcode/bharatpe/all.csv diff --git a/bharatpe/more-than-six-months.csv b/leetcode/bharatpe/more-than-six-months.csv similarity index 100% rename from bharatpe/more-than-six-months.csv rename to leetcode/bharatpe/more-than-six-months.csv diff --git a/bidgely/all.csv b/leetcode/bidgely/all.csv similarity index 100% rename from bidgely/all.csv rename to leetcode/bidgely/all.csv diff --git a/bidgely/more-than-six-months.csv b/leetcode/bidgely/more-than-six-months.csv similarity index 100% rename from bidgely/more-than-six-months.csv rename to leetcode/bidgely/more-than-six-months.csv diff --git a/billcom/all.csv b/leetcode/billcom/all.csv similarity index 100% rename from billcom/all.csv rename to leetcode/billcom/all.csv diff --git a/billcom/more-than-six-months.csv b/leetcode/billcom/more-than-six-months.csv similarity index 100% rename from billcom/more-than-six-months.csv rename to leetcode/billcom/more-than-six-months.csv diff --git a/bitgo/all.csv b/leetcode/bitgo/all.csv similarity index 100% rename from bitgo/all.csv rename to leetcode/bitgo/all.csv diff --git a/bitgo/more-than-six-months.csv b/leetcode/bitgo/more-than-six-months.csv similarity index 100% rename from bitgo/more-than-six-months.csv rename to leetcode/bitgo/more-than-six-months.csv diff --git a/bitgo/six-months.csv b/leetcode/bitgo/six-months.csv similarity index 100% rename from bitgo/six-months.csv rename to leetcode/bitgo/six-months.csv diff --git a/bitgo/three-months.csv b/leetcode/bitgo/three-months.csv similarity index 100% rename from bitgo/three-months.csv rename to leetcode/bitgo/three-months.csv diff --git a/blackbuck/all.csv b/leetcode/blackbuck/all.csv similarity index 100% rename from blackbuck/all.csv rename to leetcode/blackbuck/all.csv diff --git a/blackbuck/more-than-six-months.csv b/leetcode/blackbuck/more-than-six-months.csv similarity index 100% rename from blackbuck/more-than-six-months.csv rename to leetcode/blackbuck/more-than-six-months.csv diff --git a/blackrock/all.csv b/leetcode/blackrock/all.csv similarity index 100% rename from blackrock/all.csv rename to leetcode/blackrock/all.csv diff --git a/blackrock/more-than-six-months.csv b/leetcode/blackrock/more-than-six-months.csv similarity index 100% rename from blackrock/more-than-six-months.csv rename to leetcode/blackrock/more-than-six-months.csv diff --git a/blackrock/six-months.csv b/leetcode/blackrock/six-months.csv similarity index 100% rename from blackrock/six-months.csv rename to leetcode/blackrock/six-months.csv diff --git a/blackrock/three-months.csv b/leetcode/blackrock/three-months.csv similarity index 100% rename from blackrock/three-months.csv rename to leetcode/blackrock/three-months.csv diff --git a/blackstone/all.csv b/leetcode/blackstone/all.csv similarity index 100% rename from blackstone/all.csv rename to leetcode/blackstone/all.csv diff --git a/blackstone/more-than-six-months.csv b/leetcode/blackstone/more-than-six-months.csv similarity index 100% rename from blackstone/more-than-six-months.csv rename to leetcode/blackstone/more-than-six-months.csv diff --git a/blend/all.csv b/leetcode/blend/all.csv similarity index 100% rename from blend/all.csv rename to leetcode/blend/all.csv diff --git a/blend/more-than-six-months.csv b/leetcode/blend/more-than-six-months.csv similarity index 100% rename from blend/more-than-six-months.csv rename to leetcode/blend/more-than-six-months.csv diff --git a/blend/six-months.csv b/leetcode/blend/six-months.csv similarity index 100% rename from blend/six-months.csv rename to leetcode/blend/six-months.csv diff --git a/blinkit/all.csv b/leetcode/blinkit/all.csv similarity index 100% rename from blinkit/all.csv rename to leetcode/blinkit/all.csv diff --git a/blinkit/more-than-six-months.csv b/leetcode/blinkit/more-than-six-months.csv similarity index 100% rename from blinkit/more-than-six-months.csv rename to leetcode/blinkit/more-than-six-months.csv diff --git a/blizzard/all.csv b/leetcode/blizzard/all.csv similarity index 100% rename from blizzard/all.csv rename to leetcode/blizzard/all.csv diff --git a/blizzard/more-than-six-months.csv b/leetcode/blizzard/more-than-six-months.csv similarity index 100% rename from blizzard/more-than-six-months.csv rename to leetcode/blizzard/more-than-six-months.csv diff --git a/bloomberg/all.csv b/leetcode/bloomberg/all.csv similarity index 100% rename from bloomberg/all.csv rename to leetcode/bloomberg/all.csv diff --git a/bloomberg/more-than-six-months.csv b/leetcode/bloomberg/more-than-six-months.csv similarity index 100% rename from bloomberg/more-than-six-months.csv rename to leetcode/bloomberg/more-than-six-months.csv diff --git a/bloomberg/six-months.csv b/leetcode/bloomberg/six-months.csv similarity index 100% rename from bloomberg/six-months.csv rename to leetcode/bloomberg/six-months.csv diff --git a/bloomberg/thirty-days.csv b/leetcode/bloomberg/thirty-days.csv similarity index 100% rename from bloomberg/thirty-days.csv rename to leetcode/bloomberg/thirty-days.csv diff --git a/bloomberg/three-months.csv b/leetcode/bloomberg/three-months.csv similarity index 100% rename from bloomberg/three-months.csv rename to leetcode/bloomberg/three-months.csv diff --git a/bloomreach/all.csv b/leetcode/bloomreach/all.csv similarity index 100% rename from bloomreach/all.csv rename to leetcode/bloomreach/all.csv diff --git a/bloomreach/more-than-six-months.csv b/leetcode/bloomreach/more-than-six-months.csv similarity index 100% rename from bloomreach/more-than-six-months.csv rename to leetcode/bloomreach/more-than-six-months.csv diff --git a/blue-origin/all.csv b/leetcode/blue-origin/all.csv similarity index 100% rename from blue-origin/all.csv rename to leetcode/blue-origin/all.csv diff --git a/blue-origin/more-than-six-months.csv b/leetcode/blue-origin/more-than-six-months.csv similarity index 100% rename from blue-origin/more-than-six-months.csv rename to leetcode/blue-origin/more-than-six-months.csv diff --git a/blue-yonder/all.csv b/leetcode/blue-yonder/all.csv similarity index 100% rename from blue-yonder/all.csv rename to leetcode/blue-yonder/all.csv diff --git a/blue-yonder/more-than-six-months.csv b/leetcode/blue-yonder/more-than-six-months.csv similarity index 100% rename from blue-yonder/more-than-six-months.csv rename to leetcode/blue-yonder/more-than-six-months.csv diff --git a/bnp-paribas/all.csv b/leetcode/bnp-paribas/all.csv similarity index 100% rename from bnp-paribas/all.csv rename to leetcode/bnp-paribas/all.csv diff --git a/bnp-paribas/more-than-six-months.csv b/leetcode/bnp-paribas/more-than-six-months.csv similarity index 100% rename from bnp-paribas/more-than-six-months.csv rename to leetcode/bnp-paribas/more-than-six-months.csv diff --git a/bny-mellon/all.csv b/leetcode/bny-mellon/all.csv similarity index 100% rename from bny-mellon/all.csv rename to leetcode/bny-mellon/all.csv diff --git a/bny-mellon/more-than-six-months.csv b/leetcode/bny-mellon/more-than-six-months.csv similarity index 100% rename from bny-mellon/more-than-six-months.csv rename to leetcode/bny-mellon/more-than-six-months.csv diff --git a/bny-mellon/six-months.csv b/leetcode/bny-mellon/six-months.csv similarity index 100% rename from bny-mellon/six-months.csv rename to leetcode/bny-mellon/six-months.csv diff --git a/boeing/all.csv b/leetcode/boeing/all.csv similarity index 100% rename from boeing/all.csv rename to leetcode/boeing/all.csv diff --git a/boeing/more-than-six-months.csv b/leetcode/boeing/more-than-six-months.csv similarity index 100% rename from boeing/more-than-six-months.csv rename to leetcode/boeing/more-than-six-months.csv diff --git a/bolt/all.csv b/leetcode/bolt/all.csv similarity index 100% rename from bolt/all.csv rename to leetcode/bolt/all.csv diff --git a/bolt/more-than-six-months.csv b/leetcode/bolt/more-than-six-months.csv similarity index 100% rename from bolt/more-than-six-months.csv rename to leetcode/bolt/more-than-six-months.csv diff --git a/bolt/six-months.csv b/leetcode/bolt/six-months.csv similarity index 100% rename from bolt/six-months.csv rename to leetcode/bolt/six-months.csv diff --git a/bookingcom/all.csv b/leetcode/bookingcom/all.csv similarity index 100% rename from bookingcom/all.csv rename to leetcode/bookingcom/all.csv diff --git a/bookingcom/more-than-six-months.csv b/leetcode/bookingcom/more-than-six-months.csv similarity index 100% rename from bookingcom/more-than-six-months.csv rename to leetcode/bookingcom/more-than-six-months.csv diff --git a/bookingcom/six-months.csv b/leetcode/bookingcom/six-months.csv similarity index 100% rename from bookingcom/six-months.csv rename to leetcode/bookingcom/six-months.csv diff --git a/bosch/all.csv b/leetcode/bosch/all.csv similarity index 100% rename from bosch/all.csv rename to leetcode/bosch/all.csv diff --git a/bosch/more-than-six-months.csv b/leetcode/bosch/more-than-six-months.csv similarity index 100% rename from bosch/more-than-six-months.csv rename to leetcode/bosch/more-than-six-months.csv diff --git a/box/all.csv b/leetcode/box/all.csv similarity index 100% rename from box/all.csv rename to leetcode/box/all.csv diff --git a/box/more-than-six-months.csv b/leetcode/box/more-than-six-months.csv similarity index 100% rename from box/more-than-six-months.csv rename to leetcode/box/more-than-six-months.csv diff --git a/box/six-months.csv b/leetcode/box/six-months.csv similarity index 100% rename from box/six-months.csv rename to leetcode/box/six-months.csv diff --git a/box/three-months.csv b/leetcode/box/three-months.csv similarity index 100% rename from box/three-months.csv rename to leetcode/box/three-months.csv diff --git a/bp/all.csv b/leetcode/bp/all.csv similarity index 100% rename from bp/all.csv rename to leetcode/bp/all.csv diff --git a/bp/more-than-six-months.csv b/leetcode/bp/more-than-six-months.csv similarity index 100% rename from bp/more-than-six-months.csv rename to leetcode/bp/more-than-six-months.csv diff --git a/braze/all.csv b/leetcode/braze/all.csv similarity index 100% rename from braze/all.csv rename to leetcode/braze/all.csv diff --git a/braze/more-than-six-months.csv b/leetcode/braze/more-than-six-months.csv similarity index 100% rename from braze/more-than-six-months.csv rename to leetcode/braze/more-than-six-months.csv diff --git a/brex/all.csv b/leetcode/brex/all.csv similarity index 100% rename from brex/all.csv rename to leetcode/brex/all.csv diff --git a/brex/more-than-six-months.csv b/leetcode/brex/more-than-six-months.csv similarity index 100% rename from brex/more-than-six-months.csv rename to leetcode/brex/more-than-six-months.csv diff --git a/bridgewater-associates/all.csv b/leetcode/bridgewater-associates/all.csv similarity index 100% rename from bridgewater-associates/all.csv rename to leetcode/bridgewater-associates/all.csv diff --git a/bridgewater-associates/more-than-six-months.csv b/leetcode/bridgewater-associates/more-than-six-months.csv similarity index 100% rename from bridgewater-associates/more-than-six-months.csv rename to leetcode/bridgewater-associates/more-than-six-months.csv diff --git a/brillio/all.csv b/leetcode/brillio/all.csv similarity index 100% rename from brillio/all.csv rename to leetcode/brillio/all.csv diff --git a/broadcom/all.csv b/leetcode/broadcom/all.csv similarity index 100% rename from broadcom/all.csv rename to leetcode/broadcom/all.csv diff --git a/broadcom/more-than-six-months.csv b/leetcode/broadcom/more-than-six-months.csv similarity index 100% rename from broadcom/more-than-six-months.csv rename to leetcode/broadcom/more-than-six-months.csv diff --git a/browserstack/all.csv b/leetcode/browserstack/all.csv similarity index 100% rename from browserstack/all.csv rename to leetcode/browserstack/all.csv diff --git a/bt-group/all.csv b/leetcode/bt-group/all.csv similarity index 100% rename from bt-group/all.csv rename to leetcode/bt-group/all.csv diff --git a/bt-group/more-than-six-months.csv b/leetcode/bt-group/more-than-six-months.csv similarity index 100% rename from bt-group/more-than-six-months.csv rename to leetcode/bt-group/more-than-six-months.csv diff --git a/buyhatke/all.csv b/leetcode/buyhatke/all.csv similarity index 100% rename from buyhatke/all.csv rename to leetcode/buyhatke/all.csv diff --git a/buyhatke/more-than-six-months.csv b/leetcode/buyhatke/more-than-six-months.csv similarity index 100% rename from buyhatke/more-than-six-months.csv rename to leetcode/buyhatke/more-than-six-months.csv diff --git a/bytedance/all.csv b/leetcode/bytedance/all.csv similarity index 100% rename from bytedance/all.csv rename to leetcode/bytedance/all.csv diff --git a/bytedance/more-than-six-months.csv b/leetcode/bytedance/more-than-six-months.csv similarity index 100% rename from bytedance/more-than-six-months.csv rename to leetcode/bytedance/more-than-six-months.csv diff --git a/bytedance/six-months.csv b/leetcode/bytedance/six-months.csv similarity index 100% rename from bytedance/six-months.csv rename to leetcode/bytedance/six-months.csv diff --git a/bytedance/three-months.csv b/leetcode/bytedance/three-months.csv similarity index 100% rename from bytedance/three-months.csv rename to leetcode/bytedance/three-months.csv diff --git a/c3-ai/all.csv b/leetcode/c3-ai/all.csv similarity index 100% rename from c3-ai/all.csv rename to leetcode/c3-ai/all.csv diff --git a/c3-ai/six-months.csv b/leetcode/c3-ai/six-months.csv similarity index 100% rename from c3-ai/six-months.csv rename to leetcode/c3-ai/six-months.csv diff --git a/c3-ai/three-months.csv b/leetcode/c3-ai/three-months.csv similarity index 100% rename from c3-ai/three-months.csv rename to leetcode/c3-ai/three-months.csv diff --git a/caastle/all.csv b/leetcode/caastle/all.csv similarity index 100% rename from caastle/all.csv rename to leetcode/caastle/all.csv diff --git a/caastle/more-than-six-months.csv b/leetcode/caastle/more-than-six-months.csv similarity index 100% rename from caastle/more-than-six-months.csv rename to leetcode/caastle/more-than-six-months.csv diff --git a/cadence/all.csv b/leetcode/cadence/all.csv similarity index 100% rename from cadence/all.csv rename to leetcode/cadence/all.csv diff --git a/cadence/more-than-six-months.csv b/leetcode/cadence/more-than-six-months.csv similarity index 100% rename from cadence/more-than-six-months.csv rename to leetcode/cadence/more-than-six-months.csv diff --git a/cadence/six-months.csv b/leetcode/cadence/six-months.csv similarity index 100% rename from cadence/six-months.csv rename to leetcode/cadence/six-months.csv diff --git a/canonical/all.csv b/leetcode/canonical/all.csv similarity index 100% rename from canonical/all.csv rename to leetcode/canonical/all.csv diff --git a/canonical/more-than-six-months.csv b/leetcode/canonical/more-than-six-months.csv similarity index 100% rename from canonical/more-than-six-months.csv rename to leetcode/canonical/more-than-six-months.csv diff --git a/canonical/six-months.csv b/leetcode/canonical/six-months.csv similarity index 100% rename from canonical/six-months.csv rename to leetcode/canonical/six-months.csv diff --git a/canva/all.csv b/leetcode/canva/all.csv similarity index 100% rename from canva/all.csv rename to leetcode/canva/all.csv diff --git a/canva/more-than-six-months.csv b/leetcode/canva/more-than-six-months.csv similarity index 100% rename from canva/more-than-six-months.csv rename to leetcode/canva/more-than-six-months.csv diff --git a/canva/six-months.csv b/leetcode/canva/six-months.csv similarity index 100% rename from canva/six-months.csv rename to leetcode/canva/six-months.csv diff --git a/capgemini/all.csv b/leetcode/capgemini/all.csv similarity index 100% rename from capgemini/all.csv rename to leetcode/capgemini/all.csv diff --git a/capgemini/more-than-six-months.csv b/leetcode/capgemini/more-than-six-months.csv similarity index 100% rename from capgemini/more-than-six-months.csv rename to leetcode/capgemini/more-than-six-months.csv diff --git a/capgemini/six-months.csv b/leetcode/capgemini/six-months.csv similarity index 100% rename from capgemini/six-months.csv rename to leetcode/capgemini/six-months.csv diff --git a/capgemini/three-months.csv b/leetcode/capgemini/three-months.csv similarity index 100% rename from capgemini/three-months.csv rename to leetcode/capgemini/three-months.csv diff --git a/capital-one/all.csv b/leetcode/capital-one/all.csv similarity index 100% rename from capital-one/all.csv rename to leetcode/capital-one/all.csv diff --git a/capital-one/more-than-six-months.csv b/leetcode/capital-one/more-than-six-months.csv similarity index 100% rename from capital-one/more-than-six-months.csv rename to leetcode/capital-one/more-than-six-months.csv diff --git a/capital-one/six-months.csv b/leetcode/capital-one/six-months.csv similarity index 100% rename from capital-one/six-months.csv rename to leetcode/capital-one/six-months.csv diff --git a/capital-one/thirty-days.csv b/leetcode/capital-one/thirty-days.csv similarity index 100% rename from capital-one/thirty-days.csv rename to leetcode/capital-one/thirty-days.csv diff --git a/capital-one/three-months.csv b/leetcode/capital-one/three-months.csv similarity index 100% rename from capital-one/three-months.csv rename to leetcode/capital-one/three-months.csv diff --git a/careem/all.csv b/leetcode/careem/all.csv similarity index 100% rename from careem/all.csv rename to leetcode/careem/all.csv diff --git a/careem/more-than-six-months.csv b/leetcode/careem/more-than-six-months.csv similarity index 100% rename from careem/more-than-six-months.csv rename to leetcode/careem/more-than-six-months.csv diff --git a/careem/six-months.csv b/leetcode/careem/six-months.csv similarity index 100% rename from careem/six-months.csv rename to leetcode/careem/six-months.csv diff --git a/careem/thirty-days.csv b/leetcode/careem/thirty-days.csv similarity index 100% rename from careem/thirty-days.csv rename to leetcode/careem/thirty-days.csv diff --git a/careem/three-months.csv b/leetcode/careem/three-months.csv similarity index 100% rename from careem/three-months.csv rename to leetcode/careem/three-months.csv diff --git a/cars24/all.csv b/leetcode/cars24/all.csv similarity index 100% rename from cars24/all.csv rename to leetcode/cars24/all.csv diff --git a/cars24/more-than-six-months.csv b/leetcode/cars24/more-than-six-months.csv similarity index 100% rename from cars24/more-than-six-months.csv rename to leetcode/cars24/more-than-six-months.csv diff --git a/carwale/all.csv b/leetcode/carwale/all.csv similarity index 100% rename from carwale/all.csv rename to leetcode/carwale/all.csv diff --git a/carwale/more-than-six-months.csv b/leetcode/carwale/more-than-six-months.csv similarity index 100% rename from carwale/more-than-six-months.csv rename to leetcode/carwale/more-than-six-months.csv diff --git a/cashfree/all.csv b/leetcode/cashfree/all.csv similarity index 100% rename from cashfree/all.csv rename to leetcode/cashfree/all.csv diff --git a/cashfree/more-than-six-months.csv b/leetcode/cashfree/more-than-six-months.csv similarity index 100% rename from cashfree/more-than-six-months.csv rename to leetcode/cashfree/more-than-six-months.csv diff --git a/caterpillar/all.csv b/leetcode/caterpillar/all.csv similarity index 100% rename from caterpillar/all.csv rename to leetcode/caterpillar/all.csv diff --git a/cedcoss/all.csv b/leetcode/cedcoss/all.csv similarity index 100% rename from cedcoss/all.csv rename to leetcode/cedcoss/all.csv diff --git a/cedcoss/more-than-six-months.csv b/leetcode/cedcoss/more-than-six-months.csv similarity index 100% rename from cedcoss/more-than-six-months.csv rename to leetcode/cedcoss/more-than-six-months.csv diff --git a/celigo/all.csv b/leetcode/celigo/all.csv similarity index 100% rename from celigo/all.csv rename to leetcode/celigo/all.csv diff --git a/celigo/more-than-six-months.csv b/leetcode/celigo/more-than-six-months.csv similarity index 100% rename from celigo/more-than-six-months.csv rename to leetcode/celigo/more-than-six-months.csv diff --git a/chalo/all.csv b/leetcode/chalo/all.csv similarity index 100% rename from chalo/all.csv rename to leetcode/chalo/all.csv diff --git a/chalo/more-than-six-months.csv b/leetcode/chalo/more-than-six-months.csv similarity index 100% rename from chalo/more-than-six-months.csv rename to leetcode/chalo/more-than-six-months.csv diff --git a/chargebee/all.csv b/leetcode/chargebee/all.csv similarity index 100% rename from chargebee/all.csv rename to leetcode/chargebee/all.csv diff --git a/chargebee/six-months.csv b/leetcode/chargebee/six-months.csv similarity index 100% rename from chargebee/six-months.csv rename to leetcode/chargebee/six-months.csv diff --git a/chewy/all.csv b/leetcode/chewy/all.csv similarity index 100% rename from chewy/all.csv rename to leetcode/chewy/all.csv diff --git a/chewy/more-than-six-months.csv b/leetcode/chewy/more-than-six-months.csv similarity index 100% rename from chewy/more-than-six-months.csv rename to leetcode/chewy/more-than-six-months.csv diff --git a/chime/all.csv b/leetcode/chime/all.csv similarity index 100% rename from chime/all.csv rename to leetcode/chime/all.csv diff --git a/chime/more-than-six-months.csv b/leetcode/chime/more-than-six-months.csv similarity index 100% rename from chime/more-than-six-months.csv rename to leetcode/chime/more-than-six-months.csv diff --git a/chronus/all.csv b/leetcode/chronus/all.csv similarity index 100% rename from chronus/all.csv rename to leetcode/chronus/all.csv diff --git a/chronus/more-than-six-months.csv b/leetcode/chronus/more-than-six-months.csv similarity index 100% rename from chronus/more-than-six-months.csv rename to leetcode/chronus/more-than-six-months.csv diff --git a/chubb/all.csv b/leetcode/chubb/all.csv similarity index 100% rename from chubb/all.csv rename to leetcode/chubb/all.csv diff --git a/chubb/more-than-six-months.csv b/leetcode/chubb/more-than-six-months.csv similarity index 100% rename from chubb/more-than-six-months.csv rename to leetcode/chubb/more-than-six-months.csv diff --git a/ciena/all.csv b/leetcode/ciena/all.csv similarity index 100% rename from ciena/all.csv rename to leetcode/ciena/all.csv diff --git a/ciena/more-than-six-months.csv b/leetcode/ciena/more-than-six-months.csv similarity index 100% rename from ciena/more-than-six-months.csv rename to leetcode/ciena/more-than-six-months.csv diff --git a/circle/all.csv b/leetcode/circle/all.csv similarity index 100% rename from circle/all.csv rename to leetcode/circle/all.csv diff --git a/circle/more-than-six-months.csv b/leetcode/circle/more-than-six-months.csv similarity index 100% rename from circle/more-than-six-months.csv rename to leetcode/circle/more-than-six-months.csv diff --git a/cisco/all.csv b/leetcode/cisco/all.csv similarity index 100% rename from cisco/all.csv rename to leetcode/cisco/all.csv diff --git a/cisco/more-than-six-months.csv b/leetcode/cisco/more-than-six-months.csv similarity index 100% rename from cisco/more-than-six-months.csv rename to leetcode/cisco/more-than-six-months.csv diff --git a/cisco/six-months.csv b/leetcode/cisco/six-months.csv similarity index 100% rename from cisco/six-months.csv rename to leetcode/cisco/six-months.csv diff --git a/cisco/thirty-days.csv b/leetcode/cisco/thirty-days.csv similarity index 100% rename from cisco/thirty-days.csv rename to leetcode/cisco/thirty-days.csv diff --git a/cisco/three-months.csv b/leetcode/cisco/three-months.csv similarity index 100% rename from cisco/three-months.csv rename to leetcode/cisco/three-months.csv diff --git a/citadel/all.csv b/leetcode/citadel/all.csv similarity index 100% rename from citadel/all.csv rename to leetcode/citadel/all.csv diff --git a/citadel/more-than-six-months.csv b/leetcode/citadel/more-than-six-months.csv similarity index 100% rename from citadel/more-than-six-months.csv rename to leetcode/citadel/more-than-six-months.csv diff --git a/citadel/six-months.csv b/leetcode/citadel/six-months.csv similarity index 100% rename from citadel/six-months.csv rename to leetcode/citadel/six-months.csv diff --git a/citadel/thirty-days.csv b/leetcode/citadel/thirty-days.csv similarity index 100% rename from citadel/thirty-days.csv rename to leetcode/citadel/thirty-days.csv diff --git a/citadel/three-months.csv b/leetcode/citadel/three-months.csv similarity index 100% rename from citadel/three-months.csv rename to leetcode/citadel/three-months.csv diff --git a/citi/all.csv b/leetcode/citi/all.csv similarity index 100% rename from citi/all.csv rename to leetcode/citi/all.csv diff --git a/citi/more-than-six-months.csv b/leetcode/citi/more-than-six-months.csv similarity index 100% rename from citi/more-than-six-months.csv rename to leetcode/citi/more-than-six-months.csv diff --git a/citrix/all.csv b/leetcode/citrix/all.csv similarity index 100% rename from citrix/all.csv rename to leetcode/citrix/all.csv diff --git a/citrix/more-than-six-months.csv b/leetcode/citrix/more-than-six-months.csv similarity index 100% rename from citrix/more-than-six-months.csv rename to leetcode/citrix/more-than-six-months.csv diff --git a/clari/all.csv b/leetcode/clari/all.csv similarity index 100% rename from clari/all.csv rename to leetcode/clari/all.csv diff --git a/clari/more-than-six-months.csv b/leetcode/clari/more-than-six-months.csv similarity index 100% rename from clari/more-than-six-months.csv rename to leetcode/clari/more-than-six-months.csv diff --git a/cleartax/all.csv b/leetcode/cleartax/all.csv similarity index 100% rename from cleartax/all.csv rename to leetcode/cleartax/all.csv diff --git a/cleartax/more-than-six-months.csv b/leetcode/cleartax/more-than-six-months.csv similarity index 100% rename from cleartax/more-than-six-months.csv rename to leetcode/cleartax/more-than-six-months.csv diff --git a/cleartrip/all.csv b/leetcode/cleartrip/all.csv similarity index 100% rename from cleartrip/all.csv rename to leetcode/cleartrip/all.csv diff --git a/cleartrip/more-than-six-months.csv b/leetcode/cleartrip/more-than-six-months.csv similarity index 100% rename from cleartrip/more-than-six-months.csv rename to leetcode/cleartrip/more-than-six-months.csv diff --git a/cleartrip/six-months.csv b/leetcode/cleartrip/six-months.csv similarity index 100% rename from cleartrip/six-months.csv rename to leetcode/cleartrip/six-months.csv diff --git a/cloudera/all.csv b/leetcode/cloudera/all.csv similarity index 100% rename from cloudera/all.csv rename to leetcode/cloudera/all.csv diff --git a/cloudera/more-than-six-months.csv b/leetcode/cloudera/more-than-six-months.csv similarity index 100% rename from cloudera/more-than-six-months.csv rename to leetcode/cloudera/more-than-six-months.csv diff --git a/cloudflare/all.csv b/leetcode/cloudflare/all.csv similarity index 100% rename from cloudflare/all.csv rename to leetcode/cloudflare/all.csv diff --git a/cloudflare/more-than-six-months.csv b/leetcode/cloudflare/more-than-six-months.csv similarity index 100% rename from cloudflare/more-than-six-months.csv rename to leetcode/cloudflare/more-than-six-months.csv diff --git a/cloudflare/six-months.csv b/leetcode/cloudflare/six-months.csv similarity index 100% rename from cloudflare/six-months.csv rename to leetcode/cloudflare/six-months.csv diff --git a/cloudflare/thirty-days.csv b/leetcode/cloudflare/thirty-days.csv similarity index 100% rename from cloudflare/thirty-days.csv rename to leetcode/cloudflare/thirty-days.csv diff --git a/cloudflare/three-months.csv b/leetcode/cloudflare/three-months.csv similarity index 100% rename from cloudflare/three-months.csv rename to leetcode/cloudflare/three-months.csv diff --git a/clumio/all.csv b/leetcode/clumio/all.csv similarity index 100% rename from clumio/all.csv rename to leetcode/clumio/all.csv diff --git a/clumio/more-than-six-months.csv b/leetcode/clumio/more-than-six-months.csv similarity index 100% rename from clumio/more-than-six-months.csv rename to leetcode/clumio/more-than-six-months.csv diff --git a/clutter/all.csv b/leetcode/clutter/all.csv similarity index 100% rename from clutter/all.csv rename to leetcode/clutter/all.csv diff --git a/clutter/more-than-six-months.csv b/leetcode/clutter/more-than-six-months.csv similarity index 100% rename from clutter/more-than-six-months.csv rename to leetcode/clutter/more-than-six-months.csv diff --git a/cme-group/all.csv b/leetcode/cme-group/all.csv similarity index 100% rename from cme-group/all.csv rename to leetcode/cme-group/all.csv diff --git a/cme-group/more-than-six-months.csv b/leetcode/cme-group/more-than-six-months.csv similarity index 100% rename from cme-group/more-than-six-months.csv rename to leetcode/cme-group/more-than-six-months.csv diff --git a/cme-group/six-months.csv b/leetcode/cme-group/six-months.csv similarity index 100% rename from cme-group/six-months.csv rename to leetcode/cme-group/six-months.csv diff --git a/cme-group/thirty-days.csv b/leetcode/cme-group/thirty-days.csv similarity index 100% rename from cme-group/thirty-days.csv rename to leetcode/cme-group/thirty-days.csv diff --git a/cme-group/three-months.csv b/leetcode/cme-group/three-months.csv similarity index 100% rename from cme-group/three-months.csv rename to leetcode/cme-group/three-months.csv diff --git a/cockroach-labs/all.csv b/leetcode/cockroach-labs/all.csv similarity index 100% rename from cockroach-labs/all.csv rename to leetcode/cockroach-labs/all.csv diff --git a/cockroach-labs/more-than-six-months.csv b/leetcode/cockroach-labs/more-than-six-months.csv similarity index 100% rename from cockroach-labs/more-than-six-months.csv rename to leetcode/cockroach-labs/more-than-six-months.csv diff --git a/cockroach-labs/six-months.csv b/leetcode/cockroach-labs/six-months.csv similarity index 100% rename from cockroach-labs/six-months.csv rename to leetcode/cockroach-labs/six-months.csv diff --git a/cockroach-labs/thirty-days.csv b/leetcode/cockroach-labs/thirty-days.csv similarity index 100% rename from cockroach-labs/thirty-days.csv rename to leetcode/cockroach-labs/thirty-days.csv diff --git a/cockroach-labs/three-months.csv b/leetcode/cockroach-labs/three-months.csv similarity index 100% rename from cockroach-labs/three-months.csv rename to leetcode/cockroach-labs/three-months.csv diff --git a/code-studio/all.csv b/leetcode/code-studio/all.csv similarity index 100% rename from code-studio/all.csv rename to leetcode/code-studio/all.csv diff --git a/code-studio/more-than-six-months.csv b/leetcode/code-studio/more-than-six-months.csv similarity index 100% rename from code-studio/more-than-six-months.csv rename to leetcode/code-studio/more-than-six-months.csv diff --git a/codingmart/all.csv b/leetcode/codingmart/all.csv similarity index 100% rename from codingmart/all.csv rename to leetcode/codingmart/all.csv diff --git a/codingmart/more-than-six-months.csv b/leetcode/codingmart/more-than-six-months.csv similarity index 100% rename from codingmart/more-than-six-months.csv rename to leetcode/codingmart/more-than-six-months.csv diff --git a/cognizant/all.csv b/leetcode/cognizant/all.csv similarity index 100% rename from cognizant/all.csv rename to leetcode/cognizant/all.csv diff --git a/cognizant/more-than-six-months.csv b/leetcode/cognizant/more-than-six-months.csv similarity index 100% rename from cognizant/more-than-six-months.csv rename to leetcode/cognizant/more-than-six-months.csv diff --git a/cognizant/six-months.csv b/leetcode/cognizant/six-months.csv similarity index 100% rename from cognizant/six-months.csv rename to leetcode/cognizant/six-months.csv diff --git a/cognizant/three-months.csv b/leetcode/cognizant/three-months.csv similarity index 100% rename from cognizant/three-months.csv rename to leetcode/cognizant/three-months.csv diff --git a/cohesity/all.csv b/leetcode/cohesity/all.csv similarity index 100% rename from cohesity/all.csv rename to leetcode/cohesity/all.csv diff --git a/cohesity/more-than-six-months.csv b/leetcode/cohesity/more-than-six-months.csv similarity index 100% rename from cohesity/more-than-six-months.csv rename to leetcode/cohesity/more-than-six-months.csv diff --git a/cohesity/six-months.csv b/leetcode/cohesity/six-months.csv similarity index 100% rename from cohesity/six-months.csv rename to leetcode/cohesity/six-months.csv diff --git a/cohesity/thirty-days.csv b/leetcode/cohesity/thirty-days.csv similarity index 100% rename from cohesity/thirty-days.csv rename to leetcode/cohesity/thirty-days.csv diff --git a/cohesity/three-months.csv b/leetcode/cohesity/three-months.csv similarity index 100% rename from cohesity/three-months.csv rename to leetcode/cohesity/three-months.csv diff --git a/coinbase/all.csv b/leetcode/coinbase/all.csv similarity index 100% rename from coinbase/all.csv rename to leetcode/coinbase/all.csv diff --git a/coinbase/more-than-six-months.csv b/leetcode/coinbase/more-than-six-months.csv similarity index 100% rename from coinbase/more-than-six-months.csv rename to leetcode/coinbase/more-than-six-months.csv diff --git a/coinbase/six-months.csv b/leetcode/coinbase/six-months.csv similarity index 100% rename from coinbase/six-months.csv rename to leetcode/coinbase/six-months.csv diff --git a/coinbase/thirty-days.csv b/leetcode/coinbase/thirty-days.csv similarity index 100% rename from coinbase/thirty-days.csv rename to leetcode/coinbase/thirty-days.csv diff --git a/coinbase/three-months.csv b/leetcode/coinbase/three-months.csv similarity index 100% rename from coinbase/three-months.csv rename to leetcode/coinbase/three-months.csv diff --git a/coindcx/all.csv b/leetcode/coindcx/all.csv similarity index 100% rename from coindcx/all.csv rename to leetcode/coindcx/all.csv diff --git a/coindcx/more-than-six-months.csv b/leetcode/coindcx/more-than-six-months.csv similarity index 100% rename from coindcx/more-than-six-months.csv rename to leetcode/coindcx/more-than-six-months.csv diff --git a/coindcx/six-months.csv b/leetcode/coindcx/six-months.csv similarity index 100% rename from coindcx/six-months.csv rename to leetcode/coindcx/six-months.csv diff --git a/comcast/all.csv b/leetcode/comcast/all.csv similarity index 100% rename from comcast/all.csv rename to leetcode/comcast/all.csv diff --git a/comcast/more-than-six-months.csv b/leetcode/comcast/more-than-six-months.csv similarity index 100% rename from comcast/more-than-six-months.csv rename to leetcode/comcast/more-than-six-months.csv diff --git a/comcast/six-months.csv b/leetcode/comcast/six-months.csv similarity index 100% rename from comcast/six-months.csv rename to leetcode/comcast/six-months.csv diff --git a/commvault/all.csv b/leetcode/commvault/all.csv similarity index 100% rename from commvault/all.csv rename to leetcode/commvault/all.csv diff --git a/commvault/more-than-six-months.csv b/leetcode/commvault/more-than-six-months.csv similarity index 100% rename from commvault/more-than-six-months.csv rename to leetcode/commvault/more-than-six-months.csv diff --git a/compass/all.csv b/leetcode/compass/all.csv similarity index 100% rename from compass/all.csv rename to leetcode/compass/all.csv diff --git a/compass/more-than-six-months.csv b/leetcode/compass/more-than-six-months.csv similarity index 100% rename from compass/more-than-six-months.csv rename to leetcode/compass/more-than-six-months.csv diff --git a/compass/six-months.csv b/leetcode/compass/six-months.csv similarity index 100% rename from compass/six-months.csv rename to leetcode/compass/six-months.csv diff --git a/confluent/all.csv b/leetcode/confluent/all.csv similarity index 100% rename from confluent/all.csv rename to leetcode/confluent/all.csv diff --git a/confluent/more-than-six-months.csv b/leetcode/confluent/more-than-six-months.csv similarity index 100% rename from confluent/more-than-six-months.csv rename to leetcode/confluent/more-than-six-months.csv diff --git a/confluent/six-months.csv b/leetcode/confluent/six-months.csv similarity index 100% rename from confluent/six-months.csv rename to leetcode/confluent/six-months.csv diff --git a/confluent/thirty-days.csv b/leetcode/confluent/thirty-days.csv similarity index 100% rename from confluent/thirty-days.csv rename to leetcode/confluent/thirty-days.csv diff --git a/confluent/three-months.csv b/leetcode/confluent/three-months.csv similarity index 100% rename from confluent/three-months.csv rename to leetcode/confluent/three-months.csv diff --git a/consultadd/all.csv b/leetcode/consultadd/all.csv similarity index 100% rename from consultadd/all.csv rename to leetcode/consultadd/all.csv diff --git a/consultadd/more-than-six-months.csv b/leetcode/consultadd/more-than-six-months.csv similarity index 100% rename from consultadd/more-than-six-months.csv rename to leetcode/consultadd/more-than-six-months.csv diff --git a/couchbase/all.csv b/leetcode/couchbase/all.csv similarity index 100% rename from couchbase/all.csv rename to leetcode/couchbase/all.csv diff --git a/couchbase/more-than-six-months.csv b/leetcode/couchbase/more-than-six-months.csv similarity index 100% rename from couchbase/more-than-six-months.csv rename to leetcode/couchbase/more-than-six-months.csv diff --git a/couchbase/six-months.csv b/leetcode/couchbase/six-months.csv similarity index 100% rename from couchbase/six-months.csv rename to leetcode/couchbase/six-months.csv diff --git a/coupang/all.csv b/leetcode/coupang/all.csv similarity index 100% rename from coupang/all.csv rename to leetcode/coupang/all.csv diff --git a/coupang/more-than-six-months.csv b/leetcode/coupang/more-than-six-months.csv similarity index 100% rename from coupang/more-than-six-months.csv rename to leetcode/coupang/more-than-six-months.csv diff --git a/coupang/six-months.csv b/leetcode/coupang/six-months.csv similarity index 100% rename from coupang/six-months.csv rename to leetcode/coupang/six-months.csv diff --git a/coupang/three-months.csv b/leetcode/coupang/three-months.csv similarity index 100% rename from coupang/three-months.csv rename to leetcode/coupang/three-months.csv diff --git a/coursera/all.csv b/leetcode/coursera/all.csv similarity index 100% rename from coursera/all.csv rename to leetcode/coursera/all.csv diff --git a/coursera/more-than-six-months.csv b/leetcode/coursera/more-than-six-months.csv similarity index 100% rename from coursera/more-than-six-months.csv rename to leetcode/coursera/more-than-six-months.csv diff --git a/coursera/six-months.csv b/leetcode/coursera/six-months.csv similarity index 100% rename from coursera/six-months.csv rename to leetcode/coursera/six-months.csv diff --git a/coursera/three-months.csv b/leetcode/coursera/three-months.csv similarity index 100% rename from coursera/three-months.csv rename to leetcode/coursera/three-months.csv diff --git a/coveo/all.csv b/leetcode/coveo/all.csv similarity index 100% rename from coveo/all.csv rename to leetcode/coveo/all.csv diff --git a/coveo/more-than-six-months.csv b/leetcode/coveo/more-than-six-months.csv similarity index 100% rename from coveo/more-than-six-months.csv rename to leetcode/coveo/more-than-six-months.csv diff --git a/cred/all.csv b/leetcode/cred/all.csv similarity index 100% rename from cred/all.csv rename to leetcode/cred/all.csv diff --git a/cred/six-months.csv b/leetcode/cred/six-months.csv similarity index 100% rename from cred/six-months.csv rename to leetcode/cred/six-months.csv diff --git a/cred/thirty-days.csv b/leetcode/cred/thirty-days.csv similarity index 100% rename from cred/thirty-days.csv rename to leetcode/cred/thirty-days.csv diff --git a/cred/three-months.csv b/leetcode/cred/three-months.csv similarity index 100% rename from cred/three-months.csv rename to leetcode/cred/three-months.csv diff --git a/credit-karma/all.csv b/leetcode/credit-karma/all.csv similarity index 100% rename from credit-karma/all.csv rename to leetcode/credit-karma/all.csv diff --git a/credit-karma/more-than-six-months.csv b/leetcode/credit-karma/more-than-six-months.csv similarity index 100% rename from credit-karma/more-than-six-months.csv rename to leetcode/credit-karma/more-than-six-months.csv diff --git a/criteo/all.csv b/leetcode/criteo/all.csv similarity index 100% rename from criteo/all.csv rename to leetcode/criteo/all.csv diff --git a/criteo/more-than-six-months.csv b/leetcode/criteo/more-than-six-months.csv similarity index 100% rename from criteo/more-than-six-months.csv rename to leetcode/criteo/more-than-six-months.csv diff --git a/criteo/six-months.csv b/leetcode/criteo/six-months.csv similarity index 100% rename from criteo/six-months.csv rename to leetcode/criteo/six-months.csv diff --git a/criteo/three-months.csv b/leetcode/criteo/three-months.csv similarity index 100% rename from criteo/three-months.csv rename to leetcode/criteo/three-months.csv diff --git a/crowdstrike/all.csv b/leetcode/crowdstrike/all.csv similarity index 100% rename from crowdstrike/all.csv rename to leetcode/crowdstrike/all.csv diff --git a/crowdstrike/more-than-six-months.csv b/leetcode/crowdstrike/more-than-six-months.csv similarity index 100% rename from crowdstrike/more-than-six-months.csv rename to leetcode/crowdstrike/more-than-six-months.csv diff --git a/crowdstrike/six-months.csv b/leetcode/crowdstrike/six-months.csv similarity index 100% rename from crowdstrike/six-months.csv rename to leetcode/crowdstrike/six-months.csv diff --git a/crowdstrike/three-months.csv b/leetcode/crowdstrike/three-months.csv similarity index 100% rename from crowdstrike/three-months.csv rename to leetcode/crowdstrike/three-months.csv diff --git a/cruise-automation/all.csv b/leetcode/cruise-automation/all.csv similarity index 100% rename from cruise-automation/all.csv rename to leetcode/cruise-automation/all.csv diff --git a/cruise-automation/more-than-six-months.csv b/leetcode/cruise-automation/more-than-six-months.csv similarity index 100% rename from cruise-automation/more-than-six-months.csv rename to leetcode/cruise-automation/more-than-six-months.csv diff --git a/cruise-automation/six-months.csv b/leetcode/cruise-automation/six-months.csv similarity index 100% rename from cruise-automation/six-months.csv rename to leetcode/cruise-automation/six-months.csv diff --git a/ctc/all.csv b/leetcode/ctc/all.csv similarity index 100% rename from ctc/all.csv rename to leetcode/ctc/all.csv diff --git a/ctc/more-than-six-months.csv b/leetcode/ctc/more-than-six-months.csv similarity index 100% rename from ctc/more-than-six-months.csv rename to leetcode/ctc/more-than-six-months.csv diff --git a/curefit/all.csv b/leetcode/curefit/all.csv similarity index 100% rename from curefit/all.csv rename to leetcode/curefit/all.csv diff --git a/curefit/more-than-six-months.csv b/leetcode/curefit/more-than-six-months.csv similarity index 100% rename from curefit/more-than-six-months.csv rename to leetcode/curefit/more-than-six-months.csv diff --git a/cvent/all.csv b/leetcode/cvent/all.csv similarity index 100% rename from cvent/all.csv rename to leetcode/cvent/all.csv diff --git a/cvent/more-than-six-months.csv b/leetcode/cvent/more-than-six-months.csv similarity index 100% rename from cvent/more-than-six-months.csv rename to leetcode/cvent/more-than-six-months.csv diff --git a/cyntexa/all.csv b/leetcode/cyntexa/all.csv similarity index 100% rename from cyntexa/all.csv rename to leetcode/cyntexa/all.csv diff --git a/cyntexa/more-than-six-months.csv b/leetcode/cyntexa/more-than-six-months.csv similarity index 100% rename from cyntexa/more-than-six-months.csv rename to leetcode/cyntexa/more-than-six-months.csv diff --git a/cyware/all.csv b/leetcode/cyware/all.csv similarity index 100% rename from cyware/all.csv rename to leetcode/cyware/all.csv diff --git a/cyware/more-than-six-months.csv b/leetcode/cyware/more-than-six-months.csv similarity index 100% rename from cyware/more-than-six-months.csv rename to leetcode/cyware/more-than-six-months.csv diff --git a/dailyhunt/all.csv b/leetcode/dailyhunt/all.csv similarity index 100% rename from dailyhunt/all.csv rename to leetcode/dailyhunt/all.csv diff --git a/dailyhunt/more-than-six-months.csv b/leetcode/dailyhunt/more-than-six-months.csv similarity index 100% rename from dailyhunt/more-than-six-months.csv rename to leetcode/dailyhunt/more-than-six-months.csv diff --git a/darwinbox/all.csv b/leetcode/darwinbox/all.csv similarity index 100% rename from darwinbox/all.csv rename to leetcode/darwinbox/all.csv diff --git a/darwinbox/more-than-six-months.csv b/leetcode/darwinbox/more-than-six-months.csv similarity index 100% rename from darwinbox/more-than-six-months.csv rename to leetcode/darwinbox/more-than-six-months.csv diff --git a/darwinbox/six-months.csv b/leetcode/darwinbox/six-months.csv similarity index 100% rename from darwinbox/six-months.csv rename to leetcode/darwinbox/six-months.csv diff --git a/darwinbox/thirty-days.csv b/leetcode/darwinbox/thirty-days.csv similarity index 100% rename from darwinbox/thirty-days.csv rename to leetcode/darwinbox/thirty-days.csv diff --git a/darwinbox/three-months.csv b/leetcode/darwinbox/three-months.csv similarity index 100% rename from darwinbox/three-months.csv rename to leetcode/darwinbox/three-months.csv diff --git a/dassault-sysetmes/all.csv b/leetcode/dassault-sysetmes/all.csv similarity index 100% rename from dassault-sysetmes/all.csv rename to leetcode/dassault-sysetmes/all.csv diff --git a/dassault-sysetmes/more-than-six-months.csv b/leetcode/dassault-sysetmes/more-than-six-months.csv similarity index 100% rename from dassault-sysetmes/more-than-six-months.csv rename to leetcode/dassault-sysetmes/more-than-six-months.csv diff --git a/databricks/all.csv b/leetcode/databricks/all.csv similarity index 100% rename from databricks/all.csv rename to leetcode/databricks/all.csv diff --git a/databricks/more-than-six-months.csv b/leetcode/databricks/more-than-six-months.csv similarity index 100% rename from databricks/more-than-six-months.csv rename to leetcode/databricks/more-than-six-months.csv diff --git a/databricks/six-months.csv b/leetcode/databricks/six-months.csv similarity index 100% rename from databricks/six-months.csv rename to leetcode/databricks/six-months.csv diff --git a/databricks/thirty-days.csv b/leetcode/databricks/thirty-days.csv similarity index 100% rename from databricks/thirty-days.csv rename to leetcode/databricks/thirty-days.csv diff --git a/databricks/three-months.csv b/leetcode/databricks/three-months.csv similarity index 100% rename from databricks/three-months.csv rename to leetcode/databricks/three-months.csv diff --git a/datadog/all.csv b/leetcode/datadog/all.csv similarity index 100% rename from datadog/all.csv rename to leetcode/datadog/all.csv diff --git a/datadog/more-than-six-months.csv b/leetcode/datadog/more-than-six-months.csv similarity index 100% rename from datadog/more-than-six-months.csv rename to leetcode/datadog/more-than-six-months.csv diff --git a/datadog/six-months.csv b/leetcode/datadog/six-months.csv similarity index 100% rename from datadog/six-months.csv rename to leetcode/datadog/six-months.csv diff --git a/datadog/three-months.csv b/leetcode/datadog/three-months.csv similarity index 100% rename from datadog/three-months.csv rename to leetcode/datadog/three-months.csv diff --git a/dataminr/all.csv b/leetcode/dataminr/all.csv similarity index 100% rename from dataminr/all.csv rename to leetcode/dataminr/all.csv diff --git a/dataminr/more-than-six-months.csv b/leetcode/dataminr/more-than-six-months.csv similarity index 100% rename from dataminr/more-than-six-months.csv rename to leetcode/dataminr/more-than-six-months.csv diff --git a/de-shaw/all.csv b/leetcode/de-shaw/all.csv similarity index 100% rename from de-shaw/all.csv rename to leetcode/de-shaw/all.csv diff --git a/de-shaw/more-than-six-months.csv b/leetcode/de-shaw/more-than-six-months.csv similarity index 100% rename from de-shaw/more-than-six-months.csv rename to leetcode/de-shaw/more-than-six-months.csv diff --git a/de-shaw/six-months.csv b/leetcode/de-shaw/six-months.csv similarity index 100% rename from de-shaw/six-months.csv rename to leetcode/de-shaw/six-months.csv diff --git a/de-shaw/thirty-days.csv b/leetcode/de-shaw/thirty-days.csv similarity index 100% rename from de-shaw/thirty-days.csv rename to leetcode/de-shaw/thirty-days.csv diff --git a/de-shaw/three-months.csv b/leetcode/de-shaw/three-months.csv similarity index 100% rename from de-shaw/three-months.csv rename to leetcode/de-shaw/three-months.csv diff --git a/deepmind/all.csv b/leetcode/deepmind/all.csv similarity index 100% rename from deepmind/all.csv rename to leetcode/deepmind/all.csv diff --git a/deepmind/more-than-six-months.csv b/leetcode/deepmind/more-than-six-months.csv similarity index 100% rename from deepmind/more-than-six-months.csv rename to leetcode/deepmind/more-than-six-months.csv diff --git a/delhivery/all.csv b/leetcode/delhivery/all.csv similarity index 100% rename from delhivery/all.csv rename to leetcode/delhivery/all.csv diff --git a/delhivery/more-than-six-months.csv b/leetcode/delhivery/more-than-six-months.csv similarity index 100% rename from delhivery/more-than-six-months.csv rename to leetcode/delhivery/more-than-six-months.csv diff --git a/deliveroo/all.csv b/leetcode/deliveroo/all.csv similarity index 100% rename from deliveroo/all.csv rename to leetcode/deliveroo/all.csv diff --git a/deliveroo/more-than-six-months.csv b/leetcode/deliveroo/more-than-six-months.csv similarity index 100% rename from deliveroo/more-than-six-months.csv rename to leetcode/deliveroo/more-than-six-months.csv diff --git a/dell/all.csv b/leetcode/dell/all.csv similarity index 100% rename from dell/all.csv rename to leetcode/dell/all.csv diff --git a/dell/more-than-six-months.csv b/leetcode/dell/more-than-six-months.csv similarity index 100% rename from dell/more-than-six-months.csv rename to leetcode/dell/more-than-six-months.csv diff --git a/dell/six-months.csv b/leetcode/dell/six-months.csv similarity index 100% rename from dell/six-months.csv rename to leetcode/dell/six-months.csv diff --git a/dell/three-months.csv b/leetcode/dell/three-months.csv similarity index 100% rename from dell/three-months.csv rename to leetcode/dell/three-months.csv diff --git a/deloitte/all.csv b/leetcode/deloitte/all.csv similarity index 100% rename from deloitte/all.csv rename to leetcode/deloitte/all.csv diff --git a/deloitte/more-than-six-months.csv b/leetcode/deloitte/more-than-six-months.csv similarity index 100% rename from deloitte/more-than-six-months.csv rename to leetcode/deloitte/more-than-six-months.csv diff --git a/deloitte/six-months.csv b/leetcode/deloitte/six-months.csv similarity index 100% rename from deloitte/six-months.csv rename to leetcode/deloitte/six-months.csv diff --git a/deloitte/thirty-days.csv b/leetcode/deloitte/thirty-days.csv similarity index 100% rename from deloitte/thirty-days.csv rename to leetcode/deloitte/thirty-days.csv diff --git a/deloitte/three-months.csv b/leetcode/deloitte/three-months.csv similarity index 100% rename from deloitte/three-months.csv rename to leetcode/deloitte/three-months.csv diff --git a/deltax/all.csv b/leetcode/deltax/all.csv similarity index 100% rename from deltax/all.csv rename to leetcode/deltax/all.csv diff --git a/deltax/more-than-six-months.csv b/leetcode/deltax/more-than-six-months.csv similarity index 100% rename from deltax/more-than-six-months.csv rename to leetcode/deltax/more-than-six-months.csv diff --git a/deutsche-bank/all.csv b/leetcode/deutsche-bank/all.csv similarity index 100% rename from deutsche-bank/all.csv rename to leetcode/deutsche-bank/all.csv diff --git a/deutsche-bank/more-than-six-months.csv b/leetcode/deutsche-bank/more-than-six-months.csv similarity index 100% rename from deutsche-bank/more-than-six-months.csv rename to leetcode/deutsche-bank/more-than-six-months.csv diff --git a/devrev/all.csv b/leetcode/devrev/all.csv similarity index 100% rename from devrev/all.csv rename to leetcode/devrev/all.csv diff --git a/devrev/more-than-six-months.csv b/leetcode/devrev/more-than-six-months.csv similarity index 100% rename from devrev/more-than-six-months.csv rename to leetcode/devrev/more-than-six-months.csv diff --git a/devsinc/all.csv b/leetcode/devsinc/all.csv similarity index 100% rename from devsinc/all.csv rename to leetcode/devsinc/all.csv diff --git a/devsinc/more-than-six-months.csv b/leetcode/devsinc/more-than-six-months.csv similarity index 100% rename from devsinc/more-than-six-months.csv rename to leetcode/devsinc/more-than-six-months.csv diff --git a/devtron/all.csv b/leetcode/devtron/all.csv similarity index 100% rename from devtron/all.csv rename to leetcode/devtron/all.csv diff --git a/devtron/more-than-six-months.csv b/leetcode/devtron/more-than-six-months.csv similarity index 100% rename from devtron/more-than-six-months.csv rename to leetcode/devtron/more-than-six-months.csv diff --git a/dialpad/all.csv b/leetcode/dialpad/all.csv similarity index 100% rename from dialpad/all.csv rename to leetcode/dialpad/all.csv diff --git a/dialpad/six-months.csv b/leetcode/dialpad/six-months.csv similarity index 100% rename from dialpad/six-months.csv rename to leetcode/dialpad/six-months.csv diff --git a/didi/all.csv b/leetcode/didi/all.csv similarity index 100% rename from didi/all.csv rename to leetcode/didi/all.csv diff --git a/didi/more-than-six-months.csv b/leetcode/didi/more-than-six-months.csv similarity index 100% rename from didi/more-than-six-months.csv rename to leetcode/didi/more-than-six-months.csv diff --git a/directi/all.csv b/leetcode/directi/all.csv similarity index 100% rename from directi/all.csv rename to leetcode/directi/all.csv diff --git a/directi/more-than-six-months.csv b/leetcode/directi/more-than-six-months.csv similarity index 100% rename from directi/more-than-six-months.csv rename to leetcode/directi/more-than-six-months.csv diff --git a/discord/all.csv b/leetcode/discord/all.csv similarity index 100% rename from discord/all.csv rename to leetcode/discord/all.csv diff --git a/discord/more-than-six-months.csv b/leetcode/discord/more-than-six-months.csv similarity index 100% rename from discord/more-than-six-months.csv rename to leetcode/discord/more-than-six-months.csv diff --git a/disney/all.csv b/leetcode/disney/all.csv similarity index 100% rename from disney/all.csv rename to leetcode/disney/all.csv diff --git a/disney/more-than-six-months.csv b/leetcode/disney/more-than-six-months.csv similarity index 100% rename from disney/more-than-six-months.csv rename to leetcode/disney/more-than-six-months.csv diff --git a/disney/six-months.csv b/leetcode/disney/six-months.csv similarity index 100% rename from disney/six-months.csv rename to leetcode/disney/six-months.csv diff --git a/dji/all.csv b/leetcode/dji/all.csv similarity index 100% rename from dji/all.csv rename to leetcode/dji/all.csv diff --git a/docusign/all.csv b/leetcode/docusign/all.csv similarity index 100% rename from docusign/all.csv rename to leetcode/docusign/all.csv diff --git a/docusign/more-than-six-months.csv b/leetcode/docusign/more-than-six-months.csv similarity index 100% rename from docusign/more-than-six-months.csv rename to leetcode/docusign/more-than-six-months.csv diff --git a/docusign/six-months.csv b/leetcode/docusign/six-months.csv similarity index 100% rename from docusign/six-months.csv rename to leetcode/docusign/six-months.csv diff --git a/docusign/thirty-days.csv b/leetcode/docusign/thirty-days.csv similarity index 100% rename from docusign/thirty-days.csv rename to leetcode/docusign/thirty-days.csv diff --git a/docusign/three-months.csv b/leetcode/docusign/three-months.csv similarity index 100% rename from docusign/three-months.csv rename to leetcode/docusign/three-months.csv diff --git a/doordash/all.csv b/leetcode/doordash/all.csv similarity index 100% rename from doordash/all.csv rename to leetcode/doordash/all.csv diff --git a/doordash/more-than-six-months.csv b/leetcode/doordash/more-than-six-months.csv similarity index 100% rename from doordash/more-than-six-months.csv rename to leetcode/doordash/more-than-six-months.csv diff --git a/doordash/six-months.csv b/leetcode/doordash/six-months.csv similarity index 100% rename from doordash/six-months.csv rename to leetcode/doordash/six-months.csv diff --git a/doordash/thirty-days.csv b/leetcode/doordash/thirty-days.csv similarity index 100% rename from doordash/thirty-days.csv rename to leetcode/doordash/thirty-days.csv diff --git a/doordash/three-months.csv b/leetcode/doordash/three-months.csv similarity index 100% rename from doordash/three-months.csv rename to leetcode/doordash/three-months.csv diff --git a/dp-world/all.csv b/leetcode/dp-world/all.csv similarity index 100% rename from dp-world/all.csv rename to leetcode/dp-world/all.csv diff --git a/dp-world/more-than-six-months.csv b/leetcode/dp-world/more-than-six-months.csv similarity index 100% rename from dp-world/more-than-six-months.csv rename to leetcode/dp-world/more-than-six-months.csv diff --git a/dp-world/six-months.csv b/leetcode/dp-world/six-months.csv similarity index 100% rename from dp-world/six-months.csv rename to leetcode/dp-world/six-months.csv diff --git a/drawbridge/all.csv b/leetcode/drawbridge/all.csv similarity index 100% rename from drawbridge/all.csv rename to leetcode/drawbridge/all.csv diff --git a/drawbridge/more-than-six-months.csv b/leetcode/drawbridge/more-than-six-months.csv similarity index 100% rename from drawbridge/more-than-six-months.csv rename to leetcode/drawbridge/more-than-six-months.csv diff --git a/dream11/all.csv b/leetcode/dream11/all.csv similarity index 100% rename from dream11/all.csv rename to leetcode/dream11/all.csv diff --git a/dream11/more-than-six-months.csv b/leetcode/dream11/more-than-six-months.csv similarity index 100% rename from dream11/more-than-six-months.csv rename to leetcode/dream11/more-than-six-months.csv diff --git a/dream11/six-months.csv b/leetcode/dream11/six-months.csv similarity index 100% rename from dream11/six-months.csv rename to leetcode/dream11/six-months.csv diff --git a/dream11/three-months.csv b/leetcode/dream11/three-months.csv similarity index 100% rename from dream11/three-months.csv rename to leetcode/dream11/three-months.csv diff --git a/dropbox/all.csv b/leetcode/dropbox/all.csv similarity index 100% rename from dropbox/all.csv rename to leetcode/dropbox/all.csv diff --git a/dropbox/more-than-six-months.csv b/leetcode/dropbox/more-than-six-months.csv similarity index 100% rename from dropbox/more-than-six-months.csv rename to leetcode/dropbox/more-than-six-months.csv diff --git a/dropbox/six-months.csv b/leetcode/dropbox/six-months.csv similarity index 100% rename from dropbox/six-months.csv rename to leetcode/dropbox/six-months.csv diff --git a/dropbox/three-months.csv b/leetcode/dropbox/three-months.csv similarity index 100% rename from dropbox/three-months.csv rename to leetcode/dropbox/three-months.csv diff --git a/druva/all.csv b/leetcode/druva/all.csv similarity index 100% rename from druva/all.csv rename to leetcode/druva/all.csv diff --git a/druva/more-than-six-months.csv b/leetcode/druva/more-than-six-months.csv similarity index 100% rename from druva/more-than-six-months.csv rename to leetcode/druva/more-than-six-months.csv diff --git a/drw/all.csv b/leetcode/drw/all.csv similarity index 100% rename from drw/all.csv rename to leetcode/drw/all.csv diff --git a/drw/more-than-six-months.csv b/leetcode/drw/more-than-six-months.csv similarity index 100% rename from drw/more-than-six-months.csv rename to leetcode/drw/more-than-six-months.csv diff --git a/drw/six-months.csv b/leetcode/drw/six-months.csv similarity index 100% rename from drw/six-months.csv rename to leetcode/drw/six-months.csv diff --git a/dtcc/all.csv b/leetcode/dtcc/all.csv similarity index 100% rename from dtcc/all.csv rename to leetcode/dtcc/all.csv diff --git a/dtcc/more-than-six-months.csv b/leetcode/dtcc/more-than-six-months.csv similarity index 100% rename from dtcc/more-than-six-months.csv rename to leetcode/dtcc/more-than-six-months.csv diff --git a/dunzo/all.csv b/leetcode/dunzo/all.csv similarity index 100% rename from dunzo/all.csv rename to leetcode/dunzo/all.csv diff --git a/dunzo/more-than-six-months.csv b/leetcode/dunzo/more-than-six-months.csv similarity index 100% rename from dunzo/more-than-six-months.csv rename to leetcode/dunzo/more-than-six-months.csv diff --git a/duolingo/all.csv b/leetcode/duolingo/all.csv similarity index 100% rename from duolingo/all.csv rename to leetcode/duolingo/all.csv diff --git a/duolingo/more-than-six-months.csv b/leetcode/duolingo/more-than-six-months.csv similarity index 100% rename from duolingo/more-than-six-months.csv rename to leetcode/duolingo/more-than-six-months.csv diff --git a/duolingo/six-months.csv b/leetcode/duolingo/six-months.csv similarity index 100% rename from duolingo/six-months.csv rename to leetcode/duolingo/six-months.csv diff --git a/dxc/all.csv b/leetcode/dxc/all.csv similarity index 100% rename from dxc/all.csv rename to leetcode/dxc/all.csv diff --git a/dxc/more-than-six-months.csv b/leetcode/dxc/more-than-six-months.csv similarity index 100% rename from dxc/more-than-six-months.csv rename to leetcode/dxc/more-than-six-months.csv diff --git a/earnin/all.csv b/leetcode/earnin/all.csv similarity index 100% rename from earnin/all.csv rename to leetcode/earnin/all.csv diff --git a/earnin/more-than-six-months.csv b/leetcode/earnin/more-than-six-months.csv similarity index 100% rename from earnin/more-than-six-months.csv rename to leetcode/earnin/more-than-six-months.csv diff --git a/ebay/all.csv b/leetcode/ebay/all.csv similarity index 100% rename from ebay/all.csv rename to leetcode/ebay/all.csv diff --git a/ebay/more-than-six-months.csv b/leetcode/ebay/more-than-six-months.csv similarity index 100% rename from ebay/more-than-six-months.csv rename to leetcode/ebay/more-than-six-months.csv diff --git a/ebay/six-months.csv b/leetcode/ebay/six-months.csv similarity index 100% rename from ebay/six-months.csv rename to leetcode/ebay/six-months.csv diff --git a/ebay/thirty-days.csv b/leetcode/ebay/thirty-days.csv similarity index 100% rename from ebay/thirty-days.csv rename to leetcode/ebay/thirty-days.csv diff --git a/ebay/three-months.csv b/leetcode/ebay/three-months.csv similarity index 100% rename from ebay/three-months.csv rename to leetcode/ebay/three-months.csv diff --git a/edelweiss/all.csv b/leetcode/edelweiss/all.csv similarity index 100% rename from edelweiss/all.csv rename to leetcode/edelweiss/all.csv diff --git a/edelweiss/more-than-six-months.csv b/leetcode/edelweiss/more-than-six-months.csv similarity index 100% rename from edelweiss/more-than-six-months.csv rename to leetcode/edelweiss/more-than-six-months.csv diff --git a/elbit/all.csv b/leetcode/elbit/all.csv similarity index 100% rename from elbit/all.csv rename to leetcode/elbit/all.csv diff --git a/elbit/more-than-six-months.csv b/leetcode/elbit/more-than-six-months.csv similarity index 100% rename from elbit/more-than-six-months.csv rename to leetcode/elbit/more-than-six-months.csv diff --git a/electronic-arts/all.csv b/leetcode/electronic-arts/all.csv similarity index 100% rename from electronic-arts/all.csv rename to leetcode/electronic-arts/all.csv diff --git a/electronic-arts/more-than-six-months.csv b/leetcode/electronic-arts/more-than-six-months.csv similarity index 100% rename from electronic-arts/more-than-six-months.csv rename to leetcode/electronic-arts/more-than-six-months.csv diff --git a/elitmus/all.csv b/leetcode/elitmus/all.csv similarity index 100% rename from elitmus/all.csv rename to leetcode/elitmus/all.csv diff --git a/elitmus/more-than-six-months.csv b/leetcode/elitmus/more-than-six-months.csv similarity index 100% rename from elitmus/more-than-six-months.csv rename to leetcode/elitmus/more-than-six-months.csv diff --git a/envoy/all.csv b/leetcode/envoy/all.csv similarity index 100% rename from envoy/all.csv rename to leetcode/envoy/all.csv diff --git a/envoy/more-than-six-months.csv b/leetcode/envoy/more-than-six-months.csv similarity index 100% rename from envoy/more-than-six-months.csv rename to leetcode/envoy/more-than-six-months.csv diff --git a/epam-systems/all.csv b/leetcode/epam-systems/all.csv similarity index 100% rename from epam-systems/all.csv rename to leetcode/epam-systems/all.csv diff --git a/epam-systems/more-than-six-months.csv b/leetcode/epam-systems/more-than-six-months.csv similarity index 100% rename from epam-systems/more-than-six-months.csv rename to leetcode/epam-systems/more-than-six-months.csv diff --git a/epam-systems/six-months.csv b/leetcode/epam-systems/six-months.csv similarity index 100% rename from epam-systems/six-months.csv rename to leetcode/epam-systems/six-months.csv diff --git a/epam-systems/three-months.csv b/leetcode/epam-systems/three-months.csv similarity index 100% rename from epam-systems/three-months.csv rename to leetcode/epam-systems/three-months.csv diff --git a/epic-games/all.csv b/leetcode/epic-games/all.csv similarity index 100% rename from epic-games/all.csv rename to leetcode/epic-games/all.csv diff --git a/epic-games/more-than-six-months.csv b/leetcode/epic-games/more-than-six-months.csv similarity index 100% rename from epic-games/more-than-six-months.csv rename to leetcode/epic-games/more-than-six-months.csv diff --git a/epic-systems/all.csv b/leetcode/epic-systems/all.csv similarity index 100% rename from epic-systems/all.csv rename to leetcode/epic-systems/all.csv diff --git a/epic-systems/more-than-six-months.csv b/leetcode/epic-systems/more-than-six-months.csv similarity index 100% rename from epic-systems/more-than-six-months.csv rename to leetcode/epic-systems/more-than-six-months.csv diff --git a/epic-systems/six-months.csv b/leetcode/epic-systems/six-months.csv similarity index 100% rename from epic-systems/six-months.csv rename to leetcode/epic-systems/six-months.csv diff --git a/epic-systems/three-months.csv b/leetcode/epic-systems/three-months.csv similarity index 100% rename from epic-systems/three-months.csv rename to leetcode/epic-systems/three-months.csv diff --git a/epifi/all.csv b/leetcode/epifi/all.csv similarity index 100% rename from epifi/all.csv rename to leetcode/epifi/all.csv diff --git a/ericsson/all.csv b/leetcode/ericsson/all.csv similarity index 100% rename from ericsson/all.csv rename to leetcode/ericsson/all.csv diff --git a/ericsson/more-than-six-months.csv b/leetcode/ericsson/more-than-six-months.csv similarity index 100% rename from ericsson/more-than-six-months.csv rename to leetcode/ericsson/more-than-six-months.csv diff --git a/etsy/all.csv b/leetcode/etsy/all.csv similarity index 100% rename from etsy/all.csv rename to leetcode/etsy/all.csv diff --git a/etsy/more-than-six-months.csv b/leetcode/etsy/more-than-six-months.csv similarity index 100% rename from etsy/more-than-six-months.csv rename to leetcode/etsy/more-than-six-months.csv diff --git a/etsy/six-months.csv b/leetcode/etsy/six-months.csv similarity index 100% rename from etsy/six-months.csv rename to leetcode/etsy/six-months.csv diff --git a/expedia/all.csv b/leetcode/expedia/all.csv similarity index 100% rename from expedia/all.csv rename to leetcode/expedia/all.csv diff --git a/expedia/more-than-six-months.csv b/leetcode/expedia/more-than-six-months.csv similarity index 100% rename from expedia/more-than-six-months.csv rename to leetcode/expedia/more-than-six-months.csv diff --git a/expedia/six-months.csv b/leetcode/expedia/six-months.csv similarity index 100% rename from expedia/six-months.csv rename to leetcode/expedia/six-months.csv diff --git a/ey/all.csv b/leetcode/ey/all.csv similarity index 100% rename from ey/all.csv rename to leetcode/ey/all.csv diff --git a/ey/more-than-six-months.csv b/leetcode/ey/more-than-six-months.csv similarity index 100% rename from ey/more-than-six-months.csv rename to leetcode/ey/more-than-six-months.csv diff --git a/f5-networks/all.csv b/leetcode/f5-networks/all.csv similarity index 100% rename from f5-networks/all.csv rename to leetcode/f5-networks/all.csv diff --git a/f5-networks/more-than-six-months.csv b/leetcode/f5-networks/more-than-six-months.csv similarity index 100% rename from f5-networks/more-than-six-months.csv rename to leetcode/f5-networks/more-than-six-months.csv diff --git a/facebook/all.csv b/leetcode/facebook/all.csv similarity index 100% rename from facebook/all.csv rename to leetcode/facebook/all.csv diff --git a/facebook/more-than-six-months.csv b/leetcode/facebook/more-than-six-months.csv similarity index 100% rename from facebook/more-than-six-months.csv rename to leetcode/facebook/more-than-six-months.csv diff --git a/facebook/six-months.csv b/leetcode/facebook/six-months.csv similarity index 100% rename from facebook/six-months.csv rename to leetcode/facebook/six-months.csv diff --git a/facebook/thirty-days.csv b/leetcode/facebook/thirty-days.csv similarity index 100% rename from facebook/thirty-days.csv rename to leetcode/facebook/thirty-days.csv diff --git a/facebook/three-months.csv b/leetcode/facebook/three-months.csv similarity index 100% rename from facebook/three-months.csv rename to leetcode/facebook/three-months.csv diff --git a/factset/all.csv b/leetcode/factset/all.csv similarity index 100% rename from factset/all.csv rename to leetcode/factset/all.csv diff --git a/factset/more-than-six-months.csv b/leetcode/factset/more-than-six-months.csv similarity index 100% rename from factset/more-than-six-months.csv rename to leetcode/factset/more-than-six-months.csv diff --git a/factwise/all.csv b/leetcode/factwise/all.csv similarity index 100% rename from factwise/all.csv rename to leetcode/factwise/all.csv diff --git a/faire/all.csv b/leetcode/faire/all.csv similarity index 100% rename from faire/all.csv rename to leetcode/faire/all.csv diff --git a/faire/more-than-six-months.csv b/leetcode/faire/more-than-six-months.csv similarity index 100% rename from faire/more-than-six-months.csv rename to leetcode/faire/more-than-six-months.csv diff --git a/faire/six-months.csv b/leetcode/faire/six-months.csv similarity index 100% rename from faire/six-months.csv rename to leetcode/faire/six-months.csv diff --git a/faire/thirty-days.csv b/leetcode/faire/thirty-days.csv similarity index 100% rename from faire/thirty-days.csv rename to leetcode/faire/thirty-days.csv diff --git a/faire/three-months.csv b/leetcode/faire/three-months.csv similarity index 100% rename from faire/three-months.csv rename to leetcode/faire/three-months.csv diff --git a/fallible/all.csv b/leetcode/fallible/all.csv similarity index 100% rename from fallible/all.csv rename to leetcode/fallible/all.csv diff --git a/fallible/more-than-six-months.csv b/leetcode/fallible/more-than-six-months.csv similarity index 100% rename from fallible/more-than-six-months.csv rename to leetcode/fallible/more-than-six-months.csv diff --git a/fastenal/all.csv b/leetcode/fastenal/all.csv similarity index 100% rename from fastenal/all.csv rename to leetcode/fastenal/all.csv diff --git a/fastenal/more-than-six-months.csv b/leetcode/fastenal/more-than-six-months.csv similarity index 100% rename from fastenal/more-than-six-months.csv rename to leetcode/fastenal/more-than-six-months.csv diff --git a/fico/all.csv b/leetcode/fico/all.csv similarity index 100% rename from fico/all.csv rename to leetcode/fico/all.csv diff --git a/fico/more-than-six-months.csv b/leetcode/fico/more-than-six-months.csv similarity index 100% rename from fico/more-than-six-months.csv rename to leetcode/fico/more-than-six-months.csv diff --git a/fidelity/all.csv b/leetcode/fidelity/all.csv similarity index 100% rename from fidelity/all.csv rename to leetcode/fidelity/all.csv diff --git a/fidelity/more-than-six-months.csv b/leetcode/fidelity/more-than-six-months.csv similarity index 100% rename from fidelity/more-than-six-months.csv rename to leetcode/fidelity/more-than-six-months.csv diff --git a/fidessa/all.csv b/leetcode/fidessa/all.csv similarity index 100% rename from fidessa/all.csv rename to leetcode/fidessa/all.csv diff --git a/fiverr/all.csv b/leetcode/fiverr/all.csv similarity index 100% rename from fiverr/all.csv rename to leetcode/fiverr/all.csv diff --git a/fiverr/more-than-six-months.csv b/leetcode/fiverr/more-than-six-months.csv similarity index 100% rename from fiverr/more-than-six-months.csv rename to leetcode/fiverr/more-than-six-months.csv diff --git a/flatiron-health/all.csv b/leetcode/flatiron-health/all.csv similarity index 100% rename from flatiron-health/all.csv rename to leetcode/flatiron-health/all.csv diff --git a/flatiron-health/more-than-six-months.csv b/leetcode/flatiron-health/more-than-six-months.csv similarity index 100% rename from flatiron-health/more-than-six-months.csv rename to leetcode/flatiron-health/more-than-six-months.csv diff --git a/flatiron-health/six-months.csv b/leetcode/flatiron-health/six-months.csv similarity index 100% rename from flatiron-health/six-months.csv rename to leetcode/flatiron-health/six-months.csv diff --git a/flatiron-health/thirty-days.csv b/leetcode/flatiron-health/thirty-days.csv similarity index 100% rename from flatiron-health/thirty-days.csv rename to leetcode/flatiron-health/thirty-days.csv diff --git a/flatiron-health/three-months.csv b/leetcode/flatiron-health/three-months.csv similarity index 100% rename from flatiron-health/three-months.csv rename to leetcode/flatiron-health/three-months.csv diff --git a/fleetx/all.csv b/leetcode/fleetx/all.csv similarity index 100% rename from fleetx/all.csv rename to leetcode/fleetx/all.csv diff --git a/fleetx/more-than-six-months.csv b/leetcode/fleetx/more-than-six-months.csv similarity index 100% rename from fleetx/more-than-six-months.csv rename to leetcode/fleetx/more-than-six-months.csv diff --git a/flexera/all.csv b/leetcode/flexera/all.csv similarity index 100% rename from flexera/all.csv rename to leetcode/flexera/all.csv diff --git a/flexera/more-than-six-months.csv b/leetcode/flexera/more-than-six-months.csv similarity index 100% rename from flexera/more-than-six-months.csv rename to leetcode/flexera/more-than-six-months.csv diff --git a/flexport/all.csv b/leetcode/flexport/all.csv similarity index 100% rename from flexport/all.csv rename to leetcode/flexport/all.csv diff --git a/flexport/more-than-six-months.csv b/leetcode/flexport/more-than-six-months.csv similarity index 100% rename from flexport/more-than-six-months.csv rename to leetcode/flexport/more-than-six-months.csv diff --git a/flexport/six-months.csv b/leetcode/flexport/six-months.csv similarity index 100% rename from flexport/six-months.csv rename to leetcode/flexport/six-months.csv diff --git a/flexport/three-months.csv b/leetcode/flexport/three-months.csv similarity index 100% rename from flexport/three-months.csv rename to leetcode/flexport/three-months.csv diff --git a/flipkart/all.csv b/leetcode/flipkart/all.csv similarity index 100% rename from flipkart/all.csv rename to leetcode/flipkart/all.csv diff --git a/flipkart/more-than-six-months.csv b/leetcode/flipkart/more-than-six-months.csv similarity index 100% rename from flipkart/more-than-six-months.csv rename to leetcode/flipkart/more-than-six-months.csv diff --git a/flipkart/six-months.csv b/leetcode/flipkart/six-months.csv similarity index 100% rename from flipkart/six-months.csv rename to leetcode/flipkart/six-months.csv diff --git a/flipkart/three-months.csv b/leetcode/flipkart/three-months.csv similarity index 100% rename from flipkart/three-months.csv rename to leetcode/flipkart/three-months.csv diff --git a/ford/all.csv b/leetcode/ford/all.csv similarity index 100% rename from ford/all.csv rename to leetcode/ford/all.csv diff --git a/ford/more-than-six-months.csv b/leetcode/ford/more-than-six-months.csv similarity index 100% rename from ford/more-than-six-months.csv rename to leetcode/ford/more-than-six-months.csv diff --git a/fortinet/all.csv b/leetcode/fortinet/all.csv similarity index 100% rename from fortinet/all.csv rename to leetcode/fortinet/all.csv diff --git a/fortinet/more-than-six-months.csv b/leetcode/fortinet/more-than-six-months.csv similarity index 100% rename from fortinet/more-than-six-months.csv rename to leetcode/fortinet/more-than-six-months.csv diff --git a/fortinet/six-months.csv b/leetcode/fortinet/six-months.csv similarity index 100% rename from fortinet/six-months.csv rename to leetcode/fortinet/six-months.csv diff --git a/fortinet/three-months.csv b/leetcode/fortinet/three-months.csv similarity index 100% rename from fortinet/three-months.csv rename to leetcode/fortinet/three-months.csv diff --git a/forusall/all.csv b/leetcode/forusall/all.csv similarity index 100% rename from forusall/all.csv rename to leetcode/forusall/all.csv diff --git a/forusall/more-than-six-months.csv b/leetcode/forusall/more-than-six-months.csv similarity index 100% rename from forusall/more-than-six-months.csv rename to leetcode/forusall/more-than-six-months.csv diff --git a/fourkites/all.csv b/leetcode/fourkites/all.csv similarity index 100% rename from fourkites/all.csv rename to leetcode/fourkites/all.csv diff --git a/fourkites/more-than-six-months.csv b/leetcode/fourkites/more-than-six-months.csv similarity index 100% rename from fourkites/more-than-six-months.csv rename to leetcode/fourkites/more-than-six-months.csv diff --git a/fpt/all.csv b/leetcode/fpt/all.csv similarity index 100% rename from fpt/all.csv rename to leetcode/fpt/all.csv diff --git a/fpt/more-than-six-months.csv b/leetcode/fpt/more-than-six-months.csv similarity index 100% rename from fpt/more-than-six-months.csv rename to leetcode/fpt/more-than-six-months.csv diff --git a/fractal-analytics/all.csv b/leetcode/fractal-analytics/all.csv similarity index 100% rename from fractal-analytics/all.csv rename to leetcode/fractal-analytics/all.csv diff --git a/fractal-analytics/more-than-six-months.csv b/leetcode/fractal-analytics/more-than-six-months.csv similarity index 100% rename from fractal-analytics/more-than-six-months.csv rename to leetcode/fractal-analytics/more-than-six-months.csv diff --git a/fractal-analytics/six-months.csv b/leetcode/fractal-analytics/six-months.csv similarity index 100% rename from fractal-analytics/six-months.csv rename to leetcode/fractal-analytics/six-months.csv diff --git a/fractal-analytics/thirty-days.csv b/leetcode/fractal-analytics/thirty-days.csv similarity index 100% rename from fractal-analytics/thirty-days.csv rename to leetcode/fractal-analytics/thirty-days.csv diff --git a/fractal-analytics/three-months.csv b/leetcode/fractal-analytics/three-months.csv similarity index 100% rename from fractal-analytics/three-months.csv rename to leetcode/fractal-analytics/three-months.csv diff --git a/freecharge/all.csv b/leetcode/freecharge/all.csv similarity index 100% rename from freecharge/all.csv rename to leetcode/freecharge/all.csv diff --git a/freecharge/more-than-six-months.csv b/leetcode/freecharge/more-than-six-months.csv similarity index 100% rename from freecharge/more-than-six-months.csv rename to leetcode/freecharge/more-than-six-months.csv diff --git a/freecharge/six-months.csv b/leetcode/freecharge/six-months.csv similarity index 100% rename from freecharge/six-months.csv rename to leetcode/freecharge/six-months.csv diff --git a/freshworks/all.csv b/leetcode/freshworks/all.csv similarity index 100% rename from freshworks/all.csv rename to leetcode/freshworks/all.csv diff --git a/freshworks/more-than-six-months.csv b/leetcode/freshworks/more-than-six-months.csv similarity index 100% rename from freshworks/more-than-six-months.csv rename to leetcode/freshworks/more-than-six-months.csv diff --git a/fynd/all.csv b/leetcode/fynd/all.csv similarity index 100% rename from fynd/all.csv rename to leetcode/fynd/all.csv diff --git a/gainsight/all.csv b/leetcode/gainsight/all.csv similarity index 100% rename from gainsight/all.csv rename to leetcode/gainsight/all.csv diff --git a/gainsight/more-than-six-months.csv b/leetcode/gainsight/more-than-six-months.csv similarity index 100% rename from gainsight/more-than-six-months.csv rename to leetcode/gainsight/more-than-six-months.csv diff --git a/gameskraft/all.csv b/leetcode/gameskraft/all.csv similarity index 100% rename from gameskraft/all.csv rename to leetcode/gameskraft/all.csv diff --git a/gameskraft/more-than-six-months.csv b/leetcode/gameskraft/more-than-six-months.csv similarity index 100% rename from gameskraft/more-than-six-months.csv rename to leetcode/gameskraft/more-than-six-months.csv diff --git a/garena/all.csv b/leetcode/garena/all.csv similarity index 100% rename from garena/all.csv rename to leetcode/garena/all.csv diff --git a/garena/more-than-six-months.csv b/leetcode/garena/more-than-six-months.csv similarity index 100% rename from garena/more-than-six-months.csv rename to leetcode/garena/more-than-six-months.csv diff --git a/garmin/all.csv b/leetcode/garmin/all.csv similarity index 100% rename from garmin/all.csv rename to leetcode/garmin/all.csv diff --git a/garmin/more-than-six-months.csv b/leetcode/garmin/more-than-six-months.csv similarity index 100% rename from garmin/more-than-six-months.csv rename to leetcode/garmin/more-than-six-months.csv diff --git a/garmin/six-months.csv b/leetcode/garmin/six-months.csv similarity index 100% rename from garmin/six-months.csv rename to leetcode/garmin/six-months.csv diff --git a/garmin/three-months.csv b/leetcode/garmin/three-months.csv similarity index 100% rename from garmin/three-months.csv rename to leetcode/garmin/three-months.csv diff --git a/gartner/all.csv b/leetcode/gartner/all.csv similarity index 100% rename from gartner/all.csv rename to leetcode/gartner/all.csv diff --git a/gartner/more-than-six-months.csv b/leetcode/gartner/more-than-six-months.csv similarity index 100% rename from gartner/more-than-six-months.csv rename to leetcode/gartner/more-than-six-months.csv diff --git a/gartner/six-months.csv b/leetcode/gartner/six-months.csv similarity index 100% rename from gartner/six-months.csv rename to leetcode/gartner/six-months.csv diff --git a/ge-digital/all.csv b/leetcode/ge-digital/all.csv similarity index 100% rename from ge-digital/all.csv rename to leetcode/ge-digital/all.csv diff --git a/ge-digital/more-than-six-months.csv b/leetcode/ge-digital/more-than-six-months.csv similarity index 100% rename from ge-digital/more-than-six-months.csv rename to leetcode/ge-digital/more-than-six-months.csv diff --git a/ge-healthcare/all.csv b/leetcode/ge-healthcare/all.csv similarity index 100% rename from ge-healthcare/all.csv rename to leetcode/ge-healthcare/all.csv diff --git a/ge-healthcare/more-than-six-months.csv b/leetcode/ge-healthcare/more-than-six-months.csv similarity index 100% rename from ge-healthcare/more-than-six-months.csv rename to leetcode/ge-healthcare/more-than-six-months.csv diff --git a/geico/all.csv b/leetcode/geico/all.csv similarity index 100% rename from geico/all.csv rename to leetcode/geico/all.csv diff --git a/geico/more-than-six-months.csv b/leetcode/geico/more-than-six-months.csv similarity index 100% rename from geico/more-than-six-months.csv rename to leetcode/geico/more-than-six-months.csv diff --git a/geico/six-months.csv b/leetcode/geico/six-months.csv similarity index 100% rename from geico/six-months.csv rename to leetcode/geico/six-months.csv diff --git a/geico/three-months.csv b/leetcode/geico/three-months.csv similarity index 100% rename from geico/three-months.csv rename to leetcode/geico/three-months.csv diff --git a/general-electric/all.csv b/leetcode/general-electric/all.csv similarity index 100% rename from general-electric/all.csv rename to leetcode/general-electric/all.csv diff --git a/general-electric/more-than-six-months.csv b/leetcode/general-electric/more-than-six-months.csv similarity index 100% rename from general-electric/more-than-six-months.csv rename to leetcode/general-electric/more-than-six-months.csv diff --git a/general-motors/all.csv b/leetcode/general-motors/all.csv similarity index 100% rename from general-motors/all.csv rename to leetcode/general-motors/all.csv diff --git a/general-motors/more-than-six-months.csv b/leetcode/general-motors/more-than-six-months.csv similarity index 100% rename from general-motors/more-than-six-months.csv rename to leetcode/general-motors/more-than-six-months.csv diff --git a/general-motors/six-months.csv b/leetcode/general-motors/six-months.csv similarity index 100% rename from general-motors/six-months.csv rename to leetcode/general-motors/six-months.csv diff --git a/general-motors/thirty-days.csv b/leetcode/general-motors/thirty-days.csv similarity index 100% rename from general-motors/thirty-days.csv rename to leetcode/general-motors/thirty-days.csv diff --git a/general-motors/three-months.csv b/leetcode/general-motors/three-months.csv similarity index 100% rename from general-motors/three-months.csv rename to leetcode/general-motors/three-months.csv diff --git a/genpact/all.csv b/leetcode/genpact/all.csv similarity index 100% rename from genpact/all.csv rename to leetcode/genpact/all.csv diff --git a/genpact/more-than-six-months.csv b/leetcode/genpact/more-than-six-months.csv similarity index 100% rename from genpact/more-than-six-months.csv rename to leetcode/genpact/more-than-six-months.csv diff --git a/gilt-groupe/all.csv b/leetcode/gilt-groupe/all.csv similarity index 100% rename from gilt-groupe/all.csv rename to leetcode/gilt-groupe/all.csv diff --git a/gilt-groupe/more-than-six-months.csv b/leetcode/gilt-groupe/more-than-six-months.csv similarity index 100% rename from gilt-groupe/more-than-six-months.csv rename to leetcode/gilt-groupe/more-than-six-months.csv diff --git a/github/all.csv b/leetcode/github/all.csv similarity index 100% rename from github/all.csv rename to leetcode/github/all.csv diff --git a/github/six-months.csv b/leetcode/github/six-months.csv similarity index 100% rename from github/six-months.csv rename to leetcode/github/six-months.csv diff --git a/glassdoor/all.csv b/leetcode/glassdoor/all.csv similarity index 100% rename from glassdoor/all.csv rename to leetcode/glassdoor/all.csv diff --git a/glassdoor/more-than-six-months.csv b/leetcode/glassdoor/more-than-six-months.csv similarity index 100% rename from glassdoor/more-than-six-months.csv rename to leetcode/glassdoor/more-than-six-months.csv diff --git a/globallogic/all.csv b/leetcode/globallogic/all.csv similarity index 100% rename from globallogic/all.csv rename to leetcode/globallogic/all.csv diff --git a/globallogic/more-than-six-months.csv b/leetcode/globallogic/more-than-six-months.csv similarity index 100% rename from globallogic/more-than-six-months.csv rename to leetcode/globallogic/more-than-six-months.csv diff --git a/globallogic/six-months.csv b/leetcode/globallogic/six-months.csv similarity index 100% rename from globallogic/six-months.csv rename to leetcode/globallogic/six-months.csv diff --git a/globant/all.csv b/leetcode/globant/all.csv similarity index 100% rename from globant/all.csv rename to leetcode/globant/all.csv diff --git a/globant/more-than-six-months.csv b/leetcode/globant/more-than-six-months.csv similarity index 100% rename from globant/more-than-six-months.csv rename to leetcode/globant/more-than-six-months.csv diff --git a/glovo/all.csv b/leetcode/glovo/all.csv similarity index 100% rename from glovo/all.csv rename to leetcode/glovo/all.csv diff --git a/glovo/six-months.csv b/leetcode/glovo/six-months.csv similarity index 100% rename from glovo/six-months.csv rename to leetcode/glovo/six-months.csv diff --git a/godaddy/all.csv b/leetcode/godaddy/all.csv similarity index 100% rename from godaddy/all.csv rename to leetcode/godaddy/all.csv diff --git a/godaddy/more-than-six-months.csv b/leetcode/godaddy/more-than-six-months.csv similarity index 100% rename from godaddy/more-than-six-months.csv rename to leetcode/godaddy/more-than-six-months.csv diff --git a/gojek/all.csv b/leetcode/gojek/all.csv similarity index 100% rename from gojek/all.csv rename to leetcode/gojek/all.csv diff --git a/gojek/more-than-six-months.csv b/leetcode/gojek/more-than-six-months.csv similarity index 100% rename from gojek/more-than-six-months.csv rename to leetcode/gojek/more-than-six-months.csv diff --git a/goldman-sachs/all.csv b/leetcode/goldman-sachs/all.csv similarity index 100% rename from goldman-sachs/all.csv rename to leetcode/goldman-sachs/all.csv diff --git a/goldman-sachs/more-than-six-months.csv b/leetcode/goldman-sachs/more-than-six-months.csv similarity index 100% rename from goldman-sachs/more-than-six-months.csv rename to leetcode/goldman-sachs/more-than-six-months.csv diff --git a/goldman-sachs/six-months.csv b/leetcode/goldman-sachs/six-months.csv similarity index 100% rename from goldman-sachs/six-months.csv rename to leetcode/goldman-sachs/six-months.csv diff --git a/goldman-sachs/thirty-days.csv b/leetcode/goldman-sachs/thirty-days.csv similarity index 100% rename from goldman-sachs/thirty-days.csv rename to leetcode/goldman-sachs/thirty-days.csv diff --git a/goldman-sachs/three-months.csv b/leetcode/goldman-sachs/three-months.csv similarity index 100% rename from goldman-sachs/three-months.csv rename to leetcode/goldman-sachs/three-months.csv diff --git a/google/all.csv b/leetcode/google/all.csv similarity index 100% rename from google/all.csv rename to leetcode/google/all.csv diff --git a/google/more-than-six-months.csv b/leetcode/google/more-than-six-months.csv similarity index 100% rename from google/more-than-six-months.csv rename to leetcode/google/more-than-six-months.csv diff --git a/google/six-months.csv b/leetcode/google/six-months.csv similarity index 100% rename from google/six-months.csv rename to leetcode/google/six-months.csv diff --git a/google/thirty-days.csv b/leetcode/google/thirty-days.csv similarity index 100% rename from google/thirty-days.csv rename to leetcode/google/thirty-days.csv diff --git a/google/three-months.csv b/leetcode/google/three-months.csv similarity index 100% rename from google/three-months.csv rename to leetcode/google/three-months.csv diff --git a/gopuff/all.csv b/leetcode/gopuff/all.csv similarity index 100% rename from gopuff/all.csv rename to leetcode/gopuff/all.csv diff --git a/gopuff/six-months.csv b/leetcode/gopuff/six-months.csv similarity index 100% rename from gopuff/six-months.csv rename to leetcode/gopuff/six-months.csv diff --git a/grab/all.csv b/leetcode/grab/all.csv similarity index 100% rename from grab/all.csv rename to leetcode/grab/all.csv diff --git a/grab/more-than-six-months.csv b/leetcode/grab/more-than-six-months.csv similarity index 100% rename from grab/more-than-six-months.csv rename to leetcode/grab/more-than-six-months.csv diff --git a/grab/six-months.csv b/leetcode/grab/six-months.csv similarity index 100% rename from grab/six-months.csv rename to leetcode/grab/six-months.csv diff --git a/grab/thirty-days.csv b/leetcode/grab/thirty-days.csv similarity index 100% rename from grab/thirty-days.csv rename to leetcode/grab/thirty-days.csv diff --git a/grab/three-months.csv b/leetcode/grab/three-months.csv similarity index 100% rename from grab/three-months.csv rename to leetcode/grab/three-months.csv diff --git a/grammarly/all.csv b/leetcode/grammarly/all.csv similarity index 100% rename from grammarly/all.csv rename to leetcode/grammarly/all.csv diff --git a/grammarly/more-than-six-months.csv b/leetcode/grammarly/more-than-six-months.csv similarity index 100% rename from grammarly/more-than-six-months.csv rename to leetcode/grammarly/more-than-six-months.csv diff --git a/grammarly/six-months.csv b/leetcode/grammarly/six-months.csv similarity index 100% rename from grammarly/six-months.csv rename to leetcode/grammarly/six-months.csv diff --git a/grammarly/thirty-days.csv b/leetcode/grammarly/thirty-days.csv similarity index 100% rename from grammarly/thirty-days.csv rename to leetcode/grammarly/thirty-days.csv diff --git a/grammarly/three-months.csv b/leetcode/grammarly/three-months.csv similarity index 100% rename from grammarly/three-months.csv rename to leetcode/grammarly/three-months.csv diff --git a/graviton/all.csv b/leetcode/graviton/all.csv similarity index 100% rename from graviton/all.csv rename to leetcode/graviton/all.csv diff --git a/graviton/more-than-six-months.csv b/leetcode/graviton/more-than-six-months.csv similarity index 100% rename from graviton/more-than-six-months.csv rename to leetcode/graviton/more-than-six-months.csv diff --git a/grid-dynamics/all.csv b/leetcode/grid-dynamics/all.csv similarity index 100% rename from grid-dynamics/all.csv rename to leetcode/grid-dynamics/all.csv diff --git a/grid-dynamics/more-than-six-months.csv b/leetcode/grid-dynamics/more-than-six-months.csv similarity index 100% rename from grid-dynamics/more-than-six-months.csv rename to leetcode/grid-dynamics/more-than-six-months.csv diff --git a/groupon/all.csv b/leetcode/groupon/all.csv similarity index 100% rename from groupon/all.csv rename to leetcode/groupon/all.csv diff --git a/groupon/more-than-six-months.csv b/leetcode/groupon/more-than-six-months.csv similarity index 100% rename from groupon/more-than-six-months.csv rename to leetcode/groupon/more-than-six-months.csv diff --git a/groww/all.csv b/leetcode/groww/all.csv similarity index 100% rename from groww/all.csv rename to leetcode/groww/all.csv diff --git a/groww/more-than-six-months.csv b/leetcode/groww/more-than-six-months.csv similarity index 100% rename from groww/more-than-six-months.csv rename to leetcode/groww/more-than-six-months.csv diff --git a/grubhub/all.csv b/leetcode/grubhub/all.csv similarity index 100% rename from grubhub/all.csv rename to leetcode/grubhub/all.csv diff --git a/grubhub/more-than-six-months.csv b/leetcode/grubhub/more-than-six-months.csv similarity index 100% rename from grubhub/more-than-six-months.csv rename to leetcode/grubhub/more-than-six-months.csv diff --git a/gsa-capital/all.csv b/leetcode/gsa-capital/all.csv similarity index 100% rename from gsa-capital/all.csv rename to leetcode/gsa-capital/all.csv diff --git a/gsa-capital/more-than-six-months.csv b/leetcode/gsa-capital/more-than-six-months.csv similarity index 100% rename from gsa-capital/more-than-six-months.csv rename to leetcode/gsa-capital/more-than-six-months.csv diff --git a/gsn-games/all.csv b/leetcode/gsn-games/all.csv similarity index 100% rename from gsn-games/all.csv rename to leetcode/gsn-games/all.csv diff --git a/gsn-games/more-than-six-months.csv b/leetcode/gsn-games/more-than-six-months.csv similarity index 100% rename from gsn-games/more-than-six-months.csv rename to leetcode/gsn-games/more-than-six-months.csv diff --git a/guidewire/all.csv b/leetcode/guidewire/all.csv similarity index 100% rename from guidewire/all.csv rename to leetcode/guidewire/all.csv diff --git a/guidewire/more-than-six-months.csv b/leetcode/guidewire/more-than-six-months.csv similarity index 100% rename from guidewire/more-than-six-months.csv rename to leetcode/guidewire/more-than-six-months.csv diff --git a/guidewire/six-months.csv b/leetcode/guidewire/six-months.csv similarity index 100% rename from guidewire/six-months.csv rename to leetcode/guidewire/six-months.csv diff --git a/guidewire/thirty-days.csv b/leetcode/guidewire/thirty-days.csv similarity index 100% rename from guidewire/thirty-days.csv rename to leetcode/guidewire/thirty-days.csv diff --git a/guidewire/three-months.csv b/leetcode/guidewire/three-months.csv similarity index 100% rename from guidewire/three-months.csv rename to leetcode/guidewire/three-months.csv diff --git a/gusto/all.csv b/leetcode/gusto/all.csv similarity index 100% rename from gusto/all.csv rename to leetcode/gusto/all.csv diff --git a/gusto/more-than-six-months.csv b/leetcode/gusto/more-than-six-months.csv similarity index 100% rename from gusto/more-than-six-months.csv rename to leetcode/gusto/more-than-six-months.csv diff --git a/gusto/six-months.csv b/leetcode/gusto/six-months.csv similarity index 100% rename from gusto/six-months.csv rename to leetcode/gusto/six-months.csv diff --git a/gusto/three-months.csv b/leetcode/gusto/three-months.csv similarity index 100% rename from gusto/three-months.csv rename to leetcode/gusto/three-months.csv diff --git a/harman/all.csv b/leetcode/harman/all.csv similarity index 100% rename from harman/all.csv rename to leetcode/harman/all.csv diff --git a/harman/more-than-six-months.csv b/leetcode/harman/more-than-six-months.csv similarity index 100% rename from harman/more-than-six-months.csv rename to leetcode/harman/more-than-six-months.csv diff --git a/harness/all.csv b/leetcode/harness/all.csv similarity index 100% rename from harness/all.csv rename to leetcode/harness/all.csv diff --git a/harness/more-than-six-months.csv b/leetcode/harness/more-than-six-months.csv similarity index 100% rename from harness/more-than-six-months.csv rename to leetcode/harness/more-than-six-months.csv diff --git a/hashedin/all.csv b/leetcode/hashedin/all.csv similarity index 100% rename from hashedin/all.csv rename to leetcode/hashedin/all.csv diff --git a/hashedin/more-than-six-months.csv b/leetcode/hashedin/more-than-six-months.csv similarity index 100% rename from hashedin/more-than-six-months.csv rename to leetcode/hashedin/more-than-six-months.csv diff --git a/hashedin/six-months.csv b/leetcode/hashedin/six-months.csv similarity index 100% rename from hashedin/six-months.csv rename to leetcode/hashedin/six-months.csv diff --git a/hashedin/three-months.csv b/leetcode/hashedin/three-months.csv similarity index 100% rename from hashedin/three-months.csv rename to leetcode/hashedin/three-months.csv diff --git a/hbo/all.csv b/leetcode/hbo/all.csv similarity index 100% rename from hbo/all.csv rename to leetcode/hbo/all.csv diff --git a/hbo/more-than-six-months.csv b/leetcode/hbo/more-than-six-months.csv similarity index 100% rename from hbo/more-than-six-months.csv rename to leetcode/hbo/more-than-six-months.csv diff --git a/hcl/all.csv b/leetcode/hcl/all.csv similarity index 100% rename from hcl/all.csv rename to leetcode/hcl/all.csv diff --git a/hcl/more-than-six-months.csv b/leetcode/hcl/more-than-six-months.csv similarity index 100% rename from hcl/more-than-six-months.csv rename to leetcode/hcl/more-than-six-months.csv diff --git a/hcl/six-months.csv b/leetcode/hcl/six-months.csv similarity index 100% rename from hcl/six-months.csv rename to leetcode/hcl/six-months.csv diff --git a/heb/all.csv b/leetcode/heb/all.csv similarity index 100% rename from heb/all.csv rename to leetcode/heb/all.csv diff --git a/heb/more-than-six-months.csv b/leetcode/heb/more-than-six-months.csv similarity index 100% rename from heb/more-than-six-months.csv rename to leetcode/heb/more-than-six-months.csv diff --git a/helix/all.csv b/leetcode/helix/all.csv similarity index 100% rename from helix/all.csv rename to leetcode/helix/all.csv diff --git a/helix/more-than-six-months.csv b/leetcode/helix/more-than-six-months.csv similarity index 100% rename from helix/more-than-six-months.csv rename to leetcode/helix/more-than-six-months.csv diff --git a/hertz/all.csv b/leetcode/hertz/all.csv similarity index 100% rename from hertz/all.csv rename to leetcode/hertz/all.csv diff --git a/hertz/more-than-six-months.csv b/leetcode/hertz/more-than-six-months.csv similarity index 100% rename from hertz/more-than-six-months.csv rename to leetcode/hertz/more-than-six-months.csv diff --git a/highspot/all.csv b/leetcode/highspot/all.csv similarity index 100% rename from highspot/all.csv rename to leetcode/highspot/all.csv diff --git a/highspot/more-than-six-months.csv b/leetcode/highspot/more-than-six-months.csv similarity index 100% rename from highspot/more-than-six-months.csv rename to leetcode/highspot/more-than-six-months.csv diff --git a/hilabs/all.csv b/leetcode/hilabs/all.csv similarity index 100% rename from hilabs/all.csv rename to leetcode/hilabs/all.csv diff --git a/hilabs/more-than-six-months.csv b/leetcode/hilabs/more-than-six-months.csv similarity index 100% rename from hilabs/more-than-six-months.csv rename to leetcode/hilabs/more-than-six-months.csv diff --git a/hive/all.csv b/leetcode/hive/all.csv similarity index 100% rename from hive/all.csv rename to leetcode/hive/all.csv diff --git a/hive/more-than-six-months.csv b/leetcode/hive/more-than-six-months.csv similarity index 100% rename from hive/more-than-six-months.csv rename to leetcode/hive/more-than-six-months.csv diff --git a/hiver/all.csv b/leetcode/hiver/all.csv similarity index 100% rename from hiver/all.csv rename to leetcode/hiver/all.csv diff --git a/hiver/more-than-six-months.csv b/leetcode/hiver/more-than-six-months.csv similarity index 100% rename from hiver/more-than-six-months.csv rename to leetcode/hiver/more-than-six-months.csv diff --git a/honey/all.csv b/leetcode/honey/all.csv similarity index 100% rename from honey/all.csv rename to leetcode/honey/all.csv diff --git a/honeywell/all.csv b/leetcode/honeywell/all.csv similarity index 100% rename from honeywell/all.csv rename to leetcode/honeywell/all.csv diff --git a/honeywell/more-than-six-months.csv b/leetcode/honeywell/more-than-six-months.csv similarity index 100% rename from honeywell/more-than-six-months.csv rename to leetcode/honeywell/more-than-six-months.csv diff --git a/hopper/all.csv b/leetcode/hopper/all.csv similarity index 100% rename from hopper/all.csv rename to leetcode/hopper/all.csv diff --git a/hopper/six-months.csv b/leetcode/hopper/six-months.csv similarity index 100% rename from hopper/six-months.csv rename to leetcode/hopper/six-months.csv diff --git a/hopper/three-months.csv b/leetcode/hopper/three-months.csv similarity index 100% rename from hopper/three-months.csv rename to leetcode/hopper/three-months.csv diff --git a/hotstar/all.csv b/leetcode/hotstar/all.csv similarity index 100% rename from hotstar/all.csv rename to leetcode/hotstar/all.csv diff --git a/hotstar/more-than-six-months.csv b/leetcode/hotstar/more-than-six-months.csv similarity index 100% rename from hotstar/more-than-six-months.csv rename to leetcode/hotstar/more-than-six-months.csv diff --git a/houzz/all.csv b/leetcode/houzz/all.csv similarity index 100% rename from houzz/all.csv rename to leetcode/houzz/all.csv diff --git a/houzz/more-than-six-months.csv b/leetcode/houzz/more-than-six-months.csv similarity index 100% rename from houzz/more-than-six-months.csv rename to leetcode/houzz/more-than-six-months.csv diff --git a/hp/all.csv b/leetcode/hp/all.csv similarity index 100% rename from hp/all.csv rename to leetcode/hp/all.csv diff --git a/hp/more-than-six-months.csv b/leetcode/hp/more-than-six-months.csv similarity index 100% rename from hp/more-than-six-months.csv rename to leetcode/hp/more-than-six-months.csv diff --git a/hpe/all.csv b/leetcode/hpe/all.csv similarity index 100% rename from hpe/all.csv rename to leetcode/hpe/all.csv diff --git a/hpe/more-than-six-months.csv b/leetcode/hpe/more-than-six-months.csv similarity index 100% rename from hpe/more-than-six-months.csv rename to leetcode/hpe/more-than-six-months.csv diff --git a/hrt/all.csv b/leetcode/hrt/all.csv similarity index 100% rename from hrt/all.csv rename to leetcode/hrt/all.csv diff --git a/hrt/more-than-six-months.csv b/leetcode/hrt/more-than-six-months.csv similarity index 100% rename from hrt/more-than-six-months.csv rename to leetcode/hrt/more-than-six-months.csv diff --git a/hsbc/all.csv b/leetcode/hsbc/all.csv similarity index 100% rename from hsbc/all.csv rename to leetcode/hsbc/all.csv diff --git a/hsbc/more-than-six-months.csv b/leetcode/hsbc/more-than-six-months.csv similarity index 100% rename from hsbc/more-than-six-months.csv rename to leetcode/hsbc/more-than-six-months.csv diff --git a/hsbc/six-months.csv b/leetcode/hsbc/six-months.csv similarity index 100% rename from hsbc/six-months.csv rename to leetcode/hsbc/six-months.csv diff --git a/hsbc/three-months.csv b/leetcode/hsbc/three-months.csv similarity index 100% rename from hsbc/three-months.csv rename to leetcode/hsbc/three-months.csv diff --git a/huawei/all.csv b/leetcode/huawei/all.csv similarity index 100% rename from huawei/all.csv rename to leetcode/huawei/all.csv diff --git a/huawei/more-than-six-months.csv b/leetcode/huawei/more-than-six-months.csv similarity index 100% rename from huawei/more-than-six-months.csv rename to leetcode/huawei/more-than-six-months.csv diff --git a/hubspot/all.csv b/leetcode/hubspot/all.csv similarity index 100% rename from hubspot/all.csv rename to leetcode/hubspot/all.csv diff --git a/hubspot/more-than-six-months.csv b/leetcode/hubspot/more-than-six-months.csv similarity index 100% rename from hubspot/more-than-six-months.csv rename to leetcode/hubspot/more-than-six-months.csv diff --git a/hubspot/six-months.csv b/leetcode/hubspot/six-months.csv similarity index 100% rename from hubspot/six-months.csv rename to leetcode/hubspot/six-months.csv diff --git a/hubspot/three-months.csv b/leetcode/hubspot/three-months.csv similarity index 100% rename from hubspot/three-months.csv rename to leetcode/hubspot/three-months.csv diff --git a/hulu/all.csv b/leetcode/hulu/all.csv similarity index 100% rename from hulu/all.csv rename to leetcode/hulu/all.csv diff --git a/hulu/more-than-six-months.csv b/leetcode/hulu/more-than-six-months.csv similarity index 100% rename from hulu/more-than-six-months.csv rename to leetcode/hulu/more-than-six-months.csv diff --git a/hyperverge/all.csv b/leetcode/hyperverge/all.csv similarity index 100% rename from hyperverge/all.csv rename to leetcode/hyperverge/all.csv diff --git a/hyperverge/more-than-six-months.csv b/leetcode/hyperverge/more-than-six-months.csv similarity index 100% rename from hyperverge/more-than-six-months.csv rename to leetcode/hyperverge/more-than-six-months.csv diff --git a/ibm/all.csv b/leetcode/ibm/all.csv similarity index 100% rename from ibm/all.csv rename to leetcode/ibm/all.csv diff --git a/ibm/more-than-six-months.csv b/leetcode/ibm/more-than-six-months.csv similarity index 100% rename from ibm/more-than-six-months.csv rename to leetcode/ibm/more-than-six-months.csv diff --git a/ibm/six-months.csv b/leetcode/ibm/six-months.csv similarity index 100% rename from ibm/six-months.csv rename to leetcode/ibm/six-months.csv diff --git a/ibm/thirty-days.csv b/leetcode/ibm/thirty-days.csv similarity index 100% rename from ibm/thirty-days.csv rename to leetcode/ibm/thirty-days.csv diff --git a/ibm/three-months.csv b/leetcode/ibm/three-months.csv similarity index 100% rename from ibm/three-months.csv rename to leetcode/ibm/three-months.csv diff --git a/iit-bombay/all.csv b/leetcode/iit-bombay/all.csv similarity index 100% rename from iit-bombay/all.csv rename to leetcode/iit-bombay/all.csv diff --git a/iit-bombay/more-than-six-months.csv b/leetcode/iit-bombay/more-than-six-months.csv similarity index 100% rename from iit-bombay/more-than-six-months.csv rename to leetcode/iit-bombay/more-than-six-months.csv diff --git a/imc/all.csv b/leetcode/imc/all.csv similarity index 100% rename from imc/all.csv rename to leetcode/imc/all.csv diff --git a/imc/more-than-six-months.csv b/leetcode/imc/more-than-six-months.csv similarity index 100% rename from imc/more-than-six-months.csv rename to leetcode/imc/more-than-six-months.csv diff --git a/impact-analytics/all.csv b/leetcode/impact-analytics/all.csv similarity index 100% rename from impact-analytics/all.csv rename to leetcode/impact-analytics/all.csv diff --git a/impact-analytics/more-than-six-months.csv b/leetcode/impact-analytics/more-than-six-months.csv similarity index 100% rename from impact-analytics/more-than-six-months.csv rename to leetcode/impact-analytics/more-than-six-months.csv diff --git a/increff/all.csv b/leetcode/increff/all.csv similarity index 100% rename from increff/all.csv rename to leetcode/increff/all.csv diff --git a/increff/more-than-six-months.csv b/leetcode/increff/more-than-six-months.csv similarity index 100% rename from increff/more-than-six-months.csv rename to leetcode/increff/more-than-six-months.csv diff --git a/indeed/all.csv b/leetcode/indeed/all.csv similarity index 100% rename from indeed/all.csv rename to leetcode/indeed/all.csv diff --git a/indeed/more-than-six-months.csv b/leetcode/indeed/more-than-six-months.csv similarity index 100% rename from indeed/more-than-six-months.csv rename to leetcode/indeed/more-than-six-months.csv diff --git a/indmoney/all.csv b/leetcode/indmoney/all.csv similarity index 100% rename from indmoney/all.csv rename to leetcode/indmoney/all.csv diff --git a/indmoney/more-than-six-months.csv b/leetcode/indmoney/more-than-six-months.csv similarity index 100% rename from indmoney/more-than-six-months.csv rename to leetcode/indmoney/more-than-six-months.csv diff --git a/info-edge/all.csv b/leetcode/info-edge/all.csv similarity index 100% rename from info-edge/all.csv rename to leetcode/info-edge/all.csv diff --git a/info-edge/more-than-six-months.csv b/leetcode/info-edge/more-than-six-months.csv similarity index 100% rename from info-edge/more-than-six-months.csv rename to leetcode/info-edge/more-than-six-months.csv diff --git a/info-edge/six-months.csv b/leetcode/info-edge/six-months.csv similarity index 100% rename from info-edge/six-months.csv rename to leetcode/info-edge/six-months.csv diff --git a/informatica/all.csv b/leetcode/informatica/all.csv similarity index 100% rename from informatica/all.csv rename to leetcode/informatica/all.csv diff --git a/informatica/more-than-six-months.csv b/leetcode/informatica/more-than-six-months.csv similarity index 100% rename from informatica/more-than-six-months.csv rename to leetcode/informatica/more-than-six-months.csv diff --git a/infosys/all.csv b/leetcode/infosys/all.csv similarity index 100% rename from infosys/all.csv rename to leetcode/infosys/all.csv diff --git a/infosys/more-than-six-months.csv b/leetcode/infosys/more-than-six-months.csv similarity index 100% rename from infosys/more-than-six-months.csv rename to leetcode/infosys/more-than-six-months.csv diff --git a/infosys/six-months.csv b/leetcode/infosys/six-months.csv similarity index 100% rename from infosys/six-months.csv rename to leetcode/infosys/six-months.csv diff --git a/infosys/thirty-days.csv b/leetcode/infosys/thirty-days.csv similarity index 100% rename from infosys/thirty-days.csv rename to leetcode/infosys/thirty-days.csv diff --git a/infosys/three-months.csv b/leetcode/infosys/three-months.csv similarity index 100% rename from infosys/three-months.csv rename to leetcode/infosys/three-months.csv diff --git a/inmobi/all.csv b/leetcode/inmobi/all.csv similarity index 100% rename from inmobi/all.csv rename to leetcode/inmobi/all.csv diff --git a/inmobi/more-than-six-months.csv b/leetcode/inmobi/more-than-six-months.csv similarity index 100% rename from inmobi/more-than-six-months.csv rename to leetcode/inmobi/more-than-six-months.csv diff --git a/innovaccer/all.csv b/leetcode/innovaccer/all.csv similarity index 100% rename from innovaccer/all.csv rename to leetcode/innovaccer/all.csv diff --git a/innovaccer/more-than-six-months.csv b/leetcode/innovaccer/more-than-six-months.csv similarity index 100% rename from innovaccer/more-than-six-months.csv rename to leetcode/innovaccer/more-than-six-months.csv diff --git a/innovaccer/six-months.csv b/leetcode/innovaccer/six-months.csv similarity index 100% rename from innovaccer/six-months.csv rename to leetcode/innovaccer/six-months.csv diff --git a/instabase/all.csv b/leetcode/instabase/all.csv similarity index 100% rename from instabase/all.csv rename to leetcode/instabase/all.csv diff --git a/instabase/more-than-six-months.csv b/leetcode/instabase/more-than-six-months.csv similarity index 100% rename from instabase/more-than-six-months.csv rename to leetcode/instabase/more-than-six-months.csv diff --git a/instacart/all.csv b/leetcode/instacart/all.csv similarity index 100% rename from instacart/all.csv rename to leetcode/instacart/all.csv diff --git a/instacart/more-than-six-months.csv b/leetcode/instacart/more-than-six-months.csv similarity index 100% rename from instacart/more-than-six-months.csv rename to leetcode/instacart/more-than-six-months.csv diff --git a/instacart/six-months.csv b/leetcode/instacart/six-months.csv similarity index 100% rename from instacart/six-months.csv rename to leetcode/instacart/six-months.csv diff --git a/instacart/thirty-days.csv b/leetcode/instacart/thirty-days.csv similarity index 100% rename from instacart/thirty-days.csv rename to leetcode/instacart/thirty-days.csv diff --git a/instacart/three-months.csv b/leetcode/instacart/three-months.csv similarity index 100% rename from instacart/three-months.csv rename to leetcode/instacart/three-months.csv diff --git a/intel/all.csv b/leetcode/intel/all.csv similarity index 100% rename from intel/all.csv rename to leetcode/intel/all.csv diff --git a/intel/more-than-six-months.csv b/leetcode/intel/more-than-six-months.csv similarity index 100% rename from intel/more-than-six-months.csv rename to leetcode/intel/more-than-six-months.csv diff --git a/intel/six-months.csv b/leetcode/intel/six-months.csv similarity index 100% rename from intel/six-months.csv rename to leetcode/intel/six-months.csv diff --git a/interactive-brokers/all.csv b/leetcode/interactive-brokers/all.csv similarity index 100% rename from interactive-brokers/all.csv rename to leetcode/interactive-brokers/all.csv diff --git a/interactive-brokers/more-than-six-months.csv b/leetcode/interactive-brokers/more-than-six-months.csv similarity index 100% rename from interactive-brokers/more-than-six-months.csv rename to leetcode/interactive-brokers/more-than-six-months.csv diff --git a/intercom/all.csv b/leetcode/intercom/all.csv similarity index 100% rename from intercom/all.csv rename to leetcode/intercom/all.csv diff --git a/intercom/more-than-six-months.csv b/leetcode/intercom/more-than-six-months.csv similarity index 100% rename from intercom/more-than-six-months.csv rename to leetcode/intercom/more-than-six-months.csv diff --git a/intercom/six-months.csv b/leetcode/intercom/six-months.csv similarity index 100% rename from intercom/six-months.csv rename to leetcode/intercom/six-months.csv diff --git a/intuit/all.csv b/leetcode/intuit/all.csv similarity index 100% rename from intuit/all.csv rename to leetcode/intuit/all.csv diff --git a/intuit/more-than-six-months.csv b/leetcode/intuit/more-than-six-months.csv similarity index 100% rename from intuit/more-than-six-months.csv rename to leetcode/intuit/more-than-six-months.csv diff --git a/intuit/six-months.csv b/leetcode/intuit/six-months.csv similarity index 100% rename from intuit/six-months.csv rename to leetcode/intuit/six-months.csv diff --git a/intuit/thirty-days.csv b/leetcode/intuit/thirty-days.csv similarity index 100% rename from intuit/thirty-days.csv rename to leetcode/intuit/thirty-days.csv diff --git a/intuit/three-months.csv b/leetcode/intuit/three-months.csv similarity index 100% rename from intuit/three-months.csv rename to leetcode/intuit/three-months.csv diff --git a/ion/all.csv b/leetcode/ion/all.csv similarity index 100% rename from ion/all.csv rename to leetcode/ion/all.csv diff --git a/ion/more-than-six-months.csv b/leetcode/ion/more-than-six-months.csv similarity index 100% rename from ion/more-than-six-months.csv rename to leetcode/ion/more-than-six-months.csv diff --git a/ivp/all.csv b/leetcode/ivp/all.csv similarity index 100% rename from ivp/all.csv rename to leetcode/ivp/all.csv diff --git a/ivp/more-than-six-months.csv b/leetcode/ivp/more-than-six-months.csv similarity index 100% rename from ivp/more-than-six-months.csv rename to leetcode/ivp/more-than-six-months.csv diff --git a/ixigo/all.csv b/leetcode/ixigo/all.csv similarity index 100% rename from ixigo/all.csv rename to leetcode/ixigo/all.csv diff --git a/ixigo/more-than-six-months.csv b/leetcode/ixigo/more-than-six-months.csv similarity index 100% rename from ixigo/more-than-six-months.csv rename to leetcode/ixigo/more-than-six-months.csv diff --git a/ixl/all.csv b/leetcode/ixl/all.csv similarity index 100% rename from ixl/all.csv rename to leetcode/ixl/all.csv diff --git a/ixl/more-than-six-months.csv b/leetcode/ixl/more-than-six-months.csv similarity index 100% rename from ixl/more-than-six-months.csv rename to leetcode/ixl/more-than-six-months.csv diff --git a/ixl/six-months.csv b/leetcode/ixl/six-months.csv similarity index 100% rename from ixl/six-months.csv rename to leetcode/ixl/six-months.csv diff --git a/ixl/three-months.csv b/leetcode/ixl/three-months.csv similarity index 100% rename from ixl/three-months.csv rename to leetcode/ixl/three-months.csv diff --git a/jane-street/all.csv b/leetcode/jane-street/all.csv similarity index 100% rename from jane-street/all.csv rename to leetcode/jane-street/all.csv diff --git a/jane-street/more-than-six-months.csv b/leetcode/jane-street/more-than-six-months.csv similarity index 100% rename from jane-street/more-than-six-months.csv rename to leetcode/jane-street/more-than-six-months.csv diff --git a/jd/all.csv b/leetcode/jd/all.csv similarity index 100% rename from jd/all.csv rename to leetcode/jd/all.csv diff --git a/jd/six-months.csv b/leetcode/jd/six-months.csv similarity index 100% rename from jd/six-months.csv rename to leetcode/jd/six-months.csv diff --git a/jeavio/all.csv b/leetcode/jeavio/all.csv similarity index 100% rename from jeavio/all.csv rename to leetcode/jeavio/all.csv diff --git a/jeavio/more-than-six-months.csv b/leetcode/jeavio/more-than-six-months.csv similarity index 100% rename from jeavio/more-than-six-months.csv rename to leetcode/jeavio/more-than-six-months.csv diff --git a/jetbrains/all.csv b/leetcode/jetbrains/all.csv similarity index 100% rename from jetbrains/all.csv rename to leetcode/jetbrains/all.csv diff --git a/jetbrains/more-than-six-months.csv b/leetcode/jetbrains/more-than-six-months.csv similarity index 100% rename from jetbrains/more-than-six-months.csv rename to leetcode/jetbrains/more-than-six-months.csv diff --git a/jingchi/all.csv b/leetcode/jingchi/all.csv similarity index 100% rename from jingchi/all.csv rename to leetcode/jingchi/all.csv diff --git a/jingchi/more-than-six-months.csv b/leetcode/jingchi/more-than-six-months.csv similarity index 100% rename from jingchi/more-than-six-months.csv rename to leetcode/jingchi/more-than-six-months.csv diff --git a/jio/all.csv b/leetcode/jio/all.csv similarity index 100% rename from jio/all.csv rename to leetcode/jio/all.csv diff --git a/jio/more-than-six-months.csv b/leetcode/jio/more-than-six-months.csv similarity index 100% rename from jio/more-than-six-months.csv rename to leetcode/jio/more-than-six-months.csv diff --git a/josh-technology/all.csv b/leetcode/josh-technology/all.csv similarity index 100% rename from josh-technology/all.csv rename to leetcode/josh-technology/all.csv diff --git a/josh-technology/more-than-six-months.csv b/leetcode/josh-technology/more-than-six-months.csv similarity index 100% rename from josh-technology/more-than-six-months.csv rename to leetcode/josh-technology/more-than-six-months.csv diff --git a/josh-technology/six-months.csv b/leetcode/josh-technology/six-months.csv similarity index 100% rename from josh-technology/six-months.csv rename to leetcode/josh-technology/six-months.csv diff --git a/josh-technology/thirty-days.csv b/leetcode/josh-technology/thirty-days.csv similarity index 100% rename from josh-technology/thirty-days.csv rename to leetcode/josh-technology/thirty-days.csv diff --git a/josh-technology/three-months.csv b/leetcode/josh-technology/three-months.csv similarity index 100% rename from josh-technology/three-months.csv rename to leetcode/josh-technology/three-months.csv diff --git a/jpmorgan/all.csv b/leetcode/jpmorgan/all.csv similarity index 100% rename from jpmorgan/all.csv rename to leetcode/jpmorgan/all.csv diff --git a/jpmorgan/more-than-six-months.csv b/leetcode/jpmorgan/more-than-six-months.csv similarity index 100% rename from jpmorgan/more-than-six-months.csv rename to leetcode/jpmorgan/more-than-six-months.csv diff --git a/jpmorgan/six-months.csv b/leetcode/jpmorgan/six-months.csv similarity index 100% rename from jpmorgan/six-months.csv rename to leetcode/jpmorgan/six-months.csv diff --git a/jpmorgan/thirty-days.csv b/leetcode/jpmorgan/thirty-days.csv similarity index 100% rename from jpmorgan/thirty-days.csv rename to leetcode/jpmorgan/thirty-days.csv diff --git a/jpmorgan/three-months.csv b/leetcode/jpmorgan/three-months.csv similarity index 100% rename from jpmorgan/three-months.csv rename to leetcode/jpmorgan/three-months.csv diff --git a/jtg/all.csv b/leetcode/jtg/all.csv similarity index 100% rename from jtg/all.csv rename to leetcode/jtg/all.csv diff --git a/jtg/more-than-six-months.csv b/leetcode/jtg/more-than-six-months.csv similarity index 100% rename from jtg/more-than-six-months.csv rename to leetcode/jtg/more-than-six-months.csv diff --git a/jump-trading/all.csv b/leetcode/jump-trading/all.csv similarity index 100% rename from jump-trading/all.csv rename to leetcode/jump-trading/all.csv diff --git a/jump-trading/more-than-six-months.csv b/leetcode/jump-trading/more-than-six-months.csv similarity index 100% rename from jump-trading/more-than-six-months.csv rename to leetcode/jump-trading/more-than-six-months.csv diff --git a/jump-trading/six-months.csv b/leetcode/jump-trading/six-months.csv similarity index 100% rename from jump-trading/six-months.csv rename to leetcode/jump-trading/six-months.csv diff --git a/junglee-games/all.csv b/leetcode/junglee-games/all.csv similarity index 100% rename from junglee-games/all.csv rename to leetcode/junglee-games/all.csv diff --git a/junglee-games/more-than-six-months.csv b/leetcode/junglee-games/more-than-six-months.csv similarity index 100% rename from junglee-games/more-than-six-months.csv rename to leetcode/junglee-games/more-than-six-months.csv diff --git a/juniper/all.csv b/leetcode/juniper/all.csv similarity index 100% rename from juniper/all.csv rename to leetcode/juniper/all.csv diff --git a/juniper/more-than-six-months.csv b/leetcode/juniper/more-than-six-months.csv similarity index 100% rename from juniper/more-than-six-months.csv rename to leetcode/juniper/more-than-six-months.csv diff --git a/juspay/all.csv b/leetcode/juspay/all.csv similarity index 100% rename from juspay/all.csv rename to leetcode/juspay/all.csv diff --git a/juspay/more-than-six-months.csv b/leetcode/juspay/more-than-six-months.csv similarity index 100% rename from juspay/more-than-six-months.csv rename to leetcode/juspay/more-than-six-months.csv diff --git a/juspay/six-months.csv b/leetcode/juspay/six-months.csv similarity index 100% rename from juspay/six-months.csv rename to leetcode/juspay/six-months.csv diff --git a/juspay/three-months.csv b/leetcode/juspay/three-months.csv similarity index 100% rename from juspay/three-months.csv rename to leetcode/juspay/three-months.csv diff --git a/justworks/all.csv b/leetcode/justworks/all.csv similarity index 100% rename from justworks/all.csv rename to leetcode/justworks/all.csv diff --git a/justworks/more-than-six-months.csv b/leetcode/justworks/more-than-six-months.csv similarity index 100% rename from justworks/more-than-six-months.csv rename to leetcode/justworks/more-than-six-months.csv diff --git a/kakao/all.csv b/leetcode/kakao/all.csv similarity index 100% rename from kakao/all.csv rename to leetcode/kakao/all.csv diff --git a/kakao/more-than-six-months.csv b/leetcode/kakao/more-than-six-months.csv similarity index 100% rename from kakao/more-than-six-months.csv rename to leetcode/kakao/more-than-six-months.csv diff --git a/karat/all.csv b/leetcode/karat/all.csv similarity index 100% rename from karat/all.csv rename to leetcode/karat/all.csv diff --git a/karat/more-than-six-months.csv b/leetcode/karat/more-than-six-months.csv similarity index 100% rename from karat/more-than-six-months.csv rename to leetcode/karat/more-than-six-months.csv diff --git a/karat/six-months.csv b/leetcode/karat/six-months.csv similarity index 100% rename from karat/six-months.csv rename to leetcode/karat/six-months.csv diff --git a/karat/thirty-days.csv b/leetcode/karat/thirty-days.csv similarity index 100% rename from karat/thirty-days.csv rename to leetcode/karat/thirty-days.csv diff --git a/karat/three-months.csv b/leetcode/karat/three-months.csv similarity index 100% rename from karat/three-months.csv rename to leetcode/karat/three-months.csv diff --git a/keeptruckin/all.csv b/leetcode/keeptruckin/all.csv similarity index 100% rename from keeptruckin/all.csv rename to leetcode/keeptruckin/all.csv diff --git a/keeptruckin/more-than-six-months.csv b/leetcode/keeptruckin/more-than-six-months.csv similarity index 100% rename from keeptruckin/more-than-six-months.csv rename to leetcode/keeptruckin/more-than-six-months.csv diff --git a/keeptruckin/six-months.csv b/leetcode/keeptruckin/six-months.csv similarity index 100% rename from keeptruckin/six-months.csv rename to leetcode/keeptruckin/six-months.csv diff --git a/keeptruckin/three-months.csv b/leetcode/keeptruckin/three-months.csv similarity index 100% rename from keeptruckin/three-months.csv rename to leetcode/keeptruckin/three-months.csv diff --git a/kla-tencor/all.csv b/leetcode/kla-tencor/all.csv similarity index 100% rename from kla-tencor/all.csv rename to leetcode/kla-tencor/all.csv diff --git a/kla-tencor/more-than-six-months.csv b/leetcode/kla-tencor/more-than-six-months.csv similarity index 100% rename from kla-tencor/more-than-six-months.csv rename to leetcode/kla-tencor/more-than-six-months.csv diff --git a/kla-tencor/six-months.csv b/leetcode/kla-tencor/six-months.csv similarity index 100% rename from kla-tencor/six-months.csv rename to leetcode/kla-tencor/six-months.csv diff --git a/kla/all.csv b/leetcode/kla/all.csv similarity index 100% rename from kla/all.csv rename to leetcode/kla/all.csv diff --git a/kla/more-than-six-months.csv b/leetcode/kla/more-than-six-months.csv similarity index 100% rename from kla/more-than-six-months.csv rename to leetcode/kla/more-than-six-months.csv diff --git a/kla/six-months.csv b/leetcode/kla/six-months.csv similarity index 100% rename from kla/six-months.csv rename to leetcode/kla/six-months.csv diff --git a/kla/thirty-days.csv b/leetcode/kla/thirty-days.csv similarity index 100% rename from kla/thirty-days.csv rename to leetcode/kla/thirty-days.csv diff --git a/kla/three-months.csv b/leetcode/kla/three-months.csv similarity index 100% rename from kla/three-months.csv rename to leetcode/kla/three-months.csv diff --git a/komprise/all.csv b/leetcode/komprise/all.csv similarity index 100% rename from komprise/all.csv rename to leetcode/komprise/all.csv diff --git a/komprise/more-than-six-months.csv b/leetcode/komprise/more-than-six-months.csv similarity index 100% rename from komprise/more-than-six-months.csv rename to leetcode/komprise/more-than-six-months.csv diff --git a/kotak-mahindra-bank/all.csv b/leetcode/kotak-mahindra-bank/all.csv similarity index 100% rename from kotak-mahindra-bank/all.csv rename to leetcode/kotak-mahindra-bank/all.csv diff --git a/kotak-mahindra-bank/more-than-six-months.csv b/leetcode/kotak-mahindra-bank/more-than-six-months.csv similarity index 100% rename from kotak-mahindra-bank/more-than-six-months.csv rename to leetcode/kotak-mahindra-bank/more-than-six-months.csv diff --git a/kpit/all.csv b/leetcode/kpit/all.csv similarity index 100% rename from kpit/all.csv rename to leetcode/kpit/all.csv diff --git a/kpit/more-than-six-months.csv b/leetcode/kpit/more-than-six-months.csv similarity index 100% rename from kpit/more-than-six-months.csv rename to leetcode/kpit/more-than-six-months.csv diff --git a/kpmg/all.csv b/leetcode/kpmg/all.csv similarity index 100% rename from kpmg/all.csv rename to leetcode/kpmg/all.csv diff --git a/kpmg/six-months.csv b/leetcode/kpmg/six-months.csv similarity index 100% rename from kpmg/six-months.csv rename to leetcode/kpmg/six-months.csv diff --git a/lacework/all.csv b/leetcode/lacework/all.csv similarity index 100% rename from lacework/all.csv rename to leetcode/lacework/all.csv diff --git a/lacework/more-than-six-months.csv b/leetcode/lacework/more-than-six-months.csv similarity index 100% rename from lacework/more-than-six-months.csv rename to leetcode/lacework/more-than-six-months.csv diff --git a/larsen-toubro/all.csv b/leetcode/larsen-toubro/all.csv similarity index 100% rename from larsen-toubro/all.csv rename to leetcode/larsen-toubro/all.csv diff --git a/larsen-toubro/more-than-six-months.csv b/leetcode/larsen-toubro/more-than-six-months.csv similarity index 100% rename from larsen-toubro/more-than-six-months.csv rename to leetcode/larsen-toubro/more-than-six-months.csv diff --git a/leap-motion/all.csv b/leetcode/leap-motion/all.csv similarity index 100% rename from leap-motion/all.csv rename to leetcode/leap-motion/all.csv diff --git a/leap-motion/more-than-six-months.csv b/leetcode/leap-motion/more-than-six-months.csv similarity index 100% rename from leap-motion/more-than-six-months.csv rename to leetcode/leap-motion/more-than-six-months.csv diff --git a/lendingkart/all.csv b/leetcode/lendingkart/all.csv similarity index 100% rename from lendingkart/all.csv rename to leetcode/lendingkart/all.csv diff --git a/lenskart/all.csv b/leetcode/lenskart/all.csv similarity index 100% rename from lenskart/all.csv rename to leetcode/lenskart/all.csv diff --git a/lenskart/more-than-six-months.csv b/leetcode/lenskart/more-than-six-months.csv similarity index 100% rename from lenskart/more-than-six-months.csv rename to leetcode/lenskart/more-than-six-months.csv diff --git a/lg-electronics/all.csv b/leetcode/lg-electronics/all.csv similarity index 100% rename from lg-electronics/all.csv rename to leetcode/lg-electronics/all.csv diff --git a/lg-electronics/more-than-six-months.csv b/leetcode/lg-electronics/more-than-six-months.csv similarity index 100% rename from lg-electronics/more-than-six-months.csv rename to leetcode/lg-electronics/more-than-six-months.csv diff --git a/lg-electronics/six-months.csv b/leetcode/lg-electronics/six-months.csv similarity index 100% rename from lg-electronics/six-months.csv rename to leetcode/lg-electronics/six-months.csv diff --git a/licious/all.csv b/leetcode/licious/all.csv similarity index 100% rename from licious/all.csv rename to leetcode/licious/all.csv diff --git a/licious/more-than-six-months.csv b/leetcode/licious/more-than-six-months.csv similarity index 100% rename from licious/more-than-six-months.csv rename to leetcode/licious/more-than-six-months.csv diff --git a/liftoff/all.csv b/leetcode/liftoff/all.csv similarity index 100% rename from liftoff/all.csv rename to leetcode/liftoff/all.csv diff --git a/liftoff/more-than-six-months.csv b/leetcode/liftoff/more-than-six-months.csv similarity index 100% rename from liftoff/more-than-six-months.csv rename to leetcode/liftoff/more-than-six-months.csv diff --git a/liftoff/six-months.csv b/leetcode/liftoff/six-months.csv similarity index 100% rename from liftoff/six-months.csv rename to leetcode/liftoff/six-months.csv diff --git a/liftoff/three-months.csv b/leetcode/liftoff/three-months.csv similarity index 100% rename from liftoff/three-months.csv rename to leetcode/liftoff/three-months.csv diff --git a/lime/all.csv b/leetcode/lime/all.csv similarity index 100% rename from lime/all.csv rename to leetcode/lime/all.csv diff --git a/lime/more-than-six-months.csv b/leetcode/lime/more-than-six-months.csv similarity index 100% rename from lime/more-than-six-months.csv rename to leetcode/lime/more-than-six-months.csv diff --git a/lime/six-months.csv b/leetcode/lime/six-months.csv similarity index 100% rename from lime/six-months.csv rename to leetcode/lime/six-months.csv diff --git a/line/all.csv b/leetcode/line/all.csv similarity index 100% rename from line/all.csv rename to leetcode/line/all.csv diff --git a/line/more-than-six-months.csv b/leetcode/line/more-than-six-months.csv similarity index 100% rename from line/more-than-six-months.csv rename to leetcode/line/more-than-six-months.csv diff --git a/line/six-months.csv b/leetcode/line/six-months.csv similarity index 100% rename from line/six-months.csv rename to leetcode/line/six-months.csv diff --git a/line/three-months.csv b/leetcode/line/three-months.csv similarity index 100% rename from line/three-months.csv rename to leetcode/line/three-months.csv diff --git a/linkedin/all.csv b/leetcode/linkedin/all.csv similarity index 100% rename from linkedin/all.csv rename to leetcode/linkedin/all.csv diff --git a/linkedin/more-than-six-months.csv b/leetcode/linkedin/more-than-six-months.csv similarity index 100% rename from linkedin/more-than-six-months.csv rename to leetcode/linkedin/more-than-six-months.csv diff --git a/linkedin/six-months.csv b/leetcode/linkedin/six-months.csv similarity index 100% rename from linkedin/six-months.csv rename to leetcode/linkedin/six-months.csv diff --git a/linkedin/thirty-days.csv b/leetcode/linkedin/thirty-days.csv similarity index 100% rename from linkedin/thirty-days.csv rename to leetcode/linkedin/thirty-days.csv diff --git a/linkedin/three-months.csv b/leetcode/linkedin/three-months.csv similarity index 100% rename from linkedin/three-months.csv rename to leetcode/linkedin/three-months.csv diff --git a/liveramp/all.csv b/leetcode/liveramp/all.csv similarity index 100% rename from liveramp/all.csv rename to leetcode/liveramp/all.csv diff --git a/liveramp/more-than-six-months.csv b/leetcode/liveramp/more-than-six-months.csv similarity index 100% rename from liveramp/more-than-six-months.csv rename to leetcode/liveramp/more-than-six-months.csv diff --git a/livspace/all.csv b/leetcode/livspace/all.csv similarity index 100% rename from livspace/all.csv rename to leetcode/livspace/all.csv diff --git a/livspace/six-months.csv b/leetcode/livspace/six-months.csv similarity index 100% rename from livspace/six-months.csv rename to leetcode/livspace/six-months.csv diff --git a/livspace/three-months.csv b/leetcode/livspace/three-months.csv similarity index 100% rename from livspace/three-months.csv rename to leetcode/livspace/three-months.csv diff --git a/lowe/all.csv b/leetcode/lowe/all.csv similarity index 100% rename from lowe/all.csv rename to leetcode/lowe/all.csv diff --git a/lowe/more-than-six-months.csv b/leetcode/lowe/more-than-six-months.csv similarity index 100% rename from lowe/more-than-six-months.csv rename to leetcode/lowe/more-than-six-months.csv diff --git a/lti/all.csv b/leetcode/lti/all.csv similarity index 100% rename from lti/all.csv rename to leetcode/lti/all.csv diff --git a/lti/more-than-six-months.csv b/leetcode/lti/more-than-six-months.csv similarity index 100% rename from lti/more-than-six-months.csv rename to leetcode/lti/more-than-six-months.csv diff --git a/lucid/all.csv b/leetcode/lucid/all.csv similarity index 100% rename from lucid/all.csv rename to leetcode/lucid/all.csv diff --git a/lucid/more-than-six-months.csv b/leetcode/lucid/more-than-six-months.csv similarity index 100% rename from lucid/more-than-six-months.csv rename to leetcode/lucid/more-than-six-months.csv diff --git a/lucid/six-months.csv b/leetcode/lucid/six-months.csv similarity index 100% rename from lucid/six-months.csv rename to leetcode/lucid/six-months.csv diff --git a/lucid/thirty-days.csv b/leetcode/lucid/thirty-days.csv similarity index 100% rename from lucid/thirty-days.csv rename to leetcode/lucid/thirty-days.csv diff --git a/lucid/three-months.csv b/leetcode/lucid/three-months.csv similarity index 100% rename from lucid/three-months.csv rename to leetcode/lucid/three-months.csv diff --git a/luxoft/all.csv b/leetcode/luxoft/all.csv similarity index 100% rename from luxoft/all.csv rename to leetcode/luxoft/all.csv diff --git a/luxoft/more-than-six-months.csv b/leetcode/luxoft/more-than-six-months.csv similarity index 100% rename from luxoft/more-than-six-months.csv rename to leetcode/luxoft/more-than-six-months.csv diff --git a/luxoft/six-months.csv b/leetcode/luxoft/six-months.csv similarity index 100% rename from luxoft/six-months.csv rename to leetcode/luxoft/six-months.csv diff --git a/lyft/all.csv b/leetcode/lyft/all.csv similarity index 100% rename from lyft/all.csv rename to leetcode/lyft/all.csv diff --git a/lyft/more-than-six-months.csv b/leetcode/lyft/more-than-six-months.csv similarity index 100% rename from lyft/more-than-six-months.csv rename to leetcode/lyft/more-than-six-months.csv diff --git a/lyft/six-months.csv b/leetcode/lyft/six-months.csv similarity index 100% rename from lyft/six-months.csv rename to leetcode/lyft/six-months.csv diff --git a/lyft/thirty-days.csv b/leetcode/lyft/thirty-days.csv similarity index 100% rename from lyft/thirty-days.csv rename to leetcode/lyft/thirty-days.csv diff --git a/lyft/three-months.csv b/leetcode/lyft/three-months.csv similarity index 100% rename from lyft/three-months.csv rename to leetcode/lyft/three-months.csv diff --git a/machine-zone/all.csv b/leetcode/machine-zone/all.csv similarity index 100% rename from machine-zone/all.csv rename to leetcode/machine-zone/all.csv diff --git a/machine-zone/more-than-six-months.csv b/leetcode/machine-zone/more-than-six-months.csv similarity index 100% rename from machine-zone/more-than-six-months.csv rename to leetcode/machine-zone/more-than-six-months.csv diff --git a/machinezone/all.csv b/leetcode/machinezone/all.csv similarity index 100% rename from machinezone/all.csv rename to leetcode/machinezone/all.csv diff --git a/machinezone/more-than-six-months.csv b/leetcode/machinezone/more-than-six-months.csv similarity index 100% rename from machinezone/more-than-six-months.csv rename to leetcode/machinezone/more-than-six-months.csv diff --git a/maersk/all.csv b/leetcode/maersk/all.csv similarity index 100% rename from maersk/all.csv rename to leetcode/maersk/all.csv diff --git a/maersk/more-than-six-months.csv b/leetcode/maersk/more-than-six-months.csv similarity index 100% rename from maersk/more-than-six-months.csv rename to leetcode/maersk/more-than-six-months.csv diff --git a/makemytrip/all.csv b/leetcode/makemytrip/all.csv similarity index 100% rename from makemytrip/all.csv rename to leetcode/makemytrip/all.csv diff --git a/makemytrip/more-than-six-months.csv b/leetcode/makemytrip/more-than-six-months.csv similarity index 100% rename from makemytrip/more-than-six-months.csv rename to leetcode/makemytrip/more-than-six-months.csv diff --git a/mapbox/all.csv b/leetcode/mapbox/all.csv similarity index 100% rename from mapbox/all.csv rename to leetcode/mapbox/all.csv diff --git a/maq-software/all.csv b/leetcode/maq-software/all.csv similarity index 100% rename from maq-software/all.csv rename to leetcode/maq-software/all.csv diff --git a/maq-software/more-than-six-months.csv b/leetcode/maq-software/more-than-six-months.csv similarity index 100% rename from maq-software/more-than-six-months.csv rename to leetcode/maq-software/more-than-six-months.csv diff --git a/marqeta/all.csv b/leetcode/marqeta/all.csv similarity index 100% rename from marqeta/all.csv rename to leetcode/marqeta/all.csv diff --git a/marqeta/more-than-six-months.csv b/leetcode/marqeta/more-than-six-months.csv similarity index 100% rename from marqeta/more-than-six-months.csv rename to leetcode/marqeta/more-than-six-months.csv diff --git a/marqeta/six-months.csv b/leetcode/marqeta/six-months.csv similarity index 100% rename from marqeta/six-months.csv rename to leetcode/marqeta/six-months.csv diff --git a/marqeta/thirty-days.csv b/leetcode/marqeta/thirty-days.csv similarity index 100% rename from marqeta/thirty-days.csv rename to leetcode/marqeta/thirty-days.csv diff --git a/marqeta/three-months.csv b/leetcode/marqeta/three-months.csv similarity index 100% rename from marqeta/three-months.csv rename to leetcode/marqeta/three-months.csv diff --git a/mastercard/all.csv b/leetcode/mastercard/all.csv similarity index 100% rename from mastercard/all.csv rename to leetcode/mastercard/all.csv diff --git a/mastercard/more-than-six-months.csv b/leetcode/mastercard/more-than-six-months.csv similarity index 100% rename from mastercard/more-than-six-months.csv rename to leetcode/mastercard/more-than-six-months.csv diff --git a/mastercard/six-months.csv b/leetcode/mastercard/six-months.csv similarity index 100% rename from mastercard/six-months.csv rename to leetcode/mastercard/six-months.csv diff --git a/mastercard/three-months.csv b/leetcode/mastercard/three-months.csv similarity index 100% rename from mastercard/three-months.csv rename to leetcode/mastercard/three-months.csv diff --git a/mathworks/all.csv b/leetcode/mathworks/all.csv similarity index 100% rename from mathworks/all.csv rename to leetcode/mathworks/all.csv diff --git a/mathworks/more-than-six-months.csv b/leetcode/mathworks/more-than-six-months.csv similarity index 100% rename from mathworks/more-than-six-months.csv rename to leetcode/mathworks/more-than-six-months.csv diff --git a/mathworks/six-months.csv b/leetcode/mathworks/six-months.csv similarity index 100% rename from mathworks/six-months.csv rename to leetcode/mathworks/six-months.csv diff --git a/mathworks/three-months.csv b/leetcode/mathworks/three-months.csv similarity index 100% rename from mathworks/three-months.csv rename to leetcode/mathworks/three-months.csv diff --git a/mcafee/all.csv b/leetcode/mcafee/all.csv similarity index 100% rename from mcafee/all.csv rename to leetcode/mcafee/all.csv diff --git a/mcafee/more-than-six-months.csv b/leetcode/mcafee/more-than-six-months.csv similarity index 100% rename from mcafee/more-than-six-months.csv rename to leetcode/mcafee/more-than-six-months.csv diff --git a/mckinsey/all.csv b/leetcode/mckinsey/all.csv similarity index 100% rename from mckinsey/all.csv rename to leetcode/mckinsey/all.csv diff --git a/mckinsey/more-than-six-months.csv b/leetcode/mckinsey/more-than-six-months.csv similarity index 100% rename from mckinsey/more-than-six-months.csv rename to leetcode/mckinsey/more-than-six-months.csv diff --git a/medianet/all.csv b/leetcode/medianet/all.csv similarity index 100% rename from medianet/all.csv rename to leetcode/medianet/all.csv diff --git a/medianet/more-than-six-months.csv b/leetcode/medianet/more-than-six-months.csv similarity index 100% rename from medianet/more-than-six-months.csv rename to leetcode/medianet/more-than-six-months.csv diff --git a/medianet/six-months.csv b/leetcode/medianet/six-months.csv similarity index 100% rename from medianet/six-months.csv rename to leetcode/medianet/six-months.csv diff --git a/medianet/thirty-days.csv b/leetcode/medianet/thirty-days.csv similarity index 100% rename from medianet/thirty-days.csv rename to leetcode/medianet/thirty-days.csv diff --git a/medianet/three-months.csv b/leetcode/medianet/three-months.csv similarity index 100% rename from medianet/three-months.csv rename to leetcode/medianet/three-months.csv diff --git a/meesho/all.csv b/leetcode/meesho/all.csv similarity index 100% rename from meesho/all.csv rename to leetcode/meesho/all.csv diff --git a/meesho/more-than-six-months.csv b/leetcode/meesho/more-than-six-months.csv similarity index 100% rename from meesho/more-than-six-months.csv rename to leetcode/meesho/more-than-six-months.csv diff --git a/meesho/six-months.csv b/leetcode/meesho/six-months.csv similarity index 100% rename from meesho/six-months.csv rename to leetcode/meesho/six-months.csv diff --git a/meesho/thirty-days.csv b/leetcode/meesho/thirty-days.csv similarity index 100% rename from meesho/thirty-days.csv rename to leetcode/meesho/thirty-days.csv diff --git a/meesho/three-months.csv b/leetcode/meesho/three-months.csv similarity index 100% rename from meesho/three-months.csv rename to leetcode/meesho/three-months.csv diff --git a/meituan/all.csv b/leetcode/meituan/all.csv similarity index 100% rename from meituan/all.csv rename to leetcode/meituan/all.csv diff --git a/meituan/more-than-six-months.csv b/leetcode/meituan/more-than-six-months.csv similarity index 100% rename from meituan/more-than-six-months.csv rename to leetcode/meituan/more-than-six-months.csv diff --git a/mercari/all.csv b/leetcode/mercari/all.csv similarity index 100% rename from mercari/all.csv rename to leetcode/mercari/all.csv diff --git a/mercari/more-than-six-months.csv b/leetcode/mercari/more-than-six-months.csv similarity index 100% rename from mercari/more-than-six-months.csv rename to leetcode/mercari/more-than-six-months.csv diff --git a/micro1/all.csv b/leetcode/micro1/all.csv similarity index 100% rename from micro1/all.csv rename to leetcode/micro1/all.csv diff --git a/micro1/more-than-six-months.csv b/leetcode/micro1/more-than-six-months.csv similarity index 100% rename from micro1/more-than-six-months.csv rename to leetcode/micro1/more-than-six-months.csv diff --git a/microsoft/all.csv b/leetcode/microsoft/all.csv similarity index 100% rename from microsoft/all.csv rename to leetcode/microsoft/all.csv diff --git a/microsoft/more-than-six-months.csv b/leetcode/microsoft/more-than-six-months.csv similarity index 100% rename from microsoft/more-than-six-months.csv rename to leetcode/microsoft/more-than-six-months.csv diff --git a/microsoft/six-months.csv b/leetcode/microsoft/six-months.csv similarity index 100% rename from microsoft/six-months.csv rename to leetcode/microsoft/six-months.csv diff --git a/microsoft/thirty-days.csv b/leetcode/microsoft/thirty-days.csv similarity index 100% rename from microsoft/thirty-days.csv rename to leetcode/microsoft/thirty-days.csv diff --git a/microsoft/three-months.csv b/leetcode/microsoft/three-months.csv similarity index 100% rename from microsoft/three-months.csv rename to leetcode/microsoft/three-months.csv diff --git a/microstrategy/all.csv b/leetcode/microstrategy/all.csv similarity index 100% rename from microstrategy/all.csv rename to leetcode/microstrategy/all.csv diff --git a/microstrategy/more-than-six-months.csv b/leetcode/microstrategy/more-than-six-months.csv similarity index 100% rename from microstrategy/more-than-six-months.csv rename to leetcode/microstrategy/more-than-six-months.csv diff --git a/millennium/all.csv b/leetcode/millennium/all.csv similarity index 100% rename from millennium/all.csv rename to leetcode/millennium/all.csv diff --git a/millennium/more-than-six-months.csv b/leetcode/millennium/more-than-six-months.csv similarity index 100% rename from millennium/more-than-six-months.csv rename to leetcode/millennium/more-than-six-months.csv diff --git a/millennium/six-months.csv b/leetcode/millennium/six-months.csv similarity index 100% rename from millennium/six-months.csv rename to leetcode/millennium/six-months.csv diff --git a/mindtickle/all.csv b/leetcode/mindtickle/all.csv similarity index 100% rename from mindtickle/all.csv rename to leetcode/mindtickle/all.csv diff --git a/mindtickle/more-than-six-months.csv b/leetcode/mindtickle/more-than-six-months.csv similarity index 100% rename from mindtickle/more-than-six-months.csv rename to leetcode/mindtickle/more-than-six-months.csv diff --git a/mindtree/all.csv b/leetcode/mindtree/all.csv similarity index 100% rename from mindtree/all.csv rename to leetcode/mindtree/all.csv diff --git a/mindtree/more-than-six-months.csv b/leetcode/mindtree/more-than-six-months.csv similarity index 100% rename from mindtree/more-than-six-months.csv rename to leetcode/mindtree/more-than-six-months.csv diff --git a/miro/all.csv b/leetcode/miro/all.csv similarity index 100% rename from miro/all.csv rename to leetcode/miro/all.csv diff --git a/miro/more-than-six-months.csv b/leetcode/miro/more-than-six-months.csv similarity index 100% rename from miro/more-than-six-months.csv rename to leetcode/miro/more-than-six-months.csv diff --git a/mishipay/all.csv b/leetcode/mishipay/all.csv similarity index 100% rename from mishipay/all.csv rename to leetcode/mishipay/all.csv diff --git a/mishipay/more-than-six-months.csv b/leetcode/mishipay/more-than-six-months.csv similarity index 100% rename from mishipay/more-than-six-months.csv rename to leetcode/mishipay/more-than-six-months.csv diff --git a/mitsogo/all.csv b/leetcode/mitsogo/all.csv similarity index 100% rename from mitsogo/all.csv rename to leetcode/mitsogo/all.csv diff --git a/mitsogo/more-than-six-months.csv b/leetcode/mitsogo/more-than-six-months.csv similarity index 100% rename from mitsogo/more-than-six-months.csv rename to leetcode/mitsogo/more-than-six-months.csv diff --git a/mixpanel/all.csv b/leetcode/mixpanel/all.csv similarity index 100% rename from mixpanel/all.csv rename to leetcode/mixpanel/all.csv diff --git a/mixpanel/more-than-six-months.csv b/leetcode/mixpanel/more-than-six-months.csv similarity index 100% rename from mixpanel/more-than-six-months.csv rename to leetcode/mixpanel/more-than-six-months.csv diff --git a/mixpanel/six-months.csv b/leetcode/mixpanel/six-months.csv similarity index 100% rename from mixpanel/six-months.csv rename to leetcode/mixpanel/six-months.csv diff --git a/mixpanel/three-months.csv b/leetcode/mixpanel/three-months.csv similarity index 100% rename from mixpanel/three-months.csv rename to leetcode/mixpanel/three-months.csv diff --git a/mobileye/all.csv b/leetcode/mobileye/all.csv similarity index 100% rename from mobileye/all.csv rename to leetcode/mobileye/all.csv diff --git a/mobileye/more-than-six-months.csv b/leetcode/mobileye/more-than-six-months.csv similarity index 100% rename from mobileye/more-than-six-months.csv rename to leetcode/mobileye/more-than-six-months.csv diff --git a/mobisy/all.csv b/leetcode/mobisy/all.csv similarity index 100% rename from mobisy/all.csv rename to leetcode/mobisy/all.csv diff --git a/mobisy/more-than-six-months.csv b/leetcode/mobisy/more-than-six-months.csv similarity index 100% rename from mobisy/more-than-six-months.csv rename to leetcode/mobisy/more-than-six-months.csv diff --git a/moengage/all.csv b/leetcode/moengage/all.csv similarity index 100% rename from moengage/all.csv rename to leetcode/moengage/all.csv diff --git a/moengage/more-than-six-months.csv b/leetcode/moengage/more-than-six-months.csv similarity index 100% rename from moengage/more-than-six-months.csv rename to leetcode/moengage/more-than-six-months.csv diff --git a/moloco/all.csv b/leetcode/moloco/all.csv similarity index 100% rename from moloco/all.csv rename to leetcode/moloco/all.csv diff --git a/moloco/more-than-six-months.csv b/leetcode/moloco/more-than-six-months.csv similarity index 100% rename from moloco/more-than-six-months.csv rename to leetcode/moloco/more-than-six-months.csv diff --git a/moloco/six-months.csv b/leetcode/moloco/six-months.csv similarity index 100% rename from moloco/six-months.csv rename to leetcode/moloco/six-months.csv diff --git a/moneylion/all.csv b/leetcode/moneylion/all.csv similarity index 100% rename from moneylion/all.csv rename to leetcode/moneylion/all.csv diff --git a/moneylion/more-than-six-months.csv b/leetcode/moneylion/more-than-six-months.csv similarity index 100% rename from moneylion/more-than-six-months.csv rename to leetcode/moneylion/more-than-six-months.csv diff --git a/mongodb/all.csv b/leetcode/mongodb/all.csv similarity index 100% rename from mongodb/all.csv rename to leetcode/mongodb/all.csv diff --git a/mongodb/more-than-six-months.csv b/leetcode/mongodb/more-than-six-months.csv similarity index 100% rename from mongodb/more-than-six-months.csv rename to leetcode/mongodb/more-than-six-months.csv diff --git a/mongodb/six-months.csv b/leetcode/mongodb/six-months.csv similarity index 100% rename from mongodb/six-months.csv rename to leetcode/mongodb/six-months.csv diff --git a/mongodb/three-months.csv b/leetcode/mongodb/three-months.csv similarity index 100% rename from mongodb/three-months.csv rename to leetcode/mongodb/three-months.csv diff --git a/morgan-stanley/all.csv b/leetcode/morgan-stanley/all.csv similarity index 100% rename from morgan-stanley/all.csv rename to leetcode/morgan-stanley/all.csv diff --git a/morgan-stanley/more-than-six-months.csv b/leetcode/morgan-stanley/more-than-six-months.csv similarity index 100% rename from morgan-stanley/more-than-six-months.csv rename to leetcode/morgan-stanley/more-than-six-months.csv diff --git a/morgan-stanley/six-months.csv b/leetcode/morgan-stanley/six-months.csv similarity index 100% rename from morgan-stanley/six-months.csv rename to leetcode/morgan-stanley/six-months.csv diff --git a/morgan-stanley/three-months.csv b/leetcode/morgan-stanley/three-months.csv similarity index 100% rename from morgan-stanley/three-months.csv rename to leetcode/morgan-stanley/three-months.csv diff --git a/motorola/all.csv b/leetcode/motorola/all.csv similarity index 100% rename from motorola/all.csv rename to leetcode/motorola/all.csv diff --git a/motorola/more-than-six-months.csv b/leetcode/motorola/more-than-six-months.csv similarity index 100% rename from motorola/more-than-six-months.csv rename to leetcode/motorola/more-than-six-months.csv diff --git a/mountblue/all.csv b/leetcode/mountblue/all.csv similarity index 100% rename from mountblue/all.csv rename to leetcode/mountblue/all.csv diff --git a/mountblue/more-than-six-months.csv b/leetcode/mountblue/more-than-six-months.csv similarity index 100% rename from mountblue/more-than-six-months.csv rename to leetcode/mountblue/more-than-six-months.csv diff --git a/moveworks/all.csv b/leetcode/moveworks/all.csv similarity index 100% rename from moveworks/all.csv rename to leetcode/moveworks/all.csv diff --git a/moveworks/more-than-six-months.csv b/leetcode/moveworks/more-than-six-months.csv similarity index 100% rename from moveworks/more-than-six-months.csv rename to leetcode/moveworks/more-than-six-months.csv diff --git a/moveworks/six-months.csv b/leetcode/moveworks/six-months.csv similarity index 100% rename from moveworks/six-months.csv rename to leetcode/moveworks/six-months.csv diff --git a/moveworks/three-months.csv b/leetcode/moveworks/three-months.csv similarity index 100% rename from moveworks/three-months.csv rename to leetcode/moveworks/three-months.csv diff --git a/msci/all.csv b/leetcode/msci/all.csv similarity index 100% rename from msci/all.csv rename to leetcode/msci/all.csv diff --git a/msci/more-than-six-months.csv b/leetcode/msci/more-than-six-months.csv similarity index 100% rename from msci/more-than-six-months.csv rename to leetcode/msci/more-than-six-months.csv diff --git a/mts/all.csv b/leetcode/mts/all.csv similarity index 100% rename from mts/all.csv rename to leetcode/mts/all.csv diff --git a/mts/more-than-six-months.csv b/leetcode/mts/more-than-six-months.csv similarity index 100% rename from mts/more-than-six-months.csv rename to leetcode/mts/more-than-six-months.csv diff --git a/murex/all.csv b/leetcode/murex/all.csv similarity index 100% rename from murex/all.csv rename to leetcode/murex/all.csv diff --git a/murex/more-than-six-months.csv b/leetcode/murex/more-than-six-months.csv similarity index 100% rename from murex/more-than-six-months.csv rename to leetcode/murex/more-than-six-months.csv diff --git a/mykaarma/all.csv b/leetcode/mykaarma/all.csv similarity index 100% rename from mykaarma/all.csv rename to leetcode/mykaarma/all.csv diff --git a/mykaarma/more-than-six-months.csv b/leetcode/mykaarma/more-than-six-months.csv similarity index 100% rename from mykaarma/more-than-six-months.csv rename to leetcode/mykaarma/more-than-six-months.csv diff --git a/myntra/all.csv b/leetcode/myntra/all.csv similarity index 100% rename from myntra/all.csv rename to leetcode/myntra/all.csv diff --git a/myntra/more-than-six-months.csv b/leetcode/myntra/more-than-six-months.csv similarity index 100% rename from myntra/more-than-six-months.csv rename to leetcode/myntra/more-than-six-months.csv diff --git a/myntra/six-months.csv b/leetcode/myntra/six-months.csv similarity index 100% rename from myntra/six-months.csv rename to leetcode/myntra/six-months.csv diff --git a/nagarro/all.csv b/leetcode/nagarro/all.csv similarity index 100% rename from nagarro/all.csv rename to leetcode/nagarro/all.csv diff --git a/nagarro/more-than-six-months.csv b/leetcode/nagarro/more-than-six-months.csv similarity index 100% rename from nagarro/more-than-six-months.csv rename to leetcode/nagarro/more-than-six-months.csv diff --git a/national-instruments/all.csv b/leetcode/national-instruments/all.csv similarity index 100% rename from national-instruments/all.csv rename to leetcode/national-instruments/all.csv diff --git a/national-instruments/more-than-six-months.csv b/leetcode/national-instruments/more-than-six-months.csv similarity index 100% rename from national-instruments/more-than-six-months.csv rename to leetcode/national-instruments/more-than-six-months.csv diff --git a/national-payments-coorperation-india/all.csv b/leetcode/national-payments-coorperation-india/all.csv similarity index 100% rename from national-payments-coorperation-india/all.csv rename to leetcode/national-payments-coorperation-india/all.csv diff --git a/national-payments-coorperation-india/more-than-six-months.csv b/leetcode/national-payments-coorperation-india/more-than-six-months.csv similarity index 100% rename from national-payments-coorperation-india/more-than-six-months.csv rename to leetcode/national-payments-coorperation-india/more-than-six-months.csv diff --git a/navan/all.csv b/leetcode/navan/all.csv similarity index 100% rename from navan/all.csv rename to leetcode/navan/all.csv diff --git a/navan/more-than-six-months.csv b/leetcode/navan/more-than-six-months.csv similarity index 100% rename from navan/more-than-six-months.csv rename to leetcode/navan/more-than-six-months.csv diff --git a/navan/six-months.csv b/leetcode/navan/six-months.csv similarity index 100% rename from navan/six-months.csv rename to leetcode/navan/six-months.csv diff --git a/navan/three-months.csv b/leetcode/navan/three-months.csv similarity index 100% rename from navan/three-months.csv rename to leetcode/navan/three-months.csv diff --git a/naver/all.csv b/leetcode/naver/all.csv similarity index 100% rename from naver/all.csv rename to leetcode/naver/all.csv diff --git a/naver/more-than-six-months.csv b/leetcode/naver/more-than-six-months.csv similarity index 100% rename from naver/more-than-six-months.csv rename to leetcode/naver/more-than-six-months.csv diff --git a/navi/all.csv b/leetcode/navi/all.csv similarity index 100% rename from navi/all.csv rename to leetcode/navi/all.csv diff --git a/navi/more-than-six-months.csv b/leetcode/navi/more-than-six-months.csv similarity index 100% rename from navi/more-than-six-months.csv rename to leetcode/navi/more-than-six-months.csv diff --git a/ncr/all.csv b/leetcode/ncr/all.csv similarity index 100% rename from ncr/all.csv rename to leetcode/ncr/all.csv diff --git a/ncr/more-than-six-months.csv b/leetcode/ncr/more-than-six-months.csv similarity index 100% rename from ncr/more-than-six-months.csv rename to leetcode/ncr/more-than-six-months.csv diff --git a/nerdwallet/all.csv b/leetcode/nerdwallet/all.csv similarity index 100% rename from nerdwallet/all.csv rename to leetcode/nerdwallet/all.csv diff --git a/netapp/all.csv b/leetcode/netapp/all.csv similarity index 100% rename from netapp/all.csv rename to leetcode/netapp/all.csv diff --git a/netapp/more-than-six-months.csv b/leetcode/netapp/more-than-six-months.csv similarity index 100% rename from netapp/more-than-six-months.csv rename to leetcode/netapp/more-than-six-months.csv diff --git a/netapp/six-months.csv b/leetcode/netapp/six-months.csv similarity index 100% rename from netapp/six-months.csv rename to leetcode/netapp/six-months.csv diff --git a/netcracker-technology/all.csv b/leetcode/netcracker-technology/all.csv similarity index 100% rename from netcracker-technology/all.csv rename to leetcode/netcracker-technology/all.csv diff --git a/netcracker-technology/six-months.csv b/leetcode/netcracker-technology/six-months.csv similarity index 100% rename from netcracker-technology/six-months.csv rename to leetcode/netcracker-technology/six-months.csv diff --git a/netcracker-technology/three-months.csv b/leetcode/netcracker-technology/three-months.csv similarity index 100% rename from netcracker-technology/three-months.csv rename to leetcode/netcracker-technology/three-months.csv diff --git a/netease/all.csv b/leetcode/netease/all.csv similarity index 100% rename from netease/all.csv rename to leetcode/netease/all.csv diff --git a/netease/more-than-six-months.csv b/leetcode/netease/more-than-six-months.csv similarity index 100% rename from netease/more-than-six-months.csv rename to leetcode/netease/more-than-six-months.csv diff --git a/netflix/all.csv b/leetcode/netflix/all.csv similarity index 100% rename from netflix/all.csv rename to leetcode/netflix/all.csv diff --git a/netflix/more-than-six-months.csv b/leetcode/netflix/more-than-six-months.csv similarity index 100% rename from netflix/more-than-six-months.csv rename to leetcode/netflix/more-than-six-months.csv diff --git a/netflix/six-months.csv b/leetcode/netflix/six-months.csv similarity index 100% rename from netflix/six-months.csv rename to leetcode/netflix/six-months.csv diff --git a/netflix/thirty-days.csv b/leetcode/netflix/thirty-days.csv similarity index 100% rename from netflix/thirty-days.csv rename to leetcode/netflix/thirty-days.csv diff --git a/netflix/three-months.csv b/leetcode/netflix/three-months.csv similarity index 100% rename from netflix/three-months.csv rename to leetcode/netflix/three-months.csv diff --git a/netskope/all.csv b/leetcode/netskope/all.csv similarity index 100% rename from netskope/all.csv rename to leetcode/netskope/all.csv diff --git a/netskope/more-than-six-months.csv b/leetcode/netskope/more-than-six-months.csv similarity index 100% rename from netskope/more-than-six-months.csv rename to leetcode/netskope/more-than-six-months.csv diff --git a/netskope/six-months.csv b/leetcode/netskope/six-months.csv similarity index 100% rename from netskope/six-months.csv rename to leetcode/netskope/six-months.csv diff --git a/netsuite/all.csv b/leetcode/netsuite/all.csv similarity index 100% rename from netsuite/all.csv rename to leetcode/netsuite/all.csv diff --git a/netsuite/more-than-six-months.csv b/leetcode/netsuite/more-than-six-months.csv similarity index 100% rename from netsuite/more-than-six-months.csv rename to leetcode/netsuite/more-than-six-months.csv diff --git a/newsbreak/all.csv b/leetcode/newsbreak/all.csv similarity index 100% rename from newsbreak/all.csv rename to leetcode/newsbreak/all.csv diff --git a/newsbreak/six-months.csv b/leetcode/newsbreak/six-months.csv similarity index 100% rename from newsbreak/six-months.csv rename to leetcode/newsbreak/six-months.csv diff --git a/newsbreak/three-months.csv b/leetcode/newsbreak/three-months.csv similarity index 100% rename from newsbreak/three-months.csv rename to leetcode/newsbreak/three-months.csv diff --git a/nextdoor/all.csv b/leetcode/nextdoor/all.csv similarity index 100% rename from nextdoor/all.csv rename to leetcode/nextdoor/all.csv diff --git a/nextdoor/more-than-six-months.csv b/leetcode/nextdoor/more-than-six-months.csv similarity index 100% rename from nextdoor/more-than-six-months.csv rename to leetcode/nextdoor/more-than-six-months.csv diff --git a/nextdoor/six-months.csv b/leetcode/nextdoor/six-months.csv similarity index 100% rename from nextdoor/six-months.csv rename to leetcode/nextdoor/six-months.csv diff --git a/nextjump/all.csv b/leetcode/nextjump/all.csv similarity index 100% rename from nextjump/all.csv rename to leetcode/nextjump/all.csv diff --git a/nextjump/more-than-six-months.csv b/leetcode/nextjump/more-than-six-months.csv similarity index 100% rename from nextjump/more-than-six-months.csv rename to leetcode/nextjump/more-than-six-months.csv diff --git a/nference/all.csv b/leetcode/nference/all.csv similarity index 100% rename from nference/all.csv rename to leetcode/nference/all.csv diff --git a/nference/more-than-six-months.csv b/leetcode/nference/more-than-six-months.csv similarity index 100% rename from nference/more-than-six-months.csv rename to leetcode/nference/more-than-six-months.csv diff --git a/niantic/all.csv b/leetcode/niantic/all.csv similarity index 100% rename from niantic/all.csv rename to leetcode/niantic/all.csv diff --git a/niantic/more-than-six-months.csv b/leetcode/niantic/more-than-six-months.csv similarity index 100% rename from niantic/more-than-six-months.csv rename to leetcode/niantic/more-than-six-months.csv diff --git a/nielsen/all.csv b/leetcode/nielsen/all.csv similarity index 100% rename from nielsen/all.csv rename to leetcode/nielsen/all.csv diff --git a/nielsen/more-than-six-months.csv b/leetcode/nielsen/more-than-six-months.csv similarity index 100% rename from nielsen/more-than-six-months.csv rename to leetcode/nielsen/more-than-six-months.csv diff --git a/nike/all.csv b/leetcode/nike/all.csv similarity index 100% rename from nike/all.csv rename to leetcode/nike/all.csv diff --git a/nike/more-than-six-months.csv b/leetcode/nike/more-than-six-months.csv similarity index 100% rename from nike/more-than-six-months.csv rename to leetcode/nike/more-than-six-months.csv diff --git a/nike/six-months.csv b/leetcode/nike/six-months.csv similarity index 100% rename from nike/six-months.csv rename to leetcode/nike/six-months.csv diff --git a/nike/thirty-days.csv b/leetcode/nike/thirty-days.csv similarity index 100% rename from nike/thirty-days.csv rename to leetcode/nike/thirty-days.csv diff --git a/nike/three-months.csv b/leetcode/nike/three-months.csv similarity index 100% rename from nike/three-months.csv rename to leetcode/nike/three-months.csv diff --git a/ninjacart/all.csv b/leetcode/ninjacart/all.csv similarity index 100% rename from ninjacart/all.csv rename to leetcode/ninjacart/all.csv diff --git a/ninjacart/more-than-six-months.csv b/leetcode/ninjacart/more-than-six-months.csv similarity index 100% rename from ninjacart/more-than-six-months.csv rename to leetcode/ninjacart/more-than-six-months.csv diff --git a/nokia/all.csv b/leetcode/nokia/all.csv similarity index 100% rename from nokia/all.csv rename to leetcode/nokia/all.csv diff --git a/nokia/more-than-six-months.csv b/leetcode/nokia/more-than-six-months.csv similarity index 100% rename from nokia/more-than-six-months.csv rename to leetcode/nokia/more-than-six-months.csv diff --git a/nordstrom/all.csv b/leetcode/nordstrom/all.csv similarity index 100% rename from nordstrom/all.csv rename to leetcode/nordstrom/all.csv diff --git a/nordstrom/more-than-six-months.csv b/leetcode/nordstrom/more-than-six-months.csv similarity index 100% rename from nordstrom/more-than-six-months.csv rename to leetcode/nordstrom/more-than-six-months.csv diff --git a/nordstrom/six-months.csv b/leetcode/nordstrom/six-months.csv similarity index 100% rename from nordstrom/six-months.csv rename to leetcode/nordstrom/six-months.csv diff --git a/nordstrom/three-months.csv b/leetcode/nordstrom/three-months.csv similarity index 100% rename from nordstrom/three-months.csv rename to leetcode/nordstrom/three-months.csv diff --git a/notion/all.csv b/leetcode/notion/all.csv similarity index 100% rename from notion/all.csv rename to leetcode/notion/all.csv diff --git a/notion/more-than-six-months.csv b/leetcode/notion/more-than-six-months.csv similarity index 100% rename from notion/more-than-six-months.csv rename to leetcode/notion/more-than-six-months.csv diff --git a/npci/all.csv b/leetcode/npci/all.csv similarity index 100% rename from npci/all.csv rename to leetcode/npci/all.csv diff --git a/npci/more-than-six-months.csv b/leetcode/npci/more-than-six-months.csv similarity index 100% rename from npci/more-than-six-months.csv rename to leetcode/npci/more-than-six-months.csv diff --git a/nuro/all.csv b/leetcode/nuro/all.csv similarity index 100% rename from nuro/all.csv rename to leetcode/nuro/all.csv diff --git a/nuro/more-than-six-months.csv b/leetcode/nuro/more-than-six-months.csv similarity index 100% rename from nuro/more-than-six-months.csv rename to leetcode/nuro/more-than-six-months.csv diff --git a/nuro/six-months.csv b/leetcode/nuro/six-months.csv similarity index 100% rename from nuro/six-months.csv rename to leetcode/nuro/six-months.csv diff --git a/nuro/thirty-days.csv b/leetcode/nuro/thirty-days.csv similarity index 100% rename from nuro/thirty-days.csv rename to leetcode/nuro/thirty-days.csv diff --git a/nuro/three-months.csv b/leetcode/nuro/three-months.csv similarity index 100% rename from nuro/three-months.csv rename to leetcode/nuro/three-months.csv diff --git a/nutanix/all.csv b/leetcode/nutanix/all.csv similarity index 100% rename from nutanix/all.csv rename to leetcode/nutanix/all.csv diff --git a/nutanix/more-than-six-months.csv b/leetcode/nutanix/more-than-six-months.csv similarity index 100% rename from nutanix/more-than-six-months.csv rename to leetcode/nutanix/more-than-six-months.csv diff --git a/nutanix/six-months.csv b/leetcode/nutanix/six-months.csv similarity index 100% rename from nutanix/six-months.csv rename to leetcode/nutanix/six-months.csv diff --git a/nutanix/thirty-days.csv b/leetcode/nutanix/thirty-days.csv similarity index 100% rename from nutanix/thirty-days.csv rename to leetcode/nutanix/thirty-days.csv diff --git a/nutanix/three-months.csv b/leetcode/nutanix/three-months.csv similarity index 100% rename from nutanix/three-months.csv rename to leetcode/nutanix/three-months.csv diff --git a/nvidia/all.csv b/leetcode/nvidia/all.csv similarity index 100% rename from nvidia/all.csv rename to leetcode/nvidia/all.csv diff --git a/nvidia/more-than-six-months.csv b/leetcode/nvidia/more-than-six-months.csv similarity index 100% rename from nvidia/more-than-six-months.csv rename to leetcode/nvidia/more-than-six-months.csv diff --git a/nvidia/six-months.csv b/leetcode/nvidia/six-months.csv similarity index 100% rename from nvidia/six-months.csv rename to leetcode/nvidia/six-months.csv diff --git a/nvidia/thirty-days.csv b/leetcode/nvidia/thirty-days.csv similarity index 100% rename from nvidia/thirty-days.csv rename to leetcode/nvidia/thirty-days.csv diff --git a/nvidia/three-months.csv b/leetcode/nvidia/three-months.csv similarity index 100% rename from nvidia/three-months.csv rename to leetcode/nvidia/three-months.csv diff --git a/nykaa/all.csv b/leetcode/nykaa/all.csv similarity index 100% rename from nykaa/all.csv rename to leetcode/nykaa/all.csv diff --git a/nykaa/more-than-six-months.csv b/leetcode/nykaa/more-than-six-months.csv similarity index 100% rename from nykaa/more-than-six-months.csv rename to leetcode/nykaa/more-than-six-months.csv diff --git a/nykaa/six-months.csv b/leetcode/nykaa/six-months.csv similarity index 100% rename from nykaa/six-months.csv rename to leetcode/nykaa/six-months.csv diff --git a/observeai/all.csv b/leetcode/observeai/all.csv similarity index 100% rename from observeai/all.csv rename to leetcode/observeai/all.csv diff --git a/observeai/more-than-six-months.csv b/leetcode/observeai/more-than-six-months.csv similarity index 100% rename from observeai/more-than-six-months.csv rename to leetcode/observeai/more-than-six-months.csv diff --git a/observeai/six-months.csv b/leetcode/observeai/six-months.csv similarity index 100% rename from observeai/six-months.csv rename to leetcode/observeai/six-months.csv diff --git a/odoo/all.csv b/leetcode/odoo/all.csv similarity index 100% rename from odoo/all.csv rename to leetcode/odoo/all.csv diff --git a/odoo/more-than-six-months.csv b/leetcode/odoo/more-than-six-months.csv similarity index 100% rename from odoo/more-than-six-months.csv rename to leetcode/odoo/more-than-six-months.csv diff --git a/okta/all.csv b/leetcode/okta/all.csv similarity index 100% rename from okta/all.csv rename to leetcode/okta/all.csv diff --git a/okta/more-than-six-months.csv b/leetcode/okta/more-than-six-months.csv similarity index 100% rename from okta/more-than-six-months.csv rename to leetcode/okta/more-than-six-months.csv diff --git a/okx/all.csv b/leetcode/okx/all.csv similarity index 100% rename from okx/all.csv rename to leetcode/okx/all.csv diff --git a/okx/more-than-six-months.csv b/leetcode/okx/more-than-six-months.csv similarity index 100% rename from okx/more-than-six-months.csv rename to leetcode/okx/more-than-six-months.csv diff --git a/ola/all.csv b/leetcode/ola/all.csv similarity index 100% rename from ola/all.csv rename to leetcode/ola/all.csv diff --git a/ola/more-than-six-months.csv b/leetcode/ola/more-than-six-months.csv similarity index 100% rename from ola/more-than-six-months.csv rename to leetcode/ola/more-than-six-months.csv diff --git a/olx/all.csv b/leetcode/olx/all.csv similarity index 100% rename from olx/all.csv rename to leetcode/olx/all.csv diff --git a/olx/six-months.csv b/leetcode/olx/six-months.csv similarity index 100% rename from olx/six-months.csv rename to leetcode/olx/six-months.csv diff --git a/openai/all.csv b/leetcode/openai/all.csv similarity index 100% rename from openai/all.csv rename to leetcode/openai/all.csv diff --git a/openai/more-than-six-months.csv b/leetcode/openai/more-than-six-months.csv similarity index 100% rename from openai/more-than-six-months.csv rename to leetcode/openai/more-than-six-months.csv diff --git a/openai/six-months.csv b/leetcode/openai/six-months.csv similarity index 100% rename from openai/six-months.csv rename to leetcode/openai/six-months.csv diff --git a/openai/three-months.csv b/leetcode/openai/three-months.csv similarity index 100% rename from openai/three-months.csv rename to leetcode/openai/three-months.csv diff --git a/opendoor/all.csv b/leetcode/opendoor/all.csv similarity index 100% rename from opendoor/all.csv rename to leetcode/opendoor/all.csv diff --git a/opendoor/more-than-six-months.csv b/leetcode/opendoor/more-than-six-months.csv similarity index 100% rename from opendoor/more-than-six-months.csv rename to leetcode/opendoor/more-than-six-months.csv diff --git a/opentext/all.csv b/leetcode/opentext/all.csv similarity index 100% rename from opentext/all.csv rename to leetcode/opentext/all.csv diff --git a/opentext/more-than-six-months.csv b/leetcode/opentext/more-than-six-months.csv similarity index 100% rename from opentext/more-than-six-months.csv rename to leetcode/opentext/more-than-six-months.csv diff --git a/oppo/all.csv b/leetcode/oppo/all.csv similarity index 100% rename from oppo/all.csv rename to leetcode/oppo/all.csv diff --git a/optiver/all.csv b/leetcode/optiver/all.csv similarity index 100% rename from optiver/all.csv rename to leetcode/optiver/all.csv diff --git a/optiver/more-than-six-months.csv b/leetcode/optiver/more-than-six-months.csv similarity index 100% rename from optiver/more-than-six-months.csv rename to leetcode/optiver/more-than-six-months.csv diff --git a/optum/all.csv b/leetcode/optum/all.csv similarity index 100% rename from optum/all.csv rename to leetcode/optum/all.csv diff --git a/optum/more-than-six-months.csv b/leetcode/optum/more-than-six-months.csv similarity index 100% rename from optum/more-than-six-months.csv rename to leetcode/optum/more-than-six-months.csv diff --git a/oracle/all.csv b/leetcode/oracle/all.csv similarity index 100% rename from oracle/all.csv rename to leetcode/oracle/all.csv diff --git a/oracle/more-than-six-months.csv b/leetcode/oracle/more-than-six-months.csv similarity index 100% rename from oracle/more-than-six-months.csv rename to leetcode/oracle/more-than-six-months.csv diff --git a/oracle/six-months.csv b/leetcode/oracle/six-months.csv similarity index 100% rename from oracle/six-months.csv rename to leetcode/oracle/six-months.csv diff --git a/oracle/thirty-days.csv b/leetcode/oracle/thirty-days.csv similarity index 100% rename from oracle/thirty-days.csv rename to leetcode/oracle/thirty-days.csv diff --git a/oracle/three-months.csv b/leetcode/oracle/three-months.csv similarity index 100% rename from oracle/three-months.csv rename to leetcode/oracle/three-months.csv diff --git a/oscar-health/all.csv b/leetcode/oscar-health/all.csv similarity index 100% rename from oscar-health/all.csv rename to leetcode/oscar-health/all.csv diff --git a/oscar-health/more-than-six-months.csv b/leetcode/oscar-health/more-than-six-months.csv similarity index 100% rename from oscar-health/more-than-six-months.csv rename to leetcode/oscar-health/more-than-six-months.csv diff --git a/oscar-health/six-months.csv b/leetcode/oscar-health/six-months.csv similarity index 100% rename from oscar-health/six-months.csv rename to leetcode/oscar-health/six-months.csv diff --git a/oscar-health/thirty-days.csv b/leetcode/oscar-health/thirty-days.csv similarity index 100% rename from oscar-health/thirty-days.csv rename to leetcode/oscar-health/thirty-days.csv diff --git a/oscar-health/three-months.csv b/leetcode/oscar-health/three-months.csv similarity index 100% rename from oscar-health/three-months.csv rename to leetcode/oscar-health/three-months.csv diff --git a/otterai/all.csv b/leetcode/otterai/all.csv similarity index 100% rename from otterai/all.csv rename to leetcode/otterai/all.csv diff --git a/otterai/more-than-six-months.csv b/leetcode/otterai/more-than-six-months.csv similarity index 100% rename from otterai/more-than-six-months.csv rename to leetcode/otterai/more-than-six-months.csv diff --git a/oyo/all.csv b/leetcode/oyo/all.csv similarity index 100% rename from oyo/all.csv rename to leetcode/oyo/all.csv diff --git a/oyo/more-than-six-months.csv b/leetcode/oyo/more-than-six-months.csv similarity index 100% rename from oyo/more-than-six-months.csv rename to leetcode/oyo/more-than-six-months.csv diff --git a/oyo/six-months.csv b/leetcode/oyo/six-months.csv similarity index 100% rename from oyo/six-months.csv rename to leetcode/oyo/six-months.csv diff --git a/oyo/three-months.csv b/leetcode/oyo/three-months.csv similarity index 100% rename from oyo/three-months.csv rename to leetcode/oyo/three-months.csv diff --git a/ozon/all.csv b/leetcode/ozon/all.csv similarity index 100% rename from ozon/all.csv rename to leetcode/ozon/all.csv diff --git a/ozon/more-than-six-months.csv b/leetcode/ozon/more-than-six-months.csv similarity index 100% rename from ozon/more-than-six-months.csv rename to leetcode/ozon/more-than-six-months.csv diff --git a/ozon/six-months.csv b/leetcode/ozon/six-months.csv similarity index 100% rename from ozon/six-months.csv rename to leetcode/ozon/six-months.csv diff --git a/ozon/three-months.csv b/leetcode/ozon/three-months.csv similarity index 100% rename from ozon/three-months.csv rename to leetcode/ozon/three-months.csv diff --git a/palantir-technologies/all.csv b/leetcode/palantir-technologies/all.csv similarity index 100% rename from palantir-technologies/all.csv rename to leetcode/palantir-technologies/all.csv diff --git a/palantir-technologies/more-than-six-months.csv b/leetcode/palantir-technologies/more-than-six-months.csv similarity index 100% rename from palantir-technologies/more-than-six-months.csv rename to leetcode/palantir-technologies/more-than-six-months.csv diff --git a/palantir-technologies/six-months.csv b/leetcode/palantir-technologies/six-months.csv similarity index 100% rename from palantir-technologies/six-months.csv rename to leetcode/palantir-technologies/six-months.csv diff --git a/palantir-technologies/three-months.csv b/leetcode/palantir-technologies/three-months.csv similarity index 100% rename from palantir-technologies/three-months.csv rename to leetcode/palantir-technologies/three-months.csv diff --git a/palo-alto-networks/all.csv b/leetcode/palo-alto-networks/all.csv similarity index 100% rename from palo-alto-networks/all.csv rename to leetcode/palo-alto-networks/all.csv diff --git a/palo-alto-networks/more-than-six-months.csv b/leetcode/palo-alto-networks/more-than-six-months.csv similarity index 100% rename from palo-alto-networks/more-than-six-months.csv rename to leetcode/palo-alto-networks/more-than-six-months.csv diff --git a/palo-alto-networks/six-months.csv b/leetcode/palo-alto-networks/six-months.csv similarity index 100% rename from palo-alto-networks/six-months.csv rename to leetcode/palo-alto-networks/six-months.csv diff --git a/palo-alto-networks/three-months.csv b/leetcode/palo-alto-networks/three-months.csv similarity index 100% rename from palo-alto-networks/three-months.csv rename to leetcode/palo-alto-networks/three-months.csv diff --git a/park/all.csv b/leetcode/park/all.csv similarity index 100% rename from park/all.csv rename to leetcode/park/all.csv diff --git a/park/more-than-six-months.csv b/leetcode/park/more-than-six-months.csv similarity index 100% rename from park/more-than-six-months.csv rename to leetcode/park/more-than-six-months.csv diff --git a/patreon/all.csv b/leetcode/patreon/all.csv similarity index 100% rename from patreon/all.csv rename to leetcode/patreon/all.csv diff --git a/patreon/more-than-six-months.csv b/leetcode/patreon/more-than-six-months.csv similarity index 100% rename from patreon/more-than-six-months.csv rename to leetcode/patreon/more-than-six-months.csv diff --git a/patreon/six-months.csv b/leetcode/patreon/six-months.csv similarity index 100% rename from patreon/six-months.csv rename to leetcode/patreon/six-months.csv diff --git a/paycom/all.csv b/leetcode/paycom/all.csv similarity index 100% rename from paycom/all.csv rename to leetcode/paycom/all.csv diff --git a/paycom/more-than-six-months.csv b/leetcode/paycom/more-than-six-months.csv similarity index 100% rename from paycom/more-than-six-months.csv rename to leetcode/paycom/more-than-six-months.csv diff --git a/paypal/all.csv b/leetcode/paypal/all.csv similarity index 100% rename from paypal/all.csv rename to leetcode/paypal/all.csv diff --git a/paypal/more-than-six-months.csv b/leetcode/paypal/more-than-six-months.csv similarity index 100% rename from paypal/more-than-six-months.csv rename to leetcode/paypal/more-than-six-months.csv diff --git a/paypal/six-months.csv b/leetcode/paypal/six-months.csv similarity index 100% rename from paypal/six-months.csv rename to leetcode/paypal/six-months.csv diff --git a/paypal/thirty-days.csv b/leetcode/paypal/thirty-days.csv similarity index 100% rename from paypal/thirty-days.csv rename to leetcode/paypal/thirty-days.csv diff --git a/paypal/three-months.csv b/leetcode/paypal/three-months.csv similarity index 100% rename from paypal/three-months.csv rename to leetcode/paypal/three-months.csv diff --git a/paypay/all.csv b/leetcode/paypay/all.csv similarity index 100% rename from paypay/all.csv rename to leetcode/paypay/all.csv diff --git a/paypay/more-than-six-months.csv b/leetcode/paypay/more-than-six-months.csv similarity index 100% rename from paypay/more-than-six-months.csv rename to leetcode/paypay/more-than-six-months.csv diff --git a/paypay/six-months.csv b/leetcode/paypay/six-months.csv similarity index 100% rename from paypay/six-months.csv rename to leetcode/paypay/six-months.csv diff --git a/paypay/three-months.csv b/leetcode/paypay/three-months.csv similarity index 100% rename from paypay/three-months.csv rename to leetcode/paypay/three-months.csv diff --git a/paytm/all.csv b/leetcode/paytm/all.csv similarity index 100% rename from paytm/all.csv rename to leetcode/paytm/all.csv diff --git a/paytm/more-than-six-months.csv b/leetcode/paytm/more-than-six-months.csv similarity index 100% rename from paytm/more-than-six-months.csv rename to leetcode/paytm/more-than-six-months.csv diff --git a/paytm/six-months.csv b/leetcode/paytm/six-months.csv similarity index 100% rename from paytm/six-months.csv rename to leetcode/paytm/six-months.csv diff --git a/payu/all.csv b/leetcode/payu/all.csv similarity index 100% rename from payu/all.csv rename to leetcode/payu/all.csv diff --git a/payu/more-than-six-months.csv b/leetcode/payu/more-than-six-months.csv similarity index 100% rename from payu/more-than-six-months.csv rename to leetcode/payu/more-than-six-months.csv diff --git a/peak6/all.csv b/leetcode/peak6/all.csv similarity index 100% rename from peak6/all.csv rename to leetcode/peak6/all.csv diff --git a/pega/all.csv b/leetcode/pega/all.csv similarity index 100% rename from pega/all.csv rename to leetcode/pega/all.csv diff --git a/peloton/all.csv b/leetcode/peloton/all.csv similarity index 100% rename from peloton/all.csv rename to leetcode/peloton/all.csv diff --git a/peloton/more-than-six-months.csv b/leetcode/peloton/more-than-six-months.csv similarity index 100% rename from peloton/more-than-six-months.csv rename to leetcode/peloton/more-than-six-months.csv diff --git a/persistent-systems/all.csv b/leetcode/persistent-systems/all.csv similarity index 100% rename from persistent-systems/all.csv rename to leetcode/persistent-systems/all.csv diff --git a/persistent-systems/more-than-six-months.csv b/leetcode/persistent-systems/more-than-six-months.csv similarity index 100% rename from persistent-systems/more-than-six-months.csv rename to leetcode/persistent-systems/more-than-six-months.csv diff --git a/persistent-systems/six-months.csv b/leetcode/persistent-systems/six-months.csv similarity index 100% rename from persistent-systems/six-months.csv rename to leetcode/persistent-systems/six-months.csv diff --git a/philips/all.csv b/leetcode/philips/all.csv similarity index 100% rename from philips/all.csv rename to leetcode/philips/all.csv diff --git a/philips/six-months.csv b/leetcode/philips/six-months.csv similarity index 100% rename from philips/six-months.csv rename to leetcode/philips/six-months.csv diff --git a/phonepe/all.csv b/leetcode/phonepe/all.csv similarity index 100% rename from phonepe/all.csv rename to leetcode/phonepe/all.csv diff --git a/phonepe/more-than-six-months.csv b/leetcode/phonepe/more-than-six-months.csv similarity index 100% rename from phonepe/more-than-six-months.csv rename to leetcode/phonepe/more-than-six-months.csv diff --git a/phonepe/six-months.csv b/leetcode/phonepe/six-months.csv similarity index 100% rename from phonepe/six-months.csv rename to leetcode/phonepe/six-months.csv diff --git a/phonepe/thirty-days.csv b/leetcode/phonepe/thirty-days.csv similarity index 100% rename from phonepe/thirty-days.csv rename to leetcode/phonepe/thirty-days.csv diff --git a/phonepe/three-months.csv b/leetcode/phonepe/three-months.csv similarity index 100% rename from phonepe/three-months.csv rename to leetcode/phonepe/three-months.csv diff --git a/pickrr/all.csv b/leetcode/pickrr/all.csv similarity index 100% rename from pickrr/all.csv rename to leetcode/pickrr/all.csv diff --git a/pickrr/more-than-six-months.csv b/leetcode/pickrr/more-than-six-months.csv similarity index 100% rename from pickrr/more-than-six-months.csv rename to leetcode/pickrr/more-than-six-months.csv diff --git a/pinterest/all.csv b/leetcode/pinterest/all.csv similarity index 100% rename from pinterest/all.csv rename to leetcode/pinterest/all.csv diff --git a/pinterest/more-than-six-months.csv b/leetcode/pinterest/more-than-six-months.csv similarity index 100% rename from pinterest/more-than-six-months.csv rename to leetcode/pinterest/more-than-six-months.csv diff --git a/pinterest/six-months.csv b/leetcode/pinterest/six-months.csv similarity index 100% rename from pinterest/six-months.csv rename to leetcode/pinterest/six-months.csv diff --git a/pinterest/thirty-days.csv b/leetcode/pinterest/thirty-days.csv similarity index 100% rename from pinterest/thirty-days.csv rename to leetcode/pinterest/thirty-days.csv diff --git a/pinterest/three-months.csv b/leetcode/pinterest/three-months.csv similarity index 100% rename from pinterest/three-months.csv rename to leetcode/pinterest/three-months.csv diff --git a/plaid/all.csv b/leetcode/plaid/all.csv similarity index 100% rename from plaid/all.csv rename to leetcode/plaid/all.csv diff --git a/plaid/six-months.csv b/leetcode/plaid/six-months.csv similarity index 100% rename from plaid/six-months.csv rename to leetcode/plaid/six-months.csv diff --git a/plaid/three-months.csv b/leetcode/plaid/three-months.csv similarity index 100% rename from plaid/three-months.csv rename to leetcode/plaid/three-months.csv diff --git a/pocket-gems/all.csv b/leetcode/pocket-gems/all.csv similarity index 100% rename from pocket-gems/all.csv rename to leetcode/pocket-gems/all.csv diff --git a/pocket-gems/more-than-six-months.csv b/leetcode/pocket-gems/more-than-six-months.csv similarity index 100% rename from pocket-gems/more-than-six-months.csv rename to leetcode/pocket-gems/more-than-six-months.csv diff --git a/point72/all.csv b/leetcode/point72/all.csv similarity index 100% rename from point72/all.csv rename to leetcode/point72/all.csv diff --git a/point72/more-than-six-months.csv b/leetcode/point72/more-than-six-months.csv similarity index 100% rename from point72/more-than-six-months.csv rename to leetcode/point72/more-than-six-months.csv diff --git a/polar/all.csv b/leetcode/polar/all.csv similarity index 100% rename from polar/all.csv rename to leetcode/polar/all.csv diff --git a/polar/more-than-six-months.csv b/leetcode/polar/more-than-six-months.csv similarity index 100% rename from polar/more-than-six-months.csv rename to leetcode/polar/more-than-six-months.csv diff --git a/ponyai/all.csv b/leetcode/ponyai/all.csv similarity index 100% rename from ponyai/all.csv rename to leetcode/ponyai/all.csv diff --git a/ponyai/more-than-six-months.csv b/leetcode/ponyai/more-than-six-months.csv similarity index 100% rename from ponyai/more-than-six-months.csv rename to leetcode/ponyai/more-than-six-months.csv diff --git a/pornhub/all.csv b/leetcode/pornhub/all.csv similarity index 100% rename from pornhub/all.csv rename to leetcode/pornhub/all.csv diff --git a/pornhub/more-than-six-months.csv b/leetcode/pornhub/more-than-six-months.csv similarity index 100% rename from pornhub/more-than-six-months.csv rename to leetcode/pornhub/more-than-six-months.csv diff --git a/porter/all.csv b/leetcode/porter/all.csv similarity index 100% rename from porter/all.csv rename to leetcode/porter/all.csv diff --git a/porter/more-than-six-months.csv b/leetcode/porter/more-than-six-months.csv similarity index 100% rename from porter/more-than-six-months.csv rename to leetcode/porter/more-than-six-months.csv diff --git a/poshmark/all.csv b/leetcode/poshmark/all.csv similarity index 100% rename from poshmark/all.csv rename to leetcode/poshmark/all.csv diff --git a/poshmark/more-than-six-months.csv b/leetcode/poshmark/more-than-six-months.csv similarity index 100% rename from poshmark/more-than-six-months.csv rename to leetcode/poshmark/more-than-six-months.csv diff --git a/postman/all.csv b/leetcode/postman/all.csv similarity index 100% rename from postman/all.csv rename to leetcode/postman/all.csv diff --git a/postmates/all.csv b/leetcode/postmates/all.csv similarity index 100% rename from postmates/all.csv rename to leetcode/postmates/all.csv diff --git a/postmates/more-than-six-months.csv b/leetcode/postmates/more-than-six-months.csv similarity index 100% rename from postmates/more-than-six-months.csv rename to leetcode/postmates/more-than-six-months.csv diff --git a/poynt/all.csv b/leetcode/poynt/all.csv similarity index 100% rename from poynt/all.csv rename to leetcode/poynt/all.csv diff --git a/poynt/more-than-six-months.csv b/leetcode/poynt/more-than-six-months.csv similarity index 100% rename from poynt/more-than-six-months.csv rename to leetcode/poynt/more-than-six-months.csv diff --git a/practo/all.csv b/leetcode/practo/all.csv similarity index 100% rename from practo/all.csv rename to leetcode/practo/all.csv diff --git a/practo/more-than-six-months.csv b/leetcode/practo/more-than-six-months.csv similarity index 100% rename from practo/more-than-six-months.csv rename to leetcode/practo/more-than-six-months.csv diff --git a/publicis-sapient/all.csv b/leetcode/publicis-sapient/all.csv similarity index 100% rename from publicis-sapient/all.csv rename to leetcode/publicis-sapient/all.csv diff --git a/publicis-sapient/more-than-six-months.csv b/leetcode/publicis-sapient/more-than-six-months.csv similarity index 100% rename from publicis-sapient/more-than-six-months.csv rename to leetcode/publicis-sapient/more-than-six-months.csv diff --git a/publicis-sapient/six-months.csv b/leetcode/publicis-sapient/six-months.csv similarity index 100% rename from publicis-sapient/six-months.csv rename to leetcode/publicis-sapient/six-months.csv diff --git a/pubmatic/all.csv b/leetcode/pubmatic/all.csv similarity index 100% rename from pubmatic/all.csv rename to leetcode/pubmatic/all.csv diff --git a/pubmatic/more-than-six-months.csv b/leetcode/pubmatic/more-than-six-months.csv similarity index 100% rename from pubmatic/more-than-six-months.csv rename to leetcode/pubmatic/more-than-six-months.csv diff --git a/pure-storage/all.csv b/leetcode/pure-storage/all.csv similarity index 100% rename from pure-storage/all.csv rename to leetcode/pure-storage/all.csv diff --git a/pure-storage/more-than-six-months.csv b/leetcode/pure-storage/more-than-six-months.csv similarity index 100% rename from pure-storage/more-than-six-months.csv rename to leetcode/pure-storage/more-than-six-months.csv diff --git a/pure-storage/six-months.csv b/leetcode/pure-storage/six-months.csv similarity index 100% rename from pure-storage/six-months.csv rename to leetcode/pure-storage/six-months.csv diff --git a/pure-storage/three-months.csv b/leetcode/pure-storage/three-months.csv similarity index 100% rename from pure-storage/three-months.csv rename to leetcode/pure-storage/three-months.csv diff --git a/pure/all.csv b/leetcode/pure/all.csv similarity index 100% rename from pure/all.csv rename to leetcode/pure/all.csv diff --git a/pure/six-months.csv b/leetcode/pure/six-months.csv similarity index 100% rename from pure/six-months.csv rename to leetcode/pure/six-months.csv diff --git a/purplle/all.csv b/leetcode/purplle/all.csv similarity index 100% rename from purplle/all.csv rename to leetcode/purplle/all.csv diff --git a/purplle/more-than-six-months.csv b/leetcode/purplle/more-than-six-months.csv similarity index 100% rename from purplle/more-than-six-months.csv rename to leetcode/purplle/more-than-six-months.csv diff --git a/pwc/all.csv b/leetcode/pwc/all.csv similarity index 100% rename from pwc/all.csv rename to leetcode/pwc/all.csv diff --git a/pwc/more-than-six-months.csv b/leetcode/pwc/more-than-six-months.csv similarity index 100% rename from pwc/more-than-six-months.csv rename to leetcode/pwc/more-than-six-months.csv diff --git a/pwc/six-months.csv b/leetcode/pwc/six-months.csv similarity index 100% rename from pwc/six-months.csv rename to leetcode/pwc/six-months.csv diff --git a/qburst/all.csv b/leetcode/qburst/all.csv similarity index 100% rename from qburst/all.csv rename to leetcode/qburst/all.csv diff --git a/qburst/more-than-six-months.csv b/leetcode/qburst/more-than-six-months.csv similarity index 100% rename from qburst/more-than-six-months.csv rename to leetcode/qburst/more-than-six-months.csv diff --git a/qualcomm/all.csv b/leetcode/qualcomm/all.csv similarity index 100% rename from qualcomm/all.csv rename to leetcode/qualcomm/all.csv diff --git a/qualcomm/more-than-six-months.csv b/leetcode/qualcomm/more-than-six-months.csv similarity index 100% rename from qualcomm/more-than-six-months.csv rename to leetcode/qualcomm/more-than-six-months.csv diff --git a/qualcomm/six-months.csv b/leetcode/qualcomm/six-months.csv similarity index 100% rename from qualcomm/six-months.csv rename to leetcode/qualcomm/six-months.csv diff --git a/qualcomm/three-months.csv b/leetcode/qualcomm/three-months.csv similarity index 100% rename from qualcomm/three-months.csv rename to leetcode/qualcomm/three-months.csv diff --git a/qualtrics/all.csv b/leetcode/qualtrics/all.csv similarity index 100% rename from qualtrics/all.csv rename to leetcode/qualtrics/all.csv diff --git a/qualtrics/more-than-six-months.csv b/leetcode/qualtrics/more-than-six-months.csv similarity index 100% rename from qualtrics/more-than-six-months.csv rename to leetcode/qualtrics/more-than-six-months.csv diff --git a/qualtrics/six-months.csv b/leetcode/qualtrics/six-months.csv similarity index 100% rename from qualtrics/six-months.csv rename to leetcode/qualtrics/six-months.csv diff --git a/qualys/all.csv b/leetcode/qualys/all.csv similarity index 100% rename from qualys/all.csv rename to leetcode/qualys/all.csv diff --git a/qualys/more-than-six-months.csv b/leetcode/qualys/more-than-six-months.csv similarity index 100% rename from qualys/more-than-six-months.csv rename to leetcode/qualys/more-than-six-months.csv diff --git a/quantcast/all.csv b/leetcode/quantcast/all.csv similarity index 100% rename from quantcast/all.csv rename to leetcode/quantcast/all.csv diff --git a/quantcast/six-months.csv b/leetcode/quantcast/six-months.csv similarity index 100% rename from quantcast/six-months.csv rename to leetcode/quantcast/six-months.csv diff --git a/quantcast/three-months.csv b/leetcode/quantcast/three-months.csv similarity index 100% rename from quantcast/three-months.csv rename to leetcode/quantcast/three-months.csv diff --git a/quince/all.csv b/leetcode/quince/all.csv similarity index 100% rename from quince/all.csv rename to leetcode/quince/all.csv diff --git a/quince/more-than-six-months.csv b/leetcode/quince/more-than-six-months.csv similarity index 100% rename from quince/more-than-six-months.csv rename to leetcode/quince/more-than-six-months.csv diff --git a/quince/six-months.csv b/leetcode/quince/six-months.csv similarity index 100% rename from quince/six-months.csv rename to leetcode/quince/six-months.csv diff --git a/quince/thirty-days.csv b/leetcode/quince/thirty-days.csv similarity index 100% rename from quince/thirty-days.csv rename to leetcode/quince/thirty-days.csv diff --git a/quince/three-months.csv b/leetcode/quince/three-months.csv similarity index 100% rename from quince/three-months.csv rename to leetcode/quince/three-months.csv diff --git a/qumulo/all.csv b/leetcode/qumulo/all.csv similarity index 100% rename from qumulo/all.csv rename to leetcode/qumulo/all.csv diff --git a/qumulo/more-than-six-months.csv b/leetcode/qumulo/more-than-six-months.csv similarity index 100% rename from qumulo/more-than-six-months.csv rename to leetcode/qumulo/more-than-six-months.csv diff --git a/quora/all.csv b/leetcode/quora/all.csv similarity index 100% rename from quora/all.csv rename to leetcode/quora/all.csv diff --git a/quora/more-than-six-months.csv b/leetcode/quora/more-than-six-months.csv similarity index 100% rename from quora/more-than-six-months.csv rename to leetcode/quora/more-than-six-months.csv diff --git a/quora/six-months.csv b/leetcode/quora/six-months.csv similarity index 100% rename from quora/six-months.csv rename to leetcode/quora/six-months.csv diff --git a/quora/three-months.csv b/leetcode/quora/three-months.csv similarity index 100% rename from quora/three-months.csv rename to leetcode/quora/three-months.csv diff --git a/rackspace/all.csv b/leetcode/rackspace/all.csv similarity index 100% rename from rackspace/all.csv rename to leetcode/rackspace/all.csv diff --git a/rackspace/more-than-six-months.csv b/leetcode/rackspace/more-than-six-months.csv similarity index 100% rename from rackspace/more-than-six-months.csv rename to leetcode/rackspace/more-than-six-months.csv diff --git a/radius/all.csv b/leetcode/radius/all.csv similarity index 100% rename from radius/all.csv rename to leetcode/radius/all.csv diff --git a/radius/more-than-six-months.csv b/leetcode/radius/more-than-six-months.csv similarity index 100% rename from radius/more-than-six-months.csv rename to leetcode/radius/more-than-six-months.csv diff --git a/rakuten/all.csv b/leetcode/rakuten/all.csv similarity index 100% rename from rakuten/all.csv rename to leetcode/rakuten/all.csv diff --git a/rakuten/more-than-six-months.csv b/leetcode/rakuten/more-than-six-months.csv similarity index 100% rename from rakuten/more-than-six-months.csv rename to leetcode/rakuten/more-than-six-months.csv diff --git a/rakuten/six-months.csv b/leetcode/rakuten/six-months.csv similarity index 100% rename from rakuten/six-months.csv rename to leetcode/rakuten/six-months.csv diff --git a/rakuten/thirty-days.csv b/leetcode/rakuten/thirty-days.csv similarity index 100% rename from rakuten/thirty-days.csv rename to leetcode/rakuten/thirty-days.csv diff --git a/rakuten/three-months.csv b/leetcode/rakuten/three-months.csv similarity index 100% rename from rakuten/three-months.csv rename to leetcode/rakuten/three-months.csv diff --git a/ramp-2/all.csv b/leetcode/ramp-2/all.csv similarity index 100% rename from ramp-2/all.csv rename to leetcode/ramp-2/all.csv diff --git a/ramp-2/more-than-six-months.csv b/leetcode/ramp-2/more-than-six-months.csv similarity index 100% rename from ramp-2/more-than-six-months.csv rename to leetcode/ramp-2/more-than-six-months.csv diff --git a/ramp-2/six-months.csv b/leetcode/ramp-2/six-months.csv similarity index 100% rename from ramp-2/six-months.csv rename to leetcode/ramp-2/six-months.csv diff --git a/ramp-2/three-months.csv b/leetcode/ramp-2/three-months.csv similarity index 100% rename from ramp-2/three-months.csv rename to leetcode/ramp-2/three-months.csv diff --git a/razorpay/all.csv b/leetcode/razorpay/all.csv similarity index 100% rename from razorpay/all.csv rename to leetcode/razorpay/all.csv diff --git a/razorpay/more-than-six-months.csv b/leetcode/razorpay/more-than-six-months.csv similarity index 100% rename from razorpay/more-than-six-months.csv rename to leetcode/razorpay/more-than-six-months.csv diff --git a/razorpay/six-months.csv b/leetcode/razorpay/six-months.csv similarity index 100% rename from razorpay/six-months.csv rename to leetcode/razorpay/six-months.csv diff --git a/rbc/all.csv b/leetcode/rbc/all.csv similarity index 100% rename from rbc/all.csv rename to leetcode/rbc/all.csv diff --git a/rbc/more-than-six-months.csv b/leetcode/rbc/more-than-six-months.csv similarity index 100% rename from rbc/more-than-six-months.csv rename to leetcode/rbc/more-than-six-months.csv diff --git a/rbc/six-months.csv b/leetcode/rbc/six-months.csv similarity index 100% rename from rbc/six-months.csv rename to leetcode/rbc/six-months.csv diff --git a/redbus/all.csv b/leetcode/redbus/all.csv similarity index 100% rename from redbus/all.csv rename to leetcode/redbus/all.csv diff --git a/redbus/more-than-six-months.csv b/leetcode/redbus/more-than-six-months.csv similarity index 100% rename from redbus/more-than-six-months.csv rename to leetcode/redbus/more-than-six-months.csv diff --git a/reddit/all.csv b/leetcode/reddit/all.csv similarity index 100% rename from reddit/all.csv rename to leetcode/reddit/all.csv diff --git a/reddit/more-than-six-months.csv b/leetcode/reddit/more-than-six-months.csv similarity index 100% rename from reddit/more-than-six-months.csv rename to leetcode/reddit/more-than-six-months.csv diff --git a/reddit/six-months.csv b/leetcode/reddit/six-months.csv similarity index 100% rename from reddit/six-months.csv rename to leetcode/reddit/six-months.csv diff --git a/redfin/all.csv b/leetcode/redfin/all.csv similarity index 100% rename from redfin/all.csv rename to leetcode/redfin/all.csv diff --git a/redfin/six-months.csv b/leetcode/redfin/six-months.csv similarity index 100% rename from redfin/six-months.csv rename to leetcode/redfin/six-months.csv diff --git a/remitly/all.csv b/leetcode/remitly/all.csv similarity index 100% rename from remitly/all.csv rename to leetcode/remitly/all.csv diff --git a/remitly/more-than-six-months.csv b/leetcode/remitly/more-than-six-months.csv similarity index 100% rename from remitly/more-than-six-months.csv rename to leetcode/remitly/more-than-six-months.csv diff --git a/remitly/six-months.csv b/leetcode/remitly/six-months.csv similarity index 100% rename from remitly/six-months.csv rename to leetcode/remitly/six-months.csv diff --git a/remitly/three-months.csv b/leetcode/remitly/three-months.csv similarity index 100% rename from remitly/three-months.csv rename to leetcode/remitly/three-months.csv diff --git a/retailmenot/all.csv b/leetcode/retailmenot/all.csv similarity index 100% rename from retailmenot/all.csv rename to leetcode/retailmenot/all.csv diff --git a/retailmenot/more-than-six-months.csv b/leetcode/retailmenot/more-than-six-months.csv similarity index 100% rename from retailmenot/more-than-six-months.csv rename to leetcode/retailmenot/more-than-six-months.csv diff --git a/revolut/all.csv b/leetcode/revolut/all.csv similarity index 100% rename from revolut/all.csv rename to leetcode/revolut/all.csv diff --git a/revolut/more-than-six-months.csv b/leetcode/revolut/more-than-six-months.csv similarity index 100% rename from revolut/more-than-six-months.csv rename to leetcode/revolut/more-than-six-months.csv diff --git a/revolut/six-months.csv b/leetcode/revolut/six-months.csv similarity index 100% rename from revolut/six-months.csv rename to leetcode/revolut/six-months.csv diff --git a/revolut/three-months.csv b/leetcode/revolut/three-months.csv similarity index 100% rename from revolut/three-months.csv rename to leetcode/revolut/three-months.csv diff --git a/riot-games/all.csv b/leetcode/riot-games/all.csv similarity index 100% rename from riot-games/all.csv rename to leetcode/riot-games/all.csv diff --git a/riot-games/more-than-six-months.csv b/leetcode/riot-games/more-than-six-months.csv similarity index 100% rename from riot-games/more-than-six-months.csv rename to leetcode/riot-games/more-than-six-months.csv diff --git a/riot-games/six-months.csv b/leetcode/riot-games/six-months.csv similarity index 100% rename from riot-games/six-months.csv rename to leetcode/riot-games/six-months.csv diff --git a/ripple/all.csv b/leetcode/ripple/all.csv similarity index 100% rename from ripple/all.csv rename to leetcode/ripple/all.csv diff --git a/ripple/more-than-six-months.csv b/leetcode/ripple/more-than-six-months.csv similarity index 100% rename from ripple/more-than-six-months.csv rename to leetcode/ripple/more-than-six-months.csv diff --git a/ripple/six-months.csv b/leetcode/ripple/six-months.csv similarity index 100% rename from ripple/six-months.csv rename to leetcode/ripple/six-months.csv diff --git a/ripple/three-months.csv b/leetcode/ripple/three-months.csv similarity index 100% rename from ripple/three-months.csv rename to leetcode/ripple/three-months.csv diff --git a/rippling/all.csv b/leetcode/rippling/all.csv similarity index 100% rename from rippling/all.csv rename to leetcode/rippling/all.csv diff --git a/rippling/more-than-six-months.csv b/leetcode/rippling/more-than-six-months.csv similarity index 100% rename from rippling/more-than-six-months.csv rename to leetcode/rippling/more-than-six-months.csv diff --git a/rippling/six-months.csv b/leetcode/rippling/six-months.csv similarity index 100% rename from rippling/six-months.csv rename to leetcode/rippling/six-months.csv diff --git a/rivian/all.csv b/leetcode/rivian/all.csv similarity index 100% rename from rivian/all.csv rename to leetcode/rivian/all.csv diff --git a/rivian/more-than-six-months.csv b/leetcode/rivian/more-than-six-months.csv similarity index 100% rename from rivian/more-than-six-months.csv rename to leetcode/rivian/more-than-six-months.csv diff --git a/rivian/six-months.csv b/leetcode/rivian/six-months.csv similarity index 100% rename from rivian/six-months.csv rename to leetcode/rivian/six-months.csv diff --git a/rivian/three-months.csv b/leetcode/rivian/three-months.csv similarity index 100% rename from rivian/three-months.csv rename to leetcode/rivian/three-months.csv diff --git a/robinhood/all.csv b/leetcode/robinhood/all.csv similarity index 100% rename from robinhood/all.csv rename to leetcode/robinhood/all.csv diff --git a/robinhood/more-than-six-months.csv b/leetcode/robinhood/more-than-six-months.csv similarity index 100% rename from robinhood/more-than-six-months.csv rename to leetcode/robinhood/more-than-six-months.csv diff --git a/robinhood/six-months.csv b/leetcode/robinhood/six-months.csv similarity index 100% rename from robinhood/six-months.csv rename to leetcode/robinhood/six-months.csv diff --git a/robinhood/three-months.csv b/leetcode/robinhood/three-months.csv similarity index 100% rename from robinhood/three-months.csv rename to leetcode/robinhood/three-months.csv diff --git a/roblox/all.csv b/leetcode/roblox/all.csv similarity index 100% rename from roblox/all.csv rename to leetcode/roblox/all.csv diff --git a/roblox/more-than-six-months.csv b/leetcode/roblox/more-than-six-months.csv similarity index 100% rename from roblox/more-than-six-months.csv rename to leetcode/roblox/more-than-six-months.csv diff --git a/roblox/six-months.csv b/leetcode/roblox/six-months.csv similarity index 100% rename from roblox/six-months.csv rename to leetcode/roblox/six-months.csv diff --git a/roblox/thirty-days.csv b/leetcode/roblox/thirty-days.csv similarity index 100% rename from roblox/thirty-days.csv rename to leetcode/roblox/thirty-days.csv diff --git a/roblox/three-months.csv b/leetcode/roblox/three-months.csv similarity index 100% rename from roblox/three-months.csv rename to leetcode/roblox/three-months.csv diff --git a/roche/all.csv b/leetcode/roche/all.csv similarity index 100% rename from roche/all.csv rename to leetcode/roche/all.csv diff --git a/roche/more-than-six-months.csv b/leetcode/roche/more-than-six-months.csv similarity index 100% rename from roche/more-than-six-months.csv rename to leetcode/roche/more-than-six-months.csv diff --git a/rokt/all.csv b/leetcode/rokt/all.csv similarity index 100% rename from rokt/all.csv rename to leetcode/rokt/all.csv diff --git a/rokt/more-than-six-months.csv b/leetcode/rokt/more-than-six-months.csv similarity index 100% rename from rokt/more-than-six-months.csv rename to leetcode/rokt/more-than-six-months.csv diff --git a/rokt/six-months.csv b/leetcode/rokt/six-months.csv similarity index 100% rename from rokt/six-months.csv rename to leetcode/rokt/six-months.csv diff --git a/roku/all.csv b/leetcode/roku/all.csv similarity index 100% rename from roku/all.csv rename to leetcode/roku/all.csv diff --git a/roku/more-than-six-months.csv b/leetcode/roku/more-than-six-months.csv similarity index 100% rename from roku/more-than-six-months.csv rename to leetcode/roku/more-than-six-months.csv diff --git a/roku/six-months.csv b/leetcode/roku/six-months.csv similarity index 100% rename from roku/six-months.csv rename to leetcode/roku/six-months.csv diff --git a/roku/three-months.csv b/leetcode/roku/three-months.csv similarity index 100% rename from roku/three-months.csv rename to leetcode/roku/three-months.csv diff --git a/rubrik/all.csv b/leetcode/rubrik/all.csv similarity index 100% rename from rubrik/all.csv rename to leetcode/rubrik/all.csv diff --git a/rubrik/more-than-six-months.csv b/leetcode/rubrik/more-than-six-months.csv similarity index 100% rename from rubrik/more-than-six-months.csv rename to leetcode/rubrik/more-than-six-months.csv diff --git a/rubrik/six-months.csv b/leetcode/rubrik/six-months.csv similarity index 100% rename from rubrik/six-months.csv rename to leetcode/rubrik/six-months.csv diff --git a/rubrik/three-months.csv b/leetcode/rubrik/three-months.csv similarity index 100% rename from rubrik/three-months.csv rename to leetcode/rubrik/three-months.csv diff --git a/salesforce/all.csv b/leetcode/salesforce/all.csv similarity index 100% rename from salesforce/all.csv rename to leetcode/salesforce/all.csv diff --git a/salesforce/more-than-six-months.csv b/leetcode/salesforce/more-than-six-months.csv similarity index 100% rename from salesforce/more-than-six-months.csv rename to leetcode/salesforce/more-than-six-months.csv diff --git a/salesforce/six-months.csv b/leetcode/salesforce/six-months.csv similarity index 100% rename from salesforce/six-months.csv rename to leetcode/salesforce/six-months.csv diff --git a/salesforce/thirty-days.csv b/leetcode/salesforce/thirty-days.csv similarity index 100% rename from salesforce/thirty-days.csv rename to leetcode/salesforce/thirty-days.csv diff --git a/salesforce/three-months.csv b/leetcode/salesforce/three-months.csv similarity index 100% rename from salesforce/three-months.csv rename to leetcode/salesforce/three-months.csv diff --git a/sambanova/all.csv b/leetcode/sambanova/all.csv similarity index 100% rename from sambanova/all.csv rename to leetcode/sambanova/all.csv diff --git a/samsara/all.csv b/leetcode/samsara/all.csv similarity index 100% rename from samsara/all.csv rename to leetcode/samsara/all.csv diff --git a/samsara/more-than-six-months.csv b/leetcode/samsara/more-than-six-months.csv similarity index 100% rename from samsara/more-than-six-months.csv rename to leetcode/samsara/more-than-six-months.csv diff --git a/samsara/six-months.csv b/leetcode/samsara/six-months.csv similarity index 100% rename from samsara/six-months.csv rename to leetcode/samsara/six-months.csv diff --git a/samsung/all.csv b/leetcode/samsung/all.csv similarity index 100% rename from samsung/all.csv rename to leetcode/samsung/all.csv diff --git a/samsung/more-than-six-months.csv b/leetcode/samsung/more-than-six-months.csv similarity index 100% rename from samsung/more-than-six-months.csv rename to leetcode/samsung/more-than-six-months.csv diff --git a/samsung/six-months.csv b/leetcode/samsung/six-months.csv similarity index 100% rename from samsung/six-months.csv rename to leetcode/samsung/six-months.csv diff --git a/samsung/three-months.csv b/leetcode/samsung/three-months.csv similarity index 100% rename from samsung/three-months.csv rename to leetcode/samsung/three-months.csv diff --git a/sap/all.csv b/leetcode/sap/all.csv similarity index 100% rename from sap/all.csv rename to leetcode/sap/all.csv diff --git a/sap/more-than-six-months.csv b/leetcode/sap/more-than-six-months.csv similarity index 100% rename from sap/more-than-six-months.csv rename to leetcode/sap/more-than-six-months.csv diff --git a/sap/six-months.csv b/leetcode/sap/six-months.csv similarity index 100% rename from sap/six-months.csv rename to leetcode/sap/six-months.csv diff --git a/sap/three-months.csv b/leetcode/sap/three-months.csv similarity index 100% rename from sap/three-months.csv rename to leetcode/sap/three-months.csv diff --git a/scale-ai/all.csv b/leetcode/scale-ai/all.csv similarity index 100% rename from scale-ai/all.csv rename to leetcode/scale-ai/all.csv diff --git a/scale-ai/more-than-six-months.csv b/leetcode/scale-ai/more-than-six-months.csv similarity index 100% rename from scale-ai/more-than-six-months.csv rename to leetcode/scale-ai/more-than-six-months.csv diff --git a/schneider-electric/all.csv b/leetcode/schneider-electric/all.csv similarity index 100% rename from schneider-electric/all.csv rename to leetcode/schneider-electric/all.csv diff --git a/schneider-electric/more-than-six-months.csv b/leetcode/schneider-electric/more-than-six-months.csv similarity index 100% rename from schneider-electric/more-than-six-months.csv rename to leetcode/schneider-electric/more-than-six-months.csv diff --git a/schrodinger/all.csv b/leetcode/schrodinger/all.csv similarity index 100% rename from schrodinger/all.csv rename to leetcode/schrodinger/all.csv diff --git a/schrodinger/more-than-six-months.csv b/leetcode/schrodinger/more-than-six-months.csv similarity index 100% rename from schrodinger/more-than-six-months.csv rename to leetcode/schrodinger/more-than-six-months.csv diff --git a/sentry/all.csv b/leetcode/sentry/all.csv similarity index 100% rename from sentry/all.csv rename to leetcode/sentry/all.csv diff --git a/sentry/more-than-six-months.csv b/leetcode/sentry/more-than-six-months.csv similarity index 100% rename from sentry/more-than-six-months.csv rename to leetcode/sentry/more-than-six-months.csv diff --git a/servicenow/all.csv b/leetcode/servicenow/all.csv similarity index 100% rename from servicenow/all.csv rename to leetcode/servicenow/all.csv diff --git a/servicenow/more-than-six-months.csv b/leetcode/servicenow/more-than-six-months.csv similarity index 100% rename from servicenow/more-than-six-months.csv rename to leetcode/servicenow/more-than-six-months.csv diff --git a/servicenow/six-months.csv b/leetcode/servicenow/six-months.csv similarity index 100% rename from servicenow/six-months.csv rename to leetcode/servicenow/six-months.csv diff --git a/servicenow/three-months.csv b/leetcode/servicenow/three-months.csv similarity index 100% rename from servicenow/three-months.csv rename to leetcode/servicenow/three-months.csv diff --git a/sharechat/all.csv b/leetcode/sharechat/all.csv similarity index 100% rename from sharechat/all.csv rename to leetcode/sharechat/all.csv diff --git a/sharechat/more-than-six-months.csv b/leetcode/sharechat/more-than-six-months.csv similarity index 100% rename from sharechat/more-than-six-months.csv rename to leetcode/sharechat/more-than-six-months.csv diff --git a/shift-technology/all.csv b/leetcode/shift-technology/all.csv similarity index 100% rename from shift-technology/all.csv rename to leetcode/shift-technology/all.csv diff --git a/shift-technology/more-than-six-months.csv b/leetcode/shift-technology/more-than-six-months.csv similarity index 100% rename from shift-technology/more-than-six-months.csv rename to leetcode/shift-technology/more-than-six-months.csv diff --git a/shipsy/all.csv b/leetcode/shipsy/all.csv similarity index 100% rename from shipsy/all.csv rename to leetcode/shipsy/all.csv diff --git a/shipsy/more-than-six-months.csv b/leetcode/shipsy/more-than-six-months.csv similarity index 100% rename from shipsy/more-than-six-months.csv rename to leetcode/shipsy/more-than-six-months.csv diff --git a/shopee/all.csv b/leetcode/shopee/all.csv similarity index 100% rename from shopee/all.csv rename to leetcode/shopee/all.csv diff --git a/shopee/more-than-six-months.csv b/leetcode/shopee/more-than-six-months.csv similarity index 100% rename from shopee/more-than-six-months.csv rename to leetcode/shopee/more-than-six-months.csv diff --git a/shopee/six-months.csv b/leetcode/shopee/six-months.csv similarity index 100% rename from shopee/six-months.csv rename to leetcode/shopee/six-months.csv diff --git a/shopify/all.csv b/leetcode/shopify/all.csv similarity index 100% rename from shopify/all.csv rename to leetcode/shopify/all.csv diff --git a/shopify/more-than-six-months.csv b/leetcode/shopify/more-than-six-months.csv similarity index 100% rename from shopify/more-than-six-months.csv rename to leetcode/shopify/more-than-six-months.csv diff --git a/shopify/six-months.csv b/leetcode/shopify/six-months.csv similarity index 100% rename from shopify/six-months.csv rename to leetcode/shopify/six-months.csv diff --git a/shopify/three-months.csv b/leetcode/shopify/three-months.csv similarity index 100% rename from shopify/three-months.csv rename to leetcode/shopify/three-months.csv diff --git a/siemens/all.csv b/leetcode/siemens/all.csv similarity index 100% rename from siemens/all.csv rename to leetcode/siemens/all.csv diff --git a/siemens/more-than-six-months.csv b/leetcode/siemens/more-than-six-months.csv similarity index 100% rename from siemens/more-than-six-months.csv rename to leetcode/siemens/more-than-six-months.csv diff --git a/siemens/six-months.csv b/leetcode/siemens/six-months.csv similarity index 100% rename from siemens/six-months.csv rename to leetcode/siemens/six-months.csv diff --git a/sig/all.csv b/leetcode/sig/all.csv similarity index 100% rename from sig/all.csv rename to leetcode/sig/all.csv diff --git a/sig/more-than-six-months.csv b/leetcode/sig/more-than-six-months.csv similarity index 100% rename from sig/more-than-six-months.csv rename to leetcode/sig/more-than-six-months.csv diff --git a/sig/six-months.csv b/leetcode/sig/six-months.csv similarity index 100% rename from sig/six-months.csv rename to leetcode/sig/six-months.csv diff --git a/sigmoid/all.csv b/leetcode/sigmoid/all.csv similarity index 100% rename from sigmoid/all.csv rename to leetcode/sigmoid/all.csv diff --git a/sigmoid/more-than-six-months.csv b/leetcode/sigmoid/more-than-six-months.csv similarity index 100% rename from sigmoid/more-than-six-months.csv rename to leetcode/sigmoid/more-than-six-months.csv diff --git a/sigmoid/six-months.csv b/leetcode/sigmoid/six-months.csv similarity index 100% rename from sigmoid/six-months.csv rename to leetcode/sigmoid/six-months.csv diff --git a/sigmoid/three-months.csv b/leetcode/sigmoid/three-months.csv similarity index 100% rename from sigmoid/three-months.csv rename to leetcode/sigmoid/three-months.csv diff --git a/singlestore/all.csv b/leetcode/singlestore/all.csv similarity index 100% rename from singlestore/all.csv rename to leetcode/singlestore/all.csv diff --git a/singlestore/more-than-six-months.csv b/leetcode/singlestore/more-than-six-months.csv similarity index 100% rename from singlestore/more-than-six-months.csv rename to leetcode/singlestore/more-than-six-months.csv diff --git a/sixt/all.csv b/leetcode/sixt/all.csv similarity index 100% rename from sixt/all.csv rename to leetcode/sixt/all.csv diff --git a/sixt/more-than-six-months.csv b/leetcode/sixt/more-than-six-months.csv similarity index 100% rename from sixt/more-than-six-months.csv rename to leetcode/sixt/more-than-six-months.csv diff --git a/slice/all.csv b/leetcode/slice/all.csv similarity index 100% rename from slice/all.csv rename to leetcode/slice/all.csv diff --git a/slice/more-than-six-months.csv b/leetcode/slice/more-than-six-months.csv similarity index 100% rename from slice/more-than-six-months.csv rename to leetcode/slice/more-than-six-months.csv diff --git a/smartnews/all.csv b/leetcode/smartnews/all.csv similarity index 100% rename from smartnews/all.csv rename to leetcode/smartnews/all.csv diff --git a/smartnews/more-than-six-months.csv b/leetcode/smartnews/more-than-six-months.csv similarity index 100% rename from smartnews/more-than-six-months.csv rename to leetcode/smartnews/more-than-six-months.csv diff --git a/smartsheet/all.csv b/leetcode/smartsheet/all.csv similarity index 100% rename from smartsheet/all.csv rename to leetcode/smartsheet/all.csv diff --git a/smartsheet/more-than-six-months.csv b/leetcode/smartsheet/more-than-six-months.csv similarity index 100% rename from smartsheet/more-than-six-months.csv rename to leetcode/smartsheet/more-than-six-months.csv diff --git a/snapchat/all.csv b/leetcode/snapchat/all.csv similarity index 100% rename from snapchat/all.csv rename to leetcode/snapchat/all.csv diff --git a/snapchat/more-than-six-months.csv b/leetcode/snapchat/more-than-six-months.csv similarity index 100% rename from snapchat/more-than-six-months.csv rename to leetcode/snapchat/more-than-six-months.csv diff --git a/snapchat/six-months.csv b/leetcode/snapchat/six-months.csv similarity index 100% rename from snapchat/six-months.csv rename to leetcode/snapchat/six-months.csv diff --git a/snapchat/three-months.csv b/leetcode/snapchat/three-months.csv similarity index 100% rename from snapchat/three-months.csv rename to leetcode/snapchat/three-months.csv diff --git a/snapdeal/all.csv b/leetcode/snapdeal/all.csv similarity index 100% rename from snapdeal/all.csv rename to leetcode/snapdeal/all.csv diff --git a/snapdeal/more-than-six-months.csv b/leetcode/snapdeal/more-than-six-months.csv similarity index 100% rename from snapdeal/more-than-six-months.csv rename to leetcode/snapdeal/more-than-six-months.csv diff --git a/snowflake/all.csv b/leetcode/snowflake/all.csv similarity index 100% rename from snowflake/all.csv rename to leetcode/snowflake/all.csv diff --git a/snowflake/more-than-six-months.csv b/leetcode/snowflake/more-than-six-months.csv similarity index 100% rename from snowflake/more-than-six-months.csv rename to leetcode/snowflake/more-than-six-months.csv diff --git a/snowflake/six-months.csv b/leetcode/snowflake/six-months.csv similarity index 100% rename from snowflake/six-months.csv rename to leetcode/snowflake/six-months.csv diff --git a/snowflake/thirty-days.csv b/leetcode/snowflake/thirty-days.csv similarity index 100% rename from snowflake/thirty-days.csv rename to leetcode/snowflake/thirty-days.csv diff --git a/snowflake/three-months.csv b/leetcode/snowflake/three-months.csv similarity index 100% rename from snowflake/three-months.csv rename to leetcode/snowflake/three-months.csv diff --git a/societe-generale/all.csv b/leetcode/societe-generale/all.csv similarity index 100% rename from societe-generale/all.csv rename to leetcode/societe-generale/all.csv diff --git a/societe-generale/more-than-six-months.csv b/leetcode/societe-generale/more-than-six-months.csv similarity index 100% rename from societe-generale/more-than-six-months.csv rename to leetcode/societe-generale/more-than-six-months.csv diff --git a/sofi/all.csv b/leetcode/sofi/all.csv similarity index 100% rename from sofi/all.csv rename to leetcode/sofi/all.csv diff --git a/sofi/more-than-six-months.csv b/leetcode/sofi/more-than-six-months.csv similarity index 100% rename from sofi/more-than-six-months.csv rename to leetcode/sofi/more-than-six-months.csv diff --git a/sofi/six-months.csv b/leetcode/sofi/six-months.csv similarity index 100% rename from sofi/six-months.csv rename to leetcode/sofi/six-months.csv diff --git a/sofi/three-months.csv b/leetcode/sofi/three-months.csv similarity index 100% rename from sofi/three-months.csv rename to leetcode/sofi/three-months.csv diff --git a/software-ag/all.csv b/leetcode/software-ag/all.csv similarity index 100% rename from software-ag/all.csv rename to leetcode/software-ag/all.csv diff --git a/software-ag/more-than-six-months.csv b/leetcode/software-ag/more-than-six-months.csv similarity index 100% rename from software-ag/more-than-six-months.csv rename to leetcode/software-ag/more-than-six-months.csv diff --git a/softwire/all.csv b/leetcode/softwire/all.csv similarity index 100% rename from softwire/all.csv rename to leetcode/softwire/all.csv diff --git a/softwire/more-than-six-months.csv b/leetcode/softwire/more-than-six-months.csv similarity index 100% rename from softwire/more-than-six-months.csv rename to leetcode/softwire/more-than-six-months.csv diff --git a/softwire/six-months.csv b/leetcode/softwire/six-months.csv similarity index 100% rename from softwire/six-months.csv rename to leetcode/softwire/six-months.csv diff --git a/sony/all.csv b/leetcode/sony/all.csv similarity index 100% rename from sony/all.csv rename to leetcode/sony/all.csv diff --git a/sony/more-than-six-months.csv b/leetcode/sony/more-than-six-months.csv similarity index 100% rename from sony/more-than-six-months.csv rename to leetcode/sony/more-than-six-months.csv diff --git a/soti/all.csv b/leetcode/soti/all.csv similarity index 100% rename from soti/all.csv rename to leetcode/soti/all.csv diff --git a/soti/more-than-six-months.csv b/leetcode/soti/more-than-six-months.csv similarity index 100% rename from soti/more-than-six-months.csv rename to leetcode/soti/more-than-six-months.csv diff --git a/soundhound/all.csv b/leetcode/soundhound/all.csv similarity index 100% rename from soundhound/all.csv rename to leetcode/soundhound/all.csv diff --git a/soundhound/more-than-six-months.csv b/leetcode/soundhound/more-than-six-months.csv similarity index 100% rename from soundhound/more-than-six-months.csv rename to leetcode/soundhound/more-than-six-months.csv diff --git a/spacex/all.csv b/leetcode/spacex/all.csv similarity index 100% rename from spacex/all.csv rename to leetcode/spacex/all.csv diff --git a/spacex/more-than-six-months.csv b/leetcode/spacex/more-than-six-months.csv similarity index 100% rename from spacex/more-than-six-months.csv rename to leetcode/spacex/more-than-six-months.csv diff --git a/spinny/all.csv b/leetcode/spinny/all.csv similarity index 100% rename from spinny/all.csv rename to leetcode/spinny/all.csv diff --git a/spinny/more-than-six-months.csv b/leetcode/spinny/more-than-six-months.csv similarity index 100% rename from spinny/more-than-six-months.csv rename to leetcode/spinny/more-than-six-months.csv diff --git a/spinny/six-months.csv b/leetcode/spinny/six-months.csv similarity index 100% rename from spinny/six-months.csv rename to leetcode/spinny/six-months.csv diff --git a/spinny/three-months.csv b/leetcode/spinny/three-months.csv similarity index 100% rename from spinny/three-months.csv rename to leetcode/spinny/three-months.csv diff --git a/splunk/all.csv b/leetcode/splunk/all.csv similarity index 100% rename from splunk/all.csv rename to leetcode/splunk/all.csv diff --git a/splunk/more-than-six-months.csv b/leetcode/splunk/more-than-six-months.csv similarity index 100% rename from splunk/more-than-six-months.csv rename to leetcode/splunk/more-than-six-months.csv diff --git a/splunk/six-months.csv b/leetcode/splunk/six-months.csv similarity index 100% rename from splunk/six-months.csv rename to leetcode/splunk/six-months.csv diff --git a/spotify/all.csv b/leetcode/spotify/all.csv similarity index 100% rename from spotify/all.csv rename to leetcode/spotify/all.csv diff --git a/spotify/more-than-six-months.csv b/leetcode/spotify/more-than-six-months.csv similarity index 100% rename from spotify/more-than-six-months.csv rename to leetcode/spotify/more-than-six-months.csv diff --git a/spotify/six-months.csv b/leetcode/spotify/six-months.csv similarity index 100% rename from spotify/six-months.csv rename to leetcode/spotify/six-months.csv diff --git a/spotify/thirty-days.csv b/leetcode/spotify/thirty-days.csv similarity index 100% rename from spotify/thirty-days.csv rename to leetcode/spotify/thirty-days.csv diff --git a/spotify/three-months.csv b/leetcode/spotify/three-months.csv similarity index 100% rename from spotify/three-months.csv rename to leetcode/spotify/three-months.csv diff --git a/sprinklr/all.csv b/leetcode/sprinklr/all.csv similarity index 100% rename from sprinklr/all.csv rename to leetcode/sprinklr/all.csv diff --git a/sprinklr/more-than-six-months.csv b/leetcode/sprinklr/more-than-six-months.csv similarity index 100% rename from sprinklr/more-than-six-months.csv rename to leetcode/sprinklr/more-than-six-months.csv diff --git a/square/all.csv b/leetcode/square/all.csv similarity index 100% rename from square/all.csv rename to leetcode/square/all.csv diff --git a/square/more-than-six-months.csv b/leetcode/square/more-than-six-months.csv similarity index 100% rename from square/more-than-six-months.csv rename to leetcode/square/more-than-six-months.csv diff --git a/square/six-months.csv b/leetcode/square/six-months.csv similarity index 100% rename from square/six-months.csv rename to leetcode/square/six-months.csv diff --git a/squarepoint-capital/all.csv b/leetcode/squarepoint-capital/all.csv similarity index 100% rename from squarepoint-capital/all.csv rename to leetcode/squarepoint-capital/all.csv diff --git a/squarepoint-capital/more-than-six-months.csv b/leetcode/squarepoint-capital/more-than-six-months.csv similarity index 100% rename from squarepoint-capital/more-than-six-months.csv rename to leetcode/squarepoint-capital/more-than-six-months.csv diff --git a/squarepoint-capital/six-months.csv b/leetcode/squarepoint-capital/six-months.csv similarity index 100% rename from squarepoint-capital/six-months.csv rename to leetcode/squarepoint-capital/six-months.csv diff --git a/squarespace/all.csv b/leetcode/squarespace/all.csv similarity index 100% rename from squarespace/all.csv rename to leetcode/squarespace/all.csv diff --git a/squarespace/more-than-six-months.csv b/leetcode/squarespace/more-than-six-months.csv similarity index 100% rename from squarespace/more-than-six-months.csv rename to leetcode/squarespace/more-than-six-months.csv diff --git a/squarespace/six-months.csv b/leetcode/squarespace/six-months.csv similarity index 100% rename from squarespace/six-months.csv rename to leetcode/squarespace/six-months.csv diff --git a/squarespace/three-months.csv b/leetcode/squarespace/three-months.csv similarity index 100% rename from squarespace/three-months.csv rename to leetcode/squarespace/three-months.csv diff --git a/src/main/java/Main.java b/leetcode/src/main/java/Main.java similarity index 100% rename from src/main/java/Main.java rename to leetcode/src/main/java/Main.java diff --git a/src/main/java/Scraper.java b/leetcode/src/main/java/Scraper.java similarity index 100% rename from src/main/java/Scraper.java rename to leetcode/src/main/java/Scraper.java diff --git a/src/main/java/model/ProblemStatement.java b/leetcode/src/main/java/model/ProblemStatement.java similarity index 100% rename from src/main/java/model/ProblemStatement.java rename to leetcode/src/main/java/model/ProblemStatement.java diff --git a/stackadapt/all.csv b/leetcode/stackadapt/all.csv similarity index 100% rename from stackadapt/all.csv rename to leetcode/stackadapt/all.csv diff --git a/stackadapt/more-than-six-months.csv b/leetcode/stackadapt/more-than-six-months.csv similarity index 100% rename from stackadapt/more-than-six-months.csv rename to leetcode/stackadapt/more-than-six-months.csv diff --git a/stackline/all.csv b/leetcode/stackline/all.csv similarity index 100% rename from stackline/all.csv rename to leetcode/stackline/all.csv diff --git a/stackline/more-than-six-months.csv b/leetcode/stackline/more-than-six-months.csv similarity index 100% rename from stackline/more-than-six-months.csv rename to leetcode/stackline/more-than-six-months.csv diff --git a/stackline/six-months.csv b/leetcode/stackline/six-months.csv similarity index 100% rename from stackline/six-months.csv rename to leetcode/stackline/six-months.csv diff --git a/starbucks/all.csv b/leetcode/starbucks/all.csv similarity index 100% rename from starbucks/all.csv rename to leetcode/starbucks/all.csv diff --git a/starbucks/six-months.csv b/leetcode/starbucks/six-months.csv similarity index 100% rename from starbucks/six-months.csv rename to leetcode/starbucks/six-months.csv diff --git a/starbucks/three-months.csv b/leetcode/starbucks/three-months.csv similarity index 100% rename from starbucks/three-months.csv rename to leetcode/starbucks/three-months.csv diff --git a/state-farm/all.csv b/leetcode/state-farm/all.csv similarity index 100% rename from state-farm/all.csv rename to leetcode/state-farm/all.csv diff --git a/state-farm/six-months.csv b/leetcode/state-farm/six-months.csv similarity index 100% rename from state-farm/six-months.csv rename to leetcode/state-farm/six-months.csv diff --git a/strava/all.csv b/leetcode/strava/all.csv similarity index 100% rename from strava/all.csv rename to leetcode/strava/all.csv diff --git a/strava/more-than-six-months.csv b/leetcode/strava/more-than-six-months.csv similarity index 100% rename from strava/more-than-six-months.csv rename to leetcode/strava/more-than-six-months.csv diff --git a/stripe/all.csv b/leetcode/stripe/all.csv similarity index 100% rename from stripe/all.csv rename to leetcode/stripe/all.csv diff --git a/stripe/more-than-six-months.csv b/leetcode/stripe/more-than-six-months.csv similarity index 100% rename from stripe/more-than-six-months.csv rename to leetcode/stripe/more-than-six-months.csv diff --git a/stripe/six-months.csv b/leetcode/stripe/six-months.csv similarity index 100% rename from stripe/six-months.csv rename to leetcode/stripe/six-months.csv diff --git a/stripe/thirty-days.csv b/leetcode/stripe/thirty-days.csv similarity index 100% rename from stripe/thirty-days.csv rename to leetcode/stripe/thirty-days.csv diff --git a/stripe/three-months.csv b/leetcode/stripe/three-months.csv similarity index 100% rename from stripe/three-months.csv rename to leetcode/stripe/three-months.csv diff --git a/sumologic/all.csv b/leetcode/sumologic/all.csv similarity index 100% rename from sumologic/all.csv rename to leetcode/sumologic/all.csv diff --git a/sumologic/more-than-six-months.csv b/leetcode/sumologic/more-than-six-months.csv similarity index 100% rename from sumologic/more-than-six-months.csv rename to leetcode/sumologic/more-than-six-months.csv diff --git a/susquehanna-international-group/all.csv b/leetcode/susquehanna-international-group/all.csv similarity index 100% rename from susquehanna-international-group/all.csv rename to leetcode/susquehanna-international-group/all.csv diff --git a/swiggy/all.csv b/leetcode/swiggy/all.csv similarity index 100% rename from swiggy/all.csv rename to leetcode/swiggy/all.csv diff --git a/swiggy/more-than-six-months.csv b/leetcode/swiggy/more-than-six-months.csv similarity index 100% rename from swiggy/more-than-six-months.csv rename to leetcode/swiggy/more-than-six-months.csv diff --git a/swiggy/six-months.csv b/leetcode/swiggy/six-months.csv similarity index 100% rename from swiggy/six-months.csv rename to leetcode/swiggy/six-months.csv diff --git a/swiggy/thirty-days.csv b/leetcode/swiggy/thirty-days.csv similarity index 100% rename from swiggy/thirty-days.csv rename to leetcode/swiggy/thirty-days.csv diff --git a/swiggy/three-months.csv b/leetcode/swiggy/three-months.csv similarity index 100% rename from swiggy/three-months.csv rename to leetcode/swiggy/three-months.csv diff --git a/syfe/all.csv b/leetcode/syfe/all.csv similarity index 100% rename from syfe/all.csv rename to leetcode/syfe/all.csv diff --git a/syfe/more-than-six-months.csv b/leetcode/syfe/more-than-six-months.csv similarity index 100% rename from syfe/more-than-six-months.csv rename to leetcode/syfe/more-than-six-months.csv diff --git a/synology/all.csv b/leetcode/synology/all.csv similarity index 100% rename from synology/all.csv rename to leetcode/synology/all.csv diff --git a/synology/more-than-six-months.csv b/leetcode/synology/more-than-six-months.csv similarity index 100% rename from synology/more-than-six-months.csv rename to leetcode/synology/more-than-six-months.csv diff --git a/synopsys/all.csv b/leetcode/synopsys/all.csv similarity index 100% rename from synopsys/all.csv rename to leetcode/synopsys/all.csv diff --git a/synopsys/more-than-six-months.csv b/leetcode/synopsys/more-than-six-months.csv similarity index 100% rename from synopsys/more-than-six-months.csv rename to leetcode/synopsys/more-than-six-months.csv diff --git a/ta-digital/all.csv b/leetcode/ta-digital/all.csv similarity index 100% rename from ta-digital/all.csv rename to leetcode/ta-digital/all.csv diff --git a/ta-digital/more-than-six-months.csv b/leetcode/ta-digital/more-than-six-months.csv similarity index 100% rename from ta-digital/more-than-six-months.csv rename to leetcode/ta-digital/more-than-six-months.csv diff --git a/tableau/all.csv b/leetcode/tableau/all.csv similarity index 100% rename from tableau/all.csv rename to leetcode/tableau/all.csv diff --git a/tableau/more-than-six-months.csv b/leetcode/tableau/more-than-six-months.csv similarity index 100% rename from tableau/more-than-six-months.csv rename to leetcode/tableau/more-than-six-months.csv diff --git a/tally-solutions/all.csv b/leetcode/tally-solutions/all.csv similarity index 100% rename from tally-solutions/all.csv rename to leetcode/tally-solutions/all.csv diff --git a/tally-solutions/more-than-six-months.csv b/leetcode/tally-solutions/more-than-six-months.csv similarity index 100% rename from tally-solutions/more-than-six-months.csv rename to leetcode/tally-solutions/more-than-six-months.csv diff --git a/tanium/all.csv b/leetcode/tanium/all.csv similarity index 100% rename from tanium/all.csv rename to leetcode/tanium/all.csv diff --git a/tanium/more-than-six-months.csv b/leetcode/tanium/more-than-six-months.csv similarity index 100% rename from tanium/more-than-six-months.csv rename to leetcode/tanium/more-than-six-months.csv diff --git a/tanium/six-months.csv b/leetcode/tanium/six-months.csv similarity index 100% rename from tanium/six-months.csv rename to leetcode/tanium/six-months.csv diff --git a/target/all.csv b/leetcode/target/all.csv similarity index 100% rename from target/all.csv rename to leetcode/target/all.csv diff --git a/target/more-than-six-months.csv b/leetcode/target/more-than-six-months.csv similarity index 100% rename from target/more-than-six-months.csv rename to leetcode/target/more-than-six-months.csv diff --git a/tcs/all.csv b/leetcode/tcs/all.csv similarity index 100% rename from tcs/all.csv rename to leetcode/tcs/all.csv diff --git a/tcs/more-than-six-months.csv b/leetcode/tcs/more-than-six-months.csv similarity index 100% rename from tcs/more-than-six-months.csv rename to leetcode/tcs/more-than-six-months.csv diff --git a/tcs/six-months.csv b/leetcode/tcs/six-months.csv similarity index 100% rename from tcs/six-months.csv rename to leetcode/tcs/six-months.csv diff --git a/tcs/thirty-days.csv b/leetcode/tcs/thirty-days.csv similarity index 100% rename from tcs/thirty-days.csv rename to leetcode/tcs/thirty-days.csv diff --git a/tcs/three-months.csv b/leetcode/tcs/three-months.csv similarity index 100% rename from tcs/three-months.csv rename to leetcode/tcs/three-months.csv diff --git a/tech-mahindra/all.csv b/leetcode/tech-mahindra/all.csv similarity index 100% rename from tech-mahindra/all.csv rename to leetcode/tech-mahindra/all.csv diff --git a/tech-mahindra/more-than-six-months.csv b/leetcode/tech-mahindra/more-than-six-months.csv similarity index 100% rename from tech-mahindra/more-than-six-months.csv rename to leetcode/tech-mahindra/more-than-six-months.csv diff --git a/tekion/all.csv b/leetcode/tekion/all.csv similarity index 100% rename from tekion/all.csv rename to leetcode/tekion/all.csv diff --git a/tekion/more-than-six-months.csv b/leetcode/tekion/more-than-six-months.csv similarity index 100% rename from tekion/more-than-six-months.csv rename to leetcode/tekion/more-than-six-months.csv diff --git a/tekion/six-months.csv b/leetcode/tekion/six-months.csv similarity index 100% rename from tekion/six-months.csv rename to leetcode/tekion/six-months.csv diff --git a/tekion/three-months.csv b/leetcode/tekion/three-months.csv similarity index 100% rename from tekion/three-months.csv rename to leetcode/tekion/three-months.csv diff --git a/tencent/all.csv b/leetcode/tencent/all.csv similarity index 100% rename from tencent/all.csv rename to leetcode/tencent/all.csv diff --git a/tencent/more-than-six-months.csv b/leetcode/tencent/more-than-six-months.csv similarity index 100% rename from tencent/more-than-six-months.csv rename to leetcode/tencent/more-than-six-months.csv diff --git a/tencent/six-months.csv b/leetcode/tencent/six-months.csv similarity index 100% rename from tencent/six-months.csv rename to leetcode/tencent/six-months.csv diff --git a/tencent/three-months.csv b/leetcode/tencent/three-months.csv similarity index 100% rename from tencent/three-months.csv rename to leetcode/tencent/three-months.csv diff --git a/teradata/all.csv b/leetcode/teradata/all.csv similarity index 100% rename from teradata/all.csv rename to leetcode/teradata/all.csv diff --git a/teradata/more-than-six-months.csv b/leetcode/teradata/more-than-six-months.csv similarity index 100% rename from teradata/more-than-six-months.csv rename to leetcode/teradata/more-than-six-months.csv diff --git a/tesco/all.csv b/leetcode/tesco/all.csv similarity index 100% rename from tesco/all.csv rename to leetcode/tesco/all.csv diff --git a/tesco/more-than-six-months.csv b/leetcode/tesco/more-than-six-months.csv similarity index 100% rename from tesco/more-than-six-months.csv rename to leetcode/tesco/more-than-six-months.csv diff --git a/tesco/six-months.csv b/leetcode/tesco/six-months.csv similarity index 100% rename from tesco/six-months.csv rename to leetcode/tesco/six-months.csv diff --git a/tesla/all.csv b/leetcode/tesla/all.csv similarity index 100% rename from tesla/all.csv rename to leetcode/tesla/all.csv diff --git a/tesla/more-than-six-months.csv b/leetcode/tesla/more-than-six-months.csv similarity index 100% rename from tesla/more-than-six-months.csv rename to leetcode/tesla/more-than-six-months.csv diff --git a/tesla/six-months.csv b/leetcode/tesla/six-months.csv similarity index 100% rename from tesla/six-months.csv rename to leetcode/tesla/six-months.csv diff --git a/tesla/three-months.csv b/leetcode/tesla/three-months.csv similarity index 100% rename from tesla/three-months.csv rename to leetcode/tesla/three-months.csv diff --git a/texas-instruments/all.csv b/leetcode/texas-instruments/all.csv similarity index 100% rename from texas-instruments/all.csv rename to leetcode/texas-instruments/all.csv diff --git a/texas-instruments/more-than-six-months.csv b/leetcode/texas-instruments/more-than-six-months.csv similarity index 100% rename from texas-instruments/more-than-six-months.csv rename to leetcode/texas-instruments/more-than-six-months.csv diff --git a/the-trade-desk/all.csv b/leetcode/the-trade-desk/all.csv similarity index 100% rename from the-trade-desk/all.csv rename to leetcode/the-trade-desk/all.csv diff --git a/the-trade-desk/more-than-six-months.csv b/leetcode/the-trade-desk/more-than-six-months.csv similarity index 100% rename from the-trade-desk/more-than-six-months.csv rename to leetcode/the-trade-desk/more-than-six-months.csv diff --git a/the-trade-desk/six-months.csv b/leetcode/the-trade-desk/six-months.csv similarity index 100% rename from the-trade-desk/six-months.csv rename to leetcode/the-trade-desk/six-months.csv diff --git a/thomson-reuters/all.csv b/leetcode/thomson-reuters/all.csv similarity index 100% rename from thomson-reuters/all.csv rename to leetcode/thomson-reuters/all.csv diff --git a/thomson-reuters/more-than-six-months.csv b/leetcode/thomson-reuters/more-than-six-months.csv similarity index 100% rename from thomson-reuters/more-than-six-months.csv rename to leetcode/thomson-reuters/more-than-six-months.csv diff --git a/thoughtspot/all.csv b/leetcode/thoughtspot/all.csv similarity index 100% rename from thoughtspot/all.csv rename to leetcode/thoughtspot/all.csv diff --git a/thoughtspot/more-than-six-months.csv b/leetcode/thoughtspot/more-than-six-months.csv similarity index 100% rename from thoughtspot/more-than-six-months.csv rename to leetcode/thoughtspot/more-than-six-months.csv diff --git a/thoughtworks/all.csv b/leetcode/thoughtworks/all.csv similarity index 100% rename from thoughtworks/all.csv rename to leetcode/thoughtworks/all.csv diff --git a/thoughtworks/more-than-six-months.csv b/leetcode/thoughtworks/more-than-six-months.csv similarity index 100% rename from thoughtworks/more-than-six-months.csv rename to leetcode/thoughtworks/more-than-six-months.csv diff --git a/thousandeyes/all.csv b/leetcode/thousandeyes/all.csv similarity index 100% rename from thousandeyes/all.csv rename to leetcode/thousandeyes/all.csv diff --git a/thousandeyes/more-than-six-months.csv b/leetcode/thousandeyes/more-than-six-months.csv similarity index 100% rename from thousandeyes/more-than-six-months.csv rename to leetcode/thousandeyes/more-than-six-months.csv diff --git a/thumbtack/all.csv b/leetcode/thumbtack/all.csv similarity index 100% rename from thumbtack/all.csv rename to leetcode/thumbtack/all.csv diff --git a/thumbtack/more-than-six-months.csv b/leetcode/thumbtack/more-than-six-months.csv similarity index 100% rename from thumbtack/more-than-six-months.csv rename to leetcode/thumbtack/more-than-six-months.csv diff --git a/tiaa/all.csv b/leetcode/tiaa/all.csv similarity index 100% rename from tiaa/all.csv rename to leetcode/tiaa/all.csv diff --git a/tiaa/more-than-six-months.csv b/leetcode/tiaa/more-than-six-months.csv similarity index 100% rename from tiaa/more-than-six-months.csv rename to leetcode/tiaa/more-than-six-months.csv diff --git a/tiger-analytics/all.csv b/leetcode/tiger-analytics/all.csv similarity index 100% rename from tiger-analytics/all.csv rename to leetcode/tiger-analytics/all.csv diff --git a/tiger-analytics/more-than-six-months.csv b/leetcode/tiger-analytics/more-than-six-months.csv similarity index 100% rename from tiger-analytics/more-than-six-months.csv rename to leetcode/tiger-analytics/more-than-six-months.csv diff --git a/tiger-analytics/six-months.csv b/leetcode/tiger-analytics/six-months.csv similarity index 100% rename from tiger-analytics/six-months.csv rename to leetcode/tiger-analytics/six-months.csv diff --git a/tiger-analytics/three-months.csv b/leetcode/tiger-analytics/three-months.csv similarity index 100% rename from tiger-analytics/three-months.csv rename to leetcode/tiger-analytics/three-months.csv diff --git a/tiktok/all.csv b/leetcode/tiktok/all.csv similarity index 100% rename from tiktok/all.csv rename to leetcode/tiktok/all.csv diff --git a/tiktok/more-than-six-months.csv b/leetcode/tiktok/more-than-six-months.csv similarity index 100% rename from tiktok/more-than-six-months.csv rename to leetcode/tiktok/more-than-six-months.csv diff --git a/tiktok/six-months.csv b/leetcode/tiktok/six-months.csv similarity index 100% rename from tiktok/six-months.csv rename to leetcode/tiktok/six-months.csv diff --git a/tiktok/thirty-days.csv b/leetcode/tiktok/thirty-days.csv similarity index 100% rename from tiktok/thirty-days.csv rename to leetcode/tiktok/thirty-days.csv diff --git a/tiktok/three-months.csv b/leetcode/tiktok/three-months.csv similarity index 100% rename from tiktok/three-months.csv rename to leetcode/tiktok/three-months.csv diff --git a/tinder/all.csv b/leetcode/tinder/all.csv similarity index 100% rename from tinder/all.csv rename to leetcode/tinder/all.csv diff --git a/tinder/more-than-six-months.csv b/leetcode/tinder/more-than-six-months.csv similarity index 100% rename from tinder/more-than-six-months.csv rename to leetcode/tinder/more-than-six-months.csv diff --git a/tinkoff/all.csv b/leetcode/tinkoff/all.csv similarity index 100% rename from tinkoff/all.csv rename to leetcode/tinkoff/all.csv diff --git a/tinkoff/more-than-six-months.csv b/leetcode/tinkoff/more-than-six-months.csv similarity index 100% rename from tinkoff/more-than-six-months.csv rename to leetcode/tinkoff/more-than-six-months.csv diff --git a/toast/all.csv b/leetcode/toast/all.csv similarity index 100% rename from toast/all.csv rename to leetcode/toast/all.csv diff --git a/toast/more-than-six-months.csv b/leetcode/toast/more-than-six-months.csv similarity index 100% rename from toast/more-than-six-months.csv rename to leetcode/toast/more-than-six-months.csv diff --git a/toast/six-months.csv b/leetcode/toast/six-months.csv similarity index 100% rename from toast/six-months.csv rename to leetcode/toast/six-months.csv diff --git a/toast/three-months.csv b/leetcode/toast/three-months.csv similarity index 100% rename from toast/three-months.csv rename to leetcode/toast/three-months.csv diff --git a/tokopedia/all.csv b/leetcode/tokopedia/all.csv similarity index 100% rename from tokopedia/all.csv rename to leetcode/tokopedia/all.csv diff --git a/tokopedia/more-than-six-months.csv b/leetcode/tokopedia/more-than-six-months.csv similarity index 100% rename from tokopedia/more-than-six-months.csv rename to leetcode/tokopedia/more-than-six-months.csv diff --git a/tomtom/all.csv b/leetcode/tomtom/all.csv similarity index 100% rename from tomtom/all.csv rename to leetcode/tomtom/all.csv diff --git a/tomtom/more-than-six-months.csv b/leetcode/tomtom/more-than-six-months.csv similarity index 100% rename from tomtom/more-than-six-months.csv rename to leetcode/tomtom/more-than-six-months.csv diff --git a/tomtom/six-months.csv b/leetcode/tomtom/six-months.csv similarity index 100% rename from tomtom/six-months.csv rename to leetcode/tomtom/six-months.csv diff --git a/toptal/all.csv b/leetcode/toptal/all.csv similarity index 100% rename from toptal/all.csv rename to leetcode/toptal/all.csv diff --git a/toptal/more-than-six-months.csv b/leetcode/toptal/more-than-six-months.csv similarity index 100% rename from toptal/more-than-six-months.csv rename to leetcode/toptal/more-than-six-months.csv diff --git a/tower-research/all.csv b/leetcode/tower-research/all.csv similarity index 100% rename from tower-research/all.csv rename to leetcode/tower-research/all.csv diff --git a/tower-research/more-than-six-months.csv b/leetcode/tower-research/more-than-six-months.csv similarity index 100% rename from tower-research/more-than-six-months.csv rename to leetcode/tower-research/more-than-six-months.csv diff --git a/tracxn/all.csv b/leetcode/tracxn/all.csv similarity index 100% rename from tracxn/all.csv rename to leetcode/tracxn/all.csv diff --git a/tracxn/six-months.csv b/leetcode/tracxn/six-months.csv similarity index 100% rename from tracxn/six-months.csv rename to leetcode/tracxn/six-months.csv diff --git a/traveloka/all.csv b/leetcode/traveloka/all.csv similarity index 100% rename from traveloka/all.csv rename to leetcode/traveloka/all.csv diff --git a/traveloka/more-than-six-months.csv b/leetcode/traveloka/more-than-six-months.csv similarity index 100% rename from traveloka/more-than-six-months.csv rename to leetcode/traveloka/more-than-six-months.csv diff --git a/traveloka/six-months.csv b/leetcode/traveloka/six-months.csv similarity index 100% rename from traveloka/six-months.csv rename to leetcode/traveloka/six-months.csv diff --git a/trexquant/all.csv b/leetcode/trexquant/all.csv similarity index 100% rename from trexquant/all.csv rename to leetcode/trexquant/all.csv diff --git a/trexquant/more-than-six-months.csv b/leetcode/trexquant/more-than-six-months.csv similarity index 100% rename from trexquant/more-than-six-months.csv rename to leetcode/trexquant/more-than-six-months.csv diff --git a/trilogy/all.csv b/leetcode/trilogy/all.csv similarity index 100% rename from trilogy/all.csv rename to leetcode/trilogy/all.csv diff --git a/trilogy/more-than-six-months.csv b/leetcode/trilogy/more-than-six-months.csv similarity index 100% rename from trilogy/more-than-six-months.csv rename to leetcode/trilogy/more-than-six-months.csv diff --git a/trilogy/six-months.csv b/leetcode/trilogy/six-months.csv similarity index 100% rename from trilogy/six-months.csv rename to leetcode/trilogy/six-months.csv diff --git a/trilogy/thirty-days.csv b/leetcode/trilogy/thirty-days.csv similarity index 100% rename from trilogy/thirty-days.csv rename to leetcode/trilogy/thirty-days.csv diff --git a/trilogy/three-months.csv b/leetcode/trilogy/three-months.csv similarity index 100% rename from trilogy/three-months.csv rename to leetcode/trilogy/three-months.csv diff --git a/tripadvisor/all.csv b/leetcode/tripadvisor/all.csv similarity index 100% rename from tripadvisor/all.csv rename to leetcode/tripadvisor/all.csv diff --git a/tripadvisor/more-than-six-months.csv b/leetcode/tripadvisor/more-than-six-months.csv similarity index 100% rename from tripadvisor/more-than-six-months.csv rename to leetcode/tripadvisor/more-than-six-months.csv diff --git a/tripadvisor/six-months.csv b/leetcode/tripadvisor/six-months.csv similarity index 100% rename from tripadvisor/six-months.csv rename to leetcode/tripadvisor/six-months.csv diff --git a/triplebyte/all.csv b/leetcode/triplebyte/all.csv similarity index 100% rename from triplebyte/all.csv rename to leetcode/triplebyte/all.csv diff --git a/triplebyte/more-than-six-months.csv b/leetcode/triplebyte/more-than-six-months.csv similarity index 100% rename from triplebyte/more-than-six-months.csv rename to leetcode/triplebyte/more-than-six-months.csv diff --git a/turing/all.csv b/leetcode/turing/all.csv similarity index 100% rename from turing/all.csv rename to leetcode/turing/all.csv diff --git a/turing/more-than-six-months.csv b/leetcode/turing/more-than-six-months.csv similarity index 100% rename from turing/more-than-six-months.csv rename to leetcode/turing/more-than-six-months.csv diff --git a/turing/six-months.csv b/leetcode/turing/six-months.csv similarity index 100% rename from turing/six-months.csv rename to leetcode/turing/six-months.csv diff --git a/turing/three-months.csv b/leetcode/turing/three-months.csv similarity index 100% rename from turing/three-months.csv rename to leetcode/turing/three-months.csv diff --git a/turo/all.csv b/leetcode/turo/all.csv similarity index 100% rename from turo/all.csv rename to leetcode/turo/all.csv diff --git a/turo/more-than-six-months.csv b/leetcode/turo/more-than-six-months.csv similarity index 100% rename from turo/more-than-six-months.csv rename to leetcode/turo/more-than-six-months.csv diff --git a/turvo/all.csv b/leetcode/turvo/all.csv similarity index 100% rename from turvo/all.csv rename to leetcode/turvo/all.csv diff --git a/turvo/more-than-six-months.csv b/leetcode/turvo/more-than-six-months.csv similarity index 100% rename from turvo/more-than-six-months.csv rename to leetcode/turvo/more-than-six-months.csv diff --git a/tusimple/all.csv b/leetcode/tusimple/all.csv similarity index 100% rename from tusimple/all.csv rename to leetcode/tusimple/all.csv diff --git a/tusimple/more-than-six-months.csv b/leetcode/tusimple/more-than-six-months.csv similarity index 100% rename from tusimple/more-than-six-months.csv rename to leetcode/tusimple/more-than-six-months.csv diff --git a/twilio/all.csv b/leetcode/twilio/all.csv similarity index 100% rename from twilio/all.csv rename to leetcode/twilio/all.csv diff --git a/twilio/more-than-six-months.csv b/leetcode/twilio/more-than-six-months.csv similarity index 100% rename from twilio/more-than-six-months.csv rename to leetcode/twilio/more-than-six-months.csv diff --git a/twitch/all.csv b/leetcode/twitch/all.csv similarity index 100% rename from twitch/all.csv rename to leetcode/twitch/all.csv diff --git a/twitch/more-than-six-months.csv b/leetcode/twitch/more-than-six-months.csv similarity index 100% rename from twitch/more-than-six-months.csv rename to leetcode/twitch/more-than-six-months.csv diff --git a/twitch/six-months.csv b/leetcode/twitch/six-months.csv similarity index 100% rename from twitch/six-months.csv rename to leetcode/twitch/six-months.csv diff --git a/twitch/three-months.csv b/leetcode/twitch/three-months.csv similarity index 100% rename from twitch/three-months.csv rename to leetcode/twitch/three-months.csv diff --git a/twitter/all.csv b/leetcode/twitter/all.csv similarity index 100% rename from twitter/all.csv rename to leetcode/twitter/all.csv diff --git a/twitter/more-than-six-months.csv b/leetcode/twitter/more-than-six-months.csv similarity index 100% rename from twitter/more-than-six-months.csv rename to leetcode/twitter/more-than-six-months.csv diff --git a/two-sigma/all.csv b/leetcode/two-sigma/all.csv similarity index 100% rename from two-sigma/all.csv rename to leetcode/two-sigma/all.csv diff --git a/two-sigma/more-than-six-months.csv b/leetcode/two-sigma/more-than-six-months.csv similarity index 100% rename from two-sigma/more-than-six-months.csv rename to leetcode/two-sigma/more-than-six-months.csv diff --git a/two-sigma/six-months.csv b/leetcode/two-sigma/six-months.csv similarity index 100% rename from two-sigma/six-months.csv rename to leetcode/two-sigma/six-months.csv diff --git a/uber/all.csv b/leetcode/uber/all.csv similarity index 100% rename from uber/all.csv rename to leetcode/uber/all.csv diff --git a/uber/more-than-six-months.csv b/leetcode/uber/more-than-six-months.csv similarity index 100% rename from uber/more-than-six-months.csv rename to leetcode/uber/more-than-six-months.csv diff --git a/uber/six-months.csv b/leetcode/uber/six-months.csv similarity index 100% rename from uber/six-months.csv rename to leetcode/uber/six-months.csv diff --git a/uber/thirty-days.csv b/leetcode/uber/thirty-days.csv similarity index 100% rename from uber/thirty-days.csv rename to leetcode/uber/thirty-days.csv diff --git a/uber/three-months.csv b/leetcode/uber/three-months.csv similarity index 100% rename from uber/three-months.csv rename to leetcode/uber/three-months.csv diff --git a/ubisoft/all.csv b/leetcode/ubisoft/all.csv similarity index 100% rename from ubisoft/all.csv rename to leetcode/ubisoft/all.csv diff --git a/ubs/all.csv b/leetcode/ubs/all.csv similarity index 100% rename from ubs/all.csv rename to leetcode/ubs/all.csv diff --git a/ubs/more-than-six-months.csv b/leetcode/ubs/more-than-six-months.csv similarity index 100% rename from ubs/more-than-six-months.csv rename to leetcode/ubs/more-than-six-months.csv diff --git a/ubs/six-months.csv b/leetcode/ubs/six-months.csv similarity index 100% rename from ubs/six-months.csv rename to leetcode/ubs/six-months.csv diff --git a/uipath/all.csv b/leetcode/uipath/all.csv similarity index 100% rename from uipath/all.csv rename to leetcode/uipath/all.csv diff --git a/uipath/more-than-six-months.csv b/leetcode/uipath/more-than-six-months.csv similarity index 100% rename from uipath/more-than-six-months.csv rename to leetcode/uipath/more-than-six-months.csv diff --git a/uipath/six-months.csv b/leetcode/uipath/six-months.csv similarity index 100% rename from uipath/six-months.csv rename to leetcode/uipath/six-months.csv diff --git a/uipath/three-months.csv b/leetcode/uipath/three-months.csv similarity index 100% rename from uipath/three-months.csv rename to leetcode/uipath/three-months.csv diff --git a/ukg/all.csv b/leetcode/ukg/all.csv similarity index 100% rename from ukg/all.csv rename to leetcode/ukg/all.csv diff --git a/ukg/more-than-six-months.csv b/leetcode/ukg/more-than-six-months.csv similarity index 100% rename from ukg/more-than-six-months.csv rename to leetcode/ukg/more-than-six-months.csv diff --git a/ukg/six-months.csv b/leetcode/ukg/six-months.csv similarity index 100% rename from ukg/six-months.csv rename to leetcode/ukg/six-months.csv diff --git a/ukg/three-months.csv b/leetcode/ukg/three-months.csv similarity index 100% rename from ukg/three-months.csv rename to leetcode/ukg/three-months.csv diff --git a/unbxd/all.csv b/leetcode/unbxd/all.csv similarity index 100% rename from unbxd/all.csv rename to leetcode/unbxd/all.csv diff --git a/unbxd/more-than-six-months.csv b/leetcode/unbxd/more-than-six-months.csv similarity index 100% rename from unbxd/more-than-six-months.csv rename to leetcode/unbxd/more-than-six-months.csv diff --git a/unity/all.csv b/leetcode/unity/all.csv similarity index 100% rename from unity/all.csv rename to leetcode/unity/all.csv diff --git a/unity/more-than-six-months.csv b/leetcode/unity/more-than-six-months.csv similarity index 100% rename from unity/more-than-six-months.csv rename to leetcode/unity/more-than-six-months.csv diff --git a/unstop/all.csv b/leetcode/unstop/all.csv similarity index 100% rename from unstop/all.csv rename to leetcode/unstop/all.csv diff --git a/unstop/more-than-six-months.csv b/leetcode/unstop/more-than-six-months.csv similarity index 100% rename from unstop/more-than-six-months.csv rename to leetcode/unstop/more-than-six-months.csv diff --git a/upstart/all.csv b/leetcode/upstart/all.csv similarity index 100% rename from upstart/all.csv rename to leetcode/upstart/all.csv diff --git a/upstart/more-than-six-months.csv b/leetcode/upstart/more-than-six-months.csv similarity index 100% rename from upstart/more-than-six-months.csv rename to leetcode/upstart/more-than-six-months.csv diff --git a/upstart/six-months.csv b/leetcode/upstart/six-months.csv similarity index 100% rename from upstart/six-months.csv rename to leetcode/upstart/six-months.csv diff --git a/upstart/three-months.csv b/leetcode/upstart/three-months.csv similarity index 100% rename from upstart/three-months.csv rename to leetcode/upstart/three-months.csv diff --git a/upstox/all.csv b/leetcode/upstox/all.csv similarity index 100% rename from upstox/all.csv rename to leetcode/upstox/all.csv diff --git a/urban-company/all.csv b/leetcode/urban-company/all.csv similarity index 100% rename from urban-company/all.csv rename to leetcode/urban-company/all.csv diff --git a/urban-company/more-than-six-months.csv b/leetcode/urban-company/more-than-six-months.csv similarity index 100% rename from urban-company/more-than-six-months.csv rename to leetcode/urban-company/more-than-six-months.csv diff --git a/usaa/all.csv b/leetcode/usaa/all.csv similarity index 100% rename from usaa/all.csv rename to leetcode/usaa/all.csv diff --git a/usaa/more-than-six-months.csv b/leetcode/usaa/more-than-six-months.csv similarity index 100% rename from usaa/more-than-six-months.csv rename to leetcode/usaa/more-than-six-months.csv diff --git a/ust/all.csv b/leetcode/ust/all.csv similarity index 100% rename from ust/all.csv rename to leetcode/ust/all.csv diff --git a/ust/more-than-six-months.csv b/leetcode/ust/more-than-six-months.csv similarity index 100% rename from ust/more-than-six-months.csv rename to leetcode/ust/more-than-six-months.csv diff --git a/valve/all.csv b/leetcode/valve/all.csv similarity index 100% rename from valve/all.csv rename to leetcode/valve/all.csv diff --git a/valve/more-than-six-months.csv b/leetcode/valve/more-than-six-months.csv similarity index 100% rename from valve/more-than-six-months.csv rename to leetcode/valve/more-than-six-months.csv diff --git a/valve/six-months.csv b/leetcode/valve/six-months.csv similarity index 100% rename from valve/six-months.csv rename to leetcode/valve/six-months.csv diff --git a/vanguard/all.csv b/leetcode/vanguard/all.csv similarity index 100% rename from vanguard/all.csv rename to leetcode/vanguard/all.csv diff --git a/vanguard/more-than-six-months.csv b/leetcode/vanguard/more-than-six-months.csv similarity index 100% rename from vanguard/more-than-six-months.csv rename to leetcode/vanguard/more-than-six-months.csv diff --git a/veeva/all.csv b/leetcode/veeva/all.csv similarity index 100% rename from veeva/all.csv rename to leetcode/veeva/all.csv diff --git a/veeva/more-than-six-months.csv b/leetcode/veeva/more-than-six-months.csv similarity index 100% rename from veeva/more-than-six-months.csv rename to leetcode/veeva/more-than-six-months.csv diff --git a/verily/all.csv b/leetcode/verily/all.csv similarity index 100% rename from verily/all.csv rename to leetcode/verily/all.csv diff --git a/verily/more-than-six-months.csv b/leetcode/verily/more-than-six-months.csv similarity index 100% rename from verily/more-than-six-months.csv rename to leetcode/verily/more-than-six-months.csv diff --git a/verily/six-months.csv b/leetcode/verily/six-months.csv similarity index 100% rename from verily/six-months.csv rename to leetcode/verily/six-months.csv diff --git a/veritas/all.csv b/leetcode/veritas/all.csv similarity index 100% rename from veritas/all.csv rename to leetcode/veritas/all.csv diff --git a/veritas/more-than-six-months.csv b/leetcode/veritas/more-than-six-months.csv similarity index 100% rename from veritas/more-than-six-months.csv rename to leetcode/veritas/more-than-six-months.csv diff --git a/verizon/all.csv b/leetcode/verizon/all.csv similarity index 100% rename from verizon/all.csv rename to leetcode/verizon/all.csv diff --git a/verizon/more-than-six-months.csv b/leetcode/verizon/more-than-six-months.csv similarity index 100% rename from verizon/more-than-six-months.csv rename to leetcode/verizon/more-than-six-months.csv diff --git a/verizon/six-months.csv b/leetcode/verizon/six-months.csv similarity index 100% rename from verizon/six-months.csv rename to leetcode/verizon/six-months.csv diff --git a/verkada/all.csv b/leetcode/verkada/all.csv similarity index 100% rename from verkada/all.csv rename to leetcode/verkada/all.csv diff --git a/verkada/more-than-six-months.csv b/leetcode/verkada/more-than-six-months.csv similarity index 100% rename from verkada/more-than-six-months.csv rename to leetcode/verkada/more-than-six-months.csv diff --git a/verkada/six-months.csv b/leetcode/verkada/six-months.csv similarity index 100% rename from verkada/six-months.csv rename to leetcode/verkada/six-months.csv diff --git a/verkada/three-months.csv b/leetcode/verkada/three-months.csv similarity index 100% rename from verkada/three-months.csv rename to leetcode/verkada/three-months.csv diff --git a/viasat/all.csv b/leetcode/viasat/all.csv similarity index 100% rename from viasat/all.csv rename to leetcode/viasat/all.csv diff --git a/viasat/more-than-six-months.csv b/leetcode/viasat/more-than-six-months.csv similarity index 100% rename from viasat/more-than-six-months.csv rename to leetcode/viasat/more-than-six-months.csv diff --git a/viasat/six-months.csv b/leetcode/viasat/six-months.csv similarity index 100% rename from viasat/six-months.csv rename to leetcode/viasat/six-months.csv diff --git a/vimeo/all.csv b/leetcode/vimeo/all.csv similarity index 100% rename from vimeo/all.csv rename to leetcode/vimeo/all.csv diff --git a/vimeo/more-than-six-months.csv b/leetcode/vimeo/more-than-six-months.csv similarity index 100% rename from vimeo/more-than-six-months.csv rename to leetcode/vimeo/more-than-six-months.csv diff --git a/vimeo/six-months.csv b/leetcode/vimeo/six-months.csv similarity index 100% rename from vimeo/six-months.csv rename to leetcode/vimeo/six-months.csv diff --git a/vimeo/three-months.csv b/leetcode/vimeo/three-months.csv similarity index 100% rename from vimeo/three-months.csv rename to leetcode/vimeo/three-months.csv diff --git a/virtu/all.csv b/leetcode/virtu/all.csv similarity index 100% rename from virtu/all.csv rename to leetcode/virtu/all.csv diff --git a/virtu/more-than-six-months.csv b/leetcode/virtu/more-than-six-months.csv similarity index 100% rename from virtu/more-than-six-months.csv rename to leetcode/virtu/more-than-six-months.csv diff --git a/virtu/six-months.csv b/leetcode/virtu/six-months.csv similarity index 100% rename from virtu/six-months.csv rename to leetcode/virtu/six-months.csv diff --git a/virtu/three-months.csv b/leetcode/virtu/three-months.csv similarity index 100% rename from virtu/three-months.csv rename to leetcode/virtu/three-months.csv diff --git a/virtusa/all.csv b/leetcode/virtusa/all.csv similarity index 100% rename from virtusa/all.csv rename to leetcode/virtusa/all.csv diff --git a/virtusa/more-than-six-months.csv b/leetcode/virtusa/more-than-six-months.csv similarity index 100% rename from virtusa/more-than-six-months.csv rename to leetcode/virtusa/more-than-six-months.csv diff --git a/visa/all.csv b/leetcode/visa/all.csv similarity index 100% rename from visa/all.csv rename to leetcode/visa/all.csv diff --git a/visa/more-than-six-months.csv b/leetcode/visa/more-than-six-months.csv similarity index 100% rename from visa/more-than-six-months.csv rename to leetcode/visa/more-than-six-months.csv diff --git a/visa/six-months.csv b/leetcode/visa/six-months.csv similarity index 100% rename from visa/six-months.csv rename to leetcode/visa/six-months.csv diff --git a/visa/three-months.csv b/leetcode/visa/three-months.csv similarity index 100% rename from visa/three-months.csv rename to leetcode/visa/three-months.csv diff --git a/vk/all.csv b/leetcode/vk/all.csv similarity index 100% rename from vk/all.csv rename to leetcode/vk/all.csv diff --git a/vk/more-than-six-months.csv b/leetcode/vk/more-than-six-months.csv similarity index 100% rename from vk/more-than-six-months.csv rename to leetcode/vk/more-than-six-months.csv diff --git a/vk/six-months.csv b/leetcode/vk/six-months.csv similarity index 100% rename from vk/six-months.csv rename to leetcode/vk/six-months.csv diff --git a/vk/three-months.csv b/leetcode/vk/three-months.csv similarity index 100% rename from vk/three-months.csv rename to leetcode/vk/three-months.csv diff --git a/vmware/all.csv b/leetcode/vmware/all.csv similarity index 100% rename from vmware/all.csv rename to leetcode/vmware/all.csv diff --git a/vmware/more-than-six-months.csv b/leetcode/vmware/more-than-six-months.csv similarity index 100% rename from vmware/more-than-six-months.csv rename to leetcode/vmware/more-than-six-months.csv diff --git a/walmart-labs/all.csv b/leetcode/walmart-labs/all.csv similarity index 100% rename from walmart-labs/all.csv rename to leetcode/walmart-labs/all.csv diff --git a/walmart-labs/more-than-six-months.csv b/leetcode/walmart-labs/more-than-six-months.csv similarity index 100% rename from walmart-labs/more-than-six-months.csv rename to leetcode/walmart-labs/more-than-six-months.csv diff --git a/walmart-labs/six-months.csv b/leetcode/walmart-labs/six-months.csv similarity index 100% rename from walmart-labs/six-months.csv rename to leetcode/walmart-labs/six-months.csv diff --git a/walmart-labs/thirty-days.csv b/leetcode/walmart-labs/thirty-days.csv similarity index 100% rename from walmart-labs/thirty-days.csv rename to leetcode/walmart-labs/thirty-days.csv diff --git a/walmart-labs/three-months.csv b/leetcode/walmart-labs/three-months.csv similarity index 100% rename from walmart-labs/three-months.csv rename to leetcode/walmart-labs/three-months.csv diff --git a/warnermedia/all.csv b/leetcode/warnermedia/all.csv similarity index 100% rename from warnermedia/all.csv rename to leetcode/warnermedia/all.csv diff --git a/warnermedia/more-than-six-months.csv b/leetcode/warnermedia/more-than-six-months.csv similarity index 100% rename from warnermedia/more-than-six-months.csv rename to leetcode/warnermedia/more-than-six-months.csv diff --git a/warnermedia/six-months.csv b/leetcode/warnermedia/six-months.csv similarity index 100% rename from warnermedia/six-months.csv rename to leetcode/warnermedia/six-months.csv diff --git a/warnermedia/three-months.csv b/leetcode/warnermedia/three-months.csv similarity index 100% rename from warnermedia/three-months.csv rename to leetcode/warnermedia/three-months.csv diff --git a/watchguard/all.csv b/leetcode/watchguard/all.csv similarity index 100% rename from watchguard/all.csv rename to leetcode/watchguard/all.csv diff --git a/watchguard/more-than-six-months.csv b/leetcode/watchguard/more-than-six-months.csv similarity index 100% rename from watchguard/more-than-six-months.csv rename to leetcode/watchguard/more-than-six-months.csv diff --git a/wayfair/all.csv b/leetcode/wayfair/all.csv similarity index 100% rename from wayfair/all.csv rename to leetcode/wayfair/all.csv diff --git a/wayfair/more-than-six-months.csv b/leetcode/wayfair/more-than-six-months.csv similarity index 100% rename from wayfair/more-than-six-months.csv rename to leetcode/wayfair/more-than-six-months.csv diff --git a/wayfair/six-months.csv b/leetcode/wayfair/six-months.csv similarity index 100% rename from wayfair/six-months.csv rename to leetcode/wayfair/six-months.csv diff --git a/waymo/all.csv b/leetcode/waymo/all.csv similarity index 100% rename from waymo/all.csv rename to leetcode/waymo/all.csv diff --git a/waymo/more-than-six-months.csv b/leetcode/waymo/more-than-six-months.csv similarity index 100% rename from waymo/more-than-six-months.csv rename to leetcode/waymo/more-than-six-months.csv diff --git a/waymo/six-months.csv b/leetcode/waymo/six-months.csv similarity index 100% rename from waymo/six-months.csv rename to leetcode/waymo/six-months.csv diff --git a/waymo/three-months.csv b/leetcode/waymo/three-months.csv similarity index 100% rename from waymo/three-months.csv rename to leetcode/waymo/three-months.csv diff --git a/wayve/all.csv b/leetcode/wayve/all.csv similarity index 100% rename from wayve/all.csv rename to leetcode/wayve/all.csv diff --git a/wayve/more-than-six-months.csv b/leetcode/wayve/more-than-six-months.csv similarity index 100% rename from wayve/more-than-six-months.csv rename to leetcode/wayve/more-than-six-months.csv diff --git a/wealthfront/all.csv b/leetcode/wealthfront/all.csv similarity index 100% rename from wealthfront/all.csv rename to leetcode/wealthfront/all.csv diff --git a/wealthfront/more-than-six-months.csv b/leetcode/wealthfront/more-than-six-months.csv similarity index 100% rename from wealthfront/more-than-six-months.csv rename to leetcode/wealthfront/more-than-six-months.csv diff --git a/wells-fargo/all.csv b/leetcode/wells-fargo/all.csv similarity index 100% rename from wells-fargo/all.csv rename to leetcode/wells-fargo/all.csv diff --git a/wells-fargo/more-than-six-months.csv b/leetcode/wells-fargo/more-than-six-months.csv similarity index 100% rename from wells-fargo/more-than-six-months.csv rename to leetcode/wells-fargo/more-than-six-months.csv diff --git a/weride/all.csv b/leetcode/weride/all.csv similarity index 100% rename from weride/all.csv rename to leetcode/weride/all.csv diff --git a/weride/more-than-six-months.csv b/leetcode/weride/more-than-six-months.csv similarity index 100% rename from weride/more-than-six-months.csv rename to leetcode/weride/more-than-six-months.csv diff --git a/weride/six-months.csv b/leetcode/weride/six-months.csv similarity index 100% rename from weride/six-months.csv rename to leetcode/weride/six-months.csv diff --git a/weride/three-months.csv b/leetcode/weride/three-months.csv similarity index 100% rename from weride/three-months.csv rename to leetcode/weride/three-months.csv diff --git a/western-digital/all.csv b/leetcode/western-digital/all.csv similarity index 100% rename from western-digital/all.csv rename to leetcode/western-digital/all.csv diff --git a/western-digital/six-months.csv b/leetcode/western-digital/six-months.csv similarity index 100% rename from western-digital/six-months.csv rename to leetcode/western-digital/six-months.csv diff --git a/whatfix/all.csv b/leetcode/whatfix/all.csv similarity index 100% rename from whatfix/all.csv rename to leetcode/whatfix/all.csv diff --git a/whatfix/more-than-six-months.csv b/leetcode/whatfix/more-than-six-months.csv similarity index 100% rename from whatfix/more-than-six-months.csv rename to leetcode/whatfix/more-than-six-months.csv diff --git a/whatnot/all.csv b/leetcode/whatnot/all.csv similarity index 100% rename from whatnot/all.csv rename to leetcode/whatnot/all.csv diff --git a/whatnot/more-than-six-months.csv b/leetcode/whatnot/more-than-six-months.csv similarity index 100% rename from whatnot/more-than-six-months.csv rename to leetcode/whatnot/more-than-six-months.csv diff --git a/whatnot/six-months.csv b/leetcode/whatnot/six-months.csv similarity index 100% rename from whatnot/six-months.csv rename to leetcode/whatnot/six-months.csv diff --git a/whatnot/three-months.csv b/leetcode/whatnot/three-months.csv similarity index 100% rename from whatnot/three-months.csv rename to leetcode/whatnot/three-months.csv diff --git a/winzo/all.csv b/leetcode/winzo/all.csv similarity index 100% rename from winzo/all.csv rename to leetcode/winzo/all.csv diff --git a/winzo/more-than-six-months.csv b/leetcode/winzo/more-than-six-months.csv similarity index 100% rename from winzo/more-than-six-months.csv rename to leetcode/winzo/more-than-six-months.csv diff --git a/wipro/all.csv b/leetcode/wipro/all.csv similarity index 100% rename from wipro/all.csv rename to leetcode/wipro/all.csv diff --git a/wipro/more-than-six-months.csv b/leetcode/wipro/more-than-six-months.csv similarity index 100% rename from wipro/more-than-six-months.csv rename to leetcode/wipro/more-than-six-months.csv diff --git a/wipro/six-months.csv b/leetcode/wipro/six-months.csv similarity index 100% rename from wipro/six-months.csv rename to leetcode/wipro/six-months.csv diff --git a/wipro/three-months.csv b/leetcode/wipro/three-months.csv similarity index 100% rename from wipro/three-months.csv rename to leetcode/wipro/three-months.csv diff --git a/wise/all.csv b/leetcode/wise/all.csv similarity index 100% rename from wise/all.csv rename to leetcode/wise/all.csv diff --git a/wise/more-than-six-months.csv b/leetcode/wise/more-than-six-months.csv similarity index 100% rename from wise/more-than-six-months.csv rename to leetcode/wise/more-than-six-months.csv diff --git a/wish/all.csv b/leetcode/wish/all.csv similarity index 100% rename from wish/all.csv rename to leetcode/wish/all.csv diff --git a/wish/more-than-six-months.csv b/leetcode/wish/more-than-six-months.csv similarity index 100% rename from wish/more-than-six-months.csv rename to leetcode/wish/more-than-six-months.csv diff --git a/wissen/all.csv b/leetcode/wissen/all.csv similarity index 100% rename from wissen/all.csv rename to leetcode/wissen/all.csv diff --git a/wissen/more-than-six-months.csv b/leetcode/wissen/more-than-six-months.csv similarity index 100% rename from wissen/more-than-six-months.csv rename to leetcode/wissen/more-than-six-months.csv diff --git a/wissen/six-months.csv b/leetcode/wissen/six-months.csv similarity index 100% rename from wissen/six-months.csv rename to leetcode/wissen/six-months.csv diff --git a/wissen/three-months.csv b/leetcode/wissen/three-months.csv similarity index 100% rename from wissen/three-months.csv rename to leetcode/wissen/three-months.csv diff --git a/wix/all.csv b/leetcode/wix/all.csv similarity index 100% rename from wix/all.csv rename to leetcode/wix/all.csv diff --git a/wix/more-than-six-months.csv b/leetcode/wix/more-than-six-months.csv similarity index 100% rename from wix/more-than-six-months.csv rename to leetcode/wix/more-than-six-months.csv diff --git a/wix/six-months.csv b/leetcode/wix/six-months.csv similarity index 100% rename from wix/six-months.csv rename to leetcode/wix/six-months.csv diff --git a/wix/three-months.csv b/leetcode/wix/three-months.csv similarity index 100% rename from wix/three-months.csv rename to leetcode/wix/three-months.csv diff --git a/workday/all.csv b/leetcode/workday/all.csv similarity index 100% rename from workday/all.csv rename to leetcode/workday/all.csv diff --git a/workday/more-than-six-months.csv b/leetcode/workday/more-than-six-months.csv similarity index 100% rename from workday/more-than-six-months.csv rename to leetcode/workday/more-than-six-months.csv diff --git a/workday/six-months.csv b/leetcode/workday/six-months.csv similarity index 100% rename from workday/six-months.csv rename to leetcode/workday/six-months.csv diff --git a/workday/three-months.csv b/leetcode/workday/three-months.csv similarity index 100% rename from workday/three-months.csv rename to leetcode/workday/three-months.csv diff --git a/works-applications/all.csv b/leetcode/works-applications/all.csv similarity index 100% rename from works-applications/all.csv rename to leetcode/works-applications/all.csv diff --git a/works-applications/more-than-six-months.csv b/leetcode/works-applications/more-than-six-months.csv similarity index 100% rename from works-applications/more-than-six-months.csv rename to leetcode/works-applications/more-than-six-months.csv diff --git a/worldquant/all.csv b/leetcode/worldquant/all.csv similarity index 100% rename from worldquant/all.csv rename to leetcode/worldquant/all.csv diff --git a/worldquant/more-than-six-months.csv b/leetcode/worldquant/more-than-six-months.csv similarity index 100% rename from worldquant/more-than-six-months.csv rename to leetcode/worldquant/more-than-six-months.csv diff --git a/worldquant/six-months.csv b/leetcode/worldquant/six-months.csv similarity index 100% rename from worldquant/six-months.csv rename to leetcode/worldquant/six-months.csv diff --git a/worldquant/three-months.csv b/leetcode/worldquant/three-months.csv similarity index 100% rename from worldquant/three-months.csv rename to leetcode/worldquant/three-months.csv diff --git a/woven-by-toyota/all.csv b/leetcode/woven-by-toyota/all.csv similarity index 100% rename from woven-by-toyota/all.csv rename to leetcode/woven-by-toyota/all.csv diff --git a/woven-by-toyota/six-months.csv b/leetcode/woven-by-toyota/six-months.csv similarity index 100% rename from woven-by-toyota/six-months.csv rename to leetcode/woven-by-toyota/six-months.csv diff --git a/xiaomi/all.csv b/leetcode/xiaomi/all.csv similarity index 100% rename from xiaomi/all.csv rename to leetcode/xiaomi/all.csv diff --git a/xing/all.csv b/leetcode/xing/all.csv similarity index 100% rename from xing/all.csv rename to leetcode/xing/all.csv diff --git a/xing/more-than-six-months.csv b/leetcode/xing/more-than-six-months.csv similarity index 100% rename from xing/more-than-six-months.csv rename to leetcode/xing/more-than-six-months.csv diff --git a/yahoo/all.csv b/leetcode/yahoo/all.csv similarity index 100% rename from yahoo/all.csv rename to leetcode/yahoo/all.csv diff --git a/yahoo/more-than-six-months.csv b/leetcode/yahoo/more-than-six-months.csv similarity index 100% rename from yahoo/more-than-six-months.csv rename to leetcode/yahoo/more-than-six-months.csv diff --git a/yahoo/six-months.csv b/leetcode/yahoo/six-months.csv similarity index 100% rename from yahoo/six-months.csv rename to leetcode/yahoo/six-months.csv diff --git a/yahoo/three-months.csv b/leetcode/yahoo/three-months.csv similarity index 100% rename from yahoo/three-months.csv rename to leetcode/yahoo/three-months.csv diff --git a/yandex/all.csv b/leetcode/yandex/all.csv similarity index 100% rename from yandex/all.csv rename to leetcode/yandex/all.csv diff --git a/yandex/more-than-six-months.csv b/leetcode/yandex/more-than-six-months.csv similarity index 100% rename from yandex/more-than-six-months.csv rename to leetcode/yandex/more-than-six-months.csv diff --git a/yandex/six-months.csv b/leetcode/yandex/six-months.csv similarity index 100% rename from yandex/six-months.csv rename to leetcode/yandex/six-months.csv diff --git a/yandex/thirty-days.csv b/leetcode/yandex/thirty-days.csv similarity index 100% rename from yandex/thirty-days.csv rename to leetcode/yandex/thirty-days.csv diff --git a/yandex/three-months.csv b/leetcode/yandex/three-months.csv similarity index 100% rename from yandex/three-months.csv rename to leetcode/yandex/three-months.csv diff --git a/yatra/all.csv b/leetcode/yatra/all.csv similarity index 100% rename from yatra/all.csv rename to leetcode/yatra/all.csv diff --git a/yatra/more-than-six-months.csv b/leetcode/yatra/more-than-six-months.csv similarity index 100% rename from yatra/more-than-six-months.csv rename to leetcode/yatra/more-than-six-months.csv diff --git a/yelp/all.csv b/leetcode/yelp/all.csv similarity index 100% rename from yelp/all.csv rename to leetcode/yelp/all.csv diff --git a/yelp/more-than-six-months.csv b/leetcode/yelp/more-than-six-months.csv similarity index 100% rename from yelp/more-than-six-months.csv rename to leetcode/yelp/more-than-six-months.csv diff --git a/yelp/six-months.csv b/leetcode/yelp/six-months.csv similarity index 100% rename from yelp/six-months.csv rename to leetcode/yelp/six-months.csv diff --git a/yelp/three-months.csv b/leetcode/yelp/three-months.csv similarity index 100% rename from yelp/three-months.csv rename to leetcode/yelp/three-months.csv diff --git a/yext/all.csv b/leetcode/yext/all.csv similarity index 100% rename from yext/all.csv rename to leetcode/yext/all.csv diff --git a/yext/more-than-six-months.csv b/leetcode/yext/more-than-six-months.csv similarity index 100% rename from yext/more-than-six-months.csv rename to leetcode/yext/more-than-six-months.csv diff --git a/zalando/all.csv b/leetcode/zalando/all.csv similarity index 100% rename from zalando/all.csv rename to leetcode/zalando/all.csv diff --git a/zalando/more-than-six-months.csv b/leetcode/zalando/more-than-six-months.csv similarity index 100% rename from zalando/more-than-six-months.csv rename to leetcode/zalando/more-than-six-months.csv diff --git a/zappos/all.csv b/leetcode/zappos/all.csv similarity index 100% rename from zappos/all.csv rename to leetcode/zappos/all.csv diff --git a/zappos/more-than-six-months.csv b/leetcode/zappos/more-than-six-months.csv similarity index 100% rename from zappos/more-than-six-months.csv rename to leetcode/zappos/more-than-six-months.csv diff --git a/zemoso/all.csv b/leetcode/zemoso/all.csv similarity index 100% rename from zemoso/all.csv rename to leetcode/zemoso/all.csv diff --git a/zemoso/more-than-six-months.csv b/leetcode/zemoso/more-than-six-months.csv similarity index 100% rename from zemoso/more-than-six-months.csv rename to leetcode/zemoso/more-than-six-months.csv diff --git a/zendesk/all.csv b/leetcode/zendesk/all.csv similarity index 100% rename from zendesk/all.csv rename to leetcode/zendesk/all.csv diff --git a/zendesk/more-than-six-months.csv b/leetcode/zendesk/more-than-six-months.csv similarity index 100% rename from zendesk/more-than-six-months.csv rename to leetcode/zendesk/more-than-six-months.csv diff --git a/zenefits/all.csv b/leetcode/zenefits/all.csv similarity index 100% rename from zenefits/all.csv rename to leetcode/zenefits/all.csv diff --git a/zenefits/more-than-six-months.csv b/leetcode/zenefits/more-than-six-months.csv similarity index 100% rename from zenefits/more-than-six-months.csv rename to leetcode/zenefits/more-than-six-months.csv diff --git a/zepto/all.csv b/leetcode/zepto/all.csv similarity index 100% rename from zepto/all.csv rename to leetcode/zepto/all.csv diff --git a/zepto/more-than-six-months.csv b/leetcode/zepto/more-than-six-months.csv similarity index 100% rename from zepto/more-than-six-months.csv rename to leetcode/zepto/more-than-six-months.csv diff --git a/zepto/six-months.csv b/leetcode/zepto/six-months.csv similarity index 100% rename from zepto/six-months.csv rename to leetcode/zepto/six-months.csv diff --git a/zeta-suite/all.csv b/leetcode/zeta-suite/all.csv similarity index 100% rename from zeta-suite/all.csv rename to leetcode/zeta-suite/all.csv diff --git a/zeta-suite/more-than-six-months.csv b/leetcode/zeta-suite/more-than-six-months.csv similarity index 100% rename from zeta-suite/more-than-six-months.csv rename to leetcode/zeta-suite/more-than-six-months.csv diff --git a/zeta/all.csv b/leetcode/zeta/all.csv similarity index 100% rename from zeta/all.csv rename to leetcode/zeta/all.csv diff --git a/zeta/more-than-six-months.csv b/leetcode/zeta/more-than-six-months.csv similarity index 100% rename from zeta/more-than-six-months.csv rename to leetcode/zeta/more-than-six-months.csv diff --git a/zeta/six-months.csv b/leetcode/zeta/six-months.csv similarity index 100% rename from zeta/six-months.csv rename to leetcode/zeta/six-months.csv diff --git a/zeta/thirty-days.csv b/leetcode/zeta/thirty-days.csv similarity index 100% rename from zeta/thirty-days.csv rename to leetcode/zeta/thirty-days.csv diff --git a/zeta/three-months.csv b/leetcode/zeta/three-months.csv similarity index 100% rename from zeta/three-months.csv rename to leetcode/zeta/three-months.csv diff --git a/zillow/all.csv b/leetcode/zillow/all.csv similarity index 100% rename from zillow/all.csv rename to leetcode/zillow/all.csv diff --git a/zillow/more-than-six-months.csv b/leetcode/zillow/more-than-six-months.csv similarity index 100% rename from zillow/more-than-six-months.csv rename to leetcode/zillow/more-than-six-months.csv diff --git a/zip/all.csv b/leetcode/zip/all.csv similarity index 100% rename from zip/all.csv rename to leetcode/zip/all.csv diff --git a/zip/more-than-six-months.csv b/leetcode/zip/more-than-six-months.csv similarity index 100% rename from zip/more-than-six-months.csv rename to leetcode/zip/more-than-six-months.csv diff --git a/zip/six-months.csv b/leetcode/zip/six-months.csv similarity index 100% rename from zip/six-months.csv rename to leetcode/zip/six-months.csv diff --git a/zip/three-months.csv b/leetcode/zip/three-months.csv similarity index 100% rename from zip/three-months.csv rename to leetcode/zip/three-months.csv diff --git a/ziprecruiter/all.csv b/leetcode/ziprecruiter/all.csv similarity index 100% rename from ziprecruiter/all.csv rename to leetcode/ziprecruiter/all.csv diff --git a/ziprecruiter/more-than-six-months.csv b/leetcode/ziprecruiter/more-than-six-months.csv similarity index 100% rename from ziprecruiter/more-than-six-months.csv rename to leetcode/ziprecruiter/more-than-six-months.csv diff --git a/zluri/all.csv b/leetcode/zluri/all.csv similarity index 100% rename from zluri/all.csv rename to leetcode/zluri/all.csv diff --git a/zluri/more-than-six-months.csv b/leetcode/zluri/more-than-six-months.csv similarity index 100% rename from zluri/more-than-six-months.csv rename to leetcode/zluri/more-than-six-months.csv diff --git a/zoho/all.csv b/leetcode/zoho/all.csv similarity index 100% rename from zoho/all.csv rename to leetcode/zoho/all.csv diff --git a/zoho/more-than-six-months.csv b/leetcode/zoho/more-than-six-months.csv similarity index 100% rename from zoho/more-than-six-months.csv rename to leetcode/zoho/more-than-six-months.csv diff --git a/zoho/six-months.csv b/leetcode/zoho/six-months.csv similarity index 100% rename from zoho/six-months.csv rename to leetcode/zoho/six-months.csv diff --git a/zoho/thirty-days.csv b/leetcode/zoho/thirty-days.csv similarity index 100% rename from zoho/thirty-days.csv rename to leetcode/zoho/thirty-days.csv diff --git a/zoho/three-months.csv b/leetcode/zoho/three-months.csv similarity index 100% rename from zoho/three-months.csv rename to leetcode/zoho/three-months.csv diff --git a/zomato/all.csv b/leetcode/zomato/all.csv similarity index 100% rename from zomato/all.csv rename to leetcode/zomato/all.csv diff --git a/zomato/more-than-six-months.csv b/leetcode/zomato/more-than-six-months.csv similarity index 100% rename from zomato/more-than-six-months.csv rename to leetcode/zomato/more-than-six-months.csv diff --git a/zomato/six-months.csv b/leetcode/zomato/six-months.csv similarity index 100% rename from zomato/six-months.csv rename to leetcode/zomato/six-months.csv diff --git a/zomato/three-months.csv b/leetcode/zomato/three-months.csv similarity index 100% rename from zomato/three-months.csv rename to leetcode/zomato/three-months.csv diff --git a/zoom/all.csv b/leetcode/zoom/all.csv similarity index 100% rename from zoom/all.csv rename to leetcode/zoom/all.csv diff --git a/zoom/more-than-six-months.csv b/leetcode/zoom/more-than-six-months.csv similarity index 100% rename from zoom/more-than-six-months.csv rename to leetcode/zoom/more-than-six-months.csv diff --git a/zoox/all.csv b/leetcode/zoox/all.csv similarity index 100% rename from zoox/all.csv rename to leetcode/zoox/all.csv diff --git a/zoox/more-than-six-months.csv b/leetcode/zoox/more-than-six-months.csv similarity index 100% rename from zoox/more-than-six-months.csv rename to leetcode/zoox/more-than-six-months.csv diff --git a/zoox/six-months.csv b/leetcode/zoox/six-months.csv similarity index 100% rename from zoox/six-months.csv rename to leetcode/zoox/six-months.csv diff --git a/zoox/three-months.csv b/leetcode/zoox/three-months.csv similarity index 100% rename from zoox/three-months.csv rename to leetcode/zoox/three-months.csv diff --git a/zopsmart/all.csv b/leetcode/zopsmart/all.csv similarity index 100% rename from zopsmart/all.csv rename to leetcode/zopsmart/all.csv diff --git a/zopsmart/more-than-six-months.csv b/leetcode/zopsmart/more-than-six-months.csv similarity index 100% rename from zopsmart/more-than-six-months.csv rename to leetcode/zopsmart/more-than-six-months.csv diff --git a/zopsmart/six-months.csv b/leetcode/zopsmart/six-months.csv similarity index 100% rename from zopsmart/six-months.csv rename to leetcode/zopsmart/six-months.csv diff --git a/zopsmart/three-months.csv b/leetcode/zopsmart/three-months.csv similarity index 100% rename from zopsmart/three-months.csv rename to leetcode/zopsmart/three-months.csv diff --git a/zs-associates/all.csv b/leetcode/zs-associates/all.csv similarity index 100% rename from zs-associates/all.csv rename to leetcode/zs-associates/all.csv diff --git a/zs-associates/more-than-six-months.csv b/leetcode/zs-associates/more-than-six-months.csv similarity index 100% rename from zs-associates/more-than-six-months.csv rename to leetcode/zs-associates/more-than-six-months.csv diff --git a/zs-associates/six-months.csv b/leetcode/zs-associates/six-months.csv similarity index 100% rename from zs-associates/six-months.csv rename to leetcode/zs-associates/six-months.csv diff --git a/zs-associates/three-months.csv b/leetcode/zs-associates/three-months.csv similarity index 100% rename from zs-associates/three-months.csv rename to leetcode/zs-associates/three-months.csv diff --git a/zscaler/all.csv b/leetcode/zscaler/all.csv similarity index 100% rename from zscaler/all.csv rename to leetcode/zscaler/all.csv diff --git a/zscaler/more-than-six-months.csv b/leetcode/zscaler/more-than-six-months.csv similarity index 100% rename from zscaler/more-than-six-months.csv rename to leetcode/zscaler/more-than-six-months.csv diff --git a/zscaler/six-months.csv b/leetcode/zscaler/six-months.csv similarity index 100% rename from zscaler/six-months.csv rename to leetcode/zscaler/six-months.csv diff --git a/zscaler/three-months.csv b/leetcode/zscaler/three-months.csv similarity index 100% rename from zscaler/three-months.csv rename to leetcode/zscaler/three-months.csv diff --git a/zynga/all.csv b/leetcode/zynga/all.csv similarity index 100% rename from zynga/all.csv rename to leetcode/zynga/all.csv diff --git a/zynga/more-than-six-months.csv b/leetcode/zynga/more-than-six-months.csv similarity index 100% rename from zynga/more-than-six-months.csv rename to leetcode/zynga/more-than-six-months.csv diff --git a/src/Backend/AppContext.cs b/src/Backend/AppContext.cs new file mode 100644 index 0000000..8d97ddf --- /dev/null +++ b/src/Backend/AppContext.cs @@ -0,0 +1,19 @@ +using Backend.Operations; +using Microsoft.Azure.Cosmos; + +namespace Backend +{ + public class AppContext + { + public readonly Operations.DataProvider dataProvider; + public readonly IConfiguration configuration; + public readonly ILogger logger; + + public AppContext(CosmosClient cosmosClient, IConfiguration configuration, ILogger logger) + { + this.dataProvider = new Operations.DataProvider(cosmosClient, configuration, logger); + this.configuration = configuration; + this.logger = logger; + } + } +} \ No newline at end of file diff --git a/src/Backend/Backend.csproj b/src/Backend/Backend.csproj new file mode 100644 index 0000000..15e787a --- /dev/null +++ b/src/Backend/Backend.csproj @@ -0,0 +1,21 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + + diff --git a/src/Backend/Backend.http b/src/Backend/Backend.http new file mode 100644 index 0000000..9033100 --- /dev/null +++ b/src/Backend/Backend.http @@ -0,0 +1,6 @@ +@Backend_HostAddress = http://localhost:5164 + +GET {{Backend_HostAddress}}/weatherforecast/ +Accept: application/json + +### diff --git a/src/Backend/Controllers/ProblemsController.cs b/src/Backend/Controllers/ProblemsController.cs new file mode 100644 index 0000000..1ea1c24 --- /dev/null +++ b/src/Backend/Controllers/ProblemsController.cs @@ -0,0 +1,46 @@ +namespace Backend.Controllers +{ + using Backend.Models.Public; + using Backend.Operations; + using Microsoft.AspNetCore.Mvc; + using ProblemPublicModel = Common.Models.Problem; + + [ApiController] + public class ProblemsController : ControllerBase + { + private AppContext appContext; + private readonly ILogger logger; + private readonly IConfiguration configuration; + public ProblemsController(AppContext appContext, ILogger logger, IConfiguration configuration) + { + this.appContext = appContext; + this.logger = logger; + this.configuration = configuration; + } + + [HttpGet] + [Route("problems")] + public async Task> GetProblems( + [FromQuery(Name = QueryParam.Skip)] int skip = 0, + [FromQuery(Name = QueryParam.Limit)] int limit = 50, + [FromQuery(Name = QueryParam.Company)] List? companies = null, + [FromQuery(Name = QueryParam.Difficulty)] List? difficulties = null, + [FromQuery(Name = QueryParam.Tag)] List? tags = null) + { + var filter = new ProblemFilter(skip, limit, companies, difficulties, tags); + var filteredProblems = await appContext.dataProvider.GetProblemsAsync(filter); + return Ok(filteredProblems); + } + + [HttpGet] + [Route("problems/{id}")] + public async Task> GetProblems(string id) + { + if (appContext.dataProvider.problemsCache.TryGetValue(id, out var problem)) + { + return Ok(problem); + } + return NotFound($"Problem {id} not found."); + } + } +} \ No newline at end of file diff --git a/src/Backend/Models/Internal/Problem.cs b/src/Backend/Models/Internal/Problem.cs new file mode 100644 index 0000000..e69de29 diff --git a/src/Backend/Models/Public/Problem.cs b/src/Backend/Models/Public/Problem.cs new file mode 100644 index 0000000..0f6f34b --- /dev/null +++ b/src/Backend/Models/Public/Problem.cs @@ -0,0 +1 @@ +// Using Common.Models.Problem scehma \ No newline at end of file diff --git a/src/Backend/Models/Public/QueryParam.cs b/src/Backend/Models/Public/QueryParam.cs new file mode 100644 index 0000000..340cc74 --- /dev/null +++ b/src/Backend/Models/Public/QueryParam.cs @@ -0,0 +1,11 @@ +namespace Backend.Models.Public +{ + public class QueryParam + { + public const string Skip = "skip"; + public const string Limit = "limit"; + public const string Difficulty = "difficulty"; + public const string Company = "company"; + public const string Tag = "tag"; + } +} \ No newline at end of file diff --git a/src/Backend/Operations/DataProvider.cs b/src/Backend/Operations/DataProvider.cs new file mode 100644 index 0000000..8f22b77 --- /dev/null +++ b/src/Backend/Operations/DataProvider.cs @@ -0,0 +1,71 @@ +namespace Backend.Operations +{ + using Common.Models; + using Microsoft.Azure.Cosmos; + + public class DataProvider + { + private const int RefreshIntervalInHours = 6; + private CosmosClient cosmosClient; + private readonly IConfiguration configuration; + ILogger logger; + private DateTime lastLoadedTime = DateTime.MinValue; + public Dictionary problemsCache { get; private set; } = new Dictionary(StringComparer.OrdinalIgnoreCase); + + public DataProvider(CosmosClient client, IConfiguration configuration, ILogger logger) + { + this.cosmosClient = client; + this.configuration = configuration; + this.logger = logger; + } + + public async Task> GetProblemsAsync(IFilter? filter = null) + { + var allProblems = await GetAllProblemsAsync(); + if (filter != null) + { + return filter.ApplyFilterAsync(allProblems.Values.ToList()); + } + return allProblems.Values.ToList(); + } + + private async Task> GetAllProblemsAsync() + { + if ((DateTime.UtcNow - lastLoadedTime) > TimeSpan.FromHours(RefreshIntervalInHours)) + { + await LoadLatestDataAsync(); + } + return problemsCache; + } + + private async Task LoadLatestDataAsync() + { + try + { + var dbId = configuration.GetValue("ApplicationSettings:CosmosDbDatabaseId"); + var containerId = configuration.GetValue("ApplicationSettings:CosmosDbContainerId"); + var db = cosmosClient.GetDatabase(dbId); + var container = db.GetContainer(containerId); + + var query = "SELECT * FROM c"; + var queryDefinition = new QueryDefinition(query); + var queryResultSetIterator = container.GetItemQueryIterator(queryDefinition); + + List results = new List(); + while (queryResultSetIterator.HasMoreResults) + { + var response = await queryResultSetIterator.ReadNextAsync(); + results.AddRange(response.Select(item => new Problem(item))); + } + + lastLoadedTime = DateTime.UtcNow; + problemsCache = results.ToDictionary(p => p.id, StringComparer.OrdinalIgnoreCase); + this.logger.LogInformation($"Loaded {problemsCache.Count} problems from Cosmos DB at {lastLoadedTime}"); + } + catch (Exception ex) + { + this.logger.LogError($"Error loading data from Cosmos DB. {ex}"); + } + } + } +} \ No newline at end of file diff --git a/src/Backend/Operations/IFilter.cs b/src/Backend/Operations/IFilter.cs new file mode 100644 index 0000000..2a2780a --- /dev/null +++ b/src/Backend/Operations/IFilter.cs @@ -0,0 +1,7 @@ +namespace Backend.Operations +{ + public interface IFilter + { + public List ApplyFilterAsync(List problems); + } +} \ No newline at end of file diff --git a/src/Backend/Operations/ProblemFilter.cs b/src/Backend/Operations/ProblemFilter.cs new file mode 100644 index 0000000..7aa7077 --- /dev/null +++ b/src/Backend/Operations/ProblemFilter.cs @@ -0,0 +1,43 @@ +namespace Backend.Operations +{ + public class ProblemFilter : IFilter + { + private int skip = 0; + private int limit = 50; + private List companies; + private List difficulties; + private List tags; + + public ProblemFilter(int skip, int limit, List? companies, List? difficulties, List? tags) + { + this.skip = skip; + this.limit = Math.Min(limit, 50); + this.companies = companies ?? new List(); + this.difficulties = difficulties ?? new List(); + this.tags = tags ?? new List(); + } + + public List ApplyFilterAsync(List problems) + { + List filteredProblems = problems; + + // TODO: Add tags filtering logic with company + if (companies != null && companies.Count > 0) + { + filteredProblems = filteredProblems.Where( + p => p.companies != null && + p.companies.Keys.Any( + c => this.companies.Contains(c, StringComparer.OrdinalIgnoreCase))).ToList(); + } + + if (difficulties != null && difficulties.Count > 0) + { + filteredProblems = filteredProblems.Where(p => this.difficulties.Contains(p.difficulty)).ToList(); + } + + filteredProblems = filteredProblems.Skip(skip).Take(limit).ToList(); + + return filteredProblems; + } + } +} \ No newline at end of file diff --git a/src/Backend/Program.cs b/src/Backend/Program.cs new file mode 100644 index 0000000..082f7f1 --- /dev/null +++ b/src/Backend/Program.cs @@ -0,0 +1,83 @@ +namespace Backend; + +using System.Data; +using Backend.Operations; +using Microsoft.Azure.Cosmos; +using Microsoft.Extensions.Logging.ApplicationInsights; + +public class Program +{ + private static void SetupLogging(ILoggingBuilder logging, IConfiguration configuration) + { + logging.ClearProviders(); + logging.AddApplicationInsights( + configureTelemetryConfiguration: (config) => config.ConnectionString = configuration["ApplicationInsights:ConnectionString"], + configureApplicationInsightsLoggerOptions: (options) => { } + ); + + var appLogLevelSettings = configuration.GetSection("ApplicationInsights"); + var defaultLogLevel = appLogLevelSettings.GetValue("LogLevel:Default", LogLevel.Information); + Console.WriteLine($"Setting log level for Default to {defaultLogLevel}"); + + logging.AddFilter("", defaultLogLevel); + + foreach (var kvp in appLogLevelSettings.GetSection("LogLevel").AsEnumerable()) + { + if (Enum.TryParse(kvp.Value, out var logLevel)) + { + logging.AddFilter(kvp.Key.Split(":").Last(), logLevel); + } + } + } + + public static void Main(string[] args) + { + var builder = WebApplication.CreateBuilder(args); + + // Add services to the container. + builder.Services.AddApplicationInsightsTelemetry(); + builder.Services.AddControllers(); + + SetupLogging(builder.Logging, builder.Configuration); + + if (builder.Environment.IsDevelopment()) + { + // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle + builder.Services.AddEndpointsApiExplorer(); + builder.Services.AddSwaggerGen(); + + builder.Logging.AddConsole(); + } + + // Register AppContext as singleton + var config = builder.Configuration; + var cosmosClient = new CosmosClient(config["ApplicationSettings:CosmosDbUri"], config["ApplicationSettings:CosmosDbPrimaryKey"]); + builder.Services.AddSingleton(s => + new AppContext( + cosmosClient, + builder.Configuration, + s.GetRequiredService>() + ) + ); + + var app = builder.Build(); + ILogger logger = app.Logger; + + logger.LogInformation($"Backend started at {DateTime.UtcNow}"); + + // Configure the HTTP request pipeline. + if (app.Environment.IsDevelopment()) + { + app.UseSwagger(); + app.UseSwaggerUI(); + } + + app.UseHttpsRedirection(); + + app.UseAuthorization(); + + app.MapControllers(); + + app.Run(); + } +} diff --git a/src/Backend/Properties/launchSettings.json b/src/Backend/Properties/launchSettings.json new file mode 100644 index 0000000..fe3de06 --- /dev/null +++ b/src/Backend/Properties/launchSettings.json @@ -0,0 +1,41 @@ +īģŋ{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:6270", + "sslPort": 44366 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "http://localhost:5164", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7060;http://localhost:5164", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/Backend/appsettings.Development.json b/src/Backend/appsettings.Development.json new file mode 100644 index 0000000..ff66ba6 --- /dev/null +++ b/src/Backend/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/src/Backend/appsettings.json b/src/Backend/appsettings.json new file mode 100644 index 0000000..9ee91c9 --- /dev/null +++ b/src/Backend/appsettings.json @@ -0,0 +1,24 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "ApplicationSettings": { + "Name": "leetcode-wrapper", + "Version": "1.0.0", + "CosmosDbUri": "https://lcw-cosmos.documents.azure.com:443/", + "CosmosDbPrimaryKey": "", + "CosmosDbDatabaseId": "LeetCodeWrapper", + "CosmosDbContainerId": "Problems" + }, + "ApplicationInsights": { + "LogLevel": { + "Default": "Trace", + "Microsoft": "Warning" + }, + "ConnectionString": "" + }, + "AllowedHosts": "*" +} diff --git a/src/Common/Common.csproj b/src/Common/Common.csproj new file mode 100644 index 0000000..206b89a --- /dev/null +++ b/src/Common/Common.csproj @@ -0,0 +1,10 @@ +īģŋ + + + Exe + net8.0 + enable + enable + + + diff --git a/src/Common/Models/Problem.cs b/src/Common/Models/Problem.cs new file mode 100644 index 0000000..27b6f19 --- /dev/null +++ b/src/Common/Models/Problem.cs @@ -0,0 +1,58 @@ +namespace Common.Models +{ + public enum Difficulty + { + Unknown = 0, + Easy = 1, + Medium = 2, + Hard = 3 + } + + public class TagName + { + public static string FileName = "filename"; + public static string FolderName = "foldername"; + }; + + public class Problem + { + public Problem() { } + public Problem(Problem ps) + { + this.id = ps.id; + this.title = ps.title; + this.url = ps.url; + this.difficulty = ps.difficulty; + this.acceptance = ps.acceptance; + this.frequency = ps.frequency; + this.companies = new Dictionary>(ps.companies); + this.metadata = new Dictionary(ps.metadata); + } + + public Problem(ProblemSchema ps) + { + this.id = ps.id; + this.title = ps.title; + this.url = ps.url; + this.difficulty = ps.difficulty; + this.acceptance = ps.acceptance; + this.frequency = ps.frequency; + this.companies = ps.companyList.ToDictionary(kv => kv.Key, kv => kv.Value.ToList(), StringComparer.OrdinalIgnoreCase); + this.metadata = ps.metadataList.ToDictionary(kv => kv.Key, kv => kv.Value, StringComparer.OrdinalIgnoreCase); + } + + public string id { get; set; } = string.Empty; + public string title { get; set; } = string.Empty; + public string url { get; set; } = string.Empty; + public Difficulty difficulty { get; set; } = Difficulty.Unknown; + public double acceptance { get; set; } = 0.0; + public double frequency { get; set; } = 0; + public Dictionary> companies { get; set; } = new Dictionary>(StringComparer.OrdinalIgnoreCase); + public Dictionary metadata { get; set; } = new Dictionary(StringComparer.OrdinalIgnoreCase); + + public override string ToString() + { + return $"{id}: {title} ({difficulty}) | companies: {string.Join(", ", companies.Keys)} | metadata: {string.Join(", ", metadata.Select(kv => $"{kv.Key}={kv.Value}"))}"; + } + } +} diff --git a/src/Common/Models/ProblemSchema.cs b/src/Common/Models/ProblemSchema.cs new file mode 100644 index 0000000..edbc20d --- /dev/null +++ b/src/Common/Models/ProblemSchema.cs @@ -0,0 +1,44 @@ +namespace Common.Models +{ + public class ProblemSchema + { + public ProblemSchema() { } + public ProblemSchema(ProblemSchema ps) + { + this.id = ps.id; + this.title = ps.title; + this.url = ps.url; + this.difficulty = ps.difficulty; + this.acceptance = ps.acceptance; + this.frequency = ps.frequency; + this.companyList = new List>>(); + this.metadataList = new List>(); + } + + public ProblemSchema(Problem p) + { + this.id = p.id; + this.title = p.title; + this.url = p.url; + this.difficulty = p.difficulty; + this.acceptance = p.acceptance; + this.frequency = p.frequency; + this.companyList = p.companies.Select(kv => new KeyValuePair>(kv.Key, kv.Value.ToList())).ToList(); + this.metadataList = p.metadata.Select(kv => new KeyValuePair(kv.Key, kv.Value)).ToList(); + } + + public string id { get; set; } = string.Empty; + public string title { get; set; } = string.Empty; + public string url { get; set; } = string.Empty; + public Difficulty difficulty { get; set; } = Difficulty.Unknown; + public double acceptance { get; set; } = 0.0; + public double frequency { get; set; } = 0; + public List>> companyList { get; set; } = new List>>(); + public List> metadataList { get; set; } = new List>(); + + public override string ToString() + { + return $"{id}: {title} ({difficulty}) | companies: {string.Join(", ", companyList.Select(c => c.Key))} | metadata: {string.Join(", ", metadataList.Select(kv => $"{kv.Key}={kv.Value}"))}"; + } + } +} diff --git a/src/Common/Program.cs b/src/Common/Program.cs new file mode 100644 index 0000000..3095376 --- /dev/null +++ b/src/Common/Program.cs @@ -0,0 +1,9 @@ +īģŋnamespace Common; + +public class Program +{ + static void Main(string[] args) + { + Console.WriteLine("Hello, World!"); + } +} diff --git a/src/Synchronizer/Helper.cs b/src/Synchronizer/Helper.cs new file mode 100644 index 0000000..2fb87b2 --- /dev/null +++ b/src/Synchronizer/Helper.cs @@ -0,0 +1,49 @@ +using Synchronizer; + +internal class Helper +{ + public static List GetCsvFileNames(string rootDir) + { + var csvFiles = Directory.GetFiles(rootDir, "*.csv", SearchOption.AllDirectories); + return csvFiles.ToList(); + } + + public static List ReadProblemsFromCsv(string filePath) + { + var problems = new List(); + var lines = File.ReadAllLines(filePath); + var relPath = filePath.Split("leetcode/").Last(); + + foreach (var line in lines.Skip(1)) // Skip header + { + var parts = line.Split(','); + + // ID,URL,Title,Difficulty,Acceptance %,Frequency % + if (parts.Length < 5) + { + Console.WriteLine($"[{relPath}] Skipping malformed line: {line}"); + continue; + } + + var problem = new Common.Models.Problem + { + id = parts[0], + url = parts[1], + title = parts[2], + difficulty = Enum.TryParse(parts[3], true, out var diff) ? diff : Common.Models.Difficulty.Unknown, + acceptance = double.TryParse(parts[4].TrimEnd('%'), out var acc) ? acc : 0.0, + frequency = double.TryParse(parts[5].TrimEnd('%'), out var freq) ? freq : 0.0, + metadata = new Dictionary() + }; + + problem.metadata[Common.Models.TagName.FolderName] = relPath.Split('/').First(); + problem.metadata[Common.Models.TagName.FileName] = relPath.Split('/').Last().Split('.').First(); + + // Additional metadata can be parsed here if available + problems.Add(problem); + } + + return problems; + } + +} \ No newline at end of file diff --git a/src/Synchronizer/ProblemsProcessor.cs b/src/Synchronizer/ProblemsProcessor.cs new file mode 100644 index 0000000..db86026 --- /dev/null +++ b/src/Synchronizer/ProblemsProcessor.cs @@ -0,0 +1,106 @@ +using Microsoft.Azure.Cosmos; +using Common.Models; + +namespace Synchronizer; + +public class ProblemsProcessor +{ + private string rootDir; + private CosmosClient cosmosClient; + private DateTime ScrappedDate = new DateTime(2025, 7, 1); + private Dictionary TagsToReplace = + new Dictionary { { "more-than-six-months", "one-year" } }; + + public ProblemsProcessor(string rootDir, CosmosClient client) + { + this.rootDir = rootDir; + this.cosmosClient = client; + } + + public async Task Run() + { + var files = Helper.GetCsvFileNames(rootDir); + + Dictionary allProblems = new Dictionary(); + HashSet recentTags = new HashSet(StringComparer.OrdinalIgnoreCase); + + foreach (var file in files) + { + var problems = Helper.ReadProblemsFromCsv(file); + foreach (var problem in problems) + { + var companyName = problem.metadata[TagName.FolderName]; + var recent = problem.metadata[TagName.FileName]; + if (TagsToReplace.Keys.Contains(recent, StringComparer.OrdinalIgnoreCase)) + { + recent = TagsToReplace[recent.ToLower()]; + } + recentTags.Add(recent); + problem.metadata.Clear(); + + if (!allProblems.ContainsKey(problem.id)) + { + allProblems[problem.id] = new Problem(problem); + allProblems[problem.id].metadata["scrapped_date"] = ScrappedDate.ToString("yyyy-MM-dd"); + if (!allProblems[problem.id].companies.ContainsKey(companyName)) + { + allProblems[problem.id].companies[companyName] = new List(); + } + allProblems[problem.id].companies[companyName].Add(recent); + } + else + { + if (!allProblems[problem.id].companies.ContainsKey(companyName)) + { + allProblems[problem.id].companies[companyName] = new List(); + } + allProblems[problem.id].companies[companyName].Add(recent); + } + } + + } + // Implementation for processing problems + Console.WriteLine($"Total unique problems found: {allProblems.Count}"); + Console.WriteLine($"Recent tags found: {string.Join(", ", recentTags)}"); + + // var sampleProblems = allProblems.Values.Take(Math.Min(5, allProblems.Count)).ToList(); + // foreach (var prob in sampleProblems) Console.WriteLine(prob.ToString()); + + var db = cosmosClient.GetDatabase(ComosDbSettings.DatabaseId); + var container = db.GetContainer(ComosDbSettings.ContainerId); + + var problemsToUpsert = allProblems.Values.ToList(); + + var batchSize = 50; + for (int start = 0; start < problemsToUpsert.Count; start += batchSize) + { + var batch = problemsToUpsert.Skip(start).Take(batchSize).ToList(); + Console.WriteLine($"Upserting batch of {batch.Count} problems... | start: {start}"); + await UpsertProblems(container, batch); + await Task.Delay(TimeSpan.FromSeconds(1)); // To avoid overwhelming the Cosmos DB with requests + } + + } + + private async Task UpsertProblems(Container container, List problems) + { + var tasks = new List>>(); + var problemIds = new List(); + foreach (var problem in problems) + { + try + { + problemIds.Add(problem.id); + tasks.Add(container.UpsertItemAsync(new ProblemSchema(problem))); + await Task.Delay(TimeSpan.FromMilliseconds(10)); // To avoid overwhelming the Cosmos DB with requests + } + catch (Exception ex) + { + Console.WriteLine($"Error upserting problem {problem.id}: {ex.Message}"); + } + } + + await Task.WhenAll(tasks); + Console.WriteLine($"Upserted {tasks.Count} problems. {string.Join(", ", problemIds)}"); + } +} \ No newline at end of file diff --git a/src/Synchronizer/Program.cs b/src/Synchronizer/Program.cs new file mode 100644 index 0000000..046ba2d --- /dev/null +++ b/src/Synchronizer/Program.cs @@ -0,0 +1,83 @@ +īģŋnamespace Synchronizer; + +using Microsoft.Azure.Cosmos; +using ProblemSchema = Common.Models.Problem; + +internal class Program +{ + private static bool SetupDb(CosmosClient client) + { + try + { + client.CreateDatabaseIfNotExistsAsync(ComosDbSettings.DatabaseId).GetAwaiter().GetResult(); + var db = client.GetDatabase(ComosDbSettings.DatabaseId); + db.CreateContainerIfNotExistsAsync(ComosDbSettings.ContainerId, partitionKeyPath: "/id").GetAwaiter().GetResult(); + var container = db.GetContainer(ComosDbSettings.ContainerId); + } + catch (Exception ex) + { + Console.WriteLine(ex); + return false; + } + return true; + } + + static void Test(CosmosClient client) + { + var db = client.GetDatabase(ComosDbSettings.DatabaseId); + var container = db.GetContainer(ComosDbSettings.ContainerId); + + var res = container.UpsertItemAsync(new ProblemSchema + { + id = "1", + title = "Two Sum", + url = "https://leetcode.com/problems/two-sum/", + difficulty = Common.Models.Difficulty.Easy, + companies = new Dictionary> { {"Google", new List{"6-month"}} }, + acceptance = 78.5, + metadata = new Dictionary + { + { "tag", "array" }, + { "frequency", "high" } + } + }).GetAwaiter().GetResult(); + + var res2 = container.UpsertItemAsync(new ProblemSchema + { + id = "2", + title = "Three Sum", + url = "https://leetcode.com/problems/two-sum/", + difficulty = Common.Models.Difficulty.Easy, + companies = new Dictionary> { {"Meta", new List{"3-month"}} }, + metadata = new Dictionary + { + { "tag", "array" }, + { "frequency", "high" } + } + }).GetAwaiter().GetResult(); + } + + public static void Main(string[] args) + { + Console.WriteLine("Hello, World!"); + + CosmosClient client = new CosmosClient(ComosDbSettings.Uri, ComosDbSettings.PrimaryKey); + + SetupDb(client); + // Test(client); + + string rootDir = args.Length > 0 ? args[0] : throw new ArgumentException("Root directory argument is required"); + var processor = new ProblemsProcessor(rootDir, client); + processor.Run().GetAwaiter().GetResult(); + + Console.WriteLine("Bye bye"); + } +} + +public class ComosDbSettings +{ + public static string Uri { get; } = "https://lcw-cosmos.documents.azure.com:443/"; + public static string DatabaseId { get; } = "LeetCodeWrapper"; + public static string ContainerId { get; } = "Problems"; + public static string PrimaryKey { get; } = ""; +} diff --git a/src/Synchronizer/Synchronizer.csproj b/src/Synchronizer/Synchronizer.csproj new file mode 100644 index 0000000..72a2484 --- /dev/null +++ b/src/Synchronizer/Synchronizer.csproj @@ -0,0 +1,20 @@ +īģŋ + + + Exe + net8.0 + enable + enable + + + + + + + + + + + + + From 89538b1d10824bc924d569f7caee5a23b8fb6e2e Mon Sep 17 00:00:00 2001 From: devidnyk Date: Sat, 4 Oct 2025 21:50:55 +0530 Subject: [PATCH 02/11] Updated controller to refresh in another task --- src/Backend/Controllers/ProblemsController.cs | 10 ++- src/Backend/Operations/DataProvider.cs | 81 ++++++++++++++----- 2 files changed, 69 insertions(+), 22 deletions(-) diff --git a/src/Backend/Controllers/ProblemsController.cs b/src/Backend/Controllers/ProblemsController.cs index 1ea1c24..caf93e1 100644 --- a/src/Backend/Controllers/ProblemsController.cs +++ b/src/Backend/Controllers/ProblemsController.cs @@ -18,6 +18,13 @@ public ProblemsController(AppContext appContext, ILogger log this.configuration = configuration; } + [HttpGet] + [Route("")] + public ActionResult GetHome() + { + return Ok("Leetcode Wrapper Backend is running."); + } + [HttpGet] [Route("problems")] public async Task> GetProblems( @@ -36,7 +43,8 @@ public async Task> GetProblems( [Route("problems/{id}")] public async Task> GetProblems(string id) { - if (appContext.dataProvider.problemsCache.TryGetValue(id, out var problem)) + var problem = await appContext.dataProvider.GetProblemByIdAsync(id); + if (problem != null) { return Ok(problem); } diff --git a/src/Backend/Operations/DataProvider.cs b/src/Backend/Operations/DataProvider.cs index 8f22b77..56c22e1 100644 --- a/src/Backend/Operations/DataProvider.cs +++ b/src/Backend/Operations/DataProvider.cs @@ -5,18 +5,20 @@ namespace Backend.Operations public class DataProvider { - private const int RefreshIntervalInHours = 6; + private const int RefreshIntervalInHours = 3; private CosmosClient cosmosClient; private readonly IConfiguration configuration; ILogger logger; private DateTime lastLoadedTime = DateTime.MinValue; - public Dictionary problemsCache { get; private set; } = new Dictionary(StringComparer.OrdinalIgnoreCase); + private Task backgroundRefreshTask; + private Dictionary problemsCache = new Dictionary(StringComparer.OrdinalIgnoreCase); public DataProvider(CosmosClient client, IConfiguration configuration, ILogger logger) { this.cosmosClient = client; this.configuration = configuration; this.logger = logger; + this.backgroundRefreshTask = Task.Run(() => this.StartBackgroundRefreshAsync(CancellationToken.None)); } public async Task> GetProblemsAsync(IFilter? filter = null) @@ -28,43 +30,80 @@ public async Task> GetProblemsAsync(IFilter? filter = null) } return allProblems.Values.ToList(); } + + public async Task GetProblemByIdAsync(string id) + { + var allProblems = await GetAllProblemsAsync(); + if (allProblems.TryGetValue(id, out var problem)) + { + return problem; + } + return null; + } private async Task> GetAllProblemsAsync() { - if ((DateTime.UtcNow - lastLoadedTime) > TimeSpan.FromHours(RefreshIntervalInHours)) + if (problemsCache.Count == 0) { await LoadLatestDataAsync(); + if (problemsCache.Count == 0) + { + this.logger.LogWarning("No problems found in the cache after loading data."); + } } return problemsCache; } private async Task LoadLatestDataAsync() { - try + int maxRetries = 3; + for(int i = 0; i < maxRetries; i++) { - var dbId = configuration.GetValue("ApplicationSettings:CosmosDbDatabaseId"); - var containerId = configuration.GetValue("ApplicationSettings:CosmosDbContainerId"); - var db = cosmosClient.GetDatabase(dbId); - var container = db.GetContainer(containerId); + try + { + var dbId = configuration.GetValue("ApplicationSettings:CosmosDbDatabaseId"); + var containerId = configuration.GetValue("ApplicationSettings:CosmosDbContainerId"); + var db = cosmosClient.GetDatabase(dbId); + var container = db.GetContainer(containerId); + + var query = "SELECT * FROM c"; + var queryDefinition = new QueryDefinition(query); + var queryResultSetIterator = container.GetItemQueryIterator(queryDefinition); - var query = "SELECT * FROM c"; - var queryDefinition = new QueryDefinition(query); - var queryResultSetIterator = container.GetItemQueryIterator(queryDefinition); + List results = new List(); + while (queryResultSetIterator.HasMoreResults) + { + var response = await queryResultSetIterator.ReadNextAsync(); + results.AddRange(response.Select(item => new Problem(item))); + } - List results = new List(); - while (queryResultSetIterator.HasMoreResults) + lastLoadedTime = DateTime.UtcNow; + problemsCache = results.ToDictionary(p => p.id, StringComparer.OrdinalIgnoreCase); + this.logger.LogInformation($"Loaded {problemsCache.Count} problems from Cosmos DB at {lastLoadedTime}"); + break; + } + catch (Exception ex) { - var response = await queryResultSetIterator.ReadNextAsync(); - results.AddRange(response.Select(item => new Problem(item))); + this.logger.LogError($"Error loading data from Cosmos DB. {ex}"); + await Task.Delay(TimeSpan.FromSeconds(2 * (i + 1))); } - - lastLoadedTime = DateTime.UtcNow; - problemsCache = results.ToDictionary(p => p.id, StringComparer.OrdinalIgnoreCase); - this.logger.LogInformation($"Loaded {problemsCache.Count} problems from Cosmos DB at {lastLoadedTime}"); } - catch (Exception ex) + } + + public async Task StartBackgroundRefreshAsync(CancellationToken cancellationToken) + { + while (!cancellationToken.IsCancellationRequested) { - this.logger.LogError($"Error loading data from Cosmos DB. {ex}"); + try + { + await LoadLatestDataAsync(); + } + catch (Exception ex) + { + this.logger.LogError($"Error during background data refresh: {ex}"); + } + + await Task.Delay(TimeSpan.FromHours(RefreshIntervalInHours), cancellationToken); } } } From 73732af9d214589dd68a6f5b1d867d253762721c Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sat, 11 Oct 2025 11:10:33 +0530 Subject: [PATCH 03/11] Configure Program.cs with necessary middleware and services and Update ProblemsController to handle problem retrieval and filtering --- src/Backend/Controllers/ProblemsController.cs | 6 +++--- src/Backend/Program.cs | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/Backend/Controllers/ProblemsController.cs b/src/Backend/Controllers/ProblemsController.cs index caf93e1..666ec93 100644 --- a/src/Backend/Controllers/ProblemsController.cs +++ b/src/Backend/Controllers/ProblemsController.cs @@ -6,6 +6,7 @@ namespace Backend.Controllers using ProblemPublicModel = Common.Models.Problem; [ApiController] + [Route("api/[controller]")] public class ProblemsController : ControllerBase { private AppContext appContext; @@ -19,15 +20,14 @@ public ProblemsController(AppContext appContext, ILogger log } [HttpGet] - [Route("")] + [Route("~/api/home")] public ActionResult GetHome() { return Ok("Leetcode Wrapper Backend is running."); } [HttpGet] - [Route("problems")] - public async Task> GetProblems( + public async Task>> GetProblems( [FromQuery(Name = QueryParam.Skip)] int skip = 0, [FromQuery(Name = QueryParam.Limit)] int limit = 50, [FromQuery(Name = QueryParam.Company)] List? companies = null, diff --git a/src/Backend/Program.cs b/src/Backend/Program.cs index 082f7f1..7583545 100644 --- a/src/Backend/Program.cs +++ b/src/Backend/Program.cs @@ -38,6 +38,16 @@ public static void Main(string[] args) builder.Services.AddApplicationInsightsTelemetry(); builder.Services.AddControllers(); + // Add CORS + builder.Services.AddCors(options => + { + options.AddPolicy("AllowReactApp", + builder => builder + .WithOrigins("http://localhost:3000") + .AllowAnyMethod() + .AllowAnyHeader()); + }); + SetupLogging(builder.Logging, builder.Configuration); if (builder.Environment.IsDevelopment()) @@ -72,7 +82,11 @@ public static void Main(string[] args) app.UseSwaggerUI(); } - app.UseHttpsRedirection(); + // Commenting out HTTPS redirection to allow HTTP + // app.UseHttpsRedirection(); + + // Use CORS before other middleware + app.UseCors("AllowReactApp"); app.UseAuthorization(); From 8e5f391793e0056ea8893fa85116de4cf39388d9 Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sat, 11 Oct 2025 11:36:27 +0530 Subject: [PATCH 04/11] Added Client side code --- src/client/.gitignore | 23 + src/client/README.md | 70 + src/client/package-lock.json | 17555 ++++++++++++++++ src/client/package.json | 39 + src/client/public/favicon.ico | Bin 0 -> 3870 bytes src/client/public/index.html | 43 + src/client/public/logo192.png | Bin 0 -> 5347 bytes src/client/public/logo512.png | Bin 0 -> 9664 bytes src/client/public/manifest.json | 25 + src/client/public/robots.txt | 3 + src/client/src/App.css | 38 + src/client/src/App.js | 12 + .../src/components/filters/FilterOptions.js | 107 + src/client/src/components/layout/Body.js | 34 + src/client/src/components/layout/Footer.js | 14 + src/client/src/components/layout/Header.js | 14 + src/client/src/components/layout/Main.js | 73 + src/client/src/components/layout/Nav.js | 19 + .../src/components/problems/ProblemCard.js | 95 + .../src/components/problems/ProblemGrid.js | 58 + src/client/src/constants/difficulty.js | 37 + src/client/src/index.css | 13 + src/client/src/index.js | 12 + src/client/src/services/api.js | 17 + .../src/styles/components/FilterOptions.css | 72 + .../src/styles/components/ProblemCard.css | 96 + .../src/styles/components/ProblemGrid.css | 21 + src/client/src/styles/layout/Body.css | 49 + src/client/src/styles/layout/Footer.css | 19 + src/client/src/styles/layout/Header.css | 22 + src/client/src/styles/layout/Main.css | 7 + src/client/src/styles/layout/Nav.css | 11 + 32 files changed, 18598 insertions(+) create mode 100644 src/client/.gitignore create mode 100644 src/client/README.md create mode 100644 src/client/package-lock.json create mode 100644 src/client/package.json create mode 100644 src/client/public/favicon.ico create mode 100644 src/client/public/index.html create mode 100644 src/client/public/logo192.png create mode 100644 src/client/public/logo512.png create mode 100644 src/client/public/manifest.json create mode 100644 src/client/public/robots.txt create mode 100644 src/client/src/App.css create mode 100644 src/client/src/App.js create mode 100644 src/client/src/components/filters/FilterOptions.js create mode 100644 src/client/src/components/layout/Body.js create mode 100644 src/client/src/components/layout/Footer.js create mode 100644 src/client/src/components/layout/Header.js create mode 100644 src/client/src/components/layout/Main.js create mode 100644 src/client/src/components/layout/Nav.js create mode 100644 src/client/src/components/problems/ProblemCard.js create mode 100644 src/client/src/components/problems/ProblemGrid.js create mode 100644 src/client/src/constants/difficulty.js create mode 100644 src/client/src/index.css create mode 100644 src/client/src/index.js create mode 100644 src/client/src/services/api.js create mode 100644 src/client/src/styles/components/FilterOptions.css create mode 100644 src/client/src/styles/components/ProblemCard.css create mode 100644 src/client/src/styles/components/ProblemGrid.css create mode 100644 src/client/src/styles/layout/Body.css create mode 100644 src/client/src/styles/layout/Footer.css create mode 100644 src/client/src/styles/layout/Header.css create mode 100644 src/client/src/styles/layout/Main.css create mode 100644 src/client/src/styles/layout/Nav.css diff --git a/src/client/.gitignore b/src/client/.gitignore new file mode 100644 index 0000000..4d29575 --- /dev/null +++ b/src/client/.gitignore @@ -0,0 +1,23 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/src/client/README.md b/src/client/README.md new file mode 100644 index 0000000..58beeac --- /dev/null +++ b/src/client/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in your browser. + +The page will reload when you make changes.\ +You may also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can't go back!** + +If you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own. + +You don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `npm run build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/src/client/package-lock.json b/src/client/package-lock.json new file mode 100644 index 0000000..eec90f1 --- /dev/null +++ b/src/client/package-lock.json @@ -0,0 +1,17555 @@ +{ + "name": "client", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client", + "version": "0.1.0", + "dependencies": { + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.0", + "@testing-library/user-event": "^13.5.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", + "license": "MIT" + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@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/core/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/@babel/eslint-parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.4.tgz", + "integrity": "sha512-Aa+yDiH87980jR6zvRfFuCR1+dLb00vBydhTL+zI992Rz/wQhSvuxjmOOuJOgO3XmakO6RykRGD2S1mq1AtgHA==", + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/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/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@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-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/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/@babel/helper-create-class-features-plugin": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz", + "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/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/@babel/helper-create-regexp-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", + "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "regexpu-core": "^6.2.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/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/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", + "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz", + "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", + "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", + "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.4.tgz", + "integrity": "sha512-1yxmvN0MJHOhPVmAsmoW5liWwoILobu/d/ShymZmj867bAdxGbehIrew1DuLpw2Ukv+qDSSPQdYW1dLNE7t11A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz", + "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", + "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz", + "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", + "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-flow": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", + "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", + "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", + "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", + "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz", + "integrity": "sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", + "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz", + "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/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/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.0.tgz", + "integrity": "sha512-4AEiDEBPIZvLQaWlc9liCavE0xRM0dNca41WtBeM3jgFptfUOSG9z0uteLhq6+3rq+WB6jIvUwKDTpXEHPJ2Vg==", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", + "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", + "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz", + "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.0", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.27.1", + "@babel/plugin-syntax-import-attributes": "^7.27.1", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.28.0", + "@babel/plugin-transform-async-to-generator": "^7.27.1", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.0", + "@babel/plugin-transform-class-properties": "^7.27.1", + "@babel/plugin-transform-class-static-block": "^7.28.3", + "@babel/plugin-transform-classes": "^7.28.3", + "@babel/plugin-transform-computed-properties": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-dotall-regex": "^7.27.1", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.0", + "@babel/plugin-transform-exponentiation-operator": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.27.1", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.27.1", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-modules-systemjs": "^7.27.1", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1", + "@babel/plugin-transform-numeric-separator": "^7.27.1", + "@babel/plugin-transform-object-rest-spread": "^7.28.0", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.27.1", + "@babel/plugin-transform-private-property-in-object": "^7.27.1", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.28.3", + "@babel/plugin-transform-regexp-modifiers": "^7.27.1", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.27.1", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.27.1", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.27.1", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "core-js-compat": "^3.43.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/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/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.27.1.tgz", + "integrity": "sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.27.1", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz", + "integrity": "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "license": "MIT" + }, + "node_modules/@csstools/normalize.css": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.1.1.tgz", + "integrity": "sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==", + "license": "CC0-1.0" + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "license": "CC0-1.0", + "engines": { + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/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/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.24.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/source-map/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/@jest/transform/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/@jest/transform/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "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/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "license": "MIT" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "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/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.17.tgz", + "integrity": "sha512-tXDyE1/jzFsHXjhRZQ3hMl0IVhYe5qula43LDWIhVfjp9G/nT5OQY5AORVOrkEGAUltBJOfOWeETbmhm6kHhuQ==", + "license": "MIT", + "dependencies": { + "ansi-html": "^0.0.9", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^4.2.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "@types/webpack": "4.x || 5.x", + "react-refresh": ">=0.10.0 <1.0.0", + "sockjs-client": "^1.4.0", + "type-fest": ">=0.17.0 <5.0.0", + "webpack": ">=4.43.0 <6.0.0", + "webpack-dev-server": "3.x || 4.x || 5.x", + "webpack-hot-middleware": "2.x", + "webpack-plugin-serve": "0.x || 1.x" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + }, + "sockjs-client": { + "optional": true + }, + "type-fest": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + }, + "webpack-hot-middleware": { + "optional": true + }, + "webpack-plugin-serve": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "license": "MIT", + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "license": "MIT" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "license": "MIT" + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.13.0.tgz", + "integrity": "sha512-2ih5qGw5SZJ+2fLZxP6Lr6Na2NTIgPRL/7Kmyuw0uIyBQnuhQ8fi8fzUTd38eIQmqp+GYLC00cI6WgtqHxBwmw==", + "license": "MIT" + }, + "node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==", + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "license": "Apache-2.0", + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz", + "integrity": "sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz", + "integrity": "sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz", + "integrity": "sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz", + "integrity": "sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz", + "integrity": "sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz", + "integrity": "sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz", + "integrity": "sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-5.5.0.tgz", + "integrity": "sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==", + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-attribute": "^5.4.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "^5.0.1", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^5.0.1", + "@svgr/babel-plugin-svg-dynamic-title": "^5.4.0", + "@svgr/babel-plugin-svg-em-dimensions": "^5.4.0", + "@svgr/babel-plugin-transform-react-native-svg": "^5.4.0", + "@svgr/babel-plugin-transform-svg-component": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-5.5.0.tgz", + "integrity": "sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==", + "license": "MIT", + "dependencies": { + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz", + "integrity": "sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.12.6" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz", + "integrity": "sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@svgr/babel-preset": "^5.5.0", + "@svgr/hast-util-to-babel-ast": "^5.5.0", + "svg-parser": "^2.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz", + "integrity": "sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/webpack": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", + "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-transform-react-constant-elements": "^7.12.1", + "@babel/preset-env": "^7.12.1", + "@babel/preset-react": "^7.12.5", + "@svgr/core": "^5.5.0", + "@svgr/plugin-jsx": "^5.5.0", + "@svgr/plugin-svgo": "^5.5.0", + "loader-utils": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", + "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "picocolors": "1.1.1", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.9.1.tgz", + "integrity": "sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==", + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "picocolors": "^1.1.1", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "license": "MIT" + }, + "node_modules/@testing-library/react": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.3.0.tgz", + "integrity": "sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@testing-library/dom": "^10.0.0", + "@types/react": "^18.0.0 || ^19.0.0", + "@types/react-dom": "^18.0.0 || ^19.0.0", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.23.tgz", + "integrity": "sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==", + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.16", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", + "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.7.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.7.0.tgz", + "integrity": "sha512-IbKooQVqUBrlzWTi79E8Fw78l8k1RNtlDDNWsFZs7XonuQSJ8oNYfEeclhprUldXISRMLzBpILuKgPlIxm+/Yw==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.14.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" + }, + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==", + "license": "MIT" + }, + "node_modules/@types/q": { + "version": "1.5.8", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.8.tgz", + "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==", + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "license": "MIT" + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "license": "MIT" + }, + "node_modules/@types/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==", + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.0.tgz", + "integrity": "sha512-zBF6vZJn1IaMpg3xUF25VK3gd3l8zwE0ZLRX7dsQyQi+jp4E8mMDJNGDYnYse+bQhYwWERTxVwHpi3dMOq7RKQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.9.tgz", + "integrity": "sha512-dOTIuqpWLyl3BBXU3maNQsS4A3zuuoYRNIvYSxxhebPfXg2mzWQEPne/nlJ37yOse6uGgR386uTpdsx4D0QZWA==", + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT" + }, + "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/@types/yargs": { + "version": "16.0.9", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", + "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead", + "license": "BSD-3-Clause" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "license": "MIT", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "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-escapes/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/ansi-html": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.9.tgz", + "integrity": "sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "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/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", + "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.24.0", + "es-object-atoms": "^1.1.1", + "get-intrinsic": "^1.3.0", + "is-string": "^1.1.1", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", + "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-shim-unscopables": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz", + "integrity": "sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-array-method-boxes-properly": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "is-string": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT" + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "license": "MIT" + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.21", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz", + "integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.24.4", + "caniuse-lite": "^1.0.30001702", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "license": "MIT", + "dependencies": { + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/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/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "license": "MIT" + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-react-app": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.1.0.tgz", + "integrity": "sha512-f9B1xMdnkCIqe+2dHrJsoQFRz7reChaAHE/65SdaykPklQqhme2WaC08oD3is77x9ff98/9EazAKFDZv5rFEQg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/babel-preset-react-app/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "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/baseline-browser-mapping": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.12.tgz", + "integrity": "sha512-vAPMQdnyKCBtkmQA6FMCBvU9qFIppS3nzyXnEM+Lo2IAhG4Mpjv9cCxMudhgV3YdNNJv6TNqXy97dfRVL2LmaQ==", + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "license": "MIT" + }, + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "license": "MIT", + "dependencies": { + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", + "license": "BSD-2-Clause" + }, + "node_modules/browserslist": { + "version": "4.26.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.3.tgz", + "integrity": "sha512-lAUU+02RFBuCKQPj/P6NgjlbCnLBMp4UtgTx7vNHd3XSIJF87s9a5rA3aH2yw3GS9DqZAUbOtZdCCiZeVRqt0w==", + "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.8.9", + "caniuse-lite": "^1.0.30001746", + "electron-to-chromium": "^1.5.227", + "node-releases": "^2.0.21", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001748", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001748.tgz", + "integrity": "sha512-5P5UgAr0+aBmNiplks08JLw+AW/XG/SurlgZLgB1dDLfAw7EfRGxIwzPHxdSCGY/BTKDqIVyJL87cCN6s0ZR0w==", + "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/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==", + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/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/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "license": "MIT", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/coa/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/coa/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/coa/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/coa/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/coa/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "license": "MIT" + }, + "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/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "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/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz", + "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz", + "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.25.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.45.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.45.1.tgz", + "integrity": "sha512-OHnWFKgTUshEU8MK+lOs1H8kC8GkTi9Z1tvNkxrCcw9wl3MJIO7q2ld77wjWn4/xuGrVu2X+nME1iIIPBSdyEQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "license": "CC0-1.0", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "license": "MIT" + }, + "node_modules/cssdb": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.11.2.tgz", + "integrity": "sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ], + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/csso/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", + "license": "MIT" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "license": "MIT", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", + "license": "MIT" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "license": "BSD-2-Clause" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/data-view-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/inspect-js" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/decimal.js": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", + "license": "MIT" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "license": "MIT" + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "license": "MIT", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "license": "Apache-2.0" + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "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/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "license": "MIT" + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domexception": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "deprecated": "Use your platform's native DOMException instead", + "license": "MIT", + "dependencies": { + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "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": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "license": "BSD-2-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.230", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.230.tgz", + "integrity": "sha512-A6A6Fd3+gMdaed9wX83CvHYJb4UuapPD5X5SLq72VZJzxHSY0/LUweGXRWmQlh2ln7KV7iw7jnwXK7dlPoOnHQ==", + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "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/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-abstract": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", + "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.3.0", + "get-proto": "^1.0.1", + "get-symbol-description": "^1.1.0", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.2", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.2.1", + "is-set": "^2.0.3", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.1", + "math-intrinsics": "^1.1.0", + "object-inspect": "^1.13.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", + "regexp.prototype.flags": "^1.5.4", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "stop-iteration-iterator": "^1.1.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.19" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.6", + "globalthis": "^1.0.4", + "gopd": "^1.2.0", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", + "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", + "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7", + "is-date-object": "^1.0.5", + "is-symbol": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/escodegen/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", + "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "license": "MIT", + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", + "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", + "license": "MIT", + "dependencies": { + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.9", + "array.prototype.findlastindex": "^1.2.6", + "array.prototype.flat": "^1.3.3", + "array.prototype.flatmap": "^1.3.3", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.12.1", + "hasown": "^2.0.2", + "is-core-module": "^2.16.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.1", + "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.9", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/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/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.10.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", + "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", + "license": "MIT", + "dependencies": { + "aria-query": "^5.3.2", + "array-includes": "^3.1.8", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "hasown": "^2.0.2", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.8", + "safe-regex-test": "^1.0.3", + "string.prototype.includes": "^2.0.1" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", + "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.3", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.2.1", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.9", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.1", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.12", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/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/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/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/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "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/fast-glob/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/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "license": "MIT", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 0.4.0" + } + }, + "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/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz", + "integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.35" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "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/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "license": "ISC" + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause" + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "license": "MIT", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "license": "MIT" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "license": "MIT" + }, + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==", + "license": "(Apache-2.0 OR MPL-1.1)" + }, + "node_modules/has-bigints": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "license": "MIT", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^1.0.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.4.tgz", + "integrity": "sha512-V/PZeWsqhfpE27nKeX9EO2sbR+D17A+tLf6qU+ht66jdUsN0QLKJN27Z+1+gHrVMKgndBahes0PU6rRihDgHTw==", + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "license": "MIT", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", + "license": "ISC" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "license": "MIT", + "dependencies": { + "harmony-reflect": "^1.4.6" + }, + "engines": { + "node": ">=4" + } + }, + "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/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "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-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "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/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "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/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/internal-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ipaddr.js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", + "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-async-function": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", + "license": "MIT", + "dependencies": { + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", + "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-finalizationregistry": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "license": "MIT" + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-number-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "license": "MIT" + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", + "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/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/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/iterator.prototype": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "license": "MIT", + "dependencies": { + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "license": "MIT", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "license": "MIT", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "license": "MIT", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "license": "MIT", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/console/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/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", + "license": "MIT", + "dependencies": { + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/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/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "license": "MIT", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "license": "MIT", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "license": "MIT", + "dependencies": { + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, + "node_modules/jest-watch-typeahead/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "license": "MIT", + "dependencies": { + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.2.tgz", + "integrity": "sha512-cbGOjAptfM2LVmWhwRFHEKTPkLwNddVmuqYZQt895yXwAsWsXObCG+YN4DGQ/JBtT4GP1a1lPPdio2z413LmTg==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", + "license": "MIT", + "dependencies": { + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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/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": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "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-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "license": "MIT" + }, + "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-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "license": "MIT" + }, + "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/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", + "license": "MIT", + "dependencies": { + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" + } + }, + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", + "license": "CC0-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "license": "MIT", + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/launch-editor": { + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.11.1.tgz", + "integrity": "sha512-SEET7oNfgSaB6Ym0jufAdCeo3meJVeCaaDyzRygy0xsp2BFKCprcfHljTq4QkzTLUxEKkFK6OK4811YM2oSrRg==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "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/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "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/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "license": "MIT" + }, + "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/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/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/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/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "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/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.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/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", + "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "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/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "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/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "license": "MIT" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT" + }, + "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-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.23", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.23.tgz", + "integrity": "sha512-cCmFDMSm26S6tQSDpBCg/NR8NENrVPhAJSf+XbxBG4rPFaaonlEoE9wHQmun+cls499TQGSb7ZyPBRlzgKfpeg==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nwsapi": { + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", + "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", + "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", + "license": "MIT", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "gopd": "^1.0.1", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.values": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "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/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "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-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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "license": "MIT" + }, + "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/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT" + }, + "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.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "license": "MIT", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "license": "CC0-1.0", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", + "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "license": "CC0-1.0", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "license": "MIT", + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "license": "CC0-1.0", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "license": "CC0-1.0", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "license": "CC0-1.0", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "license": "MIT", + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/postcss-svgo/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/postcss-svgo/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/postcss-svgo/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postcss-svgo/node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz", + "integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/lupomontero" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, + "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/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "license": "MIT", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", + "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/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/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.1.0.tgz", + "integrity": "sha512-SN/U6Ytxf1QGkw/9ve5Y+NxBbZM6Ht95tuXNMKs8EJyFa/Vy/+Co3stop3KBHARfn/giv+Lj1uUnTfOJ3moFEQ==", + "license": "MIT" + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "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/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "license": "MIT", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.9", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" + }, + "node_modules/regex-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", + "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "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/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/resolve-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "license": "MIT", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "license": "ISC" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "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/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.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/safe-array-concat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==", + "license": "CC0-1.0" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "license": "MIT", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "license": "ISC" + }, + "node_modules/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "license": "ISC", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "license": "ISC" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.19.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "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/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "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/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "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==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "license": "MIT", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "license": "MIT" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "license": "MIT" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "license": "MIT", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "license": "BSD-2-Clause", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "license": "MIT", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "license": "MIT", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", + "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "internal-slot": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "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/string-width-cjs": { + "name": "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/string-width-cjs/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/string-width/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/string.prototype.includes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", + "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.6", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", + "set-function-name": "^2.0.2", + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "license": "BSD-2-Clause", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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/strip-ansi-cjs": { + "name": "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/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-loader": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", + "integrity": "sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "license": "MIT" + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "license": "MIT", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/svgo/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/svgo/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/svgo/node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/svgo/node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/svgo/node_modules/domutils/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "license": "BSD-2-Clause" + }, + "node_modules/svgo/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/svgo/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/svgo/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", + "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.6.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.2", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.7", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "license": "ISC", + "optional": true, + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "license": "MIT", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.14", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", + "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==", + "license": "MIT" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "license": "MIT" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause" + }, + "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/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "license": "MIT" + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "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/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "for-each": "^0.3.3", + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", + "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0", + "reflect.getprototypeof": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "license": "MIT", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "has-bigints": "^1.0.2", + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.14.0.tgz", + "integrity": "sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==", + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT" + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "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/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "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/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "license": "ISC", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "license": "MIT", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "license": "MIT", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==", + "license": "Apache-2.0" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=10.4" + } + }, + "node_modules/webpack": { + "version": "5.102.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.102.0.tgz", + "integrity": "sha512-hUtqAR3ZLVEYDEABdBioQCIqSoguHbFn1K7WlPPWSuXmx0031BD73PSE35jKyftdSh4YLDoQNgK4pqBt5Q82MA==", + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.24.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.3", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.2", + "tapable": "^2.2.3", + "terser-webpack-plugin": "^5.3.11", + "watchpack": "^2.4.4", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "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/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "license": "MIT", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", + "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "license": "MIT", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "license": "MIT", + "dependencies": { + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", + "license": "MIT", + "dependencies": { + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.1.0", + "is-finalizationregistry": "^1.1.0", + "is-generator-function": "^1.0.10", + "is-regex": "^1.2.1", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.1.0", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "license": "MIT", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "license": "MIT", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT" + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "deprecated": "The work that was done in this beta branch won't be included in future versions", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "license": "BSD-2-Clause" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==", + "license": "MIT" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "license": "MIT", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "license": "MIT", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "license": "MIT", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "license": "MIT", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==", + "license": "MIT" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "license": "MIT", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "license": "MIT", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "license": "MIT", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "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/wrap-ansi-cjs": { + "name": "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/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", + "license": "Apache-2.0" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "license": "MIT" + }, + "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": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "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/src/client/package.json b/src/client/package.json new file mode 100644 index 0000000..06aa1a6 --- /dev/null +++ b/src/client/package.json @@ -0,0 +1,39 @@ +{ + "name": "client", + "version": "0.1.0", + "private": true, + "dependencies": { + "@testing-library/dom": "^10.4.1", + "@testing-library/jest-dom": "^6.9.1", + "@testing-library/react": "^16.3.0", + "@testing-library/user-event": "^13.5.0", + "react": "^19.2.0", + "react-dom": "^19.2.0", + "react-scripts": "5.0.1", + "web-vitals": "^2.1.4" + }, + "scripts": { + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test", + "eject": "react-scripts eject" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/src/client/public/favicon.ico b/src/client/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..a11777cc471a4344702741ab1c8a588998b1311a GIT binary patch literal 3870 zcma);c{J4h9>;%nil|2-o+rCuEF-(I%-F}ijC~o(k~HKAkr0)!FCj~d>`RtpD?8b; zXOC1OD!V*IsqUwzbMF1)-gEDD=A573Z-&G7^LoAC9|WO7Xc0Cx1g^Zu0u_SjAPB3vGa^W|sj)80f#V0@M_CAZTIO(t--xg= z!sii`1giyH7EKL_+Wi0ab<)&E_0KD!3Rp2^HNB*K2@PHCs4PWSA32*-^7d{9nH2_E zmC{C*N*)(vEF1_aMamw2A{ZH5aIDqiabnFdJ|y0%aS|64E$`s2ccV~3lR!u<){eS` z#^Mx6o(iP1Ix%4dv`t@!&Za-K@mTm#vadc{0aWDV*_%EiGK7qMC_(`exc>-$Gb9~W!w_^{*pYRm~G zBN{nA;cm^w$VWg1O^^<6vY`1XCD|s_zv*g*5&V#wv&s#h$xlUilPe4U@I&UXZbL z0)%9Uj&@yd03n;!7do+bfixH^FeZ-Ema}s;DQX2gY+7g0s(9;`8GyvPY1*vxiF&|w z>!vA~GA<~JUqH}d;DfBSi^IT*#lrzXl$fNpq0_T1tA+`A$1?(gLb?e#0>UELvljtQ zK+*74m0jn&)5yk8mLBv;=@}c{t0ztT<v;Avck$S6D`Z)^c0(jiwKhQsn|LDRY&w(Fmi91I7H6S;b0XM{e zXp0~(T@k_r-!jkLwd1_Vre^v$G4|kh4}=Gi?$AaJ)3I+^m|Zyj#*?Kp@w(lQdJZf4 z#|IJW5z+S^e9@(6hW6N~{pj8|NO*>1)E=%?nNUAkmv~OY&ZV;m-%?pQ_11)hAr0oAwILrlsGawpxx4D43J&K=n+p3WLnlDsQ$b(9+4 z?mO^hmV^F8MV{4Lx>(Q=aHhQ1){0d*(e&s%G=i5rq3;t{JC zmgbn5Nkl)t@fPH$v;af26lyhH!k+#}_&aBK4baYPbZy$5aFx4}ka&qxl z$=Rh$W;U)>-=S-0=?7FH9dUAd2(q#4TCAHky!$^~;Dz^j|8_wuKc*YzfdAht@Q&ror?91Dm!N03=4=O!a)I*0q~p0g$Fm$pmr$ zb;wD;STDIi$@M%y1>p&_>%?UP($15gou_ue1u0!4(%81;qcIW8NyxFEvXpiJ|H4wz z*mFT(qVx1FKufG11hByuX%lPk4t#WZ{>8ka2efjY`~;AL6vWyQKpJun2nRiZYDij$ zP>4jQXPaP$UC$yIVgGa)jDV;F0l^n(V=HMRB5)20V7&r$jmk{UUIe zVjKroK}JAbD>B`2cwNQ&GDLx8{pg`7hbA~grk|W6LgiZ`8y`{Iq0i>t!3p2}MS6S+ zO_ruKyAElt)rdS>CtF7j{&6rP-#c=7evGMt7B6`7HG|-(WL`bDUAjyn+k$mx$CH;q2Dz4x;cPP$hW=`pFfLO)!jaCL@V2+F)So3}vg|%O*^T1j>C2lx zsURO-zIJC$^$g2byVbRIo^w>UxK}74^TqUiRR#7s_X$e)$6iYG1(PcW7un-va-S&u zHk9-6Zn&>T==A)lM^D~bk{&rFzCi35>UR!ZjQkdSiNX*-;l4z9j*7|q`TBl~Au`5& z+c)*8?#-tgUR$Zd%Q3bs96w6k7q@#tUn`5rj+r@_sAVVLqco|6O{ILX&U-&-cbVa3 zY?ngHR@%l{;`ri%H*0EhBWrGjv!LE4db?HEWb5mu*t@{kv|XwK8?npOshmzf=vZA@ zVSN9sL~!sn?r(AK)Q7Jk2(|M67Uy3I{eRy z_l&Y@A>;vjkWN5I2xvFFTLX0i+`{qz7C_@bo`ZUzDugfq4+>a3?1v%)O+YTd6@Ul7 zAfLfm=nhZ`)P~&v90$&UcF+yXm9sq!qCx3^9gzIcO|Y(js^Fj)Rvq>nQAHI92ap=P z10A4@prk+AGWCb`2)dQYFuR$|H6iDE8p}9a?#nV2}LBCoCf(Xi2@szia7#gY>b|l!-U`c}@ zLdhvQjc!BdLJvYvzzzngnw51yRYCqh4}$oRCy-z|v3Hc*d|?^Wj=l~18*E~*cR_kU z{XsxM1i{V*4GujHQ3DBpl2w4FgFR48Nma@HPgnyKoIEY-MqmMeY=I<%oG~l!f<+FN z1ZY^;10j4M4#HYXP zw5eJpA_y(>uLQ~OucgxDLuf}fVs272FaMxhn4xnDGIyLXnw>Xsd^J8XhcWIwIoQ9} z%FoSJTAGW(SRGwJwb=@pY7r$uQRK3Zd~XbxU)ts!4XsJrCycrWSI?e!IqwqIR8+Jh zlRjZ`UO1I!BtJR_2~7AbkbSm%XQqxEPkz6BTGWx8e}nQ=w7bZ|eVP4?*Tb!$(R)iC z9)&%bS*u(lXqzitAN)Oo=&Ytn>%Hzjc<5liuPi>zC_nw;Z0AE3Y$Jao_Q90R-gl~5 z_xAb2J%eArrC1CN4G$}-zVvCqF1;H;abAu6G*+PDHSYFx@Tdbfox*uEd3}BUyYY-l zTfEsOqsi#f9^FoLO;ChK<554qkri&Av~SIM*{fEYRE?vH7pTAOmu2pz3X?Wn*!ROX ztd54huAk&mFBemMooL33RV-*1f0Q3_(7hl$<#*|WF9P!;r;4_+X~k~uKEqdzZ$5Al zV63XN@)j$FN#cCD;ek1R#l zv%pGrhB~KWgoCj%GT?%{@@o(AJGt*PG#l3i>lhmb_twKH^EYvacVY-6bsCl5*^~L0 zonm@lk2UvvTKr2RS%}T>^~EYqdL1q4nD%0n&Xqr^cK^`J5W;lRRB^R-O8b&HENO||mo0xaD+S=I8RTlIfVgqN@SXDr2&-)we--K7w= zJVU8?Z+7k9dy;s;^gDkQa`0nz6N{T?(A&Iz)2!DEecLyRa&FI!id#5Z7B*O2=PsR0 zEvc|8{NS^)!d)MDX(97Xw}m&kEO@5jqRaDZ!+%`wYOI<23q|&js`&o4xvjP7D_xv@ z5hEwpsp{HezI9!~6O{~)lLR@oF7?J7i>1|5a~UuoN=q&6N}EJPV_GD`&M*v8Y`^2j zKII*d_@Fi$+i*YEW+Hbzn{iQk~yP z>7N{S4)r*!NwQ`(qcN#8SRQsNK6>{)X12nbF`*7#ecO7I)Q$uZsV+xS4E7aUn+U(K baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ literal 0 HcmV?d00001 diff --git a/src/client/public/index.html b/src/client/public/index.html new file mode 100644 index 0000000..aa069f2 --- /dev/null +++ b/src/client/public/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + React App + + + +
+ + + diff --git a/src/client/public/logo192.png b/src/client/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..fc44b0a3796c0e0a64c3d858ca038bd4570465d9 GIT binary patch literal 5347 zcmZWtbyO6NvR-oO24RV%BvuJ&=?+<7=`LvyB&A_#M7mSDYw1v6DJkiYl9XjT!%$dLEBTQ8R9|wd3008in6lFF3GV-6mLi?MoP_y~}QUnaDCHI#t z7w^m$@6DI)|C8_jrT?q=f8D?0AM?L)Z}xAo^e^W>t$*Y0KlT5=@bBjT9kxb%-KNdk zeOS1tKO#ChhG7%{ApNBzE2ZVNcxbrin#E1TiAw#BlUhXllzhN$qWez5l;h+t^q#Eav8PhR2|T}y5kkflaK`ba-eoE+Z2q@o6P$)=&` z+(8}+-McnNO>e#$Rr{32ngsZIAX>GH??tqgwUuUz6kjns|LjsB37zUEWd|(&O!)DY zQLrq%Y>)Y8G`yYbYCx&aVHi@-vZ3|ebG!f$sTQqMgi0hWRJ^Wc+Ibv!udh_r%2|U) zPi|E^PK?UE!>_4`f`1k4hqqj_$+d!EB_#IYt;f9)fBOumGNyglU(ofY`yHq4Y?B%- zp&G!MRY<~ajTgIHErMe(Z8JG*;D-PJhd@RX@QatggM7+G(Lz8eZ;73)72Hfx5KDOE zkT(m}i2;@X2AT5fW?qVp?@WgN$aT+f_6eo?IsLh;jscNRp|8H}Z9p_UBO^SJXpZew zEK8fz|0Th%(Wr|KZBGTM4yxkA5CFdAj8=QSrT$fKW#tweUFqr0TZ9D~a5lF{)%-tTGMK^2tz(y2v$i%V8XAxIywrZCp=)83p(zIk6@S5AWl|Oa2hF`~~^W zI;KeOSkw1O#TiQ8;U7OPXjZM|KrnN}9arP)m0v$c|L)lF`j_rpG(zW1Qjv$=^|p*f z>)Na{D&>n`jOWMwB^TM}slgTEcjxTlUby89j1)|6ydRfWERn3|7Zd2&e7?!K&5G$x z`5U3uFtn4~SZq|LjFVrz$3iln-+ucY4q$BC{CSm7Xe5c1J<=%Oagztj{ifpaZk_bQ z9Sb-LaQMKp-qJA*bP6DzgE3`}*i1o3GKmo2pn@dj0;He}F=BgINo};6gQF8!n0ULZ zL>kC0nPSFzlcB7p41doao2F7%6IUTi_+!L`MM4o*#Y#0v~WiO8uSeAUNp=vA2KaR&=jNR2iVwG>7t%sG2x_~yXzY)7K& zk3p+O0AFZ1eu^T3s};B%6TpJ6h-Y%B^*zT&SN7C=N;g|#dGIVMSOru3iv^SvO>h4M=t-N1GSLLDqVTcgurco6)3&XpU!FP6Hlrmj}f$ zp95;b)>M~`kxuZF3r~a!rMf4|&1=uMG$;h^g=Kl;H&Np-(pFT9FF@++MMEx3RBsK?AU0fPk-#mdR)Wdkj)`>ZMl#^<80kM87VvsI3r_c@_vX=fdQ`_9-d(xiI z4K;1y1TiPj_RPh*SpDI7U~^QQ?%0&!$Sh#?x_@;ag)P}ZkAik{_WPB4rHyW#%>|Gs zdbhyt=qQPA7`?h2_8T;-E6HI#im9K>au*(j4;kzwMSLgo6u*}-K`$_Gzgu&XE)udQ zmQ72^eZd|vzI)~!20JV-v-T|<4@7ruqrj|o4=JJPlybwMg;M$Ud7>h6g()CT@wXm` zbq=A(t;RJ^{Xxi*Ff~!|3!-l_PS{AyNAU~t{h;(N(PXMEf^R(B+ZVX3 z8y0;0A8hJYp@g+c*`>eTA|3Tgv9U8#BDTO9@a@gVMDxr(fVaEqL1tl?md{v^j8aUv zm&%PX4^|rX|?E4^CkplWWNv*OKM>DxPa z!RJ)U^0-WJMi)Ksc!^ixOtw^egoAZZ2Cg;X7(5xZG7yL_;UJ#yp*ZD-;I^Z9qkP`} zwCTs0*%rIVF1sgLervtnUo&brwz?6?PXRuOCS*JI-WL6GKy7-~yi0giTEMmDs_-UX zo=+nFrW_EfTg>oY72_4Z0*uG>MnXP=c0VpT&*|rvv1iStW;*^={rP1y?Hv+6R6bxFMkxpWkJ>m7Ba{>zc_q zEefC3jsXdyS5??Mz7IET$Kft|EMNJIv7Ny8ZOcKnzf`K5Cd)&`-fTY#W&jnV0l2vt z?Gqhic}l}mCv1yUEy$%DP}4AN;36$=7aNI^*AzV(eYGeJ(Px-j<^gSDp5dBAv2#?; zcMXv#aj>%;MiG^q^$0MSg-(uTl!xm49dH!{X0){Ew7ThWV~Gtj7h%ZD zVN-R-^7Cf0VH!8O)uUHPL2mO2tmE*cecwQv_5CzWeh)ykX8r5Hi`ehYo)d{Jnh&3p z9ndXT$OW51#H5cFKa76c<%nNkP~FU93b5h-|Cb}ScHs@4Q#|}byWg;KDMJ#|l zE=MKD*F@HDBcX@~QJH%56eh~jfPO-uKm}~t7VkHxHT;)4sd+?Wc4* z>CyR*{w@4(gnYRdFq=^(#-ytb^5ESD?x<0Skhb%Pt?npNW1m+Nv`tr9+qN<3H1f<% zZvNEqyK5FgPsQ`QIu9P0x_}wJR~^CotL|n zk?dn;tLRw9jJTur4uWoX6iMm914f0AJfB@C74a;_qRrAP4E7l890P&{v<}>_&GLrW z)klculcg`?zJO~4;BBAa=POU%aN|pmZJn2{hA!d!*lwO%YSIzv8bTJ}=nhC^n}g(ld^rn#kq9Z3)z`k9lvV>y#!F4e{5c$tnr9M{V)0m(Z< z#88vX6-AW7T2UUwW`g<;8I$Jb!R%z@rCcGT)-2k7&x9kZZT66}Ztid~6t0jKb&9mm zpa}LCb`bz`{MzpZR#E*QuBiZXI#<`5qxx=&LMr-UUf~@dRk}YI2hbMsAMWOmDzYtm zjof16D=mc`^B$+_bCG$$@R0t;e?~UkF?7<(vkb70*EQB1rfUWXh$j)R2)+dNAH5%R zEBs^?N;UMdy}V};59Gu#0$q53$}|+q7CIGg_w_WlvE}AdqoS<7DY1LWS9?TrfmcvT zaypmplwn=P4;a8-%l^e?f`OpGb}%(_mFsL&GywhyN(-VROj`4~V~9bGv%UhcA|YW% zs{;nh@aDX11y^HOFXB$a7#Sr3cEtNd4eLm@Y#fc&j)TGvbbMwze zXtekX_wJqxe4NhuW$r}cNy|L{V=t#$%SuWEW)YZTH|!iT79k#?632OFse{+BT_gau zJwQcbH{b}dzKO?^dV&3nTILYlGw{27UJ72ZN){BILd_HV_s$WfI2DC<9LIHFmtyw? zQ;?MuK7g%Ym+4e^W#5}WDLpko%jPOC=aN)3!=8)s#Rnercak&b3ESRX3z{xfKBF8L z5%CGkFmGO@x?_mPGlpEej!3!AMddChabyf~nJNZxx!D&{@xEb!TDyvqSj%Y5@A{}9 zRzoBn0?x}=krh{ok3Nn%e)#~uh;6jpezhA)ySb^b#E>73e*frBFu6IZ^D7Ii&rsiU z%jzygxT-n*joJpY4o&8UXr2s%j^Q{?e-voloX`4DQyEK+DmrZh8A$)iWL#NO9+Y@!sO2f@rI!@jN@>HOA< z?q2l{^%mY*PNx2FoX+A7X3N}(RV$B`g&N=e0uvAvEN1W^{*W?zT1i#fxuw10%~))J zjx#gxoVlXREWZf4hRkgdHx5V_S*;p-y%JtGgQ4}lnA~MBz-AFdxUxU1RIT$`sal|X zPB6sEVRjGbXIP0U+?rT|y5+ev&OMX*5C$n2SBPZr`jqzrmpVrNciR0e*Wm?fK6DY& zl(XQZ60yWXV-|Ps!A{EF;=_z(YAF=T(-MkJXUoX zI{UMQDAV2}Ya?EisdEW;@pE6dt;j0fg5oT2dxCi{wqWJ<)|SR6fxX~5CzblPGr8cb zUBVJ2CQd~3L?7yfTpLNbt)He1D>*KXI^GK%<`bq^cUq$Q@uJifG>p3LU(!H=C)aEL zenk7pVg}0{dKU}&l)Y2Y2eFMdS(JS0}oZUuVaf2+K*YFNGHB`^YGcIpnBlMhO7d4@vV zv(@N}(k#REdul8~fP+^F@ky*wt@~&|(&&meNO>rKDEnB{ykAZ}k>e@lad7to>Ao$B zz<1(L=#J*u4_LB=8w+*{KFK^u00NAmeNN7pr+Pf+N*Zl^dO{LM-hMHyP6N!~`24jd zXYP|Ze;dRXKdF2iJG$U{k=S86l@pytLx}$JFFs8e)*Vi?aVBtGJ3JZUj!~c{(rw5>vuRF$`^p!P8w1B=O!skwkO5yd4_XuG^QVF z`-r5K7(IPSiKQ2|U9+`@Js!g6sfJwAHVd|s?|mnC*q zp|B|z)(8+mxXyxQ{8Pg3F4|tdpgZZSoU4P&9I8)nHo1@)9_9u&NcT^FI)6|hsAZFk zZ+arl&@*>RXBf-OZxhZerOr&dN5LW9@gV=oGFbK*J+m#R-|e6(Loz(;g@T^*oO)0R zN`N=X46b{7yk5FZGr#5&n1!-@j@g02g|X>MOpF3#IjZ_4wg{dX+G9eqS+Es9@6nC7 zD9$NuVJI}6ZlwtUm5cCAiYv0(Yi{%eH+}t)!E^>^KxB5^L~a`4%1~5q6h>d;paC9c zTj0wTCKrhWf+F#5>EgX`sl%POl?oyCq0(w0xoL?L%)|Q7d|Hl92rUYAU#lc**I&^6p=4lNQPa0 znQ|A~i0ip@`B=FW-Q;zh?-wF;Wl5!+q3GXDu-x&}$gUO)NoO7^$BeEIrd~1Dh{Tr` z8s<(Bn@gZ(mkIGnmYh_ehXnq78QL$pNDi)|QcT*|GtS%nz1uKE+E{7jdEBp%h0}%r zD2|KmYGiPa4;md-t_m5YDz#c*oV_FqXd85d@eub?9N61QuYcb3CnVWpM(D-^|CmkL z(F}L&N7qhL2PCq)fRh}XO@U`Yn<?TNGR4L(mF7#4u29{i~@k;pLsgl({YW5`Mo+p=zZn3L*4{JU;++dG9 X@eDJUQo;Ye2mwlRs?y0|+_a0zY+Zo%Dkae}+MySoIppb75o?vUW_?)>@g{U2`ERQIXV zeY$JrWnMZ$QC<=ii4X|@0H8`si75jB(ElJb00HAB%>SlLR{!zO|C9P3zxw_U8?1d8uRZ=({Ga4shyN}3 zAK}WA(ds|``G4jA)9}Bt2Hy0+f3rV1E6b|@?hpGA=PI&r8)ah|)I2s(P5Ic*Ndhn^ z*T&j@gbCTv7+8rpYbR^Ty}1AY)YH;p!m948r#%7x^Z@_-w{pDl|1S4`EM3n_PaXvK z1JF)E3qy$qTj5Xs{jU9k=y%SQ0>8E$;x?p9ayU0bZZeo{5Z@&FKX>}s!0+^>C^D#z z>xsCPvxD3Z=dP}TTOSJhNTPyVt14VCQ9MQFN`rn!c&_p?&4<5_PGm4a;WS&1(!qKE z_H$;dDdiPQ!F_gsN`2>`X}$I=B;={R8%L~`>RyKcS$72ai$!2>d(YkciA^J0@X%G4 z4cu!%Ps~2JuJ8ex`&;Fa0NQOq_nDZ&X;^A=oc1&f#3P1(!5il>6?uK4QpEG8z0Rhu zvBJ+A9RV?z%v?!$=(vcH?*;vRs*+PPbOQ3cdPr5=tOcLqmfx@#hOqX0iN)wTTO21jH<>jpmwRIAGw7`a|sl?9y9zRBh>(_%| zF?h|P7}~RKj?HR+q|4U`CjRmV-$mLW>MScKnNXiv{vD3&2@*u)-6P@h0A`eeZ7}71 zK(w%@R<4lLt`O7fs1E)$5iGb~fPfJ?WxhY7c3Q>T-w#wT&zW522pH-B%r5v#5y^CF zcC30Se|`D2mY$hAlIULL%-PNXgbbpRHgn<&X3N9W!@BUk@9g*P5mz-YnZBb*-$zMM z7Qq}ic0mR8n{^L|=+diODdV}Q!gwr?y+2m=3HWwMq4z)DqYVg0J~^}-%7rMR@S1;9 z7GFj6K}i32X;3*$SmzB&HW{PJ55kT+EI#SsZf}bD7nW^Haf}_gXciYKX{QBxIPSx2Ma? zHQqgzZq!_{&zg{yxqv3xq8YV+`S}F6A>Gtl39_m;K4dA{pP$BW0oIXJ>jEQ!2V3A2 zdpoTxG&V=(?^q?ZTj2ZUpDUdMb)T?E$}CI>r@}PFPWD9@*%V6;4Ag>D#h>!s)=$0R zRXvdkZ%|c}ubej`jl?cS$onl9Tw52rBKT)kgyw~Xy%z62Lr%V6Y=f?2)J|bZJ5(Wx zmji`O;_B+*X@qe-#~`HFP<{8$w@z4@&`q^Q-Zk8JG3>WalhnW1cvnoVw>*R@c&|o8 zZ%w!{Z+MHeZ*OE4v*otkZqz11*s!#s^Gq>+o`8Z5 z^i-qzJLJh9!W-;SmFkR8HEZJWiXk$40i6)7 zZpr=k2lp}SasbM*Nbn3j$sn0;rUI;%EDbi7T1ZI4qL6PNNM2Y%6{LMIKW+FY_yF3) zSKQ2QSujzNMSL2r&bYs`|i2Dnn z=>}c0>a}>|uT!IiMOA~pVT~R@bGlm}Edf}Kq0?*Af6#mW9f9!}RjW7om0c9Qlp;yK z)=XQs(|6GCadQbWIhYF=rf{Y)sj%^Id-ARO0=O^Ad;Ph+ z0?$eE1xhH?{T$QI>0JP75`r)U_$#%K1^BQ8z#uciKf(C701&RyLQWBUp*Q7eyn76} z6JHpC9}R$J#(R0cDCkXoFSp;j6{x{b&0yE@P7{;pCEpKjS(+1RQy38`=&Yxo%F=3y zCPeefABp34U-s?WmU#JJw23dcC{sPPFc2#J$ZgEN%zod}J~8dLm*fx9f6SpO zn^Ww3bt9-r0XaT2a@Wpw;C23XM}7_14#%QpubrIw5aZtP+CqIFmsG4`Cm6rfxl9n5 z7=r2C-+lM2AB9X0T_`?EW&Byv&K?HS4QLoylJ|OAF z`8atBNTzJ&AQ!>sOo$?^0xj~D(;kS$`9zbEGd>f6r`NC3X`tX)sWgWUUOQ7w=$TO&*j;=u%25ay-%>3@81tGe^_z*C7pb9y*Ed^H3t$BIKH2o+olp#$q;)_ zfpjCb_^VFg5fU~K)nf*d*r@BCC>UZ!0&b?AGk_jTPXaSnCuW110wjHPPe^9R^;jo3 zwvzTl)C`Zl5}O2}3lec=hZ*$JnkW#7enKKc)(pM${_$9Hc=Sr_A9Biwe*Y=T?~1CK z6eZ9uPICjy-sMGbZl$yQmpB&`ouS8v{58__t0$JP%i3R&%QR3ianbZqDs<2#5FdN@n5bCn^ZtH992~5k(eA|8|@G9u`wdn7bnpg|@{m z^d6Y`*$Zf2Xr&|g%sai#5}Syvv(>Jnx&EM7-|Jr7!M~zdAyjt*xl;OLhvW-a%H1m0 z*x5*nb=R5u><7lyVpNAR?q@1U59 zO+)QWwL8t zyip?u_nI+K$uh{y)~}qj?(w0&=SE^8`_WMM zTybjG=999h38Yes7}-4*LJ7H)UE8{mE(6;8voE+TYY%33A>S6`G_95^5QHNTo_;Ao ztIQIZ_}49%{8|=O;isBZ?=7kfdF8_@azfoTd+hEJKWE!)$)N%HIe2cplaK`ry#=pV z0q{9w-`i0h@!R8K3GC{ivt{70IWG`EP|(1g7i_Q<>aEAT{5(yD z=!O?kq61VegV+st@XCw475j6vS)_z@efuqQgHQR1T4;|-#OLZNQJPV4k$AX1Uk8Lm z{N*b*ia=I+MB}kWpupJ~>!C@xEN#Wa7V+7{m4j8c?)ChV=D?o~sjT?0C_AQ7B-vxqX30s0I_`2$in86#`mAsT-w?j{&AL@B3$;P z31G4(lV|b}uSDCIrjk+M1R!X7s4Aabn<)zpgT}#gE|mIvV38^ODy@<&yflpCwS#fRf9ZX3lPV_?8@C5)A;T zqmouFLFk;qIs4rA=hh=GL~sCFsXHsqO6_y~*AFt939UYVBSx1s(=Kb&5;j7cSowdE;7()CC2|-i9Zz+_BIw8#ll~-tyH?F3{%`QCsYa*b#s*9iCc`1P1oC26?`g<9))EJ3%xz+O!B3 zZ7$j~To)C@PquR>a1+Dh>-a%IvH_Y7^ys|4o?E%3`I&ADXfC8++hAdZfzIT#%C+Jz z1lU~K_vAm0m8Qk}K$F>|>RPK%<1SI0(G+8q~H zAsjezyP+u!Se4q3GW)`h`NPSRlMoBjCzNPesWJwVTY!o@G8=(6I%4XHGaSiS3MEBK zhgGFv6Jc>L$4jVE!I?TQuwvz_%CyO!bLh94nqK11C2W$*aa2ueGopG8DnBICVUORP zgytv#)49fVXDaR$SukloYC3u7#5H)}1K21=?DKj^U)8G;MS)&Op)g^zR2($<>C*zW z;X7`hLxiIO#J`ANdyAOJle4V%ppa*(+0i3w;8i*BA_;u8gOO6)MY`ueq7stBMJTB; z-a0R>hT*}>z|Gg}@^zDL1MrH+2hsR8 zHc}*9IvuQC^Ju)^#Y{fOr(96rQNPNhxc;mH@W*m206>Lo<*SaaH?~8zg&f&%YiOEG zGiz?*CP>Bci}!WiS=zj#K5I}>DtpregpP_tfZtPa(N<%vo^#WCQ5BTv0vr%Z{)0q+ z)RbfHktUm|lg&U3YM%lMUM(fu}i#kjX9h>GYctkx9Mt_8{@s%!K_EI zScgwy6%_fR?CGJQtmgNAj^h9B#zmaMDWgH55pGuY1Gv7D z;8Psm(vEPiwn#MgJYu4Ty9D|h!?Rj0ddE|&L3S{IP%H4^N!m`60ZwZw^;eg4sk6K{ ziA^`Sbl_4~f&Oo%n;8Ye(tiAdlZKI!Z=|j$5hS|D$bDJ}p{gh$KN&JZYLUjv4h{NY zBJ>X9z!xfDGY z+oh_Z&_e#Q(-}>ssZfm=j$D&4W4FNy&-kAO1~#3Im;F)Nwe{(*75(p=P^VI?X0GFakfh+X-px4a%Uw@fSbmp9hM1_~R>?Z8+ ziy|e9>8V*`OP}4x5JjdWp}7eX;lVxp5qS}0YZek;SNmm7tEeSF*-dI)6U-A%m6YvCgM(}_=k#a6o^%-K4{`B1+}O4x zztDT%hVb;v#?j`lTvlFQ3aV#zkX=7;YFLS$uIzb0E3lozs5`Xy zi~vF+%{z9uLjKvKPhP%x5f~7-Gj+%5N`%^=yk*Qn{`> z;xj&ROY6g`iy2a@{O)V(jk&8#hHACVDXey5a+KDod_Z&}kHM}xt7}Md@pil{2x7E~ zL$k^d2@Ec2XskjrN+IILw;#7((abu;OJii&v3?60x>d_Ma(onIPtcVnX@ELF0aL?T zSmWiL3(dOFkt!x=1O!_0n(cAzZW+3nHJ{2S>tgSK?~cFha^y(l@-Mr2W$%MN{#af8J;V*>hdq!gx=d0h$T7l}>91Wh07)9CTX zh2_ZdQCyFOQ)l(}gft0UZG`Sh2`x-w`5vC2UD}lZs*5 zG76$akzn}Xi))L3oGJ75#pcN=cX3!=57$Ha=hQ2^lwdyU#a}4JJOz6ddR%zae%#4& za)bFj)z=YQela(F#Y|Q#dp}PJghITwXouVaMq$BM?K%cXn9^Y@g43$=O)F&ZlOUom zJiad#dea;-eywBA@e&D6Pdso1?2^(pXiN91?jvcaUyYoKUmvl5G9e$W!okWe*@a<^ z8cQQ6cNSf+UPDx%?_G4aIiybZHHagF{;IcD(dPO!#=u zWfqLcPc^+7Uu#l(Bpxft{*4lv#*u7X9AOzDO z1D9?^jIo}?%iz(_dwLa{ex#T}76ZfN_Z-hwpus9y+4xaUu9cX}&P{XrZVWE{1^0yw zO;YhLEW!pJcbCt3L8~a7>jsaN{V3>tz6_7`&pi%GxZ=V3?3K^U+*ryLSb)8^IblJ0 zSRLNDvIxt)S}g30?s_3NX>F?NKIGrG_zB9@Z>uSW3k2es_H2kU;Rnn%j5qP)!XHKE zPB2mHP~tLCg4K_vH$xv`HbRsJwbZMUV(t=ez;Ec(vyHH)FbfLg`c61I$W_uBB>i^r z&{_P;369-&>23R%qNIULe=1~T$(DA`ev*EWZ6j(B$(te}x1WvmIll21zvygkS%vwG zzkR6Z#RKA2!z!C%M!O>!=Gr0(J0FP=-MN=5t-Ir)of50y10W}j`GtRCsXBakrKtG& zazmITDJMA0C51&BnLY)SY9r)NVTMs);1<=oosS9g31l{4ztjD3#+2H7u_|66b|_*O z;Qk6nalpqdHOjx|K&vUS_6ITgGll;TdaN*ta=M_YtyC)I9Tmr~VaPrH2qb6sd~=AcIxV+%z{E&0@y=DPArw zdV7z(G1hBx7hd{>(cr43^WF%4Y@PXZ?wPpj{OQ#tvc$pABJbvPGvdR`cAtHn)cSEV zrpu}1tJwQ3y!mSmH*uz*x0o|CS<^w%&KJzsj~DU0cLQUxk5B!hWE>aBkjJle8z~;s z-!A=($+}Jq_BTK5^B!`R>!MulZN)F=iXXeUd0w5lUsE5VP*H*oCy(;?S$p*TVvTxwAeWFB$jHyb0593)$zqalVlDX=GcCN1gU0 zlgU)I$LcXZ8Oyc2TZYTPu@-;7<4YYB-``Qa;IDcvydIA$%kHhJKV^m*-zxcvU4viy&Kr5GVM{IT>WRywKQ9;>SEiQD*NqplK-KK4YR`p0@JW)n_{TU3bt0 zim%;(m1=#v2}zTps=?fU5w^(*y)xT%1vtQH&}50ZF!9YxW=&7*W($2kgKyz1mUgfs zfV<*XVVIFnohW=|j+@Kfo!#liQR^x>2yQdrG;2o8WZR+XzU_nG=Ed2rK?ntA;K5B{ z>M8+*A4!Jm^Bg}aW?R?6;@QG@uQ8&oJ{hFixcfEnJ4QH?A4>P=q29oDGW;L;= z9-a0;g%c`C+Ai!UmK$NC*4#;Jp<1=TioL=t^YM)<<%u#hnnfSS`nq63QKGO1L8RzX z@MFDqs1z ztYmxDl@LU)5acvHk)~Z`RW7=aJ_nGD!mOSYD>5Odjn@TK#LY{jf?+piB5AM-CAoT_ z?S-*q7}wyLJzK>N%eMPuFgN)Q_otKP;aqy=D5f!7<=n(lNkYRXVpkB{TAYLYg{|(jtRqYmg$xH zjmq?B(RE4 zQx^~Pt}gxC2~l=K$$-sYy_r$CO(d=+b3H1MB*y_5g6WLaWTXn+TKQ|hNY^>Mp6k*$ zwkovomhu776vQATqT4blf~g;TY(MWCrf^^yfWJvSAB$p5l;jm@o#=!lqw+Lqfq>X= z$6~kxfm7`3q4zUEB;u4qa#BdJxO!;xGm)wwuisj{0y2x{R(IGMrsIzDY9LW>m!Y`= z04sx3IjnYvL<4JqxQ8f7qYd0s2Ig%`ytYPEMKI)s(LD}D@EY>x`VFtqvnADNBdeao zC96X+MxnwKmjpg{U&gP3HE}1=s!lv&D{6(g_lzyF3A`7Jn*&d_kL<;dAFx!UZ>hB8 z5A*%LsAn;VLp>3${0>M?PSQ)9s3}|h2e?TG4_F{}{Cs>#3Q*t$(CUc}M)I}8cPF6% z=+h(Kh^8)}gj(0}#e7O^FQ6`~fd1#8#!}LMuo3A0bN`o}PYsm!Y}sdOz$+Tegc=qT z8x`PH$7lvnhJp{kHWb22l;@7B7|4yL4UOOVM0MP_>P%S1Lnid)+k9{+3D+JFa#Pyf zhVc#&df87APl4W9X)F3pGS>@etfl=_E5tBcVoOfrD4hmVeTY-cj((pkn%n@EgN{0f zwb_^Rk0I#iZuHK!l*lN`ceJn(sI{$Fq6nN& zE<-=0_2WN}m+*ivmIOxB@#~Q-cZ>l136w{#TIJe478`KE7@=a{>SzPHsKLzYAyBQO zAtuuF$-JSDy_S@6GW0MOE~R)b;+0f%_NMrW(+V#c_d&U8Z9+ec4=HmOHw?gdjF(Lu zzra83M_BoO-1b3;9`%&DHfuUY)6YDV21P$C!Rc?mv&{lx#f8oc6?0?x zK08{WP65?#>(vPfA-c=MCY|%*1_<3D4NX zeVTi-JGl2uP_2@0F{G({pxQOXt_d{g_CV6b?jNpfUG9;8yle-^4KHRvZs-_2siata zt+d_T@U$&t*xaD22(fH(W1r$Mo?3dc%Tncm=C6{V9y{v&VT#^1L04vDrLM9qBoZ4@ z6DBN#m57hX7$C(=#$Y5$bJmwA$T8jKD8+6A!-IJwA{WOfs%s}yxUw^?MRZjF$n_KN z6`_bGXcmE#5e4Ym)aQJ)xg3Pg0@k`iGuHe?f(5LtuzSq=nS^5z>vqU0EuZ&75V%Z{ zYyhRLN^)$c6Ds{f7*FBpE;n5iglx5PkHfWrj3`x^j^t z7ntuV`g!9Xg#^3!x)l*}IW=(Tz3>Y5l4uGaB&lz{GDjm2D5S$CExLT`I1#n^lBH7Y zDgpMag@`iETKAI=p<5E#LTkwzVR@=yY|uBVI1HG|8h+d;G-qfuj}-ZR6fN>EfCCW z9~wRQoAPEa#aO?3h?x{YvV*d+NtPkf&4V0k4|L=uj!U{L+oLa(z#&iuhJr3-PjO3R z5s?=nn_5^*^Rawr>>Nr@K(jwkB#JK-=+HqwfdO<+P5byeim)wvqGlP-P|~Nse8=XF zz`?RYB|D6SwS}C+YQv+;}k6$-%D(@+t14BL@vM z2q%q?f6D-A5s$_WY3{^G0F131bbh|g!}#BKw=HQ7mx;Dzg4Z*bTLQSfo{ed{4}NZW zfrRm^Ca$rlE{Ue~uYv>R9{3smwATcdM_6+yWIO z*ZRH~uXE@#p$XTbCt5j7j2=86e{9>HIB6xDzV+vAo&B?KUiMP|ttOElepnl%|DPqL b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN literal 0 HcmV?d00001 diff --git a/src/client/public/manifest.json b/src/client/public/manifest.json new file mode 100644 index 0000000..080d6c7 --- /dev/null +++ b/src/client/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "React App", + "name": "Create React App Sample", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/src/client/public/robots.txt b/src/client/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/src/client/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/src/client/src/App.css b/src/client/src/App.css new file mode 100644 index 0000000..74b5e05 --- /dev/null +++ b/src/client/src/App.css @@ -0,0 +1,38 @@ +.App { + text-align: center; +} + +.App-logo { + height: 40vmin; + pointer-events: none; +} + +@media (prefers-reduced-motion: no-preference) { + .App-logo { + animation: App-logo-spin infinite 20s linear; + } +} + +.App-header { + background-color: #282c34; + min-height: 100vh; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + font-size: calc(10px + 2vmin); + color: white; +} + +.App-link { + color: #61dafb; +} + +@keyframes App-logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} diff --git a/src/client/src/App.js b/src/client/src/App.js new file mode 100644 index 0000000..3d6c436 --- /dev/null +++ b/src/client/src/App.js @@ -0,0 +1,12 @@ +import "./App.css"; +import Main from "./components/layout/Main"; + +function App() { + return ( +
+
+
+ ); +} + +export default App; diff --git a/src/client/src/components/filters/FilterOptions.js b/src/client/src/components/filters/FilterOptions.js new file mode 100644 index 0000000..4861723 --- /dev/null +++ b/src/client/src/components/filters/FilterOptions.js @@ -0,0 +1,107 @@ +import React from "react"; +import { DifficultyLevel } from "../../constants/difficulty"; +import "../../styles/components/FilterOptions.css"; + +const TIME_PERIODS = [ + { value: "thirty-days", label: "Last 30 Days" }, + { value: "three-months", label: "Last 3 Months" }, + { value: "six-months", label: "Last 6 Months" }, + { value: "one-year", label: "Last Year" }, + { value: "all", label: "All Time" }, +]; + +const DIFFICULTIES = [ + { value: DifficultyLevel.EASY, label: "Easy" }, + { value: DifficultyLevel.MEDIUM, label: "Medium" }, + { value: DifficultyLevel.HARD, label: "Hard" }, +]; + +const FilterOptions = ({ currentFilters, onFilterChange, companies = [] }) => { + const handleCompanyChange = (e) => { + onFilterChange({ ...currentFilters, company: e.target.value }); + }; + + const handleTimePeriodChange = (e) => { + onFilterChange({ ...currentFilters, timePeriod: e.target.value }); + }; + + const handleDifficultyChange = (e) => { + onFilterChange({ ...currentFilters, difficulty: e.target.value }); + }; + + const handleClearFilters = () => { + onFilterChange({ + company: "", + timePeriod: "", + difficulty: "", + }); + }; + + + return ( +
+
+ + +
+ +
+ + +
+ +
+ + +
+ + +
+ ); +}; + +export default FilterOptions; diff --git a/src/client/src/components/layout/Body.js b/src/client/src/components/layout/Body.js new file mode 100644 index 0000000..249e4c0 --- /dev/null +++ b/src/client/src/components/layout/Body.js @@ -0,0 +1,34 @@ +import React from "react"; +import ProblemGrid from "../problems/ProblemGrid"; +import "../../styles/layout/Body.css"; + +const Body = ({ problems, loading, error, filters }) => { + if (loading) { + return ( +
+
Loading problems...
+
+ ); + } + + if (error) { + return ( +
+
+ {error} + +
+
+ ); + } + + return ( +
+
+ +
+
+ ); +}; + +export default Body; diff --git a/src/client/src/components/layout/Footer.js b/src/client/src/components/layout/Footer.js new file mode 100644 index 0000000..1f46ddf --- /dev/null +++ b/src/client/src/components/layout/Footer.js @@ -0,0 +1,14 @@ +import React from "react"; +import "../../styles/layout/Footer.css"; + +const Footer = () => { + return ( +
+
+

Created by Shadow Lord

+
+
+ ); +}; + +export default Footer; diff --git a/src/client/src/components/layout/Header.js b/src/client/src/components/layout/Header.js new file mode 100644 index 0000000..fcdfe21 --- /dev/null +++ b/src/client/src/components/layout/Header.js @@ -0,0 +1,14 @@ +import React from "react"; +import "../../styles/layout/Header.css"; + +const Header = () => { + return ( +
+
+

LeetCode Problem Tracker

+
+
+ ); +}; + +export default Header; diff --git a/src/client/src/components/layout/Main.js b/src/client/src/components/layout/Main.js new file mode 100644 index 0000000..429a4e3 --- /dev/null +++ b/src/client/src/components/layout/Main.js @@ -0,0 +1,73 @@ +import React, { useState, useEffect, useMemo } from "react"; +import { fetchProblems } from "../../services/api"; +import Header from "./Header"; +import Nav from "./Nav"; +import Body from "./Body"; +import Footer from "./Footer"; +import "../../styles/layout/Main.css"; + +const Main = () => { + const [problems, setProblems] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + const [filters, setFilters] = useState({ + company: "", + timePeriod: "", + difficulty: "", + }); + + useEffect(() => { + const loadProblems = async () => { + setLoading(true); + try { + const data = await fetchProblems(); + setProblems(data); + setError(null); + } catch (err) { + setError("Failed to fetch problems. Please try again later."); + setProblems([]); + } finally { + setLoading(false); + } + }; + + loadProblems(); + }, []); + + // Extract unique company names from problems + const companies = useMemo(() => { + const companySet = new Set(); + problems.forEach((problem) => { + if (problem.companies) { + Object.keys(problem.companies).forEach((company) => + companySet.add(company) + ); + } + }); + return Array.from(companySet).sort(); + }, [problems]); + + const handleFilterChange = (newFilters) => { + setFilters(newFilters); + }; + + return ( +
+
+
+ ); +}; + +export default Main; diff --git a/src/client/src/components/layout/Nav.js b/src/client/src/components/layout/Nav.js new file mode 100644 index 0000000..a8aa9f8 --- /dev/null +++ b/src/client/src/components/layout/Nav.js @@ -0,0 +1,19 @@ +import React from "react"; +import FilterOptions from "../filters/FilterOptions"; +import "../../styles/layout/Nav.css"; + +const Nav = ({ filters, onFilterChange, companies }) => { + return ( + + ); +}; + +export default Nav; diff --git a/src/client/src/components/problems/ProblemCard.js b/src/client/src/components/problems/ProblemCard.js new file mode 100644 index 0000000..ff81d28 --- /dev/null +++ b/src/client/src/components/problems/ProblemCard.js @@ -0,0 +1,95 @@ +import React from "react"; +import { + getDifficultyText, + getDifficultyClass, +} from "../../constants/difficulty"; +import "../../styles/components/ProblemCard.css"; + +const TIME_PERIOD_LABELS = { + "thirty-days": "Last 30 Days", + "three-months": "Last 3 Months", + "six-months": "Last 6 Months", + "one-year": "Last Year", + all: "All Time", +}; + +const ProblemCard = ({ problem }) => { + const difficultyText = getDifficultyText(problem.difficulty); + const difficultyClass = getDifficultyClass(problem.difficulty); + + const getTopCompanies = (companies) => { + if (!companies) return []; + + return Object.entries(companies) + .map(([name, periods]) => ({ + name, + timePeriods: periods.sort((a, b) => { + const order = [ + "thirty-days", + "three-months", + "six-months", + "one-year", + "all", + ]; + return order.indexOf(a) - order.indexOf(b); + }), + })) + .slice(0, 5); + }; + + const topCompanies = getTopCompanies(problem.companies); + + return ( +
+ ); +}; + +export default ProblemCard; diff --git a/src/client/src/components/problems/ProblemGrid.js b/src/client/src/components/problems/ProblemGrid.js new file mode 100644 index 0000000..5de0095 --- /dev/null +++ b/src/client/src/components/problems/ProblemGrid.js @@ -0,0 +1,58 @@ +import React, { useMemo } from "react"; +import ProblemCard from "./ProblemCard"; +import "../../styles/components/ProblemGrid.css"; + +const ProblemGrid = ({ problems, filters }) => { + const filteredProblems = useMemo(() => { + if (!filters.company && !filters.timePeriod && !filters.difficulty) { + return problems; + } + + return problems.filter((problem) => { + // Company filter + if ( + filters.company && + (!problem.companies || !problem.companies[filters.company]) + ) { + return false; + } + + // Time period filter - only apply if both company and time period are selected + if (filters.company && filters.timePeriod) { + if ( + !problem.companies?.[filters.company]?.includes(filters.timePeriod) + ) { + return false; + } + } + + // Difficulty filter + if ( + filters.difficulty && + problem.difficulty !== Number(filters.difficulty) + ) { + return false; + } + + return true; + }); + }, [problems, filters]); + + if (filteredProblems.length === 0) { + return ( +
+

No problems found matching your criteria.

+
+ ); + } + + return ( +
+ {filteredProblems.map((problem) => ( + + ))} +
+ ); +}; + +export default ProblemGrid; diff --git a/src/client/src/constants/difficulty.js b/src/client/src/constants/difficulty.js new file mode 100644 index 0000000..986731f --- /dev/null +++ b/src/client/src/constants/difficulty.js @@ -0,0 +1,37 @@ +/** + * Enum for LeetCode problem difficulty levels + * @readonly + * @enum {number} + */ +export const DifficultyLevel = { + EASY: 1, + MEDIUM: 2, + HARD: 3, +}; + +/** + * Configuration for difficulty levels including display text and styling + * @readonly + * @type {Object.} + */ +export const DifficultyConfig = { + [DifficultyLevel.EASY]: { text: "Easy", className: "easy" }, + [DifficultyLevel.MEDIUM]: { text: "Medium", className: "medium" }, + [DifficultyLevel.HARD]: { text: "Hard", className: "hard" }, +}; + +/** + * Get the display text for a difficulty level + * @param {DifficultyLevel} level + * @returns {string} + */ +export const getDifficultyText = (level) => + DifficultyConfig[level]?.text ?? "Unknown"; + +/** + * Get the CSS class name for a difficulty level + * @param {DifficultyLevel} level + * @returns {string} + */ +export const getDifficultyClass = (level) => + DifficultyConfig[level]?.className ?? ""; diff --git a/src/client/src/index.css b/src/client/src/index.css new file mode 100644 index 0000000..ec2585e --- /dev/null +++ b/src/client/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/src/client/src/index.js b/src/client/src/index.js new file mode 100644 index 0000000..24c23ee --- /dev/null +++ b/src/client/src/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import './index.css'; +import App from './App'; + + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + + + +); \ No newline at end of file diff --git a/src/client/src/services/api.js b/src/client/src/services/api.js new file mode 100644 index 0000000..b790b2e --- /dev/null +++ b/src/client/src/services/api.js @@ -0,0 +1,17 @@ +const API_BASE_URL = "http://localhost:5164"; + +export const fetchProblems = async () => { + const response = await fetch(`${API_BASE_URL}/api/problems`); + if (!response.ok) { + throw new Error(`Network response was not ok: ${response.status}`); + } + return await response.json(); +}; + +export const getProblemById = async (id) => { + const response = await fetch(`${API_BASE_URL}/api/problems/${id}`); + if (!response.ok) { + throw new Error(`Failed to fetch problem #${id}`); + } + return await response.json(); +}; diff --git a/src/client/src/styles/components/FilterOptions.css b/src/client/src/styles/components/FilterOptions.css new file mode 100644 index 0000000..0a17f25 --- /dev/null +++ b/src/client/src/styles/components/FilterOptions.css @@ -0,0 +1,72 @@ +.filter-options { + display: flex; + gap: 1.5rem; + align-items: flex-end; + flex-wrap: wrap; + padding: 1rem 0; +} + +.filter-group { + display: flex; + flex-direction: column; + gap: 0.5rem; + min-width: 200px; +} + +.filter-group label { + font-size: 0.9rem; + color: #666; + font-weight: 500; +} + +.filter-group select { + padding: 0.5rem; + border: 1px solid #ddd; + border-radius: 4px; + background-color: white; + font-size: 0.9rem; + color: #333; +} + +.filter-group select:disabled { + background-color: #f5f5f5; + cursor: not-allowed; +} + +.clear-filters { + padding: 0.5rem 1rem; + background-color: #dc3545; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 0.9rem; + height: fit-content; +} + +.clear-filters:hover { + background-color: #c82333; +} + +.clear-filters:disabled { + background-color: #f5f5f5; + color: #999; + cursor: not-allowed; +} + +/* Responsive adjustments */ +@media (max-width: 768px) { + .filter-options { + flex-direction: column; + gap: 1rem; + } + + .filter-group { + width: 100%; + min-width: unset; + } + + .clear-filters { + width: 100%; + } +} \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemCard.css b/src/client/src/styles/components/ProblemCard.css new file mode 100644 index 0000000..c3f30b5 --- /dev/null +++ b/src/client/src/styles/components/ProblemCard.css @@ -0,0 +1,96 @@ +.problem-card { + background: white; + border-radius: 8px; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + padding: 1.5rem; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.problem-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); +} + +.problem-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 1rem; +} + +.problem-header h3 { + margin: 0; + font-size: 1.1rem; + flex: 1; + padding-right: 1rem; +} + +.problem-header a { + color: #1a1a1a; + text-decoration: none; +} + +.problem-header a:hover { + color: #0066cc; +} + +.difficulty { + padding: 0.25rem 0.75rem; + border-radius: 12px; + font-size: 0.85rem; + font-weight: 500; +} + +.difficulty.easy { + background-color: #e7f6e7; + color: #2cbb5d; +} + +.difficulty.medium { + background-color: #fff7e6; + color: #ffa116; +} + +.difficulty.hard { + background-color: #ffe6e6; + color: #ff375f; +} + +.problem-stats { + display: flex; + gap: 1rem; + margin-bottom: 1rem; + font-size: 0.9rem; + color: #666; +} + +.problem-companies { + border-top: 1px solid #eee; + padding-top: 1rem; +} + +.problem-companies small { + display: block; + margin-bottom: 0.5rem; + color: #666; +} + +.company-tags { + display: flex; + flex-wrap: wrap; + gap: 0.5rem; +} + +.company-tag { + background: #f5f5f5; + padding: 0.25rem 0.75rem; + border-radius: 12px; + font-size: 0.85rem; + display: flex; + align-items: center; + gap: 0.25rem; +} + +.recent-indicator { + font-size: 0.8rem; +} \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemGrid.css b/src/client/src/styles/components/ProblemGrid.css new file mode 100644 index 0000000..ec54e5d --- /dev/null +++ b/src/client/src/styles/components/ProblemGrid.css @@ -0,0 +1,21 @@ +.problem-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 1.5rem; + padding: 1rem 0; +} + +.no-problems { + text-align: center; + padding: 2rem; + background: white; + border-radius: 8px; + color: #666; +} + +/* Responsive adjustments */ +@media (max-width: 640px) { + .problem-grid { + grid-template-columns: 1fr; + } +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Body.css b/src/client/src/styles/layout/Body.css new file mode 100644 index 0000000..7824269 --- /dev/null +++ b/src/client/src/styles/layout/Body.css @@ -0,0 +1,49 @@ +.body { + flex: 1; + padding: 2rem 0; + background-color: #f5f5f5; +} + +.body-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; +} + +.loading { + display: flex; + justify-content: center; + align-items: center; + min-height: 400px; +} + +.loading-spinner { + color: #666; + font-size: 1.2rem; +} + +.error { + display: flex; + justify-content: center; + align-items: center; + min-height: 400px; +} + +.error-message { + color: #dc3545; + text-align: center; +} + +.error-message button { + margin-top: 1rem; + padding: 0.5rem 1rem; + background-color: #dc3545; + color: white; + border: none; + border-radius: 4px; + cursor: pointer; +} + +.error-message button:hover { + background-color: #c82333; +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Footer.css b/src/client/src/styles/layout/Footer.css new file mode 100644 index 0000000..aa1159f --- /dev/null +++ b/src/client/src/styles/layout/Footer.css @@ -0,0 +1,19 @@ +.footer { + background-color: #1a1a1a; + color: white; + padding: 1rem 0; + margin-top: auto; +} + +.footer-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; + text-align: center; +} + +.footer p { + margin: 0; + font-size: 0.9rem; + opacity: 0.8; +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Header.css b/src/client/src/styles/layout/Header.css new file mode 100644 index 0000000..6648f4d --- /dev/null +++ b/src/client/src/styles/layout/Header.css @@ -0,0 +1,22 @@ +.header { + width: 100%; + background-color: #1a1a1a; + color: white; + padding: 1rem 0; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); +} + +.header-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; + display: flex; + align-items: center; + justify-content: center; +} + +.header h1 { + margin: 0; + font-size: 1.5rem; + font-weight: 600; +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Main.css b/src/client/src/styles/layout/Main.css new file mode 100644 index 0000000..e6049f9 --- /dev/null +++ b/src/client/src/styles/layout/Main.css @@ -0,0 +1,7 @@ +.main-container { + display: flex; + flex-direction: column; + min-height: 100vh; + width: 100%; + background-color: #f5f5f5; +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Nav.css b/src/client/src/styles/layout/Nav.css new file mode 100644 index 0000000..8905e40 --- /dev/null +++ b/src/client/src/styles/layout/Nav.css @@ -0,0 +1,11 @@ +.nav { + background-color: white; + border-bottom: 1px solid #e0e0e0; + padding: 1rem 0; +} + +.nav-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1rem; +} \ No newline at end of file From 316f30adf9c26025b9e340b020f12765dea6ab33 Mon Sep 17 00:00:00 2001 From: devidnyk Date: Sat, 11 Oct 2025 14:03:51 +0530 Subject: [PATCH 05/11] Added single problem page and docker basics --- build-image.zsh | 2 + dockerfile | 23 ++++ leetcode-wrapper.sln | 36 ------ run-image.zsh | 1 + src/Backend/Controllers/ProblemsController.cs | 5 +- src/client/package-lock.json | 54 ++++++++ src/client/package.json | 1 + src/client/src/App.css | 116 ++++++++++++++++++ src/client/src/App.js | 9 +- .../src/components/problems/ProblemPage.js | 116 ++++++++++++++++++ src/client/src/services/api.js | 6 +- src/lcw.sln | 62 ++++++++++ 12 files changed, 389 insertions(+), 42 deletions(-) create mode 100755 build-image.zsh create mode 100644 dockerfile delete mode 100644 leetcode-wrapper.sln create mode 100644 run-image.zsh create mode 100644 src/client/src/components/problems/ProblemPage.js create mode 100644 src/lcw.sln diff --git a/build-image.zsh b/build-image.zsh new file mode 100755 index 0000000..bfcb925 --- /dev/null +++ b/build-image.zsh @@ -0,0 +1,2 @@ +VERSION="latest" +docker build -t lcw-backend:$VERSION -f dockerfile . \ No newline at end of file diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..9f2efda --- /dev/null +++ b/dockerfile @@ -0,0 +1,23 @@ +# Use official .NET 8 SDK image for build +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +WORKDIR /src + +# Copy everything else and build +COPY ./src ./ +WORKDIR /src +RUN dotnet restore + +WORKDIR /src/Backend +RUN dotnet build + +# Expose ports (change as needed) +EXPOSE 80 +EXPOSE 443 +EXPOSE 5164 + +# Set environment variables for production +# ENV ASPNETCORE_URLS="http://+:80;https://+:443" +ENV ASPNETCORE_ENVIRONMENT=Development + +# Start the application +ENTRYPOINT ["dotnet", "run", "--profile", "container"] \ No newline at end of file diff --git a/leetcode-wrapper.sln b/leetcode-wrapper.sln deleted file mode 100644 index 356a8cc..0000000 --- a/leetcode-wrapper.sln +++ /dev/null @@ -1,36 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.2.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{827E0CD3-B72D-47B6-A68D-7590B98EB39B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "src\Backend\Backend.csproj", "{1A54C3FC-900B-AAEA-3502-101EF4241700}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Synchronizer", "src\Synchronizer\Synchronizer.csproj", "{ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {1A54C3FC-900B-AAEA-3502-101EF4241700}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A54C3FC-900B-AAEA-3502-101EF4241700}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A54C3FC-900B-AAEA-3502-101EF4241700}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A54C3FC-900B-AAEA-3502-101EF4241700}.Release|Any CPU.Build.0 = Release|Any CPU - {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {1A54C3FC-900B-AAEA-3502-101EF4241700} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - {ADE52CDE-A526-A6CD-B4DA-BE4136905D1F} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {4616E715-EE81-4855-918C-DC915A5305C3} - EndGlobalSection -EndGlobal diff --git a/run-image.zsh b/run-image.zsh new file mode 100644 index 0000000..cb2e523 --- /dev/null +++ b/run-image.zsh @@ -0,0 +1 @@ +docker run -p 80:80 -p 443:443 -p 5164:5164 lcw-backend -e ASPNETCORE_ENVIRONMENT=Development -d \ No newline at end of file diff --git a/src/Backend/Controllers/ProblemsController.cs b/src/Backend/Controllers/ProblemsController.cs index 666ec93..7803a9c 100644 --- a/src/Backend/Controllers/ProblemsController.cs +++ b/src/Backend/Controllers/ProblemsController.cs @@ -6,7 +6,7 @@ namespace Backend.Controllers using ProblemPublicModel = Common.Models.Problem; [ApiController] - [Route("api/[controller]")] + [Route("api")] public class ProblemsController : ControllerBase { private AppContext appContext; @@ -20,13 +20,14 @@ public ProblemsController(AppContext appContext, ILogger log } [HttpGet] - [Route("~/api/home")] + [Route("")] public ActionResult GetHome() { return Ok("Leetcode Wrapper Backend is running."); } [HttpGet] + [Route("problems")] public async Task>> GetProblems( [FromQuery(Name = QueryParam.Skip)] int skip = 0, [FromQuery(Name = QueryParam.Limit)] int limit = 50, diff --git a/src/client/package-lock.json b/src/client/package-lock.json index eec90f1..569a8a5 100644 --- a/src/client/package-lock.json +++ b/src/client/package-lock.json @@ -14,6 +14,7 @@ "@testing-library/user-event": "^13.5.0", "react": "^19.2.0", "react-dom": "^19.2.0", + "react-router-dom": "^7.9.4", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" } @@ -13884,6 +13885,53 @@ "node": ">=0.10.0" } }, + "node_modules/react-router": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.4.tgz", + "integrity": "sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.9.4.tgz", + "integrity": "sha512-f30P6bIkmYvnHHa5Gcu65deIXoA2+r3Eb6PJIAddvsT9aGlchMatJ51GgpU470aSqRRbFX22T70yQNUGuW3DfA==", + "license": "MIT", + "dependencies": { + "react-router": "7.9.4" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/react-router/node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/react-scripts": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", @@ -14778,6 +14826,12 @@ "node": ">= 0.8.0" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", diff --git a/src/client/package.json b/src/client/package.json index 06aa1a6..cd3200d 100644 --- a/src/client/package.json +++ b/src/client/package.json @@ -9,6 +9,7 @@ "@testing-library/user-event": "^13.5.0", "react": "^19.2.0", "react-dom": "^19.2.0", + "react-router-dom": "^7.9.4", "react-scripts": "5.0.1", "web-vitals": "^2.1.4" }, diff --git a/src/client/src/App.css b/src/client/src/App.css index 74b5e05..064292a 100644 --- a/src/client/src/App.css +++ b/src/client/src/App.css @@ -36,3 +36,119 @@ transform: rotate(360deg); } } + +/* LeetCode-like styling for ProblemPage */ +.lcw-problem-page { + max-width: 800px; + margin: 32px auto; + background: #fff; + border-radius: 12px; + box-shadow: 0 2px 16px rgba(0,0,0,0.08); + padding: 32px; + font-family: 'Segoe UI', 'Roboto', 'Arial', sans-serif; +} + +.lcw-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 18px; +} + +.lcw-link { + color: #ffa116; + text-decoration: none; + font-weight: 500; + border-bottom: 1px dashed #ffa116; + transition: border-bottom 0.2s; +} +.lcw-link:hover { + border-bottom: 2px solid #ffa116; +} + +.lcw-meta { + display: flex; + gap: 18px; + margin-bottom: 24px; + font-size: 16px; +} + +.lcw-meta-item { + color: #555; +} + +.lcw-difficulty { + padding: 4px 12px; + border-radius: 8px; + font-weight: bold; + color: #fff; +} +.lcw-difficulty-easy { + background: #43a047; +} +.lcw-difficulty-medium { + background: #ffa116; +} +.lcw-difficulty-hard { + background: #d32f2f; +} +.lcw-difficulty-unknown { + background: #888; +} + +.lcw-section-title { + margin-top: 32px; + margin-bottom: 12px; + font-size: 20px; + color: #222; + font-weight: 600; +} + +.lcw-table { + width: 100%; + border-collapse: collapse; + margin-bottom: 24px; + background: #fafbfc; + border-radius: 8px; + overflow: hidden; +} + +.lcw-table th, .lcw-table td { + padding: 12px 10px; + border-bottom: 1px solid #eee; + text-align: left; +} + +.lcw-table th { + background: #f6f8fa; + font-weight: 600; + color: #333; +} + +.lcw-tag { + display: inline-block; + background: #e3e6ea; + color: #444; + padding: 4px 10px; + border-radius: 6px; + font-size: 14px; + font-weight: 500; +} + +.lcw-company { + display: inline-block; + background: #f5f5f5; + color: #222; + margin: 2px 6px 2px 0; + padding: 4px 10px; + border-radius: 6px; + font-size: 14px; + border: 1px solid #eee; +} + +.lcw-loading, .lcw-error { + text-align: center; + margin-top: 40px; + font-size: 18px; + color: #d32f2f; +} \ No newline at end of file diff --git a/src/client/src/App.js b/src/client/src/App.js index 3d6c436..4e81d85 100644 --- a/src/client/src/App.js +++ b/src/client/src/App.js @@ -1,10 +1,17 @@ import "./App.css"; +import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; import Main from "./components/layout/Main"; +import ProblemPage from "./components/problems/ProblemPage"; function App() { return (
-
+ + + } /> + } /> + +
); } diff --git a/src/client/src/components/problems/ProblemPage.js b/src/client/src/components/problems/ProblemPage.js new file mode 100644 index 0000000..fd0fa56 --- /dev/null +++ b/src/client/src/components/problems/ProblemPage.js @@ -0,0 +1,116 @@ +import React, { useEffect, useState } from "react"; +import { useParams } from "react-router-dom"; +import { getProblemById } from "../../services/api"; + +const tagOrder = ["thirty-days", "three-months", "six-months", "one-year", "all"]; + +const ProblemPage = () => { + const { id } = useParams(); + const [problem, setProblem] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(""); + const [tagMap, setTagMap] = useState({}); + + useEffect(() => { + const fetchProblem = async () => { + try { + const response = await getProblemById(id); + setProblem(response); + setTagMap(groupCompaniesByTag(response.companies)); + } catch (err) { + setError("Problem not found or failed to fetch."); + } finally { + setLoading(false); + } + }; + fetchProblem(); + }, [id]); + + if (loading) return
Loading...
; + if (error) return
{error}
; + if (!problem) return
No problem found
; + + return ( +
+
+

{problem.title}

+ + View on LeetCode + +
+
+ + {difficultyLabel(problem.difficulty)} + + + Acceptance: {problem.acceptance}% + + + Frequency: {problem.frequency}% + + + ID: {problem.id} + +
+

Companies by Tag

+ + + + + + + + + {tagOrder + .filter(tag => tagMap[tag]) + .map(tag => ( + + + + + ))} + +
TagCompanies
+ {tag} + + {tagMap[tag].map(company => ( + + {company} + + ))} +
+
+ ); +}; + +function groupCompaniesByTag(companies) { + const tagMap = {}; + Object.entries(companies).forEach(([company, tags]) => { + tags.forEach(tag => { + if (!tagMap[tag]) tagMap[tag] = []; + tagMap[tag].push(company); + }); + }); + return tagMap; +} + +function difficultyLabel(diff) { + if (diff === 1) return "Easy"; + if (diff === 2) return "Medium"; + if (diff === 3) return "Hard"; + return "Unknown"; +} + +function difficultyClass(diff) { + if (diff === 1) return "easy"; + if (diff === 2) return "medium"; + if (diff === 3) return "hard"; + return "unknown"; +} + +export default ProblemPage; \ No newline at end of file diff --git a/src/client/src/services/api.js b/src/client/src/services/api.js index b790b2e..3f4137e 100644 --- a/src/client/src/services/api.js +++ b/src/client/src/services/api.js @@ -1,7 +1,7 @@ -const API_BASE_URL = "http://localhost:5164"; +const API_BASE_URL = "http://localhost:5164/api"; export const fetchProblems = async () => { - const response = await fetch(`${API_BASE_URL}/api/problems`); + const response = await fetch(`${API_BASE_URL}/problems`); if (!response.ok) { throw new Error(`Network response was not ok: ${response.status}`); } @@ -9,7 +9,7 @@ export const fetchProblems = async () => { }; export const getProblemById = async (id) => { - const response = await fetch(`${API_BASE_URL}/api/problems/${id}`); + const response = await fetch(`${API_BASE_URL}/problems/${id}`); if (!response.ok) { throw new Error(`Failed to fetch problem #${id}`); } diff --git a/src/lcw.sln b/src/lcw.sln new file mode 100644 index 0000000..ec43a01 --- /dev/null +++ b/src/lcw.sln @@ -0,0 +1,62 @@ +īģŋ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Common", "Common\Common.csproj", "{D9C22474-6B6F-48CC-88BC-308CAB16BB57}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "Backend\Backend.csproj", "{D80E9786-FF6D-4227-B4F4-F3B3960A7843}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Synchronizer", "Synchronizer\Synchronizer.csproj", "{BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}" +EndProject +Global + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|x64.ActiveCfg = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|x64.Build.0 = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|x86.ActiveCfg = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Debug|x86.Build.0 = Debug|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|Any CPU.Build.0 = Release|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|x64.ActiveCfg = Release|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|x64.Build.0 = Release|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|x86.ActiveCfg = Release|Any CPU + {D9C22474-6B6F-48CC-88BC-308CAB16BB57}.Release|x86.Build.0 = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|x64.ActiveCfg = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|x64.Build.0 = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|x86.ActiveCfg = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Debug|x86.Build.0 = Debug|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|Any CPU.Build.0 = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|x64.ActiveCfg = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|x64.Build.0 = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|x86.ActiveCfg = Release|Any CPU + {D80E9786-FF6D-4227-B4F4-F3B3960A7843}.Release|x86.Build.0 = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|x64.ActiveCfg = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|x64.Build.0 = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|x86.ActiveCfg = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Debug|x86.Build.0 = Debug|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|Any CPU.Build.0 = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|x64.ActiveCfg = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|x64.Build.0 = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|x86.ActiveCfg = Release|Any CPU + {BF0FF8B1-3D65-459E-8CA1-A7C0ED4F97B9}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal From 1a4d7e851c8cd2a81f9f23172dd0a6c25e50785f Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sat, 11 Oct 2025 16:19:57 +0530 Subject: [PATCH 06/11] Fixing Links and Updated CSS --- src/client/src/App.css | 116 -------- src/client/src/App.js | 4 + src/client/src/components/layout/Header.js | 5 +- src/client/src/components/layout/Main.js | 4 - .../src/components/problems/ProblemCard.js | 5 +- .../src/components/problems/ProblemPage.js | 1 + .../src/styles/components/FilterOptions.css | 166 +++++++++-- .../src/styles/components/ProblemCard.css | 245 +++++++++++++--- .../src/styles/components/ProblemPage.css | 271 ++++++++++++++++++ src/client/src/styles/layout/Footer.css | 55 +++- src/client/src/styles/layout/Header.css | 217 +++++++++++++- 11 files changed, 890 insertions(+), 199 deletions(-) create mode 100644 src/client/src/styles/components/ProblemPage.css diff --git a/src/client/src/App.css b/src/client/src/App.css index 064292a..74b5e05 100644 --- a/src/client/src/App.css +++ b/src/client/src/App.css @@ -36,119 +36,3 @@ transform: rotate(360deg); } } - -/* LeetCode-like styling for ProblemPage */ -.lcw-problem-page { - max-width: 800px; - margin: 32px auto; - background: #fff; - border-radius: 12px; - box-shadow: 0 2px 16px rgba(0,0,0,0.08); - padding: 32px; - font-family: 'Segoe UI', 'Roboto', 'Arial', sans-serif; -} - -.lcw-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 18px; -} - -.lcw-link { - color: #ffa116; - text-decoration: none; - font-weight: 500; - border-bottom: 1px dashed #ffa116; - transition: border-bottom 0.2s; -} -.lcw-link:hover { - border-bottom: 2px solid #ffa116; -} - -.lcw-meta { - display: flex; - gap: 18px; - margin-bottom: 24px; - font-size: 16px; -} - -.lcw-meta-item { - color: #555; -} - -.lcw-difficulty { - padding: 4px 12px; - border-radius: 8px; - font-weight: bold; - color: #fff; -} -.lcw-difficulty-easy { - background: #43a047; -} -.lcw-difficulty-medium { - background: #ffa116; -} -.lcw-difficulty-hard { - background: #d32f2f; -} -.lcw-difficulty-unknown { - background: #888; -} - -.lcw-section-title { - margin-top: 32px; - margin-bottom: 12px; - font-size: 20px; - color: #222; - font-weight: 600; -} - -.lcw-table { - width: 100%; - border-collapse: collapse; - margin-bottom: 24px; - background: #fafbfc; - border-radius: 8px; - overflow: hidden; -} - -.lcw-table th, .lcw-table td { - padding: 12px 10px; - border-bottom: 1px solid #eee; - text-align: left; -} - -.lcw-table th { - background: #f6f8fa; - font-weight: 600; - color: #333; -} - -.lcw-tag { - display: inline-block; - background: #e3e6ea; - color: #444; - padding: 4px 10px; - border-radius: 6px; - font-size: 14px; - font-weight: 500; -} - -.lcw-company { - display: inline-block; - background: #f5f5f5; - color: #222; - margin: 2px 6px 2px 0; - padding: 4px 10px; - border-radius: 6px; - font-size: 14px; - border: 1px solid #eee; -} - -.lcw-loading, .lcw-error { - text-align: center; - margin-top: 40px; - font-size: 18px; - color: #d32f2f; -} \ No newline at end of file diff --git a/src/client/src/App.js b/src/client/src/App.js index 4e81d85..10f3213 100644 --- a/src/client/src/App.js +++ b/src/client/src/App.js @@ -2,15 +2,19 @@ import "./App.css"; import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; import Main from "./components/layout/Main"; import ProblemPage from "./components/problems/ProblemPage"; +import Header from "./components/layout/Header"; +import Footer from "./components/layout/Footer"; function App() { return (
+
} /> } /> +
); diff --git a/src/client/src/components/layout/Header.js b/src/client/src/components/layout/Header.js index fcdfe21..7fc2f69 100644 --- a/src/client/src/components/layout/Header.js +++ b/src/client/src/components/layout/Header.js @@ -1,11 +1,14 @@ import React from "react"; import "../../styles/layout/Header.css"; +import { Link } from "react-router-dom"; const Header = () => { return (
-

LeetCode Problem Tracker

+ +

LeetCode Problem Tracker

+
); diff --git a/src/client/src/components/layout/Main.js b/src/client/src/components/layout/Main.js index 429a4e3..a493e2d 100644 --- a/src/client/src/components/layout/Main.js +++ b/src/client/src/components/layout/Main.js @@ -1,9 +1,7 @@ import React, { useState, useEffect, useMemo } from "react"; import { fetchProblems } from "../../services/api"; -import Header from "./Header"; import Nav from "./Nav"; import Body from "./Body"; -import Footer from "./Footer"; import "../../styles/layout/Main.css"; const Main = () => { @@ -53,7 +51,6 @@ const Main = () => { return (
-
); }; diff --git a/src/client/src/components/problems/ProblemCard.js b/src/client/src/components/problems/ProblemCard.js index ff81d28..d715b53 100644 --- a/src/client/src/components/problems/ProblemCard.js +++ b/src/client/src/components/problems/ProblemCard.js @@ -4,6 +4,7 @@ import { getDifficultyClass, } from "../../constants/difficulty"; import "../../styles/components/ProblemCard.css"; +import { Link } from "react-router-dom"; const TIME_PERIOD_LABELS = { "thirty-days": "Last 30 Days", @@ -43,9 +44,7 @@ const ProblemCard = ({ problem }) => {

- - {problem.title} - + {problem.title}

{difficultyText} diff --git a/src/client/src/components/problems/ProblemPage.js b/src/client/src/components/problems/ProblemPage.js index fd0fa56..7d4ccbd 100644 --- a/src/client/src/components/problems/ProblemPage.js +++ b/src/client/src/components/problems/ProblemPage.js @@ -1,6 +1,7 @@ import React, { useEffect, useState } from "react"; import { useParams } from "react-router-dom"; import { getProblemById } from "../../services/api"; +import "../../styles/components/ProblemPage.css"; const tagOrder = ["thirty-days", "three-months", "six-months", "one-year", "all"]; diff --git a/src/client/src/styles/components/FilterOptions.css b/src/client/src/styles/components/FilterOptions.css index 0a17f25..a5ff42d 100644 --- a/src/client/src/styles/components/FilterOptions.css +++ b/src/client/src/styles/components/FilterOptions.css @@ -1,72 +1,180 @@ .filter-options { display: flex; - gap: 1.5rem; + gap: 2rem; align-items: flex-end; flex-wrap: wrap; - padding: 1rem 0; + padding: 1.5rem 0; + position: relative; + z-index: 10; } .filter-group { display: flex; flex-direction: column; - gap: 0.5rem; - min-width: 200px; + gap: 0.75rem; + min-width: 220px; + position: relative; + z-index: 1000; /* Ensure high z-index for dropdown */ } .filter-group label { - font-size: 0.9rem; - color: #666; - font-weight: 500; + font-size: 0.85rem; + color: #4a5568; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; } .filter-group select { - padding: 0.5rem; - border: 1px solid #ddd; - border-radius: 4px; + padding: 0.75rem 1rem; + border: 2px solid #e2e8f0; + border-radius: 10px; background-color: white; - font-size: 0.9rem; - color: #333; + font-size: 0.95rem; + color: #2d3748; + cursor: pointer; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234a5568'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 1rem center; + background-size: 1rem; + padding-right: 2.5rem; + font-weight: 500; + position: relative; + z-index: 1001; /* Higher z-index for the select element */ +} + +/* Ensure dropdown options are visible */ +.filter-group select option { + background: white; + color: #2d3748; + padding: 12px 16px; + font-size: 0.95rem; + border-bottom: 1px solid #f1f5f9; + position: relative; + z-index: 10000; /* Very high z-index for options */ +} + +.filter-group select option:hover { + background-color: #f0f7ff; + color: #0066cc; +} + +.filter-group select option:checked { + background-color: #0066cc; + color: white; +} + +.filter-group select:focus { + outline: none; + border-color: #0066cc; + box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1); + background-color: white; + z-index: 1002; /* Even higher when focused */ +} + +/* Style the dropdown container */ +.filter-group select { + z-index: 1001; +} + +/* Ensure the dropdown appears above other elements */ +.filter-group { + position: relative; +} + +/* Fix for dropdown visibility */ +select { + position: relative; } -.filter-group select:disabled { - background-color: #f5f5f5; - cursor: not-allowed; +/* Additional styles to ensure dropdown visibility */ +.filter-options * { + box-sizing: border-box; } +/* Company dropdown specific fixes */ +#company { + min-height: 48px; + max-height: 200px; /* Limit height if needed */ +} + +/* Ensure the nav has proper z-index */ +.nav { + background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); + border-bottom: 1px solid #e2e8f0; + padding: 0; + box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06); + position: relative; + z-index: 100; +} + +.nav-content { + max-width: 1200px; + margin: 0 auto; + padding: 0 1.5rem; + position: relative; + z-index: 101; +} + +/* Clear filters button */ .clear-filters { - padding: 0.5rem 1rem; - background-color: #dc3545; + padding: 0.75rem 1.5rem; + background: linear-gradient(135deg, #dc3545, #c82333); color: white; border: none; - border-radius: 4px; + border-radius: 10px; cursor: pointer; font-size: 0.9rem; + font-weight: 600; height: fit-content; -} - -.clear-filters:hover { - background-color: #c82333; -} - -.clear-filters:disabled { - background-color: #f5f5f5; - color: #999; - cursor: not-allowed; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + text-transform: uppercase; + letter-spacing: 0.5px; + box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3); + position: relative; + z-index: 100; } /* Responsive adjustments */ @media (max-width: 768px) { .filter-options { flex-direction: column; - gap: 1rem; + gap: 1.25rem; + padding: 1.25rem 0; + z-index: 1000; } .filter-group { width: 100%; min-width: unset; + z-index: 1001; + } + + .filter-group select { + width: 100%; + z-index: 1002; } .clear-filters { width: 100%; + margin-top: 0.5rem; + z-index: 100; } +} + +/* Emergency fix - if dropdown still doesn't show */ +.filter-group select { + transform: translateZ(0); /* Force hardware acceleration */ +} + +/* Alternative: Increase the size of the dropdown */ +.filter-group select { + min-height: 48px; +} + +/* Make sure the dropdown has enough space */ +.filter-group { + margin-bottom: 0; } \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemCard.css b/src/client/src/styles/components/ProblemCard.css index c3f30b5..97027f8 100644 --- a/src/client/src/styles/components/ProblemCard.css +++ b/src/client/src/styles/components/ProblemCard.css @@ -1,96 +1,269 @@ .problem-card { - background: white; - border-radius: 8px; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); - padding: 1.5rem; - transition: transform 0.2s ease, box-shadow 0.2s ease; + background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); + border-radius: 12px; + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); + padding: 1.75rem; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + border: 1px solid rgba(255, 255, 255, 0.8); + position: relative; + overflow: hidden; +} + +.problem-card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 3px; + background: linear-gradient(90deg, #0066cc, #0099ff); + transform: scaleX(0); + transition: transform 0.3s ease; } .problem-card:hover { - transform: translateY(-2px); - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); +} + +.problem-card:hover::before { + transform: scaleX(1); } .problem-header { display: flex; justify-content: space-between; align-items: flex-start; - margin-bottom: 1rem; + margin-bottom: 1.25rem; + gap: 1rem; } .problem-header h3 { margin: 0; - font-size: 1.1rem; + font-size: 1.25rem; flex: 1; - padding-right: 1rem; + font-weight: 600; + line-height: 1.4; } .problem-header a { - color: #1a1a1a; + color: #1a202c; text-decoration: none; + background: linear-gradient(90deg, #1a202c, #2d3748); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + transition: all 0.3s ease; + position: relative; +} + +.problem-header a::after { + content: ''; + position: absolute; + bottom: -2px; + left: 0; + width: 0; + height: 2px; + background: linear-gradient(90deg, #0066cc, #0099ff); + transition: width 0.3s ease; } .problem-header a:hover { - color: #0066cc; + background: linear-gradient(90deg, #0066cc, #0099ff); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +} + +.problem-header a:hover::after { + width: 100%; } .difficulty { - padding: 0.25rem 0.75rem; - border-radius: 12px; - font-size: 0.85rem; - font-weight: 500; + padding: 0.4rem 1rem; + border-radius: 20px; + font-size: 0.8rem; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + white-space: nowrap; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); + border: 1px solid rgba(255, 255, 255, 0.3); } .difficulty.easy { - background-color: #e7f6e7; - color: #2cbb5d; + background: linear-gradient(135deg, #43a047, #4caf50); + color: white; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .difficulty.medium { - background-color: #fff7e6; - color: #ffa116; + background: linear-gradient(135deg, #ffa116, #ffb74d); + color: white; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .difficulty.hard { - background-color: #ffe6e6; - color: #ff375f; + background: linear-gradient(135deg, #d32f2f, #f44336); + color: white; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .problem-stats { display: flex; - gap: 1rem; - margin-bottom: 1rem; + gap: 1.5rem; + margin-bottom: 1.25rem; font-size: 0.9rem; - color: #666; +} + +.problem-stats span { + display: flex; + align-items: center; + color: #4a5568; + font-weight: 500; + position: relative; +} + +.problem-stats span::before { + content: ''; + display: inline-block; + width: 4px; + height: 4px; + border-radius: 50%; + background: #cbd5e0; + margin-right: 0.5rem; +} + +.problem-stats span:first-child::before { + display: none; +} + +.acceptance { + color: #2d3748; + font-weight: 600; +} + +.frequency { + color: #4a5568; } .problem-companies { - border-top: 1px solid #eee; - padding-top: 1rem; + border-top: 1px solid #e2e8f0; + padding-top: 1.25rem; + margin-top: 1rem; } .problem-companies small { display: block; - margin-bottom: 0.5rem; - color: #666; + margin-bottom: 0.75rem; + color: #718096; + font-weight: 600; + font-size: 0.8rem; + text-transform: uppercase; + letter-spacing: 0.5px; } .company-tags { display: flex; flex-wrap: wrap; - gap: 0.5rem; + gap: 0.6rem; } .company-tag { - background: #f5f5f5; - padding: 0.25rem 0.75rem; - border-radius: 12px; - font-size: 0.85rem; + background: linear-gradient(135deg, #ffffff, #f7fafc); + padding: 0.5rem 1rem; + border-radius: 10px; + font-size: 0.8rem; display: flex; align-items: center; - gap: 0.25rem; + gap: 0.4rem; + border: 1px solid #e2e8f0; + transition: all 0.2s ease; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); + font-weight: 500; + color: #2d3748; +} + +.company-tag:hover { + transform: translateY(-1px); + box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); + border-color: #ffa116; + background: linear-gradient(135deg, #fffaf0, #fffbeb); +} + +.company-name { + font-weight: 600; + color: #2d3748; } .recent-indicator { - font-size: 0.8rem; + font-size: 0.7rem; + animation: pulse 2s infinite; +} + +@keyframes pulse { + 0%, 100% { + opacity: 1; + transform: scale(1); + } + 50% { + opacity: 0.7; + transform: scale(1.1); + } +} + +/* Responsive Design */ +@media (max-width: 768px) { + .problem-card { + padding: 1.25rem; + margin: 0.5rem; + } + + .problem-header { + flex-direction: column; + align-items: flex-start; + gap: 0.75rem; + } + + .problem-header h3 { + font-size: 1.1rem; + padding-right: 0; + } + + .difficulty { + align-self: flex-start; + } + + .problem-stats { + flex-direction: column; + gap: 0.5rem; + } + + .problem-stats span::before { + display: none; + } + + .company-tags { + gap: 0.4rem; + } + + .company-tag { + padding: 0.4rem 0.8rem; + font-size: 0.75rem; + } +} + +/* Animation for card entrance */ +@keyframes cardEntrance { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.problem-card { + animation: cardEntrance 0.6s ease-out; } \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemPage.css b/src/client/src/styles/components/ProblemPage.css new file mode 100644 index 0000000..3ddf68b --- /dev/null +++ b/src/client/src/styles/components/ProblemPage.css @@ -0,0 +1,271 @@ +.lcw-problem-page { + max-width: 900px; + margin: 32px auto; + background: #fff; + border-radius: 16px; + box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1); + padding: 40px; + font-family: 'Segoe UI', 'Roboto', 'Arial', sans-serif; + color: #2d3748; + line-height: 1.6; +} + +/* Header Section */ +.lcw-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 24px; + border-bottom: 2px solid #f1f5f9; + padding-bottom: 20px; +} + +.lcw-header h2 { + margin: 0; + font-size: 28px; + font-weight: 700; + color: #1a202c; + line-height: 1.3; + flex: 1; +} + +.lcw-link { + color: #ffa116; + text-decoration: none; + font-weight: 600; + padding: 8px 16px; + border: 2px solid #ffa116; + border-radius: 8px; + transition: all 0.3s ease; + font-size: 14px; + white-space: nowrap; + margin-left: 20px; +} + +.lcw-link:hover { + background: #ffa116; + color: white; + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(255, 161, 22, 0.3); +} + +/* Meta Information */ +.lcw-meta { + display: flex; + flex-wrap: wrap; + gap: 16px; + margin-bottom: 32px; + padding: 20px; + background: #f8fafc; + border-radius: 12px; + border-left: 4px solid #ffa116; +} + +.lcw-meta-item { + color: #4a5568; + font-size: 15px; + font-weight: 500; +} + +.lcw-difficulty { + padding: 6px 16px; + border-radius: 12px; + font-weight: 600; + color: #fff; + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.lcw-difficulty-easy { + background: linear-gradient(135deg, #43a047, #4caf50); + box-shadow: 0 2px 8px rgba(67, 160, 71, 0.3); +} + +.lcw-difficulty-medium { + background: linear-gradient(135deg, #ffa116, #ffb74d); + box-shadow: 0 2px 8px rgba(255, 161, 22, 0.3); +} + +.lcw-difficulty-hard { + background: linear-gradient(135deg, #d32f2f, #f44336); + box-shadow: 0 2px 8px rgba(211, 47, 47, 0.3); +} + +.lcw-difficulty-unknown { + background: linear-gradient(135deg, #718096, #a0aec0); +} + +/* Section Title */ +.lcw-section-title { + margin: 40px 0 20px 0; + font-size: 22px; + color: #1a202c; + font-weight: 700; + position: relative; + padding-bottom: 12px; +} + +.lcw-section-title::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 60px; + height: 3px; + background: linear-gradient(90deg, #ffa116, #ffd54f); + border-radius: 2px; +} + +/* Table Styling */ +.lcw-table { + width: 100%; + border-collapse: separate; + border-spacing: 0; + margin-bottom: 32px; + background: #fff; + border-radius: 12px; + overflow: hidden; + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); +} + +.lcw-table th { + background: linear-gradient(135deg, #1a202c, #2d3748); + color: white; + font-weight: 600; + padding: 16px 20px; + text-align: left; + font-size: 15px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.lcw-table td { + padding: 20px; + border-bottom: 1px solid #e2e8f0; + background: #fff; + transition: background-color 0.2s ease; +} + +.lcw-table tr:last-child td { + border-bottom: none; +} + +.lcw-table tr:hover td { + background: #f7fafc; +} + +/* Tag Styling */ +.lcw-tag { + display: inline-block; + background: linear-gradient(135deg, #e2e8f0, #edf2f7); + color: #2d3748; + padding: 8px 16px; + border-radius: 8px; + font-size: 13px; + font-weight: 600; + text-transform: capitalize; + border: 1px solid #cbd5e0; + min-width: 100px; + text-align: center; +} + +/* Company Tags */ +.lcw-company { + display: inline-block; + background: linear-gradient(135deg, #ffffff, #f7fafc); + color: #2d3748; + margin: 4px 8px 4px 0; + padding: 6px 14px; + border-radius: 8px; + font-size: 13px; + font-weight: 500; + border: 1px solid #e2e8f0; + transition: all 0.2s ease; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); +} + +.lcw-company:hover { + transform: translateY(-1px); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + border-color: #ffa116; + background: linear-gradient(135deg, #fffaf0, #fffbeb); +} + +/* Loading and Error States */ +.lcw-loading, .lcw-error { + text-align: center; + margin-top: 60px; + font-size: 18px; + padding: 40px; + border-radius: 12px; +} + +.lcw-loading { + color: #4a5568; + background: #f7fafc; + border: 2px dashed #cbd5e0; +} + +.lcw-error { + color: #e53e3e; + background: #fed7d7; + border: 2px solid #feb2b2; + font-weight: 600; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .lcw-problem-page { + margin: 16px; + padding: 24px; + border-radius: 12px; + } + + .lcw-header { + flex-direction: column; + align-items: flex-start; + } + + .lcw-link { + margin: 16px 0 0 0; + align-self: flex-start; + } + + .lcw-meta { + flex-direction: column; + gap: 12px; + align-items: flex-start; + } + + .lcw-table { + font-size: 14px; + } + + .lcw-table th, + .lcw-table td { + padding: 12px 8px; + } + + .lcw-company { + font-size: 12px; + padding: 4px 10px; + margin: 2px 4px 2px 0; + } +} + +/* Animation for page load */ +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.lcw-problem-page { + animation: fadeIn 0.6s ease-out; +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Footer.css b/src/client/src/styles/layout/Footer.css index aa1159f..9e9425a 100644 --- a/src/client/src/styles/layout/Footer.css +++ b/src/client/src/styles/layout/Footer.css @@ -1,19 +1,64 @@ .footer { - background-color: #1a1a1a; + background: #1a1a1a; color: white; - padding: 1rem 0; + padding: 1.5rem 0; margin-top: auto; + border-top: 1px solid #2d2d2d; } .footer-content { max-width: 1200px; margin: 0 auto; - padding: 0 1rem; + padding: 0 2rem; text-align: center; } .footer p { margin: 0; - font-size: 0.9rem; - opacity: 0.8; + font-size: 0.95rem; + color: #a0a0a0; + font-weight: 400; + letter-spacing: 0.5px; + transition: color 0.2s ease; +} + +.footer p:hover { + color: #d0d0d0; +} + +/* Optional: Add a subtle top border accent */ +.footer { + position: relative; +} + +.footer::before { + content: ''; + position: absolute; + top: 0; + left: 50%; + transform: translateX(-50%); + width: 100px; + height: 2px; + background: linear-gradient(90deg, transparent, #ffa116, transparent); +} + +/* Responsive Design */ +@media (max-width: 768px) { + .footer { + padding: 1.25rem 0; + } + + .footer-content { + padding: 0 1rem; + } + + .footer p { + font-size: 0.9rem; + } +} + +@media (max-width: 480px) { + .footer p { + font-size: 0.85rem; + } } \ No newline at end of file diff --git a/src/client/src/styles/layout/Header.css b/src/client/src/styles/layout/Header.css index 6648f4d..7796726 100644 --- a/src/client/src/styles/layout/Header.css +++ b/src/client/src/styles/layout/Header.css @@ -1,22 +1,229 @@ .header { width: 100%; - background-color: #1a1a1a; + background: linear-gradient(135deg, #1a1a1a 0%, #2d1b69 50%, #1a1a1a 100%); color: white; - padding: 1rem 0; - box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + padding: 1.25rem 0; + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); + position: relative; + overflow: hidden; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +.header::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: + radial-gradient(circle at 20% 80%, rgba(255, 161, 22, 0.1) 0%, transparent 50%), + radial-gradient(circle at 80% 20%, rgba(0, 102, 204, 0.1) 0%, transparent 50%), + radial-gradient(circle at 40% 40%, rgba(67, 160, 71, 0.05) 0%, transparent 50%); + pointer-events: none; +} + +.header::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient(90deg, + transparent 0%, + rgba(255, 161, 22, 0.6) 25%, + rgba(0, 102, 204, 0.6) 50%, + rgba(255, 161, 22, 0.6) 75%, + transparent 100%); } .header-content { max-width: 1200px; margin: 0 auto; - padding: 0 1rem; + padding: 0 2rem; display: flex; align-items: center; justify-content: center; + position: relative; + z-index: 2; +} + +.header-link { + text-decoration: none; + color: inherit; + cursor: pointer; + transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); + position: relative; + padding: 0.5rem 1rem; + border-radius: 12px; +} + +.header-link::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: linear-gradient(135deg, rgba(255, 161, 22, 0.1), rgba(0, 102, 204, 0.1)); + border-radius: 12px; + opacity: 0; + transition: opacity 0.3s ease; +} + +.header-link:hover { + transform: translateY(-2px); + text-shadow: 0 4px 12px rgba(255, 255, 255, 0.3); +} + +.header-link:hover::before { + opacity: 1; +} + +.header-link:active { + transform: translateY(0); } .header h1 { margin: 0; + font-size: 2rem; + font-weight: 700; + background: linear-gradient(135deg, #ffffff 0%, #ffa116 50%, #0099ff 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + text-align: center; + line-height: 1.2; + letter-spacing: -0.5px; + position: relative; + padding: 0.5rem 0; +} + +.header h1::after { + content: '🔍'; + position: absolute; + top: 50%; + right: -2rem; + transform: translateY(-50%); font-size: 1.5rem; - font-weight: 600; + opacity: 0.8; + animation: float 3s ease-in-out infinite; +} + +/* Code-inspired decoration */ +.header-content::before { + content: '{ }'; + position: absolute; + left: 2rem; + top: 50%; + transform: translateY(-50%); + font-size: 1.2rem; + color: rgba(255, 161, 22, 0.6); + font-family: 'Courier New', monospace; + font-weight: bold; + opacity: 0.7; +} + +.header-content::after { + content: ''; + position: absolute; + right: 2rem; + top: 50%; + transform: translateY(-50%); + font-size: 1.2rem; + color: rgba(0, 102, 204, 0.6); + font-family: 'Courier New', monospace; + font-weight: bold; + opacity: 0.7; +} + +/* Floating animation */ +@keyframes float { + 0%, 100% { + transform: translateY(-50%) rotate(0deg); + } + 50% { + transform: translateY(-50%) rotate(10deg); + } +} + +/* Glow effect on hover */ +@keyframes textGlow { + 0%, 100% { + text-shadow: 0 0 20px rgba(255, 255, 255, 0.3); + } + 50% { + text-shadow: 0 0 30px rgba(255, 161, 22, 0.5), 0 0 40px rgba(0, 102, 204, 0.3); + } +} + +.header-link:hover h1 { + animation: textGlow 2s ease-in-out infinite; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .header { + padding: 1rem 0; + } + + .header-content { + padding: 0 1rem; + } + + .header h1 { + font-size: 1.5rem; + } + + .header h1::after { + right: -1.5rem; + font-size: 1.2rem; + } + + .header-content::before, + .header-content::after { + display: none; /* Hide code symbols on mobile */ + } +} + +@media (max-width: 480px) { + .header h1 { + font-size: 1.25rem; + letter-spacing: -0.25px; + } + + .header h1::after { + display: none; /* Hide emoji on very small screens */ + } + + .header-link { + padding: 0.25rem 0.5rem; + } +} + +/* Reduced motion support */ +@media (prefers-reduced-motion: reduce) { + .header-link { + transition: none; + } + + .header-link:hover { + transform: none; + } + + .header h1::after { + animation: none; + } + + .header-link:hover h1 { + animation: none; + } +} + +/* Dark theme optimization */ +@media (prefers-color-scheme: dark) { + .header { + background: linear-gradient(135deg, #0a0a0a 0%, #1a0f4d 50%, #0a0a0a 100%); + } } \ No newline at end of file From 2898cfa7fd40553d20fa7e9657149b35c90d2a66 Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sat, 11 Oct 2025 16:47:58 +0530 Subject: [PATCH 07/11] implemented pagination --- src/client/src/components/layout/Body.js | 18 +++- src/client/src/components/layout/Main.js | 27 +++++- .../src/components/layout/Pagination.js | 75 +++++++++++++++ src/client/src/services/api.js | 24 ++++- src/client/src/styles/layout/Body.css | 7 +- src/client/src/styles/layout/Pagination.css | 94 +++++++++++++++++++ 6 files changed, 236 insertions(+), 9 deletions(-) create mode 100644 src/client/src/components/layout/Pagination.js create mode 100644 src/client/src/styles/layout/Pagination.css diff --git a/src/client/src/components/layout/Body.js b/src/client/src/components/layout/Body.js index 249e4c0..764138a 100644 --- a/src/client/src/components/layout/Body.js +++ b/src/client/src/components/layout/Body.js @@ -1,8 +1,17 @@ import React from "react"; import ProblemGrid from "../problems/ProblemGrid"; +import Pagination from "./Pagination"; // Add this import import "../../styles/layout/Body.css"; -const Body = ({ problems, loading, error, filters }) => { +const Body = ({ + problems, + loading, + error, + filters, + currentPage, + totalPages, + onPageChange +}) => { if (loading) { return (
@@ -26,9 +35,14 @@ const Body = ({ problems, loading, error, filters }) => {
+
); }; -export default Body; +export default Body; \ No newline at end of file diff --git a/src/client/src/components/layout/Main.js b/src/client/src/components/layout/Main.js index a493e2d..46136d3 100644 --- a/src/client/src/components/layout/Main.js +++ b/src/client/src/components/layout/Main.js @@ -13,14 +13,25 @@ const Main = () => { timePeriod: "", difficulty: "", }); + const [currentPage, setCurrentPage] = useState(1); + const [totalPages, setTotalPages] = useState(1); + + const PROBLEMS_PER_PAGE = 50; useEffect(() => { const loadProblems = async () => { setLoading(true); try { - const data = await fetchProblems(); + const data = await fetchProblems(currentPage, PROBLEMS_PER_PAGE, filters); setProblems(data); setError(null); + + // Estimate total pages based on response + if (data.length < PROBLEMS_PER_PAGE) { + setTotalPages(currentPage); + } else { + setTotalPages(currentPage + 1); + } } catch (err) { setError("Failed to fetch problems. Please try again later."); setProblems([]); @@ -30,7 +41,7 @@ const Main = () => { }; loadProblems(); - }, []); + }, [currentPage, filters]); // Extract unique company names from problems const companies = useMemo(() => { @@ -47,6 +58,13 @@ const Main = () => { const handleFilterChange = (newFilters) => { setFilters(newFilters); + setCurrentPage(1); // Reset to first page when filters change + }; + + const handlePageChange = (page) => { + setCurrentPage(page); + // Scroll to top when page changes + window.scrollTo({ top: 0, behavior: 'smooth' }); }; return ( @@ -61,9 +79,12 @@ const Main = () => { loading={loading} error={error} filters={filters} + currentPage={currentPage} + totalPages={totalPages} + onPageChange={handlePageChange} />
); }; -export default Main; +export default Main; \ No newline at end of file diff --git a/src/client/src/components/layout/Pagination.js b/src/client/src/components/layout/Pagination.js new file mode 100644 index 0000000..2458d84 --- /dev/null +++ b/src/client/src/components/layout/Pagination.js @@ -0,0 +1,75 @@ +// components/Pagination.js +import React from "react"; +import "../../styles/layout/Pagination.css"; + +const Pagination = ({ currentPage, totalPages, onPageChange }) => { + const getPageNumbers = () => { + const pages = []; + const maxVisiblePages = 5; + + let startPage = Math.max(1, currentPage - Math.floor(maxVisiblePages / 2)); + let endPage = Math.min(totalPages, startPage + maxVisiblePages - 1); + + // Adjust start page if we're near the end + if (endPage - startPage + 1 < maxVisiblePages) { + startPage = Math.max(1, endPage - maxVisiblePages + 1); + } + + for (let i = startPage; i <= endPage; i++) { + pages.push(i); + } + + return pages; + }; + + if (totalPages <= 1) return null; + + return ( +
+ {/* First Page Button */} + + + {/* Previous Page Button */} + + + {/* Page Numbers */} +
+ {getPageNumbers().map(page => ( + + ))} +
+ + {/* Next Page Button */} + +
+ ); +}; + +export default Pagination; \ No newline at end of file diff --git a/src/client/src/services/api.js b/src/client/src/services/api.js index 3f4137e..b57069a 100644 --- a/src/client/src/services/api.js +++ b/src/client/src/services/api.js @@ -1,7 +1,25 @@ +// services/api.js const API_BASE_URL = "http://localhost:5164/api"; -export const fetchProblems = async () => { - const response = await fetch(`${API_BASE_URL}/problems`); +export const fetchProblems = async (page = 1, limit = 50, filters = {}) => { + const skip = (page - 1) * limit; + const params = new URLSearchParams({ + skip: skip.toString(), + limit: limit.toString() + }); + + // Add filter parameters if they exist + if (filters.company) { + params.append('companies', filters.company); + } + if (filters.difficulty) { + params.append('difficulties', filters.difficulty); + } + if (filters.timePeriod) { + params.append('tags', filters.timePeriod); + } + + const response = await fetch(`${API_BASE_URL}/problems?${params}`); if (!response.ok) { throw new Error(`Network response was not ok: ${response.status}`); } @@ -14,4 +32,4 @@ export const getProblemById = async (id) => { throw new Error(`Failed to fetch problem #${id}`); } return await response.json(); -}; +}; \ No newline at end of file diff --git a/src/client/src/styles/layout/Body.css b/src/client/src/styles/layout/Body.css index 7824269..c98c329 100644 --- a/src/client/src/styles/layout/Body.css +++ b/src/client/src/styles/layout/Body.css @@ -46,4 +46,9 @@ .error-message button:hover { background-color: #c82333; -} \ No newline at end of file +} + +/* Add to styles/layout/Body.css */ +.body-content { + min-height: 60vh; +} diff --git a/src/client/src/styles/layout/Pagination.css b/src/client/src/styles/layout/Pagination.css new file mode 100644 index 0000000..a29519d --- /dev/null +++ b/src/client/src/styles/layout/Pagination.css @@ -0,0 +1,94 @@ +/* styles/components/Pagination.css */ +.pagination { + display: flex; + justify-content: center; + align-items: center; + gap: 0.5rem; + margin: 2rem 0; + padding: 1rem; +} + +.pagination-pages { + display: flex; + gap: 0.25rem; +} + +.pagination-btn { + padding: 0.5rem 0.75rem; + border: 1px solid #e2e8f0; + background: white; + color: #4a5568; + border-radius: 6px; + cursor: pointer; + transition: all 0.2s ease; + font-weight: 500; + min-width: 2.5rem; + display: flex; + align-items: center; + justify-content: center; +} + +.pagination-btn:hover:not(:disabled) { + background: #f7fafc; + border-color: #cbd5e0; + transform: translateY(-1px); +} + +.pagination-btn.active { + background: #0066cc; + color: white; + border-color: #0066cc; +} + +.pagination-btn:disabled { + opacity: 0.4; + cursor: not-allowed; + transform: none; +} + +/* Specific styles for navigation buttons */ +.pagination-first, +.pagination-last { + font-weight: bold; + font-size: 1.1rem; +} + +.pagination-prev, +.pagination-next { + font-weight: bold; +} + +.pagination-info { + text-align: center; + color: #666; + margin-bottom: 1rem; + font-size: 0.9rem; +} + +/* Responsive */ +@media (max-width: 768px) { + .pagination { + gap: 0.25rem; + } + + .pagination-btn { + padding: 0.4rem 0.6rem; + font-size: 0.9rem; + min-width: 2.25rem; + } + + .pagination-pages { + gap: 0.125rem; + } + + /* Hide page numbers on very small screens, keep only navigation */ + @media (max-width: 480px) { + .pagination-pages { + display: none; + } + + .pagination { + gap: 0.5rem; + } + } +} \ No newline at end of file From 5b5f369d211018121ec04ddce4d10d257de5e244 Mon Sep 17 00:00:00 2001 From: devidnyk Date: Sat, 11 Oct 2025 23:59:20 +0530 Subject: [PATCH 08/11] allowed all origins --- src/Backend/Program.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Backend/Program.cs b/src/Backend/Program.cs index 7583545..e2c1fe5 100644 --- a/src/Backend/Program.cs +++ b/src/Backend/Program.cs @@ -43,7 +43,7 @@ public static void Main(string[] args) { options.AddPolicy("AllowReactApp", builder => builder - .WithOrigins("http://localhost:3000") + .AllowAnyOrigin() .AllowAnyMethod() .AllowAnyHeader()); }); From 2531fd0d08c4b2bb7b76582ea0d4ec6aa270141d Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sun, 12 Oct 2025 15:16:39 +0530 Subject: [PATCH 09/11] Removed Filter logic from client side --- src/client/src/components/layout/Body.js | 29 +++++++----- src/client/src/components/layout/Main.js | 18 +++++-- .../src/components/problems/ProblemGrid.js | 47 ++++--------------- src/client/src/services/api.js | 6 +-- 4 files changed, 41 insertions(+), 59 deletions(-) diff --git a/src/client/src/components/layout/Body.js b/src/client/src/components/layout/Body.js index 764138a..3359d5c 100644 --- a/src/client/src/components/layout/Body.js +++ b/src/client/src/components/layout/Body.js @@ -1,21 +1,26 @@ import React from "react"; import ProblemGrid from "../problems/ProblemGrid"; -import Pagination from "./Pagination"; // Add this import +import Pagination from "./Pagination"; import "../../styles/layout/Body.css"; -const Body = ({ - problems, - loading, - error, - filters, - currentPage, - totalPages, - onPageChange +const Body = ({ + problems, + loading, + error, + filters, + currentPage, + totalPages, + onPageChange, + hasActiveFilters, }) => { if (loading) { return (
-
Loading problems...
+
+ {hasActiveFilters + ? "Loading filtered problems..." + : "Loading problems..."} +
); } @@ -34,7 +39,7 @@ const Body = ({ return (
- + { const PROBLEMS_PER_PAGE = 50; + // Check if any filters are active + const hasActiveFilters = useMemo(() => { + return !!(filters.company || filters.timePeriod || filters.difficulty); + }, [filters]); + useEffect(() => { const loadProblems = async () => { setLoading(true); try { + // ALWAYS pass filters to API - backend will ignore empty ones const data = await fetchProblems(currentPage, PROBLEMS_PER_PAGE, filters); setProblems(data); setError(null); // Estimate total pages based on response if (data.length < PROBLEMS_PER_PAGE) { - setTotalPages(currentPage); + setTotalPages(currentPage); // This is the last page } else { - setTotalPages(currentPage + 1); + setTotalPages(currentPage + 1); // There might be more pages } } catch (err) { setError("Failed to fetch problems. Please try again later."); @@ -41,10 +47,12 @@ const Main = () => { }; loadProblems(); - }, [currentPage, filters]); + }, [currentPage, filters]); // Re-fetch when page OR filters change - // Extract unique company names from problems + // Extract unique company names from ALL problems (initial load for dropdown) const companies = useMemo(() => { + // We need to load companies separately or keep the existing approach + // For now, let's keep the current implementation const companySet = new Set(); problems.forEach((problem) => { if (problem.companies) { @@ -63,7 +71,6 @@ const Main = () => { const handlePageChange = (page) => { setCurrentPage(page); - // Scroll to top when page changes window.scrollTo({ top: 0, behavior: 'smooth' }); }; @@ -82,6 +89,7 @@ const Main = () => { currentPage={currentPage} totalPages={totalPages} onPageChange={handlePageChange} + hasActiveFilters={hasActiveFilters} />
); diff --git a/src/client/src/components/problems/ProblemGrid.js b/src/client/src/components/problems/ProblemGrid.js index 5de0095..86e3ce2 100644 --- a/src/client/src/components/problems/ProblemGrid.js +++ b/src/client/src/components/problems/ProblemGrid.js @@ -1,58 +1,27 @@ -import React, { useMemo } from "react"; +import React from "react"; import ProblemCard from "./ProblemCard"; import "../../styles/components/ProblemGrid.css"; -const ProblemGrid = ({ problems, filters }) => { - const filteredProblems = useMemo(() => { - if (!filters.company && !filters.timePeriod && !filters.difficulty) { - return problems; - } +const ProblemGrid = ({ problems, hasActiveFilters }) => { - return problems.filter((problem) => { - // Company filter - if ( - filters.company && - (!problem.companies || !problem.companies[filters.company]) - ) { - return false; - } - - // Time period filter - only apply if both company and time period are selected - if (filters.company && filters.timePeriod) { - if ( - !problem.companies?.[filters.company]?.includes(filters.timePeriod) - ) { - return false; - } - } - - // Difficulty filter - if ( - filters.difficulty && - problem.difficulty !== Number(filters.difficulty) - ) { - return false; - } - - return true; - }); - }, [problems, filters]); - - if (filteredProblems.length === 0) { + if (problems.length === 0) { return (

No problems found matching your criteria.

+ {hasActiveFilters && ( +

Try adjusting your filters or clearing them to see all problems.

+ )}
); } return (
- {filteredProblems.map((problem) => ( + {problems.map((problem) => ( ))}
); }; -export default ProblemGrid; +export default ProblemGrid; \ No newline at end of file diff --git a/src/client/src/services/api.js b/src/client/src/services/api.js index b57069a..762d1c6 100644 --- a/src/client/src/services/api.js +++ b/src/client/src/services/api.js @@ -10,13 +10,13 @@ export const fetchProblems = async (page = 1, limit = 50, filters = {}) => { // Add filter parameters if they exist if (filters.company) { - params.append('companies', filters.company); + params.append('company', filters.company); } if (filters.difficulty) { - params.append('difficulties', filters.difficulty); + params.append('difficulty', filters.difficulty); } if (filters.timePeriod) { - params.append('tags', filters.timePeriod); + params.append('tag', filters.timePeriod); } const response = await fetch(`${API_BASE_URL}/problems?${params}`); From 9f5a6d859883a0713075b8030b3d980f572148e8 Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sun, 12 Oct 2025 16:01:59 +0530 Subject: [PATCH 10/11] List implementation --- src/client/src/App.js | 2 +- src/client/src/components/layout/Body.js | 11 +- src/client/src/components/layout/Main.js | 5 +- .../src/components/layout/ViewToggle.js | 25 +++ .../src/components/problems/ProblemGrid.js | 21 ++- .../src/components/problems/ProblemList.js | 53 +++++++ .../src/styles/components/ProblemCard.css | 60 +++---- .../src/styles/components/ProblemGrid.css | 12 +- .../src/styles/components/ProblemList.css | 146 ++++++++++++++++++ src/client/src/styles/layout/Body.css | 15 +- src/client/src/styles/layout/ViewToggle.css | 28 ++++ 11 files changed, 325 insertions(+), 53 deletions(-) create mode 100644 src/client/src/components/layout/ViewToggle.js create mode 100644 src/client/src/components/problems/ProblemList.js create mode 100644 src/client/src/styles/components/ProblemList.css create mode 100644 src/client/src/styles/layout/ViewToggle.css diff --git a/src/client/src/App.js b/src/client/src/App.js index 10f3213..23f2ce2 100644 --- a/src/client/src/App.js +++ b/src/client/src/App.js @@ -14,7 +14,7 @@ function App() { } /> } /> -
+ {/*
*/}
); diff --git a/src/client/src/components/layout/Body.js b/src/client/src/components/layout/Body.js index 3359d5c..b8db1a2 100644 --- a/src/client/src/components/layout/Body.js +++ b/src/client/src/components/layout/Body.js @@ -12,6 +12,8 @@ const Body = ({ totalPages, onPageChange, hasActiveFilters, + currentView, + onViewChange }) => { if (loading) { return ( @@ -39,7 +41,12 @@ const Body = ({ return (
- + { }); const [currentPage, setCurrentPage] = useState(1); const [totalPages, setTotalPages] = useState(1); + const [currentView, setCurrentView] = useState('list'); // s states 'list' or 'grid' const PROBLEMS_PER_PAGE = 50; @@ -51,8 +52,6 @@ const Main = () => { // Extract unique company names from ALL problems (initial load for dropdown) const companies = useMemo(() => { - // We need to load companies separately or keep the existing approach - // For now, let's keep the current implementation const companySet = new Set(); problems.forEach((problem) => { if (problem.companies) { @@ -90,6 +89,8 @@ const Main = () => { totalPages={totalPages} onPageChange={handlePageChange} hasActiveFilters={hasActiveFilters} + currentView={currentView} + onViewChange={setCurrentView} />
); diff --git a/src/client/src/components/layout/ViewToggle.js b/src/client/src/components/layout/ViewToggle.js new file mode 100644 index 0000000..723edf7 --- /dev/null +++ b/src/client/src/components/layout/ViewToggle.js @@ -0,0 +1,25 @@ +import React from "react"; +import "../../styles/layout/ViewToggle.css"; + +const ViewToggle = ({ currentView, onViewChange }) => { + return ( +
+ + +
+ ); +}; + +export default ViewToggle; \ No newline at end of file diff --git a/src/client/src/components/problems/ProblemGrid.js b/src/client/src/components/problems/ProblemGrid.js index 86e3ce2..bacee98 100644 --- a/src/client/src/components/problems/ProblemGrid.js +++ b/src/client/src/components/problems/ProblemGrid.js @@ -1,9 +1,10 @@ import React from "react"; import ProblemCard from "./ProblemCard"; +import ProblemList from "./ProblemList"; +import ViewToggle from "../layout/ViewToggle"; import "../../styles/components/ProblemGrid.css"; -const ProblemGrid = ({ problems, hasActiveFilters }) => { - +const ProblemGrid = ({ problems, hasActiveFilters, currentView, onViewChange }) => { if (problems.length === 0) { return (
@@ -16,10 +17,18 @@ const ProblemGrid = ({ problems, hasActiveFilters }) => { } return ( -
- {problems.map((problem) => ( - - ))} +
+ + + {currentView === 'grid' ? ( +
+ {problems.map((problem) => ( + + ))} +
+ ) : ( + + )}
); }; diff --git a/src/client/src/components/problems/ProblemList.js b/src/client/src/components/problems/ProblemList.js new file mode 100644 index 0000000..5381d78 --- /dev/null +++ b/src/client/src/components/problems/ProblemList.js @@ -0,0 +1,53 @@ +import React from "react"; +import { Link } from "react-router-dom"; +import { + getDifficultyText, + getDifficultyClass, +} from "../../constants/difficulty"; +import "../../styles/components/ProblemList.css"; + +const ProblemList = ({ problems }) => { + if (problems.length === 0) { + return ( +
+

No problems found matching your criteria.

+
+ ); + } + + return ( +
+
+ ID + Problem Name + Difficulty + Acceptance +
+
+ {problems.map((problem) => ( + + ))} +
+
+ ); +}; + +const ProblemListItem = ({ problem }) => { + const difficultyText = getDifficultyText(problem.difficulty); + const difficultyClass = getDifficultyClass(problem.difficulty); + + return ( +
+
{problem.id}
+
+ {problem.title} +
+
+ {difficultyText} +
+
{problem.acceptance}%
+
+ ); +}; + +export default ProblemList; \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemCard.css b/src/client/src/styles/components/ProblemCard.css index 97027f8..1b18551 100644 --- a/src/client/src/styles/components/ProblemCard.css +++ b/src/client/src/styles/components/ProblemCard.css @@ -2,7 +2,7 @@ background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); - padding: 1.75rem; + padding: 1.25rem; /* Reduced from 1.75rem */ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(255, 255, 255, 0.8); position: relative; @@ -22,8 +22,8 @@ } .problem-card:hover { - transform: translateY(-4px); - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); + transform: translateY(-2px); /* Reduced from -4px */ + box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); /* Reduced shadow */ } .problem-card:hover::before { @@ -34,16 +34,16 @@ display: flex; justify-content: space-between; align-items: flex-start; - margin-bottom: 1.25rem; + margin-bottom: 1rem; /* Reduced from 1.25rem */ gap: 1rem; } .problem-header h3 { margin: 0; - font-size: 1.25rem; + font-size: 1.1rem; /* Slightly smaller */ flex: 1; font-weight: 600; - line-height: 1.4; + line-height: 1.3; /* Tighter line height */ } .problem-header a { @@ -79,9 +79,9 @@ } .difficulty { - padding: 0.4rem 1rem; + padding: 0.3rem 0.8rem; /* Slightly smaller */ border-radius: 20px; - font-size: 0.8rem; + font-size: 0.75rem; /* Smaller font */ font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; @@ -110,9 +110,9 @@ .problem-stats { display: flex; - gap: 1.5rem; - margin-bottom: 1.25rem; - font-size: 0.9rem; + gap: 1rem; /* Reduced from 1.5rem */ + margin-bottom: 1rem; /* Reduced from 1.25rem */ + font-size: 0.85rem; /* Slightly smaller */ } .problem-stats span { @@ -148,16 +148,16 @@ .problem-companies { border-top: 1px solid #e2e8f0; - padding-top: 1.25rem; - margin-top: 1rem; + padding-top: 1rem; /* Reduced from 1.25rem */ + margin-top: 0.75rem; /* Reduced from 1rem */ } .problem-companies small { display: block; - margin-bottom: 0.75rem; + margin-bottom: 0.5rem; /* Reduced from 0.75rem */ color: #718096; font-weight: 600; - font-size: 0.8rem; + font-size: 0.75rem; /* Smaller */ text-transform: uppercase; letter-spacing: 0.5px; } @@ -165,17 +165,17 @@ .company-tags { display: flex; flex-wrap: wrap; - gap: 0.6rem; + gap: 0.5rem; /* Reduced from 0.6rem */ } .company-tag { background: linear-gradient(135deg, #ffffff, #f7fafc); - padding: 0.5rem 1rem; + padding: 0.4rem 0.8rem; /* Reduced padding */ border-radius: 10px; - font-size: 0.8rem; + font-size: 0.75rem; /* Smaller */ display: flex; align-items: center; - gap: 0.4rem; + gap: 0.3rem; /* Reduced gap */ border: 1px solid #e2e8f0; transition: all 0.2s ease; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); @@ -185,7 +185,7 @@ .company-tag:hover { transform: translateY(-1px); - box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); /* Reduced shadow */ border-color: #ffa116; background: linear-gradient(135deg, #fffaf0, #fffbeb); } @@ -196,7 +196,7 @@ } .recent-indicator { - font-size: 0.7rem; + font-size: 0.65rem; /* Smaller */ animation: pulse 2s infinite; } @@ -214,18 +214,18 @@ /* Responsive Design */ @media (max-width: 768px) { .problem-card { - padding: 1.25rem; - margin: 0.5rem; + padding: 1rem; /* Reduced from 1.25rem */ + margin: 0.25rem; /* Reduced from 0.5rem */ } .problem-header { flex-direction: column; align-items: flex-start; - gap: 0.75rem; + gap: 0.5rem; /* Reduced from 0.75rem */ } .problem-header h3 { - font-size: 1.1rem; + font-size: 1rem; /* Smaller on mobile */ padding-right: 0; } @@ -235,7 +235,7 @@ .problem-stats { flex-direction: column; - gap: 0.5rem; + gap: 0.25rem; /* Reduced from 0.5rem */ } .problem-stats span::before { @@ -243,12 +243,12 @@ } .company-tags { - gap: 0.4rem; + gap: 0.3rem; /* Reduced from 0.4rem */ } .company-tag { - padding: 0.4rem 0.8rem; - font-size: 0.75rem; + padding: 0.3rem 0.6rem; /* Smaller on mobile */ + font-size: 0.7rem; /* Smaller on mobile */ } } @@ -256,7 +256,7 @@ @keyframes cardEntrance { from { opacity: 0; - transform: translateY(20px); + transform: translateY(10px); /* Reduced from 20px */ } to { opacity: 1; diff --git a/src/client/src/styles/components/ProblemGrid.css b/src/client/src/styles/components/ProblemGrid.css index ec54e5d..9381372 100644 --- a/src/client/src/styles/components/ProblemGrid.css +++ b/src/client/src/styles/components/ProblemGrid.css @@ -1,21 +1,27 @@ +.problem-container { + margin-bottom: 1rem; +} + .problem-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - gap: 1.5rem; - padding: 1rem 0; + gap: 1rem; + padding: 0.5rem 0; } .no-problems { text-align: center; - padding: 2rem; + padding: 1.5rem; background: white; border-radius: 8px; color: #666; + margin: 1rem 0; } /* Responsive adjustments */ @media (max-width: 640px) { .problem-grid { grid-template-columns: 1fr; + gap: 0.75rem; } } \ No newline at end of file diff --git a/src/client/src/styles/components/ProblemList.css b/src/client/src/styles/components/ProblemList.css new file mode 100644 index 0000000..d1765c5 --- /dev/null +++ b/src/client/src/styles/components/ProblemList.css @@ -0,0 +1,146 @@ +.problem-list { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); + overflow: hidden; + margin: 0.5rem 0; +} + +.list-header { + display: grid; + grid-template-columns: 80px 1fr 120px 100px; + gap: 1rem; + padding: 0.75rem 1.5rem; + background: #f8fafc; + border-bottom: 1px solid #e2e8f0; + font-weight: 600; + color: #4a5568; + font-size: 0.9rem; + align-items: center; +} + +/* Explicit alignment for each column */ +.header-id { + text-align: left; + justify-self: start; +} + +.header-title { + text-align: left; + justify-self: start; +} + +.header-difficulty { + text-align: center; + justify-self: center; +} + +.header-acceptance { + text-align: center; + justify-self: center; +} + +.list-content { + max-height: 400px; + overflow-y: auto; +} + +.problem-list-item { + display: grid; + grid-template-columns: 80px 1fr 120px 100px; + gap: 1rem; + padding: 0.75rem 1.5rem; + border-bottom: 1px solid #f1f5f9; + transition: background-color 0.2s ease; + align-items: center; +} + +.problem-list-item:hover { + background: #f7fafc; +} + +.problem-list-item:last-child { + border-bottom: none; +} + +/* Explicit alignment for each data cell */ +.problem-id { + color: #666; + font-weight: 500; + font-size: 0.9rem; + text-align: left; + justify-self: start; +} + +.problem-title { + font-weight: 500; + text-align: left; + justify-self: start; +} + +.problem-title a { + color: #2d3748; + text-decoration: none; + transition: color 0.2s ease; + display: block; + width: 100%; +} + +.problem-title a:hover { + color: #0066cc; +} + +.problem-difficulty { + padding: 0.25rem 0.75rem; + border-radius: 12px; + font-size: 0.8rem; + font-weight: 500; + text-align: center; + text-transform: uppercase; + justify-self: center; +} + +.problem-acceptance { + color: #666; + font-size: 0.9rem; + text-align: center; + justify-self: center; +} + +.problem-difficulty.easy { + background: #e7f6e7; + color: #2cbb5d; +} + +.problem-difficulty.medium { + background: #fff7e6; + color: #ffa116; +} + +.problem-difficulty.hard { + background: #ffe6e6; + color: #ff375f; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .list-header { + grid-template-columns: 60px 1fr 100px; + padding: 0.75rem 1rem; + } + + .problem-list-item { + grid-template-columns: 60px 1fr 100px; + padding: 0.75rem 1rem; + } + + .header-acceptance, + .problem-acceptance { + display: none; + } + + .problem-difficulty { + font-size: 0.75rem; + padding: 0.2rem 0.5rem; + } +} \ No newline at end of file diff --git a/src/client/src/styles/layout/Body.css b/src/client/src/styles/layout/Body.css index c98c329..913a059 100644 --- a/src/client/src/styles/layout/Body.css +++ b/src/client/src/styles/layout/Body.css @@ -1,20 +1,22 @@ .body { flex: 1; - padding: 2rem 0; + padding: 0.5rem 0; background-color: #f5f5f5; + min-height: auto; } .body-content { max-width: 1200px; margin: 0 auto; padding: 0 1rem; + min-height: auto; } .loading { display: flex; justify-content: center; align-items: center; - min-height: 400px; + min-height: 200px; } .loading-spinner { @@ -26,7 +28,7 @@ display: flex; justify-content: center; align-items: center; - min-height: 400px; + min-height: 200px; } .error-message { @@ -46,9 +48,4 @@ .error-message button:hover { background-color: #c82333; -} - -/* Add to styles/layout/Body.css */ -.body-content { - min-height: 60vh; -} +} \ No newline at end of file diff --git a/src/client/src/styles/layout/ViewToggle.css b/src/client/src/styles/layout/ViewToggle.css new file mode 100644 index 0000000..262796a --- /dev/null +++ b/src/client/src/styles/layout/ViewToggle.css @@ -0,0 +1,28 @@ +.view-toggle { + display: flex; + gap: 0.5rem; + margin-bottom: 1.5rem; + justify-content: flex-end; +} + +.toggle-btn { + padding: 0.5rem 1rem; + border: 1px solid #e2e8f0; + background: white; + color: #4a5568; + border-radius: 6px; + cursor: pointer; + transition: all 0.2s ease; + font-size: 0.9rem; +} + +.toggle-btn:hover { + background: #f7fafc; + border-color: #cbd5e0; +} + +.toggle-btn.active { + background: #0066cc; + color: white; + border-color: #0066cc; +} \ No newline at end of file From 7a9995c4cae18690539351eadf76b0f218071212 Mon Sep 17 00:00:00 2001 From: Swoyam Date: Sun, 12 Oct 2025 16:15:53 +0530 Subject: [PATCH 11/11] Fixed List CSS --- src/client/src/App.js | 2 - src/client/src/components/layout/Footer.js | 14 ---- .../src/components/problems/ProblemGrid.js | 4 +- .../src/components/problems/ProblemList.js | 8 +-- .../src/styles/components/ProblemGrid.css | 7 ++ .../src/styles/components/ProblemList.css | 69 ++++++++++++------- src/client/src/styles/layout/Body.css | 8 +++ src/client/src/styles/layout/Footer.css | 64 ----------------- 8 files changed, 66 insertions(+), 110 deletions(-) delete mode 100644 src/client/src/components/layout/Footer.js delete mode 100644 src/client/src/styles/layout/Footer.css diff --git a/src/client/src/App.js b/src/client/src/App.js index 23f2ce2..b0381e8 100644 --- a/src/client/src/App.js +++ b/src/client/src/App.js @@ -3,7 +3,6 @@ import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; import Main from "./components/layout/Main"; import ProblemPage from "./components/problems/ProblemPage"; import Header from "./components/layout/Header"; -import Footer from "./components/layout/Footer"; function App() { return ( @@ -14,7 +13,6 @@ function App() { } /> } /> - {/*
*/}
); diff --git a/src/client/src/components/layout/Footer.js b/src/client/src/components/layout/Footer.js deleted file mode 100644 index 1f46ddf..0000000 --- a/src/client/src/components/layout/Footer.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react"; -import "../../styles/layout/Footer.css"; - -const Footer = () => { - return ( -
-
-

Created by Shadow Lord

-
-
- ); -}; - -export default Footer; diff --git a/src/client/src/components/problems/ProblemGrid.js b/src/client/src/components/problems/ProblemGrid.js index bacee98..c6a8e9d 100644 --- a/src/client/src/components/problems/ProblemGrid.js +++ b/src/client/src/components/problems/ProblemGrid.js @@ -27,7 +27,9 @@ const ProblemGrid = ({ problems, hasActiveFilters, currentView, onViewChange }) ))}
) : ( - +
+ +
)}
); diff --git a/src/client/src/components/problems/ProblemList.js b/src/client/src/components/problems/ProblemList.js index 5381d78..a08eeee 100644 --- a/src/client/src/components/problems/ProblemList.js +++ b/src/client/src/components/problems/ProblemList.js @@ -24,20 +24,20 @@ const ProblemList = ({ problems }) => { Acceptance
- {problems.map((problem) => ( - + {problems.map((problem, index) => ( + ))}
); }; -const ProblemListItem = ({ problem }) => { +const ProblemListItem = ({ problem, index }) => { const difficultyText = getDifficultyText(problem.difficulty); const difficultyClass = getDifficultyClass(problem.difficulty); return ( -
+
{problem.id}
{problem.title} diff --git a/src/client/src/styles/components/ProblemGrid.css b/src/client/src/styles/components/ProblemGrid.css index 9381372..7eeadfb 100644 --- a/src/client/src/styles/components/ProblemGrid.css +++ b/src/client/src/styles/components/ProblemGrid.css @@ -1,5 +1,6 @@ .problem-container { margin-bottom: 1rem; + padding-bottom: 0; } .problem-grid { @@ -18,6 +19,12 @@ margin: 1rem 0; } +/* Ensure list view takes only needed space */ +.problem-list-container { + margin-bottom: 0; + padding-bottom: 0; +} + /* Responsive adjustments */ @media (max-width: 640px) { .problem-grid { diff --git a/src/client/src/styles/components/ProblemList.css b/src/client/src/styles/components/ProblemList.css index d1765c5..59e4c2c 100644 --- a/src/client/src/styles/components/ProblemList.css +++ b/src/client/src/styles/components/ProblemList.css @@ -1,3 +1,4 @@ +/* styles/components/ProblemList.css */ .problem-list { background: white; border-radius: 8px; @@ -12,37 +13,24 @@ gap: 1rem; padding: 0.75rem 1.5rem; background: #f8fafc; - border-bottom: 1px solid #e2e8f0; + border-bottom: 2px solid #e2e8f0; font-weight: 600; color: #4a5568; font-size: 0.9rem; align-items: center; } -/* Explicit alignment for each column */ -.header-id { - text-align: left; - justify-self: start; -} - -.header-title { +/* Left align all headers explicitly */ +.header-id, +.header-title, +.header-difficulty, +.header-acceptance { text-align: left; justify-self: start; } -.header-difficulty { - text-align: center; - justify-self: center; -} - -.header-acceptance { - text-align: center; - justify-self: center; -} - .list-content { - max-height: 400px; - overflow-y: auto; + min-height: auto; } .problem-list-item { @@ -53,17 +41,29 @@ border-bottom: 1px solid #f1f5f9; transition: background-color 0.2s ease; align-items: center; + min-height: 60px; +} + +/* Alternate background colors for rows */ +.problem-list-item:nth-child(even) { + background-color: #fafbfc; +} + +.problem-list-item:nth-child(odd) { + background-color: #ffffff; } .problem-list-item:hover { - background: #f7fafc; + background: #f0f7ff !important; /* Override alternate colors on hover */ + border-left: 3px solid #0066cc; + margin-left: -3px; } .problem-list-item:last-child { border-bottom: none; } -/* Explicit alignment for each data cell */ +/* Left align all content cells */ .problem-id { color: #666; font-weight: 500; @@ -97,29 +97,38 @@ font-weight: 500; text-align: center; text-transform: uppercase; - justify-self: center; + justify-self: start; /* Changed to left align */ + width: fit-content; } .problem-acceptance { color: #666; font-size: 0.9rem; - text-align: center; - justify-self: center; + text-align: left; /* Changed to left align */ + justify-self: start; } .problem-difficulty.easy { background: #e7f6e7; color: #2cbb5d; + border: 1px solid #c8e6c9; } .problem-difficulty.medium { background: #fff7e6; color: #ffa116; + border: 1px solid #ffe0b2; } .problem-difficulty.hard { background: #ffe6e6; color: #ff375f; + border: 1px solid #ffcdd2; +} + +/* Ensure no extra space when empty */ +.problem-list:empty { + display: none; } /* Responsive Design */ @@ -143,4 +152,14 @@ font-size: 0.75rem; padding: 0.2rem 0.5rem; } +} + +/* Enhanced hover effects */ +.problem-list-item { + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); +} + +.problem-list-item:hover { + transform: translateX(4px); + box-shadow: 2px 0 8px rgba(0, 102, 204, 0.1); } \ No newline at end of file diff --git a/src/client/src/styles/layout/Body.css b/src/client/src/styles/layout/Body.css index 913a059..a1c8ffa 100644 --- a/src/client/src/styles/layout/Body.css +++ b/src/client/src/styles/layout/Body.css @@ -1,3 +1,4 @@ +/* styles/layout/Body.css */ .body { flex: 1; padding: 0.5rem 0; @@ -10,6 +11,8 @@ margin: 0 auto; padding: 0 1rem; min-height: auto; + /* Ensure no extra padding at bottom */ + padding-bottom: 0; } .loading { @@ -48,4 +51,9 @@ .error-message button:hover { background-color: #c82333; +} + +/* Remove any bottom margin from the last element in body */ +.body-content > *:last-child { + margin-bottom: 0; } \ No newline at end of file diff --git a/src/client/src/styles/layout/Footer.css b/src/client/src/styles/layout/Footer.css deleted file mode 100644 index 9e9425a..0000000 --- a/src/client/src/styles/layout/Footer.css +++ /dev/null @@ -1,64 +0,0 @@ -.footer { - background: #1a1a1a; - color: white; - padding: 1.5rem 0; - margin-top: auto; - border-top: 1px solid #2d2d2d; -} - -.footer-content { - max-width: 1200px; - margin: 0 auto; - padding: 0 2rem; - text-align: center; -} - -.footer p { - margin: 0; - font-size: 0.95rem; - color: #a0a0a0; - font-weight: 400; - letter-spacing: 0.5px; - transition: color 0.2s ease; -} - -.footer p:hover { - color: #d0d0d0; -} - -/* Optional: Add a subtle top border accent */ -.footer { - position: relative; -} - -.footer::before { - content: ''; - position: absolute; - top: 0; - left: 50%; - transform: translateX(-50%); - width: 100px; - height: 2px; - background: linear-gradient(90deg, transparent, #ffa116, transparent); -} - -/* Responsive Design */ -@media (max-width: 768px) { - .footer { - padding: 1.25rem 0; - } - - .footer-content { - padding: 0 1rem; - } - - .footer p { - font-size: 0.9rem; - } -} - -@media (max-width: 480px) { - .footer p { - font-size: 0.85rem; - } -} \ No newline at end of file
+
+

+ + {problem.title} + +

+ + {difficultyText} + +
+ +
+ Acceptance: {problem.acceptance}% + Frequency: {problem.frequency}% +
+ + {topCompanies.length > 0 && ( +
+ Top Companies: +
+ {topCompanies.map((company, index) => ( +
TIME_PERIOD_LABELS[p]) + .join(", ")} + > + + {company.name + .split("-") + .map((word) => word.charAt(0).toUpperCase() + word.slice(1)) + .join(" ")} + + {company.timePeriods.includes("thirty-days") && ( + + đŸ”Ĩ + + )} +
+ ))} +
+
+ )} +